सामग्री पर जाएं

Notify बैच

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

एक कॉल में कई संदेश भेजता है। प्रत्येक आइटम एक स्वतंत्र Notify है: इसे ठीक एक स्टैंडअलोन Notify अनुरोध की तरह मान्य किया जाता है, और इसे अपना परिणाम मिलता है।

अनुरोध संरचना

Anchor link to
Shape
{
"items": [
{
"item_id": "caller-defined-id",
"request": { ... }
}
]
}
फील्डप्रकारविवरण
itemsNotifyBatchItem का ऐरेआवश्यक, 1 से 500 प्रविष्टियाँ (सर्वर-कॉन्फ़िगर की गई सीमा)। आइटम समवर्ती रूप से संसाधित होते हैं; परिणाम अनुरोध क्रम में वापस आते हैं, भले ही कुछ भी हो।

NotifyBatchItem

Anchor link to
फील्डप्रकारविवरण
item_idस्ट्रिंगवैकल्पिक कॉलर-आपूर्ति सहसंबंध आईडी, मिलान परिणाम पर वापस प्रतिध्वनित होती है। अन्यथा Pushwoosh द्वारा उपयोग नहीं किया जाता है।
requestNotifyRequestएकल Notify कॉल के समान बॉडी — segment या transactional, transaction_id शामिल है। आवश्यक।

उदाहरण

Anchor link to
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"
}
}
}
]
}'

प्रतिक्रिया

Anchor link to
{
"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
}
फील्डप्रकारविवरण
resultsNotifyBatchResult का ऐरेअनुरोधित प्रत्येक आइटम के लिए एक प्रविष्टि, अनुरोध क्रम में।
succeededपूर्णांकउन आइटम्स की संख्या जिन्होंने परिणाम लौटाया।
failedपूर्णांकउन आइटम्स की संख्या जिन्होंने त्रुटि लौटाई।

NotifyBatchResult

Anchor link to
फील्डप्रकारविवरण
item_idस्ट्रिंगअनुरोध आइटम के item_id की प्रतिध्वनि।
indexपूर्णांकअनुरोध में आइटम की शून्य-आधारित स्थिति। जब item_id खाली छोड़ दिया गया हो तो परिणामों को सहसंबंधित करने के लिए इसका उपयोग करें।
resultऑब्जेक्टजब आइटम सफल होता है तो सेट करें — एकल Notify प्रतिक्रिया के समान आकार: message_code और unknown_identifiers।
errorNotifyBatchErrorजब आइटम विफल हो जाता है तो सेट करें।

NotifyBatchError

Anchor link to
फील्डप्रकारविवरण
codeपूर्णांकgRPC स्टेटस कोड (google.rpc.Code), जैसे INVALID_ARGUMENT के लिए 3।
messageस्ट्रिंगडेवलपर-फेसिंग त्रुटि संदेश, अंग्रेजी में।
reasonस्ट्रिंगसंक्षिप्त स्थिति नाम — वही मान जो एक एकल Notify कॉल लौटाएगा, जैसे EmptySchedule।
domainस्ट्रिंगत्रुटि डोमेन, api.pushwoosh.com।

त्रुटियाँ

Anchor link to

त्रुटियाँ मानक gRPC-गेटवे त्रुटि एनवेलप का उपयोग करती हैं: { "code": ..., "message": ..., "details": [...] }। ये एनवेलप-स्तरीय त्रुटियाँ हैं जो पूरे अनुरोध को विफल करती हैं — एक व्यक्तिगत आइटम का विफल होना इसके बजाय results[] में प्रति-आइटम error उत्पन्न करता है (ऊपर NotifyBatchError देखें), इनमें से कोई एक नहीं।

HTTP स्थितिशर्त
400items खाली है।
400items में सर्वर-कॉन्फ़िगर की गई सीमा (डिफ़ॉल्ट रूप से 500) से अधिक है।
400आइटम में से एक में request गायब है।

उदाहरण

जब सीमा 500 हो तो 501 आइटम भेजने पर HTTP 400 लौटता है:

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

संबंधित

Anchor link to