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

การอ้างอิง Payload

การอ้างอิงสำหรับข้อความ Payload ที่ใช้โดย Notify เมื่อส่งผ่านช่องทางที่ไม่ใช่อีเมล (push, SMS, Telegram, Kakao, LINE, WhatsApp)

  • preset (string): รหัส preset ที่จะใช้กับข้อความนี้
  • content (LocalizedContent): เนื้อหาข้อความ ไม่สามารถใช้ร่วมกับ silent ได้
  • silent (bool): ส่ง push แบบเงียบ (ข้อมูลเท่านั้น) ไม่สามารถใช้ร่วมกับ content ได้
  • custom_data (object): JSON รูปแบบอิสระที่ส่งต่อไปยัง client SDK เป็นพารามิเตอร์ u
  • open_action (OpenAction): การกระทำที่เกิดขึ้นเมื่อผู้ใช้เปิดการแจ้งเตือน
  • open_actions (map<Platform, OpenAction>): การแทนที่ open_action สำหรับแต่ละแพลตฟอร์ม Key คือค่า enum Platform ที่เป็นตัวเลข
  • voip_push (bool): การแจ้งเตือน iOS VoIP

LocalizedContent

Anchor link to

จับคู่รหัส locale กับเนื้อหาสำหรับแต่ละแพลตฟอร์ม Key คือรหัสสองตัวอักษรตามมาตรฐาน ISO 639-1 (ตัวอย่างเช่น "en", "es") บวกกับ key พิเศษ "default" สำหรับการแปลสำรอง ข้อยกเว้นสำหรับ ISO 639-1 คือ "zh-Hant" และ "zh-Hans" สำหรับภาษาจีนตัวเต็มและตัวย่อ

{
"localized_content": {
"default": {
"ios": { "title": "Hello", "body": "Tap to view" },
"android": { "title": "Hello", "body": "Tap to view" }
},
"es": {
"ios": { "title": "Hola", "body": "Toca para ver" },
"android": { "title": "Hola", "body": "Toca para ver" }
}
}
}

การเลือก Locale สำหรับอุปกรณ์

Anchor link to

เนื้อหาที่ส่งไปยังอุปกรณ์จะถูกเลือกตามลำดับนี้:

  1. ตรงกับภาษาของอุปกรณ์พอดี
  2. Key "default"
  3. Key "en"
  4. locale อื่นๆ ที่มีอยู่ใน map

ระบุอย่างน้อยหนึ่งค่าระหว่าง "default" หรือ "en" เพื่อให้ทุกอุปกรณ์มีการสำรองข้อมูลที่แน่นอน หากคุณไม่ต้องการรูปแบบที่แตกต่างกันในแต่ละ locale ให้ส่งเพียง "default"

แต่ละรายการ locale คืออ็อบเจกต์ Content ที่มีบล็อกสำหรับแต่ละแพลตฟอร์มซึ่งเป็นทางเลือก กรอกเฉพาะแพลตฟอร์มที่คุณต้องการกำหนดเป้าหมาย

บล็อกแพลตฟอร์มช่องทาง
iosiOS push
androidAndroid (FCM) push
huawei_androidHuawei Android push
baidu_androidBaidu Android push
mac_osmacOS push
amazonAmazon (ADM) push
safariSafari web push
chromeChrome web push
firefoxFirefox web push
ieInternet Explorer web push
windowsWindows push (tile / toast / badge)
telegramข้อความ Telegram
kakaoข้อความ Kakao
lineข้อความ LINE
whatsappข้อความ WhatsApp

ฟิลด์ push ทั่วไป

Anchor link to

ฟิลด์เหล่านี้ใช้ร่วมกันโดยบล็อก ios, android, huawei_android, baidu_android, mac_os, amazon, safari, chrome และ firefox (การรองรับอาจแตกต่างกันไป ฟิลด์ที่ไม่ได้ใช้จะถูกละเว้นโดยแพลตฟอร์มที่เกี่ยวข้อง)

  • title (string): ชื่อการแจ้งเตือน
  • body (string): เนื้อหาการแจ้งเตือน
  • time_to_live (duration, เช่น "3600s"): ระยะเวลาที่เซิร์ฟเวอร์ push ควรเก็บการแจ้งเตือนไว้สำหรับอุปกรณ์ที่ออฟไลน์
  • sound (string): ชื่อไฟล์เสียง
  • sound_enabled (bool): เปิดหรือปิดเสียง
  • badges (string): จำนวน badge (iOS) หรือที่คล้ายกัน
  • root_params (object): การแทนที่ payload ดิบเฉพาะแพลตฟอร์ม
  • inbox (Inbox): รายการ Message Inbox
  • subtitle (string): คำบรรยายการแจ้งเตือนของ iOS
  • is_critical (bool): การแจ้งเตือนที่สำคัญ (ต้องมี entitlement)
  • attachment (string): URL ของไฟล์แนบสื่อ
  • thread_id (string): ตัวระบุเธรดสำหรับการแจ้งเตือนแบบกลุ่ม
  • trim_content (bool): ตัดเนื้อหาให้พอดี
  • category_id (string): ตัวระบุ UNNotificationCategory สำหรับการกระทำแบบโต้ตอบ
  • interruption_level (string): passive, active, time-sensitive หรือ critical
  • collapse_id (string): ตัวระบุการยุบของ APNs การแจ้งเตือนที่มี collapse_id เดียวกันจะแทนที่กันบนอุปกรณ์

