POST https://api.pushwoosh.com/messaging/v2/notify/batch
ส่งหลายข้อความในการเรียกครั้งเดียว ทุกรายการเป็น Notify อิสระ: จะถูกตรวจสอบเหมือนกับคำขอ Notify แบบเดี่ยว และจะได้รับผลลัพธ์ของตัวเอง
"item_id": "caller-defined-id",
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|
items | array of NotifyBatchItem | จำเป็นต้องมี 1 ถึง 500 รายการ (ขีดจำกัดที่กำหนดค่าโดยเซิร์ฟเวอร์) รายการต่างๆ จะถูกประมวลผลพร้อมกัน ผลลัพธ์จะกลับมาตามลำดับของคำขอเสมอ |
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|
item_id | string | ID ความสัมพันธ์ที่ผู้เรียกให้มา (ไม่บังคับ) ซึ่งจะถูกส่งกลับมาในผลลัพธ์ที่ตรงกัน Pushwoosh ไม่ได้ใช้ค่านี้ในกรณีอื่น |
request | NotifyRequest | เนื้อหาเดียวกับการเรียก Notify ครั้งเดียว — รวมถึง segment หรือ transactional, transaction_id จำเป็นต้องมี |
curl -X POST https://api.pushwoosh.com/messaging/v2/notify/batch \
-H "Authorization: Token YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
"application": "XXXXX-XXXXX",
"platforms": ["IOS", "ANDROID"],
"users": { "list": ["user-123"] },
"en": { "ios": { "body": "Your order has shipped." } }
"schedule": { "at": "2026-05-01T12:00:00Z" },
"message_type": "MESSAGE_TYPE_TRANSACTIONAL",
"transaction_id": "order-1001-shipped"
"application": "XXXXX-XXXXX",
"platforms": ["IOS", "ANDROID"],
"users": { "list": ["user-456"] },
"en": { "ios": { "body": "Your order has shipped." } }
"schedule": { "at": "2026-05-01T12:00:00Z" },
"message_type": "MESSAGE_TYPE_TRANSACTIONAL",
"transaction_id": "order-1002-shipped"
"message_code": "XXXXX-XXXXX-XXXXX",
"unknown_identifiers": []
"message": "invalid argument",
"reason": "EmptySchedule",
"domain": "api.pushwoosh.com"
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|
results | array of NotifyBatchResult | หนึ่งรายการต่อหนึ่งรายการที่ร้องขอ ตามลำดับของคำขอ |
succeeded | integer | จำนวนรายการที่คืนค่าผลลัพธ์ |
failed | integer | จำนวนรายการที่คืนค่าข้อผิดพลาด |
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|
item_id | string | การส่งกลับ item_id ของรายการคำขอ |
index | integer | ตำแหน่งของรายการในคำขอที่เริ่มจากศูนย์ ใช้สิ่งนี้เพื่อเชื่อมโยงผลลัพธ์เมื่อ item_id ถูกเว้นว่างไว้ |
result | object | ตั้งค่าเมื่อรายการสำเร็จ — รูปแบบเดียวกับการตอบกลับของ Notify ครั้งเดียว: message_code และ unknown_identifiers |
error | NotifyBatchError | ตั้งค่าเมื่อรายการล้มเหลว |
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|
code | integer | รหัสสถานะ gRPC (google.rpc.Code) เช่น 3 สำหรับ INVALID_ARGUMENT |
message | string | ข้อความแสดงข้อผิดพลาดสำหรับนักพัฒนา เป็นภาษาอังกฤษ |
reason | string | ชื่อสถานะแบบย่อ — ค่าเดียวกับการเรียก Notify ครั้งเดียวจะคืนค่า เช่น EmptySchedule |
domain | string | โดเมนข้อผิดพลาด api.pushwoosh.com |
ข้อผิดพลาดใช้ error envelope มาตรฐานของ gRPC-Gateway: { "code": ..., "message": ..., "details": [...] } นี่คือข้อผิดพลาดระดับ envelope ที่ทำให้คำขอทั้งหมดล้มเหลว — รายการแต่ละรายการที่ล้มเหลวจะสร้าง error ต่อรายการใน results[] แทน (ดู NotifyBatchError ด้านบน) ไม่ใช่หนึ่งในข้อผิดพลาดเหล่านี้
| สถานะ HTTP | เงื่อนไข |
|---|
400 | items ว่างเปล่า |
400 | items มีมากกว่าขีดจำกัดที่กำหนดค่าโดยเซิร์ฟเวอร์ (ค่าเริ่มต้นคือ 500) |
400 | หนึ่งในรายการขาด request |
ตัวอย่าง
การส่ง 501 รายการเมื่อขีดจำกัดคือ 500 จะคืนค่า HTTP 400:
"message": "items must not exceed 500 entries, got 501",