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

Messages API

createMessage

Anchor link to

POST https://api.pushwoosh.com/json/1.3/createMessage

สร้างการแจ้งเตือนพุชใหม่

เนื้อหาของคำขอ

Anchor link to
ชื่อประเภทคำอธิบาย
auth*stringโทเค็นการเข้าถึง API จาก Pushwoosh Control Panel
application*stringรหัสแอปพลิเคชัน Pushwoosh
notifications*arrayอาร์เรย์ JSON ของพารามิเตอร์ข้อความ ดูรายละเอียดในตัวอย่างคำขอด้านล่าง
{
"status_code": 200,
"status_message": "OK",
"response": {
"Messages": [
"C3F8-C3863ED4-334AD4F1"
]
}
}

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

Anchor link to
Example
{
"request": {
"application": "XXXXX-XXXXX", // จำเป็น รหัสแอปพลิเคชัน Pushwoosh
"auth": "yxoPUlwqm…………pIyEX4H", // จำเป็น โทเค็นการเข้าถึง API จาก Pushwoosh Control Panel
"notifications": [{
"send_date": "now", // ไม่บังคับ YYYY-MM-DD HH:mm หรือ 'now'
"content": { // ไม่บังคับ อ็อบเจกต์ หรือ สตริง
"en": "English", // ใช้ "wns_content" แทนสำหรับ Windows
"fr": "French"
},
"title": { // ไม่บังคับ อ็อบเจกต์ หรือ สตริง
"en": "Title", // จะถูกละเว้นหากมีการระบุชื่อเรื่องเฉพาะแพลตฟอร์ม
"fr": "Titre" // 'ios_title', 'android_header' เป็นต้น
}, // ดูตัวอย่างพารามิเตอร์เฉพาะแพลตฟอร์มด้านล่าง
"subtitle":{ // ไม่บังคับ อ็อบเจกต์ หรือ สตริง
"en": "Subtitle", // จะถูกละเว้นหากมีการระบุชื่อเรื่องเฉพาะแพลตฟอร์ม
"fr": "Sous-titre" // 'ios_subtitle' เป็นต้น
}, // ดูตัวอย่างพารามิเตอร์เฉพาะแพลตฟอร์มด้านล่าง
"ignore_user_timezone": true, // ไม่บังคับ
"timezone": "America/New_York", // ไม่บังคับ หากละเว้น จะใช้ UTC-0 เป็นค่าเริ่มต้นสำหรับ "send_date"
// ดู https://php.net/manual/timezones.php สำหรับ
// ไทม์โซนที่รองรับ
"campaign": "CAMPAIGN_CODE", // ไม่บังคับ รหัสแคมเปญที่คุณต้องการ
// กำหนดข้อความพุชนี้ไป
"geozone": { // ไม่บังคับ ส่งไปยัง Geozone
"lat": 22.22,
"lng": 33.33,
"range": 110
},
"rich_media": "XXXXX-XXXXX", // ไม่บังคับ คัดลอกรหัส Rich Media จากแถบ URL ของ
// หน้าแก้ไข Rich Media ใน Pushwoosh Control Panel
"link": "https://google.com", // ไม่บังคับ สำหรับ deeplinks ให้เพิ่ม "minimize_link": 0
"minimize_link": 0, // ไม่บังคับ 0 — ไม่ย่อ, 2 — bitly ค่าเริ่มต้น = 2
// โปรดทราบว่าตัวย่อลิงก์มีข้อจำกัด
// เกี่ยวกับจำนวนการเรียก
"data": { // ไม่บังคับ สตริง JSON หรืออ็อบเจกต์ JSON จะถูกส่งผ่านเป็น
"key": "value" // พารามิเตอร์ "u" ในเพย์โหลด (แปลงเป็นสตริง JSON)
},
"transactionId": "unique UUID", // ไม่บังคับ ตัวระบุข้อความที่ไม่ซ้ำกันเพื่อป้องกันการซ้ำซ้อน
// ในกรณีที่มีปัญหาเครือข่าย จัดเก็บไว้ที่ฝั่ง
// Pushwoosh เป็นเวลา 5 นาที
"platforms": [ // ไม่บังคับ 1 — iOS; 3 — Android; 7 — Mac OS X; 8 — Windows;
1, 3, 7, 8, 9, 10, // 9 — Amazon; 10 — Safari; 11 — Chrome;
11, 12, 17 // 12 — Firefox; 17 — Huawei
],
"preset": "XXXXX-XXXXX", // ไม่บังคับ รหัส Push Preset จาก Control Panel ของคุณ
// หากมีการส่งพารามิเตอร์เฉพาะในคำขอ
// พารามิเตอร์เหล่านั้นจะแทนที่พารามิเตอร์ของ preset
"send_rate": 100, // ไม่บังคับ การควบคุมปริมาณ ค่าที่ถูกต้องคือตั้งแต่ 100 ถึง 1000 pushes/second
// เกี่ยวข้องกับการสร้างเทมเพลต โปรดอ้างอิงถึงคู่มือ Template Engine เพื่อเรียนรู้เพิ่มเติม
"template_bindings": { // ไม่บังคับ
"TemplatePlaceholder": "Value"
},
"dynamic_content_placeholders": { // ไม่บังคับ ตัวยึดตำแหน่งสำหรับเนื้อหาไดนามิกแทนแท็กของอุปกรณ์
"firstname": "John",
"lastname": "Doe"
},
// พารามิเตอร์การจำกัดความถี่ ตรวจสอบให้แน่ใจว่าได้กำหนดค่าการจำกัดความถี่ส่วนกลางใน Control Panel แล้ว
"capping_days": 30, // ไม่บังคับ จำนวนวันสำหรับการจำกัดความถี่ (สูงสุด 30 วัน)
"capping_count": 10, // ไม่บังคับ จำนวนพุชสูงสุดที่สามารถส่งจาก
// แอปเฉพาะไปยังอุปกรณ์ใดอุปกรณ์หนึ่งภายในระยะเวลา 'capping_days'
// ในกรณีที่ข้อความที่สร้างขึ้นเกินขีดจำกัด
// 'capping_count' สำหรับอุปกรณ์ ข้อความนั้นจะไม่ถูก
// ส่งไปยังอุปกรณ์นั้น
"capping_exclude": true, // ไม่บังคับ หากตั้งค่าเป็น true การแจ้งเตือนพุชนี้จะไม่
// ถูกนับรวมในการจำกัดความถี่สำหรับการพุชในอนาคต
"capping_avoid": true, // ไม่บังคับ หากตั้งค่าเป็น true การจำกัดความถี่จะไม่ถูกนำมาใช้กับ
// การแจ้งเตือนพุชนี้โดยเฉพาะ
// หากต้องการบันทึกข้อความไปยังกล่องข้อความผ่าน API ให้ใช้ "inbox_date" หรือ "inbox_image"
// ข้อความจะถูกบันทึกเมื่อมีการใช้พารามิเตอร์เหล่านี้อย่างน้อยหนึ่งตัว
"inbox_date": "2017-02-02", // ไม่บังคับ ระบุเวลาที่จะลบข้อความออกจากกล่องข้อความ
// ข้อความจะถูกลบออกจากกล่องข้อความเวลา 00:00:01 UTC
// ของวันที่ระบุ ดังนั้นวันก่อนหน้าคือ
// วันสุดท้ายที่ผู้ใช้สามารถเห็นข้อความในกล่องข้อความของพวกเขา
// หากไม่ได้ระบุ วันที่ลบเริ่มต้นคือ
// วันถัดไปหลังจากวันที่ส่ง
"inbox_image": "Inbox image URL", // ไม่บังคับ รูปภาพที่จะแสดงใกล้กับข้อความ
"inbox_days": 5, // ไม่บังคับ ระบุเวลาที่จะลบข้อความออกจาก
// กล่องข้อความ (อายุของข้อความในกล่องข้อความเป็นวัน)
// สามารถใช้แทนพารามิเตอร์ "inbox_date" ได้
// สูงสุด 30 วัน
"devices": [ // ไม่บังคับ ระบุโทเค็นหรือ hwids เพื่อส่งการแจ้งเตือนพุชเป้าหมาย
"hwid_XXXX" // ไม่เกิน 1000 โทเค็น/hwids ใน
], // อาร์เรย์ หากตั้งค่า ข้อความจะถูกส่งไปยัง
// อุปกรณ์ในรายการเท่านั้น ไม่อนุญาตให้ใช้ Application Group สำหรับรายการอุปกรณ์
// โทเค็นพุชของ iOS สามารถเป็นตัวพิมพ์เล็กเท่านั้น
// การแจ้งเตือนพุชที่เน้นผู้ใช้เป็นศูนย์กลาง
"users": [ // ไม่บังคับ หากตั้งค่า ข้อความจะถูกส่งไปยัง
"user_XXXX" // ID ผู้ใช้ที่ระบุเท่านั้น (ตั้งค่าผ่านการเรียก /registerUser)
], // หากระบุร่วมกับพารามิเตอร์ devices
// พารามิเตอร์หลังจะถูกละเว้น ไม่เกิน 1000 ID ผู้ใช้
// ในอาร์เรย์ ไม่อนุญาตให้ใช้ Application Group สำหรับรายการผู้ใช้
//
// ตัวกรองและเงื่อนไข
"filter": "FILTER_NAME", // ไม่บังคับ
"conditions": [ // ไม่บังคับ ดูหมายเหตุด้านล่าง
"Country", "EQ", "France",
"Language", "EQ", "en"
],
"conditions_operator": "AND" // ไม่บังคับ ตัวดำเนินการตรรกะสำหรับอาร์เรย์เงื่อนไข
// ค่าที่เป็นไปได้: AND | OR. AND เป็นค่าเริ่มต้น
}]
}
}