Android (android, huawei_android, baidu_android)

Anchor link to
  • icon (string): ไอคอนขนาดเล็กของการแจ้งเตือน
  • banner (string): URL รูปภาพขนาดใหญ่
  • delivery_priority (NORMAL | HIGH): ลำดับความสำคัญในการส่งของ FCM
  • vibration (bool): การสั่นเมื่อได้รับ
  • led_color (string, hex): สี LED ของการแจ้งเตือน
  • icon_background_color (string, hex): สีพื้นหลังของไอคอน
  • show_on_lockscreen (bool): แสดงบนหน้าจอล็อก
  • custom_icon (string): URL ของไอคอนที่กำหนดเอง
  • priority (NotificationPriority): ลำดับความสำคัญในถาดการแจ้งเตือน
  • group_id (string): คีย์กลุ่มการแจ้งเตือน
  • collapse_key (string): คีย์การยุบของ FCM การแจ้งเตือนที่มี collapse_key เดียวกันจะแทนที่กันในขณะที่อุปกรณ์ออฟไลน์

macOS (mac_os)

Anchor link to

ใช้ฟิลด์ push ทั่วไปบวกกับ subtitle และ action (URL ที่เปิดเมื่อผู้ใช้คลิกการแจ้งเตือน)

Amazon (amazon)

Anchor link to

ใช้ฟิลด์ push ทั่วไปบวกกับ custom_icon และ priority (NotificationPriority)

Safari (safari)

Anchor link to
  • action (string): URL ที่เปิดเมื่อผู้ใช้คลิกการแจ้งเตือน
  • url_arguments (array of string): อาร์กิวเมนต์ URL ของ Safari ที่ใช้แทนที่ในเทมเพลต URL ของ Web Push

Chrome (chrome)

Anchor link to
  • icon, image (string): URL ไอคอนขนาดเล็กและรูปภาพขนาดใหญ่
  • duration (duration): ตัวจับเวลาปิดอัตโนมัติ
  • button_text1 / button_url1, button_text2 / button_url2: ปุ่มการกระทำสูงสุดสองปุ่ม

Firefox (firefox)

Anchor link to

ใช้เฉพาะ title, body, icon, root_params และ inbox

Windows (windows)

Anchor link to

Windows ใช้รูปแบบที่แตกต่างกัน:

{
"windows": {
"type": "TOAST",
"template": { "title": "Hello", "body": "Tap to view" },
"tag": "promo",
"cache": true,
"time_to_live": "3600s"
}
}
  • type คือ TILE, TOAST หรือ BADGE
  • template (มีโครงสร้าง) หรือ raw ({ "content": "<raw xml>" }) — ต้องมีอย่างใดอย่างหนึ่ง

Telegram (telegram)

Anchor link to
  • body (string): ข้อความ
  • content_variables (string): ตัวแปรที่ถูกแปลงเป็นสตริง JSON สำหรับเทมเพลตฝั่งบอท

Kakao (kakao)

Anchor link to
  • content (string): เนื้อหาข้อความ
  • template (string): รหัสเทมเพลตที่ได้รับอนุมัติ
  • content_variables (string): การผูกตัวแปรเทมเพลตที่ถูกแปลงเป็นสตริง JSON

LINE (line)

Anchor link to
  • content (string): เนื้อหาข้อความธรรมดา
  • template (string): รหัสของเทมเพลต LINE ที่กำหนดค่าไว้ใน Pushwoosh Control Panel (ใช้เพื่อส่งรูปภาพ, carousel, หรือ flex messages) สำหรับเนื้อหา rich content ให้กำหนดค่าเทมเพลตล่วงหน้าใน Control Panel และอ้างอิงที่นี่

ต้องตั้งค่าอย่างน้อยหนึ่งอย่างระหว่าง content หรือ template

WhatsApp (whatsapp)

Anchor link to

