Saltar al contenido

Notificar

POST https://api.pushwoosh.com/messaging/v2/notify

Crea y programa un único mensaje.

Estructura de la solicitud

Anchor link to

El cuerpo de la solicitud es un NotifyRequest con exactamente uno de dos tipos:

  • segment: se dirige a un segmento de audiencia por código de segmento, una expresión seglang o una expresión de filtro estructurada.
  • transactional: envía a una lista explícita de hwids, ID de usuario, tokens push o dispositivos de prueba.
Shape
{
"segment": { ... } // O
"transactional": { ... }
}

NotifySegment

Anchor link to

Se dirige a los usuarios que coinciden con un segmento de audiencia o una expresión de filtro.

CampoTipoDescripción
scheduleScheduleCuándo y cómo enviar. Requerido.
applicationstringCódigo de aplicación.
platformsarray de PlatformPlataformas a las que se dirige el mensaje.
codestringCódigo de segmento. Mutuamente excluyente con expression y filter_expression.
expressionstringExpresión Seglang.
filter_expressionFilterExpressionExpresión de filtro estructurada (avanzada).
payloadPayloadPayload de Push / SMS / Telegram / Kakao. Mutuamente excluyente con email_payload.
email_payloadEmailPayloadPayload de correo electrónico.
campaignstringCódigo de campaña al que atribuir este mensaje.
frequency_cappingFrequencyCappingLímites de frecuencia por usuario.
send_rateSendRateLimitación de la velocidad para el envío.
message_typeMessageTypeMESSAGE_TYPE_MARKETING (predeterminado) o MESSAGE_TYPE_TRANSACTIONAL. Controla el filtrado del grupo de control.
dynamic_content_placeholdersmap<string, string>Reemplaza los marcadores de posición en el contenido.
meta_dataobjectMetadatos de formato libre reenviados a análisis posteriores.

Ejemplo: Enviar a un segmento

Anchor link to
Terminal window
curl -X POST https://api.pushwoosh.com/messaging/v2/notify \
-H "Authorization: Token YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"segment": {
"application": "XXXXX-XXXXX",
"platforms": ["IOS", "ANDROID"],
"code": "active_users",
"payload": {
"content": {
"localized_content": {
"en": {
"ios": { "body": "Hello!" },
"android": { "body": "Hello!" }
}
}
}
},
"schedule": { "at": "2026-05-01T12:00:00Z" },
"message_type": "MESSAGE_TYPE_MARKETING"
}
}'

NotifyTransactional

Anchor link to

Envía a una lista explícita de destinatarios.

CampoTipoDescripción
scheduleScheduleRequerido.
applicationstringCódigo de aplicación.
platformsarray de PlatformPlataformas a las que se dirige el mensaje.
test_devicesboolSi es true, se envía solo a los dispositivos de prueba de la aplicación.
hwids{ "list": [string, ...] }Enviar solo a estos hwids.
users{ "list": [string, ...] }Enviar solo a estos ID de usuario.
push_tokens{ "list": [string, ...] }Enviar solo a estos tokens push.
payloadPayloadPayload de Push / SMS / Telegram / Kakao.
email_payloadEmailPayloadPayload de correo electrónico.
return_unknown_identifiersboolCuando es true, el campo unknown_identifiers de la respuesta enumera los identificadores que no se encontraron.
campaign, frequency_capping, send_rate, message_type, dynamic_content_placeholders, meta_dataVer NotifySegment arriba.

test_devices, hwids, users y push_tokens son mutuamente excluyentes. Se debe establecer exactamente uno.

Ejemplo: Transaccional por ID de usuario

Anchor link to
Terminal window
curl -X POST https://api.pushwoosh.com/messaging/v2/notify \
-H "Authorization: Token YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"transactional": {
"application": "XXXXX-XXXXX",
"platforms": ["IOS", "ANDROID"],
"users": { "list": ["user-123", "user-456"] },
"payload": {
"content": {
"localized_content": {
"en": { "ios": { "body": "Your order has shipped." } }
}
}
},
"schedule": { "at": "2026-05-01T12:00:00Z" },
"message_type": "MESSAGE_TYPE_TRANSACTIONAL",
"return_unknown_identifiers": true
}
}'
{
"result": {
"message_code": "XXXXX-XXXXX-XXXXX",
"unknown_identifiers": []
}
}
CampoTipoDescripción
message_codestringCódigo de mensaje único. Úsalo con /getMessageDetails y los endpoints de estadísticas de mensajes.
unknown_identifiersarray de stringIdentificadores no encontrados en la cuenta. Se rellena solo cuando se establece return_unknown_identifiers: true en el tipo transactional.

Tipos compartidos

Anchor link to
{
"at": "2026-05-01T12:00:00Z",
"follow_user_timezone": true,
"past_timezones_behaviour": "PAST_TIMEZONES_BEHAVIOUR_SEND_IMMEDIATELY"
}
CampoTipoDescripción
attimestampHora de envío absoluta (RFC 3339). Si es en el pasado, el mensaje se envía inmediatamente. Máximo 14 días en el futuro.
afterdurationAlternativa a at. Enviar después de este desfase desde “ahora” (p. ej., "3600s").
follow_user_timezoneboolCuando es true, cada dispositivo recibe el mensaje a la hora at en su zona horaria local.
past_timezones_behaviourenumPAST_TIMEZONES_BEHAVIOUR_SEND_IMMEDIATELY (predeterminado), PAST_TIMEZONES_BEHAVIOUR_DO_NOT_SEND o PAST_TIMEZONES_BEHAVIOUR_NEXT_DAY. Solo tiene sentido cuando follow_user_timezone es true.

FrequencyCapping

Anchor link to

Límites de frecuencia por usuario para envíos de marketing.

{ "days": 7, "count": 3, "exclude": false, "avoid": true }
  • days (int, 1–30): ventana de retrospectiva.
  • count (int): número máximo de mensajes permitidos dentro de days.
  • exclude (bool): excluye de forma estricta a los usuarios que ya han alcanzado el límite.
  • avoid (bool): evita de forma flexible a los usuarios que ya han alcanzado el límite (todavía cuentan para los análisis).
{ "value": 500, "bucket": "1s", "avoid": false }

Limita la velocidad del envío. value es el número de mensajes por bucket; un bucket típico es "1s".

Enumeración de Platform

Anchor link to

IOS, ANDROID, OSX, WINDOWS, AMAZON, SAFARI, CHROME, FIREFOX, IE, EMAIL, BAIDU_ANDROID, HUAWEI_ANDROID, SMS, WEB, KAKAO, TELEGRAM, LINE, WHATS_APP.

Enumeración de MessageType

Anchor link to
  • MESSAGE_TYPE_UNSPECIFIED: equivalente a MESSAGE_TYPE_MARKETING.
  • MESSAGE_TYPE_MARKETING: sujeto a filtrado de grupo de control y límite de frecuencia.
  • MESSAGE_TYPE_TRANSACTIONAL: omite el filtrado de grupo de control y el límite de frecuencia. Úsalo para confirmaciones de pedidos, OTP y flujos críticos similares.

Relacionado

Anchor link to