พารามิเตอร์เฉพาะแพลตฟอร์ม

Anchor link to

พารามิเตอร์ iOS

Anchor link to
Example
{
"request": {
"application": "12345-67891", // จำเป็น รหัสแอปพลิเคชัน Pushwoosh
"auth": "yxoPUlwqm…………pIyEX4H", // จำเป็น โทเค็นการเข้าถึง API จาก Pushwoosh Control Panel
"notifications": [{
"ios_title": { // ไม่บังคับ อ็อบเจกต์ หรือ สตริง เพิ่มชื่อเรื่องเฉพาะสำหรับ iOS สำหรับการแจ้งเตือนพุช
"en": "title"
},
"ios_subtitle": { // ไม่บังคับ อ็อบเจกต์ หรือ สตริง เพิ่มคำบรรยายเฉพาะสำหรับ iOS สำหรับการแจ้งเตือนพุช
"en": "subtitle"
},
"ios_content": { // ไม่บังคับ อ็อบเจกต์ หรือ สตริง เพิ่มเนื้อหาเฉพาะสำหรับ iOS สำหรับการแจ้งเตือนพุช
"en": "content"
},
"ios_badges": 5, // ไม่บังคับ หมายเลขป้ายแอปพลิเคชัน iOS
// ใช้ "+n" หรือ "-n" เพื่อเพิ่ม/ลดค่าป้ายทีละ n
"ios_sound": "sound file.wav", // ไม่บังคับ ชื่อไฟล์เสียงใน main bundle ของแอปพลิเคชัน
// หากปล่อยว่าง อุปกรณ์จะส่งเสียงระบบเริ่มต้น
"ios_sound_off": true, // ไม่บังคับ เปิด/ปิดเสียงที่ตั้งค่าโดยฟิลด์ "ios_sound"
"ios_ttl": 3600, // ไม่บังคับ พารามิเตอร์ Time to live - อายุขัยสูงสุดของข้อความเป็นวินาที
"ios_silent": 1, // ไม่บังคับ เปิดใช้งานการแจ้งเตือนแบบเงียบ (ไม่สนใจ "sound" และ "content")
"ios_category_id": "1", // ไม่บังคับ ID หมวดหมู่ iOS8 จาก Pushwoosh
"ios_root_params": { // ไม่บังคับ พารามิเตอร์ระดับรากไปยังพจนานุกรม aps
"aps": {
"content-available": "0", // ไม่บังคับ ตั้งค่า "1" เพื่อส่งพุชแบบเงียบ และ "0" สำหรับพุชปกติ
"mutable-content": 1 // จำเป็นสำหรับไฟล์แนบสื่อ iOS10+
},
"data": {} // ไม่บังคับ ข้อมูลที่ผู้ใช้ให้มา สูงสุด 4KB
},
"ios_attachment": "URL", // ไม่บังคับ แทรกเนื้อหาสื่อในการแจ้งเตือน
"ios_thread_id": "some thread id", // ไม่บังคับ ตัวระบุเพื่อจัดกลุ่มการแจ้งเตือนที่เกี่ยวข้อง
// ข้อความที่มี thread ID เดียวกันจะถูกจัดกลุ่ม
// บนหน้าจอล็อกและในศูนย์การแจ้งเตือน
"ios_critical": true, // ไม่บังคับ ทำเครื่องหมายการแจ้งเตือน iOS เป็นการแจ้งเตือนที่สำคัญ
// ซึ่งจะเล่นเสียงแม้ว่าอุปกรณ์จะปิดเสียงหรือ
// เปิดโหมดห้ามรบกวนอยู่
"ios_category_custom": "category", // ไม่บังคับ หมวดหมู่ APNS ที่กำหนดเอง
"ios_interruption_level": "active", // ไม่บังคับ หนึ่งใน "passive", "active", "time-sensitive",
// "critical" ระบุความสำคัญและ
// เวลาในการส่งการแจ้งเตือน อ้างอิงถึง
// คู่มือ One-time push สำหรับรายละเอียด
"apns_trim_content": 1 // ไม่บังคับ (0|1) ตัดสตริงเนื้อหาที่เกินด้วยจุดไข่ปลา
}]
}
}

พารามิเตอร์ Android

