Zum Inhalt springen

Notify-Batch

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

Sendet mehrere Nachrichten in einem einzigen Aufruf. Jedes Element ist ein unabhängiges Notify: Es wird genau wie eine eigenständige Notify-Anfrage validiert und erhält ein eigenes Ergebnis.

Anfragestruktur

Anchor link to
Shape
{
"items": [
{
"item_id": "caller-defined-id",
"request": { ... }
}
]
}
FeldTypBeschreibung
itemsArray von NotifyBatchItemErforderlich, 1 bis 500 Einträge (serverkonfiguriertes Limit). Elemente werden gleichzeitig verarbeitet; die Ergebnisse werden unabhängig davon in der Reihenfolge der Anfrage zurückgegeben.

NotifyBatchItem

Anchor link to
FeldTypBeschreibung
item_idstringOptionale, vom Aufrufer bereitgestellte Korrelations-ID, die im passenden Ergebnis zurückgegeben wird. Wird von Pushwoosh ansonsten nicht verwendet.
requestNotifyRequestGleicher Body wie bei einem einzelnen Notify-Aufruf – segment oder transactional, transaction_id eingeschlossen. Erforderlich.
Terminal window
curl -X POST https://api.pushwoosh.com/messaging/v2/notify/batch \
-H "Authorization: Token YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"items": [
{
"item_id": "order-1001",
"request": {
"transactional": {
"application": "XXXXX-XXXXX",
"platforms": ["IOS", "ANDROID"],
"users": { "list": ["user-123"] },
"payload": {
"content": {
"localized_content": {
"en": { "ios": { "body": "Your order has shipped." } }
}
}
},
"schedule": { "at": "2026-05-01T12:00:00Z" },
"message_type": "MESSAGE_TYPE_TRANSACTIONAL",
"transaction_id": "order-1001-shipped"
}
}
},
{
"item_id": "order-1002",
"request": {
"transactional": {
"application": "XXXXX-XXXXX",
"platforms": ["IOS", "ANDROID"],
"users": { "list": ["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",
"transaction_id": "order-1002-shipped"
}
}
}
]
}'
{
"results": [
{
"item_id": "order-1001",
"index": 0,
"result": {
"message_code": "XXXXX-XXXXX-XXXXX",
"unknown_identifiers": []
}
},
{
"item_id": "order-1002",
"index": 1,
"error": {
"code": 3,
"message": "invalid argument",
"reason": "EmptySchedule",
"domain": "api.pushwoosh.com"
}
}
],
"succeeded": 1,
"failed": 1
}
FeldTypBeschreibung
resultsArray von NotifyBatchResultEin Eintrag pro angefordertem Element, in der Reihenfolge der Anfrage.
succeededintegerAnzahl der Elemente, die ein Ergebnis zurückgegeben haben.
failedintegerAnzahl der Elemente, die einen Fehler zurückgegeben haben.

NotifyBatchResult

Anchor link to
FeldTypBeschreibung
item_idstringEcho der item_id des Anfrageelements.
indexintegerNullbasierte Position des Elements in der Anfrage. Verwenden Sie dies, um Ergebnisse zu korrelieren, wenn item_id leer gelassen wurde.
resultobjectWird gesetzt, wenn das Element erfolgreich war – gleiche Form wie eine einzelne Notify-Antwort: message_code und unknown_identifiers.
errorNotifyBatchErrorWird gesetzt, wenn das Element fehlgeschlagen ist.

NotifyBatchError

Anchor link to
FeldTypBeschreibung
codeintegergRPC-Statuscode (google.rpc.Code), z. B. 3 für INVALID_ARGUMENT.
messagestringEntwicklerorientierte Fehlermeldung, auf Englisch.
reasonstringKurzer Statusname – derselbe Wert, den ein einzelner Notify-Aufruf zurückgeben würde, z. B. EmptySchedule.
domainstringFehlerdomäne, api.pushwoosh.com.

Fehler verwenden den Standard-gRPC-Gateway-Fehlerumschlag: { "code": ..., "message": ..., "details": [...] }. Dies sind Fehler auf Umschlag-Ebene, die die gesamte Anfrage fehlschlagen lassen – ein einzelnes fehlerhaftes Element erzeugt stattdessen einen error pro Element in results[] (siehe NotifyBatchError oben), nicht einen von diesen.

HTTP-StatusBedingung
400items ist leer.
400items hat mehr als das serverkonfigurierte Limit (standardmäßig 500).
400Bei einem der Elemente fehlt request.

Beispiel

Das Senden von 501 Elementen, wenn das Limit 500 beträgt, gibt HTTP 400 zurück:

{
"code": 3,
"message": "items must not exceed 500 entries, got 501",
"details": []
}

Verwandte Themen

Anchor link to