ข้ามไปยังเนื้อหา

อัปเดต

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

แทนที่ข้อความที่สร้างไว้ก่อนหน้านี้ ซึ่งระบุโดย message_code ด้วยคำจำกัดความใหม่ การแทนที่เป็นการ แทนที่ทั้งหมด ไม่ใช่การแก้ไข: คำจำกัดความใหม่จะถูกนำไปใช้ตามที่ส่งมาทุกประการ และ message_code จะไม่เปลี่ยนแปลง

การอัปเดตจะทำได้ก็ต่อเมื่อข้อความยังคง รอดำเนินการ — คือตั้งเวลาไว้สำหรับการส่งในอนาคตและยังไม่ถูกนำไปประมวลผลหรือจัดส่ง

หากต้องการตรวจสอบว่าข้อความยังอยู่ในสถานะที่สามารถอัปเดตได้หรือไม่ โปรดดูที่ การตรวจสอบสถานะข้อความ

คำขอ

Anchor link to

รับรองความถูกต้องด้วย Server API token ของคุณในส่วนหัว Authorization: Token <API_TOKEN>

ฟิลด์ประเภทจำเป็นคำอธิบาย
message_codestringใช่Message code ของข้อความที่จะอัปเดต ซึ่งส่งคืนโดย Notify ใน result.message_code
requestobjectใช่คำจำกัดความใหม่ทั้งหมดของข้อความ มีรูปแบบเดียวกับเนื้อหาคำขอของ Notify — คืออ็อบเจกต์ segment หรือ transactional ซึ่งจะถูกตรวจสอบความถูกต้องเหมือนกับ Notify ทุกประการ

ตัวอย่างคำขอ

Anchor link to

ตั้งเวลาข้อความเซกเมนต์ใหม่และเปลี่ยนเนื้อหา:

Terminal window
curl -X POST https://api.pushwoosh.com/messaging/v2/update \
-H "Authorization: Token YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"message_code": "XXXX-XXXXXXXX-XXXXXXXX",
"request": {
"segment": {
"application": "XXXXX-XXXXX",
"platforms": ["IOS", "ANDROID"],
"code": "active_users",
"payload": {
"content": {
"localized_content": {
"en": {
"ios": { "body": "Updated message" },
"android": { "body": "Updated message" }
}
}
}
},
"schedule": { "at": "2026-05-02T12:00:00Z" },
"message_type": "MESSAGE_TYPE_MARKETING"
}
}
}'

การตอบกลับ

Anchor link to

เมื่อสำเร็จ จะส่งคืน HTTP 200 พร้อมผลลัพธ์ของข้อความที่อัปเดตแล้ว message_code จะไม่เปลี่ยนแปลง

{
"result": {
"message_code": "XXXX-XXXXXXXX-XXXXXXXX",
"unknown_identifiers": []
}
}
  • message_code (string): โค้ดเดียวกับที่ส่งมาในคำขอ
  • unknown_identifiers (array of string): ตัวระบุในคำจำกัดความใหม่ที่ไม่พบ (ถ้ามี) (ดู Notify)

ข้อผิดพลาด

Anchor link to

ข้อผิดพลาดใช้รูปแบบข้อผิดพลาดมาตรฐานของ gRPC-Gateway: { "code": ..., "message": ..., "details": [...] }

สถานะ HTTPเงื่อนไข
400message_code หายไป
400คำจำกัดความ request ใหม่หายไปหรือไม่ถูกต้อง (จะถูกตรวจสอบความถูกต้องเหมือนกับ Notify ทุกประการ)
400ข้อความไม่อยู่ในสถานะที่สามารถอัปเดตได้ (ไม่ได้อยู่ในสถานะ pending อีกต่อไป)
403ข้อความนี้เป็นของบัญชีอื่น
404ไม่มีข้อความสำหรับ message_code ที่ระบุ
500เกิดข้อผิดพลาดภายในขณะโหลดข้อความหรือใช้การอัปเดต โปรดลองส่งคำขออีกครั้ง

ตัวอย่าง

การอัปเดตข้อความที่ไม่มีอยู่อีกต่อไปจะส่งคืน HTTP 404:

{
"code": 5,
"message": "message not found",
"details": []
}

การตรวจสอบสถานะข้อความ

Anchor link to

ก่อนที่จะอัปเดต คุณสามารถตรวจสอบได้ว่าข้อความยังอยู่ในสถานะที่สามารถอัปเดตได้หรือไม่ นอกจากการอ่านคอลัมน์ สถานะ ในตารางข้อความใน Control Panel (Campaigns → One-time messages) แล้ว คุณยังสามารถสอบถามสถานะผ่านโปรแกรมได้ด้วย messages:list:

  • ส่ง message_code ในอาร์เรย์ filters.messages_codes (พร้อมกับ filters.application ที่จำเป็น)
  • อ่านฟิลด์ status ของรายการที่ตรงกันใน items[]

หัวข้อที่เกี่ยวข้อง

Anchor link to