Anchor link to
Example
{
"request": {
"application": "12345-67891", // จำเป็น รหัสแอปพลิเคชัน Pushwoosh
"auth": "yxoPUlwqm…………pIyEX4H", // จำเป็น โทเค็นการเข้าถึง API จาก Pushwoosh Control Panel
"notifications": [{
"android_header": { // ไม่บังคับ ส่วนหัวการแจ้งเตือน Android
"en": "header"
},
"android_content": { // ไม่บังคับ เนื้อหาการแจ้งเตือน Android
"en": "content"
},
"android_root_params": { // ไม่บังคับ อ็อบเจกต์ key-value ที่กำหนดเอง
"key": "value", // พารามิเตอร์ระดับรากสำหรับผู้รับเพย์โหลด android
"CancelID": 12345678 // ไม่บังคับ ยกเลิกการแจ้งเตือนพุชด้วย
}, // Message ID ที่ระบุ (รับ ID จากประวัติข้อความ)
"android_sound": "soundfile", // ไม่บังคับ ไม่มีนามสกุลไฟล์ หากปล่อยว่าง
// อุปกรณ์จะส่งเสียงระบบเริ่มต้น
"android_sound_off": true, // ไม่บังคับ เปิด/ปิดเสียงที่ตั้งค่าโดยฟิลด์ "android_sound"
"android_icon": "icon.png", // ไม่บังคับ
"android_custom_icon": "URL.png", // ไม่บังคับ URL แบบเต็มไปยังไฟล์รูปภาพ
"android_banner": "URL.png", // ไม่บังคับ URL แบบเต็มไปยังไฟล์รูปภาพ
"android_badges": 5, // ไม่บังคับ หมายเลขป้ายไอคอนแอปพลิเคชัน Android
// ใช้ "+n" หรือ "-n" เพื่อเพิ่ม/ลดค่าป้ายทีละ n
"android_gcm_ttl": 3600, // ไม่บังคับ พารามิเตอร์ Time to live — อายุขัยสูงสุดของข้อความเป็นวินาที
"android_vibration": 0, // ไม่บังคับ การบังคับสั่นของ Android สำหรับพุชที่มีลำดับความสำคัญสูง
"android_led": "#rrggbb", // ไม่บังคับ สี LED แบบเลขฐานสิบหก อุปกรณ์จะพยายามประมาณค่าให้ดีที่สุด
"android_priority": -1, // ไม่บังคับ ตั้งค่าพารามิเตอร์ "importance" สำหรับอุปกรณ์ที่มี
// Android 8.0 ขึ้นไป และพารามิเตอร์ "priority"
// สำหรับอุปกรณ์ที่มี Android 7.1 และต่ำกว่า กำหนด
// ระดับการขัดจังหวะของช่องการแจ้งเตือนหรือ
// การแจ้งเตือนเฉพาะ ค่าที่ถูกต้องคือ -2, -1, 0, 1, 2
"android_delivery_priority": "normal", // ไม่บังคับ "normal" หรือ "high"
// เปิดใช้งานการส่งการแจ้งเตือนเมื่อ
// อุปกรณ์อยู่ในโหมดประหยัดพลังงาน
"android_ibc": "#RRGGBB", // ไม่บังคับ สีพื้นหลังไอคอนบน Lollipop, #RRGGBB,
// #AARRGGBB, "red", "black", "yellow", เป็นต้น
"android_silent": 1, // ไม่บังคับ 0 หรือ 1 เปิดใช้งานการแจ้งเตือนแบบเงียบ
// ไม่สนใจเสียงและเนื้อหา
"android_group_id": "123" // ไม่บังคับ ตัวระบุเพื่อจัดกลุ่มการแจ้งเตือนที่เกี่ยวข้อง ข้อความที่มี
// thread ID เดียวกันจะถูกจัดกลุ่มใน
// ศูนย์การแจ้งเตือน
}]
}
}

พารามิเตอร์ Huawei

Huawei
{
"request": {
"application": "12345-67891", // จำเป็น รหัสแอปพลิเคชัน Pushwoosh
"auth": "yxoPUlwqm…………pIyEX4H", // จำเป็น โทเค็นการเข้าถึง API จาก Pushwoosh Control Panel
"notifications": [{
"huawei_android_header": { // ไม่บังคับ อ็อบเจกต์ หรือ สตริง ชื่อเรื่องการแจ้งเตือน
"en": "header"
},
"huawei_android_content": { // ไม่บังคับ อ็อบเจกต์ หรือ สตริง เนื้อหาการแจ้งเตือน
"en": "content"
},
"huawei_android_badges": true, // ไม่บังคับ
"huawei_android_silent": 0, // ไม่บังคับ 0 หรือ 1 เปิดใช้งานการแจ้งเตือนแบบเงียบ
// ไม่สนใจเสียงและเนื้อหา
"huawei_android_icon": "URL.png", // ไม่บังคับ
"huawei_android_led": "#FF0011", // ไม่บังคับ สี LED แบบเลขฐานสิบหก อุปกรณ์จะพยายามประมาณค่าให้ดีที่สุด
"huawei_android_vibration": 1, // ไม่บังคับ การบังคับสั่นของ Huawei สำหรับพุชที่มีลำดับความสำคัญสูง
"huawei_android_sound": "sound.wav", // ไม่บังคับ หากปล่อยว่าง อุปกรณ์จะส่ง
// เสียงระบบเริ่มต้น
"huawei_android_sound_off": true, // ไม่บังคับ เปิด/ปิดเสียงที่ตั้งค่าโดย
// ฟิลด์ "huawei_android_sound"
"huawei_android_custom_icon": "URL.png", // ไม่บังคับ
"huawei_android_gcm_ttl": 2400, // ไม่บังคับ พารามิเตอร์ Time to live - อายุขัยสูงสุด
// ของข้อความเป็นวินาที
"huawei_android_banner": "URL.png", // ไม่บังคับ URL พาธเต็มไปยังไฟล์รูปภาพ
"huawei_android_root_params": { // ไม่บังคับ อ็อบเจกต์ key-value ที่กำหนดเอง
"key": "value" // พารามิเตอร์ระดับรากสำหรับผู้รับเพย์โหลด Huawei
},
"huawei_android_priority": 0, // ไม่บังคับ ค่าที่ถูกต้อง: -2, -1, 0, 1, 2
"huawei_android_ibc": "#0011AA", // ไม่บังคับ สีพื้นหลังไอคอนบน Lollipop
"huawei_android_lockscreen": 1, // ไม่บังคับ
"huawei_android_delivery_priority": "normal", // ไม่บังคับ "normal" หรือ "high" เปิดใช้งานการแจ้งเตือน
// การส่งในโหมดประหยัดพลังงาน
"huawei_android_group_id": "group_id" // ไม่บังคับ ตัวระบุเพื่อจัดกลุ่มการแจ้งเตือนที่เกี่ยวข้อง
}]
}
}

พารามิเตอร์ Safari

Anchor link to
Safari
{
"request": {
"application": "12345-67891", // จำเป็น รหัสแอปพลิเคชัน Pushwoosh
"auth": "yxoPUlwqm…………pIyEX4H", // จำเป็น โทเค็นการเข้าถึง API จาก Pushwoosh Control Panel
"notifications": [{
"safari_url_args": [ // จำเป็น แต่ค่าอาจว่างเปล่าได้
"firstArgument",
"secondArgument"
],
"safari_title": { // ไม่บังคับ อ็อบเจกต์ หรือ สตริง ชื่อเรื่องของการแจ้งเตือน
"en": "content"
},
"safari_content": { // ไม่บังคับ อ็อบเจกต์ หรือ สตริง เนื้อหาของการแจ้งเตือน
"en": "content"
},
"safari_action": "Click here", // ไม่บังคับ
"safari_ttl": 3600 // ไม่บังคับ พารามิเตอร์ Time to live — อายุขัยสูงสุด
// ของข้อความเป็นวินาที
}]
}
}

พารามิเตอร์ Chrome