ข้อความ WhatsApp จะส่งผ่าน Meta และอยู่ภายใต้กฎการส่งข้อความของ Meta การแบ่งหลักคือระหว่างข้อความรูปแบบอิสระ (ส่งได้เฉพาะภายในหน้าต่างบริการลูกค้า 24 ชั่วโมงที่เปิดโดยข้อความขาเข้าจากผู้ใช้) และเทมเพลตที่ได้รับอนุมัติ (จำเป็นสำหรับการเริ่มต้นการส่งข้อความขาออกและสำหรับข้อความใดๆ นอกหน้าต่าง 24 ชั่วโมง)

  • content (string): ข้อความรูปแบบอิสระ Meta จะส่งให้เฉพาะภายในหน้าต่าง 24 ชั่วโมงเท่านั้น
  • content_id (string): ชื่อของเทมเพลต Meta ที่ได้รับการอนุมัติล่วงหน้า (เช่น "hello_world") จำเป็นสำหรับการเริ่มต้นการส่งข้อความขาออกหรือข้อความใดๆ นอกหน้าต่าง 24 ชั่วโมง
  • language (string): locale ของเทมเพลตที่ต้องตรงกับ locale ที่ได้รับอนุมัติใน Meta ทุกประการ (เช่น "en_US", "en_GB") มีความหมายเฉพาะเมื่อใช้ร่วมกับ content_id เท่านั้น สิ่งนี้ไม่ขึ้นอยู่กับ key LocalizedContent ภายนอก key ภายนอกจะเลือกเนื้อหาสำหรับอุปกรณ์ และ language จะเลือก locale ของเทมเพลต Meta สำหรับเนื้อหานั้น
  • content_variables (string): อ็อบเจกต์ JSON ที่จับคู่ตัวยึดตำแหน่งในเนื้อหา เช่น "{\"1\":\"John\"}"
  • button_url_variables (string): อ็อบเจกต์ JSON ที่จับคู่ตัวยึดตำแหน่ง URL ของปุ่มโดยใช้ดัชนีของปุ่มเป็น key เช่น "{\"0\":\"https://...\"}"
  • header_variables (string): อ็อบเจกต์ JSON ที่จับคู่ตัวยึดตำแหน่งในส่วนหัวโดยใช้ประเภทเป็น key เช่น "{\"image\":\"https://...\"}"

ต้องตั้งค่าอย่างน้อยหนึ่งอย่างระหว่าง content หรือ content_id

SMS ใช้ขั้นตอนการส่งข้อความทั่วไป บล็อกแพลตฟอร์ม sms ถูกสงวนไว้ ระบุข้อความผ่านฟิลด์ body ทั่วไปบนบล็อกแพลตฟอร์มใดๆ ที่กรอกข้อมูลไว้ ID ผู้ส่งและตัวเลือกผู้ให้บริการอื่นๆ มาจากการกำหนดค่า SMS ของแอป ดู การกำหนดค่า SMS

OpenAction

Anchor link to

กำหนดการกระทำที่จะเกิดขึ้นเมื่อผู้ใช้เปิดข้อความ

ต้องมีอย่างใดอย่างหนึ่ง:

  • rich_media (RichMedia): เปิดหน้า Rich Media
  • deep_link: เปิด deep link: { "code": "flow-code", "params": { "key": "value" } }
  • link (Link): เปิด URL
{ "code": "XXXXX-XXXXX" } // โดยรหัส Rich Media
{ "url": "https://..." } // โดย URL ระยะไกล
{
"url": "https://example.com/promo",
"shortener": "BITLY"
}

shortener คือ NONE (ค่าเริ่มต้น) หรือ BITLY

กำหนดค่าลักษณะที่ข้อความจะปรากฏใน Message Inbox

{
"image_url": "https://cdn.example.com/inbox.png",
"expiration_date": "2026-05-15T00:00:00Z"
}
  • image_url (string): รูปภาพที่แสดงในรายการ inbox
  • expiration_date (timestamp): เวลาที่รายการจะถูกลบออกจาก inbox

NotificationPriority enum

Anchor link to

ควบคุมลำดับความสำคัญของการแจ้งเตือนบนอุปกรณ์เป้าหมาย จาก PRIORITY_MIN (ต่ำสุด) ถึง PRIORITY_MAX (สูงสุด)

  • PRIORITY_UNSPECIFIED
  • PRIORITY_MIN
  • PRIORITY_LOW
  • PRIORITY_DEFAULT
  • PRIORITY_HIGH
  • PRIORITY_MAX

ตัวอย่าง: ส่ง push ไปยัง segment

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": { "title": "Hello", "body": "Hello, world!" },
"android": { "title": "Hello", "body": "Hello, world!" }
},
"es": {
"ios": { "title": "¡Hola!", "body": "¡Hola, mundo!" },
"android": { "title": "¡Hola!", "body": "¡Hola, mundo!" }
}
}
},
"open_action": { "link": { "url": "https://example.com/promo" } }
},
"schedule": { "at": "2026-05-01T12:00:00Z" },
"message_type": "MESSAGE_TYPE_MARKETING"
}
}'

ตัวอย่าง: Transactional push ตาม user ID

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": ["customer-42"] },
"payload": {
"content": {
"localized_content": {
"default": {
"ios": { "title": "Your order", "body": "Order #42 has shipped." },
"android": { "title": "Your order", "body": "Order #42 has shipped." }
}
}
},
"custom_data": { "order_id": "42" }
},
"schedule": { "at": "2026-05-01T12:00:00Z" },
"message_type": "MESSAGE_TYPE_TRANSACTIONAL"
}
}'