Zum Inhalt springen

Benachrichtigen

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

Erstellt und plant eine einzelne Nachricht.

Anfragestruktur

Anchor link to

Der Anfragetext ist ein NotifyRequest mit genau einer von zwei Arten:

  • segment: Zielt auf ein Zielgruppensegment nach Segmentcode, einem seglang-Ausdruck oder einem strukturierten Filterausdruck ab.
  • transactional: Sendet an eine explizite Liste von HWIDs, Benutzer-IDs, Push-Tokens oder Testgeräten.
Form
{
"segment": { ... } // ODER
"transactional": { ... }
}

NotifySegment

Anchor link to

Zielt auf Benutzer ab, die einem Zielgruppensegment oder Filterausdruck entsprechen.

FeldTypBeschreibung
scheduleScheduleWann und wie gesendet werden soll. Erforderlich.
applicationstringAnwendungscode.
platformsarray of PlatformPlattformen, auf die die Nachricht abzielt.
codestringSegmentcode. Schließt sich gegenseitig mit expression und filter_expression aus.
expressionstringSeglang-Ausdruck.
filter_expressionFilterExpressionStrukturierter Filterausdruck (erweitert).
payloadPayloadPush / SMS / Telegram / Kakao / LINE / WhatsApp / Viber Payload. Schließt sich gegenseitig mit email_payload aus.
email_payloadEmailPayloadE-Mail-Payload.
campaignstringKampagnencode, dem diese Nachricht zugeordnet werden soll.
frequency_cappingFrequencyCappingFrequenzbegrenzungen pro Benutzer.
send_rateSendRateDrosselung für den Versand.
message_typeMessageTypeMESSAGE_TYPE_MARKETING (Standard) oder MESSAGE_TYPE_TRANSACTIONAL. Steuert die Filterung der Kontrollgruppe.
dynamic_content_placeholdersmap<string, string>Ersetzt Platzhalter im Inhalt.
meta_dataobjectFrei gestaltete Metadaten, die an nachgelagerte Analysen weitergeleitet werden.

Beispiel: An ein Segment senden

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

Sendet an eine explizite Liste von Empfängern.

FeldTypBeschreibung
scheduleScheduleErforderlich.
applicationstringAnwendungscode.
platformsarray of PlatformPlattformen, auf die die Nachricht abzielt.
test_devicesboolWenn true, nur an die Testgeräte der App senden.
hwids{ "list": [string, ...] }Nur an diese HWIDs senden.
users{ "list": [string, ...] }Nur an diese Benutzer-IDs senden.
push_tokens{ "list": [string, ...] }Nur an diese Push-Tokens senden.
payloadPayloadPush / SMS / Telegram / Kakao / LINE / WhatsApp / Viber Payload.
email_payloadEmailPayloadE-Mail-Payload.
return_unknown_identifiersboolWenn true, listet unknown_identifiers der Antwort die nicht gefundenen Kennungen auf.
use_latest_user_deviceboolGilt nur, wenn Sie auf users abzielen. Wenn true, wird die Nachricht an das zuletzt aktive Gerät jedes Benutzers zugestellt – das mit dem letzten „Last Application Open“ – anstatt an alle Geräte, die mit dieser Benutzer-ID verknüpft sind. Standard ist false (an jedes Gerät senden).
campaign, frequency_capping, send_rate, message_type, dynamic_content_placeholders, meta_dataSiehe NotifySegment oben.

test_devices, hwids, users und push_tokens schließen sich gegenseitig aus. Es muss genau einer festgelegt werden.

Beispiel: Transaktional nach Benutzer-IDs

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,
"use_latest_user_device": true
}
}'
{
"result": {
"message_code": "XXXXX-XXXXX-XXXXX",
"unknown_identifiers": []
}
}
FeldTypBeschreibung
message_codestringEindeutiger Nachrichtencode. Verwenden Sie ihn mit /getMessageDetails und den Endpunkten für Nachrichtenstatistiken.
unknown_identifiersarray of stringKennungen, die nicht im Konto gefunden wurden. Wird nur ausgefüllt, wenn return_unknown_identifiers: true für die transactional-Art festgelegt wurde.

Gemeinsame Typen

Anchor link to
{
"at": "2026-05-01T12:00:00Z",
"follow_user_timezone": true,
"past_timezones_behaviour": "PAST_TIMEZONES_BEHAVIOUR_SEND_IMMEDIATELY"
}
FeldTypBeschreibung
attimestampAbsolute Sendezeit (RFC 3339). Wenn in der Vergangenheit, wird die Nachricht sofort gesendet. Maximal 14 Tage in der Zukunft.
afterdurationAlternative zu at. Nach diesem Versatz von „jetzt“ senden (z. B. "3600s").
follow_user_timezoneboolWenn true, empfängt jedes Gerät die Nachricht zur Zeit at in seiner lokalen Zeitzone.
past_timezones_behaviourenumPAST_TIMEZONES_BEHAVIOUR_SEND_IMMEDIATELY (Standard), PAST_TIMEZONES_BEHAVIOUR_DO_NOT_SEND oder PAST_TIMEZONES_BEHAVIOUR_NEXT_DAY. Nur sinnvoll, wenn follow_user_timezone true ist.

FrequencyCapping

Anchor link to

Frequenzbegrenzungen pro Benutzer für Marketing-Sendungen. Um die Begrenzung zu deaktivieren, lassen Sie frequency_capping ganz weg oder senden Sie days: 0 zusammen mit count: 0.

{ "days": 7, "count": 3, "exclude": false, "avoid": true }
  • days (int, 1–30 oder 0 zum Deaktivieren der Begrenzung): Rückblickfenster. Muss zusammen mit count gesendet werden – wenn einer 0 ist, muss der andere ebenfalls 0 sein; das Senden von einem als 0, während der andere ungleich null ist, gibt 400 zurück.
  • count (int, 1 oder höher, oder 0 zum Deaktivieren der Begrenzung): maximale Anzahl von Nachrichten, die innerhalb von days erlaubt sind. Dieselbe Paarungsregel wie bei days oben.
  • exclude (bool): Benutzer, die die Obergrenze bereits erreicht haben, hart ausschließen.
  • avoid (bool): Benutzer, die die Obergrenze bereits erreicht haben, weich vermeiden (sie zählen weiterhin für die Analytik).
{ "value": 500, "bucket": "1s", "avoid": false }

Drosselt den Versand. value ist die Anzahl der Nachrichten pro bucket; ein typischer bucket ist "1s".

Platform-Enum

Anchor link to

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

MessageType-Enum

Anchor link to
  • MESSAGE_TYPE_UNSPECIFIED: entspricht MESSAGE_TYPE_MARKETING.
  • MESSAGE_TYPE_MARKETING: unterliegt der Filterung durch Kontrollgruppen und der Frequenzbegrenzung.
  • MESSAGE_TYPE_TRANSACTIONAL: überspringt die Filterung durch Kontrollgruppen und die Frequenzbegrenzung. Verwenden Sie es für Bestellbestätigungen, OTPs und ähnliche kritische Abläufe.

Verwandte Themen

Anchor link to