Anchor link to
Chrome
{
"request": {
"application": "12345-67891", // จำเป็น รหัสแอปพลิเคชัน Pushwoosh
"auth": "yxoPUlwqm…………pIyEX4H", // จำเป็น โทเค็นการเข้าถึง API จาก Pushwoosh Control Panel
"notifications": [{
"chrome_title": { // ไม่บังคับ อ็อบเจกต์ หรือ สตริง คุณสามารถระบุส่วนหัว
"en": "title" // ของข้อความในพารามิเตอร์นี้
},
"chrome_content": { // ไม่บังคับ อ็อบเจกต์ หรือ สตริง คุณสามารถระบุเนื้อหา
"en": "content" // ของข้อความในพารามิเตอร์นี้
},
"chrome_icon": "URL.png", // ไม่บังคับ URL แบบเต็มไปยังไอคอนหรือพาธไฟล์ทรัพยากรส่วนขยาย
"chrome_gcm_ttl": 3600, // ไม่บังคับ พารามิเตอร์ Time to live – อายุขัยสูงสุดของข้อความเป็นวินาที
"chrome_duration": 20, // ไม่บังคับ สูงสุด 50 วินาที เปลี่ยนเวลาแสดงผลพุชของ Chrome
// ตั้งค่าเป็น 0 เพื่อแสดงพุชจนกว่าผู้ใช้จะโต้ตอบกับมัน
"chrome_image": "image_URL", // ไม่บังคับ URL ไปยังรูปภาพขนาดใหญ่
"chrome_root_params": { // ไม่บังคับ ตั้งค่าพารามิเตอร์เฉพาะสำหรับข้อความที่ส่งไปยัง Chrome
"key": "value"
},
"chrome_button_text1": "text1", // ไม่บังคับ
"chrome_button_url1": "button1_URL", // ไม่บังคับ จะถูกละเว้นหากไม่ได้ตั้งค่า chrome_button_text1
"chrome_button_text2": "text2", // ไม่บังคับ
"chrome_button_url2": "button2_url" // ไม่บังคับ จะถูกละเว้นหากไม่ได้ตั้งค่า chrome_button_text2
}]
}
}

พารามิเตอร์ Firefox

Anchor link to
Firefox
{
"request": {
"application": "12345-67891", // จำเป็น รหัสแอปพลิเคชัน Pushwoosh
"auth": "yxoPUlwqm…………pIyEX4H", // จำเป็น โทเค็นการเข้าถึง API จาก Pushwoosh Control Panel
"notifications": [{
"firefox_title": { // ไม่บังคับ อ็อบเจกต์ หรือ สตริง คุณสามารถระบุส่วนหัวของข้อความที่นี่
"en": "title"
},
"firefox_content": { // ไม่บังคับ อ็อบเจกต์ หรือ สตริง คุณสามารถระบุเนื้อหาของข้อความที่นี่
"en": "content"
},
"firefox_icon": "URL.png", // ไม่บังคับ URL พาธเต็มไปยังไอคอนหรือพาธไปยัง
// ไฟล์ในทรัพยากรส่วนขยาย
"firefox_root_params": { // ไม่บังคับ ตั้งค่าพารามิเตอร์เฉพาะสำหรับข้อความที่ส่งไปยัง Firefox
"key": "value"
}
}]
}
}

พารามิเตอร์ Amazon

Anchor link to
Amazon
{
"request": {
"application": "12345-67891", // จำเป็น รหัสแอปพลิเคชัน Pushwoosh
"auth": "yxoPUlwqm…………pIyEX4H", // จำเป็น โทเค็นการเข้าถึง API จาก Pushwoosh Control Panel
"notifications": [{
"adm_header": { // ไม่บังคับ อ็อบเจกต์ หรือ สตริง คุณสามารถระบุส่วนหัวของข้อความที่นี่
"en": "header"
},
"adm_content": { // ไม่บังคับ อ็อบเจกต์ หรือ สตริง คุณสามารถระบุเนื้อหาของข้อความที่นี่
"en": "content"
},
"adm_root_params": { // ไม่บังคับ อ็อบเจกต์ key-value ที่กำหนดเอง
"key": "value"
},
"adm_sound": "push.mp3", // ไม่บังคับ
"adm_sound_off": true, // ไม่บังคับ เปิด/ปิดเสียงที่ตั้งค่าโดยฟิลด์ "adm_sound"
"adm_icon": "icon.png", // ไม่บังคับ URL แบบเต็มไปยังไอคอน
"adm_custom_icon": "URL.png", // ไม่บังคับ
"adm_banner": "URL.png", // ไม่บังคับ
"adm_ttl": 3600, // ไม่บังคับ พารามิเตอร์ Time to live — อายุขัยสูงสุดของข้อความ
// เป็นวินาที
"adm_priority": -1 // ไม่บังคับ ลำดับความสำคัญของพุชในลิ้นชักพุชของ Amazon
// ค่าที่ถูกต้องคือ -2, -1, 0, 1 และ 2
}]
}
}

พารามิเตอร์ Mac OS X

Anchor link to
Mac OS X
{
"request": {
"application": "12345-67891", // จำเป็น รหัสแอปพลิเคชัน Pushwoosh
"auth": "yxoPUlwqm…………pIyEX4H", // จำเป็น โทเค็นการเข้าถึง API จาก Pushwoosh Control Panel
"notifications": [{
"mac_title": { // ไม่บังคับ อ็อบเจกต์ หรือ สตริง เพิ่มชื่อเรื่องสำหรับการแจ้งเตือนพุช
"en": "title"
},
"mac_subtitle": { // ไม่บังคับ เพิ่มคำบรรยายสำหรับการแจ้งเตือนพุช
"en": "subtitle"
},
"mac_content": { // ไม่บังคับ เพิ่มเนื้อหาสำหรับการแจ้งเตือนพุช
"en": "content"
},
"mac_badges": 3, // ไม่บังคับ
"mac_sound": "sound.caf", // ไม่บังคับ
"mac_sound_off": true, // ไม่บังคับ เปิด/ปิดเสียงที่ตั้งค่าโดยฟิลด์ "mac_sound"
"mac_root_params": { // ไม่บังคับ
"content-available": 1
},
"mac_ttl": 3600 // ไม่บังคับ พารามิเตอร์ Time to live — อายุขัยสูงสุดของข้อความเป็นวินาที
}]
}
}

พารามิเตอร์ Windows

Anchor link to
Windows
{
"request": {
"application": "12345-67891", // จำเป็น รหัสแอปพลิเคชัน Pushwoosh
"auth": "yxoPUlwqm…………pIyEX4H", // จำเป็น โทเค็นการเข้าถึง API จาก Pushwoosh Control Panel
"notifications": [{
"wns_content": { // จำเป็น เนื้อหา (XML หรือ raw) ของการแจ้งเตือนที่เข้ารหัสใน MIME's base64
// ในรูปแบบของอ็อบเจกต์ หรือ สตริง
"en": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48YmFkZ2UgdmFsdWU9ImF2YWlsYWJsZSIvPg==",
"de": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48YmFkZ2UgdmFsdWU9Im5ld01lc3NhZ2UiLz4="
},
"wns_type": "Badge", // ไม่บังคับ 'Tile' | 'Toast' | 'Badge' | 'Raw'
"wns_tag": "myTag", // ไม่บังคับ ใช้ในนโยบายการแทนที่ Tile
// สตริงตัวอักษรและตัวเลขไม่เกิน 16 ตัวอักษร
"wns_cache": 1, // ไม่บังคับ (1|0) แปลเป็นค่า X-WNS-Cache-Policy
"wns_ttl": 600 // ไม่บังคับ เวลาหมดอายุสำหรับการแจ้งเตือนเป็นวินาที
}]
}
}

การตอบกลับ:

รหัสสถานะ HTTPstatus_codeคำอธิบาย
200200สร้างข้อความสำเร็จ
200210ข้อผิดพลาดของอาร์กิวเมนต์ ดูข้อมูลเพิ่มเติมใน status_message
400N/Aสตริงคำขอมีรูปแบบไม่ถูกต้อง
500500ข้อผิดพลาดภายใน

การติดตามข้อความ API

Anchor link to

