Notifier
POST https://api.pushwoosh.com/messaging/v2/notify
Crée et planifie un message unique.
Structure de la requête
Anchor link toLe corps de la requête est un NotifyRequest avec exactement l’un des deux types suivants :
segment: cibler un segment d’audience par code de segment, une expression seglang ou une expression de filtre structurée.transactional: envoyer à une liste explicite de HWID, d’ID utilisateur, de jetons push ou d’appareils de test.
{ "segment": { ... } // OU "transactional": { ... }}NotifySegment
Anchor link toCible les utilisateurs qui correspondent à un segment d’audience ou à une expression de filtre.
| Champ | Type | Description |
|---|---|---|
schedule | Schedule | Quand et comment envoyer. Requis. |
application | string | Code d’application. |
platforms | array of Platform | Plateformes ciblées par le message. |
code | string | Code de segment. Mutuellement exclusif avec expression et filter_expression. |
expression | string | Expression Seglang. |
filter_expression | FilterExpression | Expression de filtre structurée (avancé). |
payload | Payload | Payload Push / SMS / Telegram / Kakao. Mutuellement exclusif avec email_payload. |
email_payload | EmailPayload | Payload d’e-mail. |
campaign | string | Code de campagne auquel attribuer ce message. |
frequency_capping | FrequencyCapping | Limites de fréquence par utilisateur. |
send_rate | SendRate | Limitation du débit pour l’envoi. |
message_type | MessageType | MESSAGE_TYPE_MARKETING (par défaut) ou MESSAGE_TYPE_TRANSACTIONAL. Contrôle le filtrage du groupe de contrôle. |
dynamic_content_placeholders | map<string, string> | Remplace les espaces réservés dans le contenu. |
meta_data | object | Métadonnées de forme libre transmises aux analyses en aval. |
Exemple : Envoyer à un segment
Anchor link tocurl -X POST https://api.pushwoosh.com/messaging/v2/notify \ -H "Authorization: Token VOTRE_JETON_API" \ -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 toEnvoie à une liste explicite de destinataires.
| Champ | Type | Description |
|---|---|---|
schedule | Schedule | Requis. |
application | string | Code d’application. |
platforms | array of Platform | Plateformes ciblées par le message. |
test_devices | bool | Si true, envoyer uniquement aux appareils de test de l’application. |
hwids | { "list": [string, ...] } | Envoyer uniquement à ces HWID. |
users | { "list": [string, ...] } | Envoyer uniquement à ces ID utilisateur. |
push_tokens | { "list": [string, ...] } | Envoyer uniquement à ces jetons push. |
payload | Payload | Payload Push / SMS / Telegram / Kakao. |
email_payload | EmailPayload | Payload d’e-mail. |
return_unknown_identifiers | bool | Lorsque true, la liste unknown_identifiers de la réponse contient les identifiants qui n’ont pas été trouvés. |
campaign, frequency_capping, send_rate, message_type, dynamic_content_placeholders, meta_data | Voir NotifySegment ci-dessus. |
test_devices, hwids, users et push_tokens sont mutuellement exclusifs. Un seul doit être défini.
Exemple : Transactionnel par ID utilisateur
Anchor link tocurl -X POST https://api.pushwoosh.com/messaging/v2/notify \ -H "Authorization: Token VOTRE_JETON_API" \ -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 } }'Réponse
Anchor link to{ "result": { "message_code": "XXXXX-XXXXX-XXXXX", "unknown_identifiers": [] }}| Champ | Type | Description |
|---|---|---|
message_code | string | Code de message unique. Utilisez-le avec les points de terminaison /getMessageDetails et les statistiques de message. |
unknown_identifiers | array of string | Identifiants non trouvés sur le compte. Rempli uniquement lorsque return_unknown_identifiers: true a été défini sur le type transactional. |
Types partagés
Anchor link toSchedule
Anchor link to{ "at": "2026-05-01T12:00:00Z", "follow_user_timezone": true, "past_timezones_behaviour": "PAST_TIMEZONES_BEHAVIOUR_SEND_IMMEDIATELY"}| Champ | Type | Description |
|---|---|---|
at | timestamp | Heure d’envoi absolue (RFC 3339). Si elle est dans le passé, le message est envoyé immédiatement. Maximum 14 jours dans le futur. |
after | duration | Alternative à at. Envoyer après ce décalage par rapport à “maintenant” (par ex. "3600s"). |
follow_user_timezone | bool | Lorsque true, chaque appareil reçoit le message à l’heure at dans son fuseau horaire local. |
past_timezones_behaviour | enum | PAST_TIMEZONES_BEHAVIOUR_SEND_IMMEDIATELY (par défaut), PAST_TIMEZONES_BEHAVIOUR_DO_NOT_SEND ou PAST_TIMEZONES_BEHAVIOUR_NEXT_DAY. N’a de sens que si follow_user_timezone est true. |
FrequencyCapping
Anchor link toLimites de fréquence par utilisateur pour les envois marketing.
{ "days": 7, "count": 3, "exclude": false, "avoid": true }days(int, 1–30) : fenêtre de rétrospection.count(int) : nombre maximum de messages autorisés pendantdays.exclude(bool) : exclure de manière stricte les utilisateurs qui ont déjà atteint le plafond.avoid(bool) : éviter de manière souple les utilisateurs qui ont déjà atteint le plafond (ils sont toujours comptabilisés dans les analyses).
SendRate
Anchor link to{ "value": 500, "bucket": "1s", "avoid": false }Limite le débit de l’envoi. value correspond au nombre de messages par bucket ; un bucket typique est "1s".
Énumération Platform
Anchor link toIOS, ANDROID, OSX, WINDOWS, AMAZON, SAFARI, CHROME, FIREFOX, IE, EMAIL, BAIDU_ANDROID, HUAWEI_ANDROID, SMS, WEB, KAKAO, TELEGRAM, LINE, WHATS_APP.
Énumération MessageType
Anchor link toMESSAGE_TYPE_UNSPECIFIED: équivalent àMESSAGE_TYPE_MARKETING.MESSAGE_TYPE_MARKETING: soumis au filtrage du groupe de contrôle et au plafonnement de la fréquence.MESSAGE_TYPE_TRANSACTIONAL: ignore le filtrage du groupe de contrôle et le plafonnement de la fréquence. À utiliser pour les confirmations de commande, les OTP et les flux critiques similaires.