เพื่อวัตถุประสงค์ในการทำโหลดบาลานซ์ เราจะไม่จัดเก็บข้อความที่ส่งผ่าน API ด้วยพารามิเตอร์ “devices” ที่มีอุปกรณ์น้อยกว่า 10 เครื่องในอาร์เรย์ ด้วยเหตุนี้ ข้อความดังกล่าวจะไม่แสดงในประวัติข้อความของคุณ

หากต้องการดูรายงานพุชในช่วงทดสอบ ให้ใช้ การติดตามข้อความ API การเปิดตัวเลือกนี้ ON จะทำให้คุณสามารถ ลบล้างขีดจำกัดนี้เป็นเวลา 1 ชั่วโมง และบันทึกพุชดังกล่าวในประวัติข้อความ การติดตามข้อความ API จะปิดโดยอัตโนมัติหลังจากผ่านไป 1 ชั่วโมง

การติดตามข้อความ API สามารถเปิดใช้งานได้ที่หน้า ประวัติข้อความ โดยคลิก Start API messaging tracing ที่มุมขวาบน

เงื่อนไขแท็ก

Anchor link to

แต่ละเงื่อนไขแท็กคืออาร์เรย์เช่น [tagName, operator, operand] โดยที่

  • tagName: ชื่อของแท็ก
  • operator: “EQ” | “IN” | “NOTEQ” | “NOTIN” | “LTE” | “GTE” | “BETWEEN” | “NOTSET” | “ANY”
  • operand: string | integer | array | date

คำอธิบายโอเปอเรเตอร์

Anchor link to
  • EQ: ค่าแท็กเท่ากับโอเปอแรนด์
  • IN: ค่าแท็กตัดกับโอเปอแรนด์ (โอเปอแรนด์ต้องเป็นอาร์เรย์เสมอ)
  • NOTEQ: ค่าแท็กไม่เท่ากับโอเปอแรนด์
  • NOTIN: ค่าแท็กไม่ตัดกับโอเปอแรนด์ (โอเปอแรนด์ต้องเป็นอาร์เรย์เสมอ)
  • GTE: ค่าแท็กมากกว่าหรือเท่ากับโอเปอแรนด์
  • LTE: ค่าแท็กน้อยกว่าหรือเท่ากับโอเปอแรนด์
  • BETWEEN: ค่าแท็กมากกว่าหรือเท่ากับค่าต่ำสุดของโอเปอแรนด์ แต่น้อยกว่าหรือเท่ากับค่าสูงสุดของโอเปอแรนด์ (โอเปอแรนด์ต้องเป็นอาร์เรย์เสมอ)
  • NOTSET: ไม่ได้ตั้งค่าแท็ก ไม่พิจารณาโอเปอแรนด์
  • ANY: แท็กมีค่าใดๆ ไม่พิจารณาโอเปอแรนด์

แท็กสตริง

Anchor link to

โอเปอเรเตอร์ที่ใช้ได้: EQ, IN, NOTEQ, NOTIN, NOTSET, ANY
โอเปอแรนด์ที่ใช้ได้:

  • EQ, NOTEQ: โอเปอแรนด์ต้องเป็นสตริง
  • IN, NOTIN: โอเปอแรนด์ต้องเป็นอาร์เรย์ของสตริง เช่น ["value 1", "value 2", "value N"]
  • NOTSET: ไม่ได้ตั้งค่าแท็ก ไม่พิจารณาโอเปอแรนด์
  • ANY: แท็กมีค่าใดๆ ไม่พิจารณาโอเปอแรนด์

แท็กจำนวนเต็ม

Anchor link to

โอเปอเรเตอร์ที่ใช้ได้: EQ, IN, NOTEQ, NOTIN, BETWEEN, GTE, LTE, NOTSET, ANY
โอเปอแรนด์ที่ใช้ได้:

  • EQ, NOTEQ, GTE, LTE: โอเปอแรนด์ต้องเป็นจำนวนเต็ม
  • IN, NOTIN: โอเปอแรนด์ต้องเป็นอาร์เรย์ของจำนวนเต็ม เช่น [value 1, value 2, value N]
  • BETWEEN: โอเปอแรนด์ต้องเป็นอาร์เรย์ของจำนวนเต็ม เช่น [min_value, max_value]
  • NOTSET: ไม่ได้ตั้งค่าแท็ก ไม่พิจารณาโอเปอแรนด์
  • ANY: แท็กมีค่าใดๆ ไม่พิจารณาโอเปอแรนด์

แท็กวันที่

Anchor link to

โอเปอเรเตอร์ที่ใช้ได้: EQ, IN, NOTEQ, NOTIN, BETWEEN, GTE, LTE, NOTSET, ANY
โอเปอแรนด์ที่ใช้ได้:

  • "YYYY-MM-DD 00:00" (สตริง)
  • unix timestamp 1234567890 (จำนวนเต็ม)
  • "N days ago" (สตริง) สำหรับโอเปอเรเตอร์ EQ, BETWEEN, GTE, LTE

แท็กบูลีน

Anchor link to

โอเปอเรเตอร์ที่ใช้ได้: EQ, NOTSET, ANY
โอเปอแรนด์ที่ใช้ได้: 0, 1, true, false

แท็กรายการ

Anchor link to

โอเปอเรเตอร์ที่ใช้ได้: IN, NOTIN, NOTSET, ANY
โอเปอแรนด์ที่ใช้ได้: โอเปอแรนด์ต้องเป็นอาร์เรย์ของสตริง เช่น ["value 1", "value 2", "value N"]

ตัวอย่างโค้ด /createMessage

Anchor link to

ตัวอย่างคำขอ /createMessage:

#!/bin/bash
#การใช้งาน
if [ ! -n "$1" ] || [ ! -n "$2" ]
then
echo "`basename $0` usage: api_token appid message";
exit 1;
fi;
MESSAGE="$3";
if [ -z "$3" ]
then
MESSAGE='One push to rule them all!'
fi;
echo -e "Response:"
curl --data-binary "
{\"request\":
{\"application\":\"$2\",
\"auth\":\"$1\",
\"notifications\":
[{
\"send_date\": \"now\",
\"content\": \"$MESSAGE\"
}]
}
}" \
-H "Content-type: application/json" \
"https://api.pushwoosh.com/json/1.3/createMessage"
echo "";
exit 0;

deleteMessage

Anchor link to

POST https://api.pushwoosh.com/json/1.3/deleteMessage

ลบข้อความที่ตั้งเวลาไว้

เนื้อหาของคำขอ

Anchor link to
ชื่อประเภทคำอธิบาย
auth*stringโทเค็นการเข้าถึง API จาก Pushwoosh Control Panel
message*stringรหัสข้อความที่ได้รับจากคำขอ /createMessage
{
"status_code": 200,
"status_message": "OK"
}
Example
{
"request":{
"auth": "yxoPUlwqm…………pIyEX4H", // จำเป็น โทเค็นการเข้าถึง API จาก Pushwoosh Control Panel
"message": "xxxx-xxxxxxx-xxxxxx" // จำเป็น รหัสข้อความที่ได้รับจาก /createMessage
}
}

รหัสสถานะ:

รหัสสถานะ HTTPstatus_codeคำอธิบาย
200200ลบข้อความสำเร็จ
200210ข้อผิดพลาดของอาร์กิวเมนต์ ดู status_message สำหรับข้อมูลเพิ่มเติม
400N/Aสตริงคำขอมีรูปแบบไม่ถูกต้อง
500500ข้อผิดพลาดภายใน
<?php
// see https://gomoob.github.io/php-pushwoosh/delete-message.html
use Gomoob\Pushwoosh\Model\Request\DeleteMessageRequest;
// creates request instance
$request = DeleteMessageRequest::create()->setMessage('MESSAGE_CODE');
// call '/deleteMessage' Web Service
$response = $pushwoosh->deleteMessage($request);
if($response->isOk()) {
print 'Great, my message has been deleted !';
} else {
print 'Oups, the deletion failed :-(';
print 'Status code : ' . $response->getStatusCode();
print 'Status message : ' . $response->getStatusMessage();
}

getMessageDetails

Anchor link to

POST https://api.pushwoosh.com/json/1.3/getMessageDetails

ดึงรายละเอียดของข้อความ

เนื้อหาของคำขอ

Anchor link to
ชื่อประเภทคำอธิบาย
auth*stringโทเค็นการเข้าถึง API จาก Pushwoosh Control Panel
message*stringรหัสข้อความหรือ ID ข้อความ
{
"status_code": 200,
"status_message": "OK",
"response": {
"message": {
"id": 2068991743,
"created": "2016-09-14 17:19:42",
"send_date": "2016-09-14 17:19:41",
"status": "done",
"content": {
"en": "Hello {Name|CapitalizeFirst|friend}! 🚀"
},
"platforms": "[1]",
"ignore_user_timezone": "1",
"code": "XXXX-92B4C3C5-A7F5EF70",
"data": {
"key": "value"
}
}
}
}
Example
{
"request":{
"auth": "yxoPUlwqm…………pIyEX4H", // จำเป็น โทเค็นการเข้าถึง API จาก Pushwoosh Control Panel
"message": "xxxx-xxxxxxx-xxxxxx" // จำเป็น รหัสข้อความหรือ ID ข้อความ
}
}

createTargetedMessage

Anchor link to

POST https://api.pushwoosh.com/json/1.3/createTargetedMessage

สร้างการแจ้งเตือนพุชแบบกำหนดเป้าหมายใหม่

เนื้อหาของคำขอ

Anchor link to
ชื่อประเภทคำอธิบาย
auth*stringโทเค็นการเข้าถึง API จาก Pushwoosh Control Panel
devices_filter*stringดูหมายเหตุด้านล่าง
send_date*stringYYYY-MM-DD HH:mm หรือ ‘now’
ignore_user_timezonebooleanหากละเว้น จะใช้ UTC-0 เป็นค่าเริ่มต้นสำหรับ “send_date”
timezonestringหากละเว้น จะใช้ UTC-0 เป็นค่าเริ่มต้นสำหรับ “send_date”
campaignstringรหัสของแคมเปญที่คุณต้องการกำหนดข้อความพุชนี้ไป
content*stringเนื้อหาการแจ้งเตือน ดูรายละเอียดในตัวอย่างคำขอ
transactionIdstringตัวระบุข้อความที่ไม่ซ้ำกันเพื่อป้องกันการซ้ำซ้อนของข้อความในกรณีที่มีปัญหาเครือข่าย จัดเก็บไว้ที่ฝั่ง Pushwoosh เป็นเวลา 5 นาที
linkstringลิงก์ที่จะเปิดเมื่อผู้ใช้เปิดข้อความพุช
minimize_linkinteger0 - ไม่ย่อ, 2 - bit.ly ค่าเริ่มต้น = 2
dataobjectสตริง JSON หรืออ็อบเจกต์ JSON จะถูกส่งผ่านเป็นพารามิเตอร์ “u” ในเพย์โหลด (แปลงเป็นสตริง JSON)
presetstringรหัส Preset
send_rateintegerการควบคุมปริมาณ ค่าที่ถูกต้องคือตั้งแต่ 100 ถึง 1000 พุชต่อวินาที
inbox_datestringระบุเวลาที่จะลบข้อความออกจากกล่องข้อความ
inbox_imagestringURL ของรูปภาพที่จะแสดงใกล้กับข้อความในกล่องข้อความ
{
"status_code": 200,
"status_message": "OK",
"response": {
"messageCode": "97B0-C7473871-2FBDFDC6"
}
}

ตัวอย่างการตอบกลับเพิ่มเติม:

{
"status_code": 210,
"status_message": "Errors occurred while compiling filter",
"response": {
"errors": [{
"message": "Invalid tag set specification. \")\" expected.",
"type": "syntax"
}]
}
}
Example
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // จำเป็น โทเค็นการเข้าถึง API จาก Pushwoosh Control Panel
"devices_filter": "A(\"XXXXX-XXXXX\") * T(\"City\", EQ, \"Name\")", // จำเป็น ไวยากรณ์อธิบายไว้ด้านล่าง
"send_date": "now", // ไม่บังคับ YYYY-MM-DD HH:mm หรือ 'now'
"ignore_user_timezone": true, // ไม่บังคับ
"timezone": "America/New_York", // ไม่บังคับ หากละเว้น จะใช้ UTC-0 เป็นค่าเริ่มต้นสำหรับ "send_date"
// ข้อมูลเพิ่มเติม https://php.net/manual/timezones.php
"campaign": "CAMPAIGN_CODE", // ไม่บังคับ รหัสแคมเปญที่คุณต้องการกำหนดข้อความพุชนี้ไป
"content": { // ไม่บังคับ อ็อบเจกต์ หรือ สตริง ใช้ "wns_content" แทนสำหรับ Windows
"en": "English",
"de": "Deutsch"
},
"transactionId": "unique UUID", // ไม่บังคับ ตัวระบุข้อความที่ไม่ซ้ำกันเพื่อป้องกันการซ้ำซ้อนของข้อความ
// ในกรณีที่มีปัญหาเครือข่าย จัดเก็บไว้ที่ฝั่ง
// Pushwoosh เป็นเวลา 5 นาที
"rich_media": "XXXXX-XXXXX", // ไม่บังคับ คัดลอกรหัส Rich Media จากแถบ URL ของ
// หน้าแก้ไข Rich Media ใน Pushwoosh Control Panel
"link": "https://google.com", // ไม่บังคับ สำหรับ deeplinks ให้เพิ่ม "minimize_link": 0
"minimize_link": 0, // ไม่บังคับ 0 — ไม่ย่อ, 2 — bitly ค่าเริ่มต้น = 2
// ตัวย่อ URL ของ Google ถูกปิดใช้งานตั้งแต่วันที่ 30 มีนาคม 2019
// โปรดทราบว่าตัวย่อลิงก์มีข้อจำกัด
// เกี่ยวกับจำนวนการเรียก
"data": { // ไม่บังคับ สตริง JSON หรืออ็อบเจกต์ JSON
"key": "value" // จะถูกส่งผ่านเป็นพารามิเตอร์ "u" ในเพย์โหลด
}, // (แปลงเป็นสตริง JSON)
"preset": "XXXXX-XXXXX", // ไม่บังคับ รหัส Push Preset จาก Control Panel ของคุณ
"send_rate": 100, // ไม่บังคับ การควบคุมปริมาณ ค่าที่ถูกต้องคือตั้งแต่ 100 ถึง 1000 pushes/second
"dynamic_content_placeholders": { // ไม่บังคับ ตัวยึดตำแหน่งสำหรับเนื้อหาไดนามิกแทนแท็กของอุปกรณ์
"firstname": "John",
"lastname": "Doe"
},
// หากต้องการบันทึกข้อความไปยังกล่องข้อความผ่าน API ให้ใช้ "inbox_date" หรือ "inbox_image"
// ข้อความจะถูกบันทึกเมื่อมีการใช้พารามิเตอร์เหล่านี้อย่างน้อยหนึ่งตัว
"inbox_image": "Inbox image URL", // ไม่บังคับ รูปภาพที่จะแสดงใกล้กับข้อความ
"inbox_date": "2017-02-02" // ไม่บังคับ ระบุเวลาที่จะลบข้อความออกจากกล่องข้อความ
// ข้อความจะถูกลบออกจากกล่องข้อความเวลา 00:00:01 UTC ของ
// วันที่ระบุ ดังนั้นวันก่อนหน้าคือวันสุดท้าย
// ที่ผู้ใช้สามารถเห็นข้อความในกล่องข้อความของพวกเขา
// หากไม่ได้ระบุ วันที่ลบเริ่มต้นคือวันถัดไป
// หลังจากวันที่ส่ง
}
}

พื้นฐานง่ายมาก – ตัวกรองทั้งหมดจะดำเนินการบน เซต ของเอนทิตี

เซตถูกกำหนดเป็น:

1. อุปกรณ์ที่สมัครสมาชิกแอปพลิเคชันเฉพาะ (A);
2. อุปกรณ์ที่ตรงกับค่าแท็กที่ระบุ (T) หรือค่าแท็กเฉพาะแอป (AT);\

ไวยากรณ์

Anchor link to

ลองดูตัวอย่างบางส่วนตามรายการด้านบน

การกำหนดเป้าหมายผู้สมัครสมาชิกแอป

Anchor link to

ตัวกรอง “A” กำหนดเซตของอุปกรณ์ที่สมัครสมาชิกแอปพลิเคชันเฉพาะ:

A("XXXXX-XXXXX", ["iOS", "Android", "OsX", "Windows", "Amazon", "Safari", "Chrome", "Firefox"])

โดยที่

  • “XXXXX-XXXXX” – รหัสแอปพลิเคชัน Pushwoosh
  • [“iOS”, “Android”, …] – อาร์เรย์ของแพลตฟอร์มเป้าหมาย หากละไว้ ข้อความจะถูกส่งไปยังทุกแพลตฟอร์มที่พร้อมใช้งานสำหรับแอปนี้

การกรองตามค่าแท็ก

Anchor link to

ตัวกรอง “T” กำหนดเซตของอุปกรณ์ที่มีค่าแท็กที่ระบุไว้

T(\"Age\", IN, [17,20])

กำหนดเซตของอุปกรณ์ที่มีแท็ก “age” ตั้งค่าเป็นหนึ่งในค่า: 17, 18, 19, 20

ประเภทแท็กและโอเปอเรเตอร์

Anchor link to

สิ่งสำคัญที่ต้องเข้าใจคือแท็กถูกแชร์ระหว่างแอป และเป็นเครื่องมือที่ทรงพลังมากสำหรับการแบ่งกลุ่มและกรองผู้ใช้เป้าหมายของคุณโดยไม่ต้องผูกติดกับแอปใดแอปหนึ่ง

แท็กอาจเป็นหนึ่งในสามประเภทที่แตกต่างกัน: สตริง, จำนวนเต็ม, รายการ ประเภทของแท็กจะกำหนดว่าคุณสามารถใช้โอเปอเรเตอร์ใดสำหรับแท็กนั้นๆ

แท็กสตริง

Anchor link to

โอเปอเรเตอร์ที่ใช้ได้:

  • EQ – กำหนดเป้าหมายอุปกรณ์ที่มีค่าแท็กที่ระบุ
  • IN – กำหนดเป้าหมายอุปกรณ์ที่มีค่าแท็กใดๆ ที่ระบุ
  • NOTIN – กำหนดเป้าหมายอุปกรณ์ที่ไม่มีค่าแท็กที่ระบุ
  • NOTEQ – กำหนดเป้าหมายอุปกรณ์ที่มีค่าแท็กไม่เท่ากับค่าที่ระบุ
  • NOTSET – กำหนดเป้าหมายอุปกรณ์ที่ไม่มีค่าสำหรับแท็กที่ระบุ
  • ANY – กำหนดเป้าหมายอุปกรณ์ที่มีค่าใดๆ ที่ตั้งไว้สำหรับแท็กที่ระบุ

ตัวอย่าง:

T (\"Age\", EQ, 30) – กรองผู้ใช้ที่มีอายุ 30 ปี

T (\"favorite_color\", IN, [\"red\",\"green\",\"blue\"]) – กรองผู้ใช้ที่เลือกสีแดง เขียว หรือน้ำเงินเป็นสีโปรด

T (\"Name", NOTSET, \"\") – กำหนดเป้าหมายอุปกรณ์ที่ไม่มีค่าสำหรับแท็ก Name

คุณสามารถใช้ค่าตัวเลขกับแท็กสตริงได้ แต่ค่าดังกล่าวจะถูกแปลงเป็นสตริง

แท็กจำนวนเต็ม

Anchor link to

โอเปอเรเตอร์ที่ใช้ได้:

  • GTE – มากกว่าหรือเท่ากับค่าที่ระบุ
  • LTE– น้อยกว่าหรือเท่ากับค่าที่ระบุ
  • EQ – เท่ากับค่าที่ระบุ
  • BETWEEN – ระหว่างค่าต่ำสุดและสูงสุดที่ระบุ
  • IN – ค่าใดๆ ที่ระบุ
  • NOTIN – ไม่มีค่าที่ระบุที่กำหนดให้กับอุปกรณ์
  • NOTEQ – อุปกรณ์ที่มีค่าแท็กไม่เท่ากับค่าที่ระบุ
  • NOTSET – อุปกรณ์ที่ไม่มีค่าสำหรับแท็กที่ระบุ
  • ANY – อุปกรณ์ที่มีค่าใดๆ ที่ตั้งไว้สำหรับแท็กที่ระบุ

ตัวอย่าง:

T (\"Level\", EQ, 14) – กรองผู้ใช้ที่อยู่ในระดับ 14 เท่านั้น

T (\"Level\", BETWEEN, [1,5) – กรองผู้ใช้ที่อยู่ในระดับ 1, 2, 3, 4 และ 5

T (\"Level", GTE, 29) – กำหนดเป้าหมายผู้ใช้ที่ถึงระดับอย่างน้อย 29

แท็กรายการ

Anchor link to

โอเปอเรเตอร์ที่ใช้ได้:

  • IN – อุปกรณ์ที่มีค่าแท็กใดๆ ที่ระบุ

ตัวอย่าง: T("Category", IN, ["breaking_news","business","politics"])

แท็กวันที่

Anchor link to

โอเปอเรเตอร์ที่ใช้ได้:

  • GTE – มากกว่าหรือเท่ากับค่าที่ระบุ
  • LTE– น้อยกว่าหรือเท่ากับค่าที่ระบุ
  • EQ – เท่ากับค่าที่ระบุ
  • BETWEEN – ระหว่างค่าต่ำสุดและสูงสุดที่ระบุ
  • NOTEQ – อุปกรณ์ที่มีค่าแท็กไม่เท่ากับค่าที่ระบุ
  • NOTSET – อุปกรณ์ที่ไม่มีค่าสำหรับแท็กที่ระบุ
  • ANY – อุปกรณ์ที่มีค่าใดๆ ที่ตั้งไว้สำหรับแท็กที่ระบุ

ตัวอย่าง:

AT("7777D-322A7","Last Application Open", BETWEEN, ["2022-02-28", "2022-03-02"])

AT("7777D-322A7","Last Application Open", GTE, "90 days ago")

การดำเนินการ

Anchor link to
  • “+” – รวมสองเซต (เท่ากับ OR)
  • “*” – ตัดกันสองเซต (เท่ากับ AND)
  • “\” – ลบเซตหนึ่งออกจากอีกเซตหนึ่ง (เท่ากับ NOT)

การดำเนินการทั้งหมดเป็นแบบเชื่อมโยงจากซ้ายไปขวา “+” และ “*” มีลำดับความสำคัญเท่ากัน “\” มีลำดับความสำคัญสูงกว่า คุณสามารถใช้วงเล็บเพื่อกำหนดลำดับความสำคัญของการคำนวณได้

โปรดทราบว่าการดำเนินการ “\” ไม่ใช่การสลับที่ A("12345-12345") \ A("67890-67890") ไม่เหมือนกับ A("67890-67890") \ A("12345-12345")

getPushHistory

Anchor link to

POST https://api.pushwoosh.com/json/1.3/getPushHistory

รับประวัติข้อความพร้อมรายละเอียดพุช

เนื้อหาของคำขอ

Anchor link to
ชื่อประเภทคำอธิบาย
auth*stringโทเค็นการเข้าถึง API จาก Pushwoosh Control Panel
limitMessagesintegerจำกัดจำนวนข้อความในการตอบกลับ ค่าที่เป็นไปได้ตั้งแต่ 10 ถึง 1000
sourcestringแหล่งที่มาของประวัติพุช สามารถเป็น null หรือ: “CP”, “API”, “GeoZone”, “RSS”, “AutoPush”, “A/B Test”
searchBystringค่าที่เป็นไปได้ในการค้นหา สามารถเป็น null หรือ: “notificationID”, “notificationCode”, “applicationCode”, “campaignCode”
valuestringค่าค้นหาที่ตั้งค่าตามฟิลด์ “searchBy”
lastNotificationIDstringใช้สำหรับการแบ่งหน้า Last messageId จากการเรียก /getPushHistory ครั้งก่อน ดูรายละเอียดด้านล่าง
{
"status_code": 200,
"status_message": "OK",
"response": {
"rows": [{
"id": 10191611434,
"code": "8071-07AD1171-77238AD1",
"createDate": "2020-09-14 12:26:21",
"sendDate": "2020-09-14 12:26:21",
"content": {
"en": "Hello!"
},
"url": null,
"ios_title": null,
"ios_subtitle": null,
"ios_root_params": null,
"android_header": null,
"android_root_params": null,
"conditions": null,
"conditions_operator": "AND",
"filter_code": "E3A64-A5F3C",
"filter_conditions": "#In-app Purchase(≠0)",
"filter_name": "Purchased something",
"geozone": null,
"campaignId": "",
"campaignName": "",
"subscription_segments": null,
"open": {
"C90C0-0E786": {
"IOS": 0
}
},
"sent": {
"C90C0-0E786": {
"IOS": 1
}
},
"ctr": {
"C90C0-0E786": 0
}
}, {
"id": 10191609202,
"code": "41CA-83F8E0D7-7A63822B",
"createDate": "2020-09-14 12:25:55",
"sendDate": "2020-09-14 12:25:55",
"content": {
"en": "Hi!"
},
"url": null,
"ios_title": null,
"ios_subtitle": null,
"ios_root_params": null,
"android_header": null,
"android_root_params": null,
"conditions": null,
"conditions_operator": "AND",
"filter_code": null,
"filter_conditions": null,
"filter_name": null,
"geozone": null,
"campaignId": "",
"campaignName": "",
"subscription_segments": {
"2D732-BB981": "News"
},
"open": {
"C90C0-0E786": {
"CHROME": 0,
"IOS": 0
}
},
"sent": {
"C90C0-0E786": {
"CHROME": 1,
"IOS": 2
}
},
"ctr": {
"C90C0-0E786": 0
}
}]
}
}
Example
{
"request":{
"auth": "yxoPUlwqm…………pIyEX4H", // จำเป็น โทเค็นการเข้าถึง API จาก Pushwoosh Control Panel
"source": null, // ไม่บังคับ ค่าที่เป็นไปได้คือ null, "CP", "API", "GeoZone",
// "RSS", "AutoPush", "A/B Test"
"searchBy": "applicationCode", // ไม่บังคับ ค่าที่เป็นไปได้คือ "", "notificationID",
// "notificationCode", "applicationCode", "campaignCode"
"value": "C8717-703F2", // ไม่บังคับ ค่าค้นหาที่ตั้งค่าตามฟิลด์ "searchBy"
"lastNotificationID": 0, // ไม่บังคับ ใช้สำหรับการแบ่งหน้า Last messageId จาก
// การเรียก /getPushHistory ครั้งก่อน ดูรายละเอียดด้านล่าง
"limitMessages": 1000 // ไม่บังคับ ค่าที่เป็นไปได้ตั้งแต่ 10 ถึง 1000
}
}

เมธอดนี้จะส่งคืนข้อความ 1000 ข้อความจากบัญชีที่จัดเรียงตาม Id ข้อความ หากต้องการรับหน้าถัดไป ให้ระบุ Id ข้อความล่าสุดของการตอบกลับก่อนหน้าในพารามิเตอร์ lastNotificationId

ประเภทข้อมูลการตอบกลับ

Anchor link to
id -- int | 0
code -- string
createDate -- string (date: %Y-%m-%d %H:%M:%S)
sendDate -- string (date: %Y-%m-%d %H:%M:%S)
content -- array ( dict {lang: value} | list [])
title -- array ( dict {lang: value} | list [])
subtitle -- array ( dict {lang: value} | list [])
url -- string
ios_title -- string | array ( dict {lang: value} ) | null
ios_subtitle -- string | array ( dict {lang: value} ) | null
ios_root_params -- dict (JSON) | null
android_header -- string | array ( dict {lang: value} ) | null
android_root_params -- dict (JSON) | null
conditions -- list (JSON) | null
conditions_operator -- string | null
filter_code -- string | null
filter_name -- string | null
filter_conditions -- string | null
geozone -- string | null
campaignId -- string | ""
campaignName -- string | ""
subscription_segments (obsolete) -- list (JSON) | null
data -- dict (JSON) | null
open -- dict [dict [string: int]] | "" Example: 'open': {'AAAAA-BBBBB': {'IOS': 1, 'ANDROID': 1}}
sent -- dict [dict [string: int]] | "" Example: 'sent': {'AAAAA-BBBBB': {'IOS': 10, 'ANDROID': 10}}
ctr -- dict [string: int] | "" Example: {'AAAAA-BBBBB': 1}
errors -- dict [string: int] | "" Example: {'ANDROID': 1, 'IOS': 1}

cancelMessage

Anchor link to

POST https://api.pushwoosh.com/json/1.3/cancelMessage

ลบข้อความที่ตั้งเวลาไว้

เนื้อหาของคำขอ

Anchor link to
ชื่อประเภทคำอธิบาย
auth*stringโทเค็นการเข้าถึง API จาก Pushwoosh Control Panel
message*stringรหัสข้อความที่ได้รับในการตอบกลับของ /createMessage
{
"status_code":200,
"status_message":"OK"
}
Example
{
"request":{
"auth": "yxoPUlwqm…………pIyEX4H", // จำเป็น โทเค็นการเข้าถึง API จาก Pushwoosh Control Panel
"message": "xxxx-xxxxxxx-xxxxxx" // จำเป็น รหัสข้อความที่ได้รับในการตอบกลับของ /createMessage
}
}

รหัสสถานะ:

รหัสสถานะ HTTPstatus_codeคำอธิบาย
200200ยกเลิกข้อความสำเร็จ
200210ข้อผิดพลาดของอาร์กิวเมนต์ ดู status_message สำหรับข้อมูลเพิ่มเติม
400N/Aสตริงคำขอมีรูปแบบไม่ถูกต้อง
500500ข้อผิดพลาดภายใน