API การแบ่งกลุ่ม (ตัวกรอง)
createFilter
Anchor link toPOST
https://api.pushwoosh.com/json/1.3/createFilter
สร้างตัวกรองใหม่
เนื้อหาของคำขอ (Request Body)
ชื่อ | จำเป็น | ประเภท | คำอธิบาย |
---|---|---|---|
auth* | ใช่ | string | โทเค็นการเข้าถึง API จากแผงควบคุม Pushwoosh |
name* | ใช่ | string | ชื่อตัวกรอง |
filter_expression* | ใช่ | string | นิพจน์ที่สร้างขึ้นตามกฎของ Segmentation language |
application | ไม่ | string | รหัสแอปพลิเคชัน Pushwoosh พารามิเตอร์นี้ใช้ได้เฉพาะกับการตั้งค่าความเร็วสูง (High-Speed Setup) เท่านั้น มิฉะนั้นให้ละไว้ |
expiration_date | ไม่ | string | วันหมดอายุของตัวกรอง ตัวกรองจะถูกลบโดยอัตโนมัติตามวันที่ระบุ เว้นแต่จะถูกใช้ใน Preset หรือ RSS Feed |
200
{ "status_code": 200, "status_message": "OK", "response": { "name": "filter name" }}
ตัวอย่าง
{ "request": { "auth": "yxoPUlwqm…………pIyEX4H", "name": "City = Madrid", "filter_expression": "T(\"City\", eq, \"Madrid\")", "application": "B18XX-XXXXX", "expiration_date": "2025-01-01" }}
// การสร้างตัวกรองสำหรับเขตเวลา{ "request": { "auth": "yxoPUlwqm…………pIyEX4H", // โทเค็นการเข้าถึง API จากแผงควบคุม Pushwoosh "name": "Timezone Filter", "filter_expression": "T(\"Timezone\", BETWEEN, [\"UTC-12:00\", \"UTC+14:00\"])" }}
listFilters
Anchor link toPOST
https://api.pushwoosh.com/json/1.3/listFilters
ส่งคืนรายการของเซกเมนต์ (ตัวกรอง) ที่มีอยู่พร้อมเงื่อนไข
เนื้อหาของคำขอ (Request Body)
ชื่อ | จำเป็น | ประเภท | คำอธิบาย |
---|---|---|---|
auth* | ใช่ | string | โทเค็นการเข้าถึง API จากแผงควบคุม Pushwoosh |
application* | ใช่ | string | รหัสแอปพลิเคชัน Pushwoosh |
200
{ "status_code": 200, "status_message": "OK", "response": { "filters": [{ "code": "52551-F2F42", "name": "City = Madrid", "filter_expression": "T(\"City\", eq, \"madrid\")", "expiration_date": "2025-01-01", "application": "B18XX-XXXXX" }] }}
ตัวอย่าง
{ "request": { "auth": "yxoPUlwqm…………pIyEX4H", "application": "B18XX-XXXXX" }}
deleteFilter
Anchor link toPOST
https://api.pushwoosh.com/json/1.3/deleteFilter
ลบตัวกรองที่มีอยู่
เนื้อหาของคำขอ (Request Body)
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
auth* | string | โทเค็นการเข้าถึง API จากแผงควบคุม Pushwoosh |
name* | string | ชื่อตัวกรอง |
{ "status_code": 200, "status_message": "OK", "response": null}
{ "request": { "auth": "yxoPUlwqm…………pIyEX4H", // โทเค็นการเข้าถึง API จากแผงควบคุม Pushwoosh "name": "filter name" }}
exportSegment
Anchor link toPOST
https://api.pushwoosh.com/api/v2/audience/exportSegment
คำขอแบบกำหนดเวลา ส่งออกรายชื่อผู้สมัครสมาชิกที่เข้าเงื่อนไขตัวกรองที่ระบุ
เนื้อหาของคำขอ (Request body)
ชื่อ | จำเป็น | ประเภท | คำอธิบาย |
---|---|---|---|
auth* | ใช่ | string | โทเค็นการเข้าถึง API จากแผงควบคุม Pushwoosh |
filterExpression* | ใช่ | string | เงื่อนไขตัวกรอง |
exportData | ไม่ | array | ข้อมูลที่จะส่งออก ค่าที่เป็นไปได้: "hwids" , "push_tokens" , "users" , "tags" , "location" การรวม "location" จะเพิ่มคอลัมน์ Latitude และ Longitude ลงใน CSV ที่ส่งออก หากละเว้น exportData ค่า Latitude และ Longitude จะถูกรวมอยู่ในการส่งออกโดยค่าเริ่มต้น |
filterCode | ไม่ | string | รหัสตัวกรองที่สร้างไว้ล่วงหน้า สามารถใช้แทน filterExpression ได้ สามารถรับได้จาก /listFilters API หรือแถบที่อยู่ของเบราว์เซอร์ของคุณเมื่อดูตัวกรองในแผงควบคุม |
applicationCode | จำเป็นหากคุณใช้ filterExpression หรือ filterCode | string | รหัสแอป Pushwoosh |
generateExport | ไม่ | boolean | โดยค่าเริ่มต้นตั้งค่าเป็น true และการตอบกลับจะมีลิงก์สำหรับดาวน์โหลดไฟล์ หากเป็น false จะมีการส่งเฉพาะจำนวนอุปกรณ์ในการตอบกลับเท่านั้น |
format | ไม่ | string | กำหนดรูปแบบของไฟล์ที่ส่งออก: “csv” หรือ “json_each_line” หากละไว้ ไฟล์ CSV จะถูกสร้างขึ้น |
tagsList | ไม่ | array | ระบุแท็กที่จะส่งออก หากต้องการรับเฉพาะแท็กที่ระบุ อาร์เรย์ “exportData” ควรมีค่า “tags” |
includeWithoutTokens | ไม่ | boolean | ตั้งค่าเป็น true เพื่อรวมผู้ใช้ที่ไม่มีโทเค็นพุชในไฟล์ที่ส่งออก ค่าเริ่มต้นคือ false |
{ "task_id": "177458"}
{ "auth": "yxoPUlwqm…………pIyEX4H", // จำเป็น โทเค็นการเข้าถึง API จากแผงควบคุม Pushwoosh "filterExpression": "AT(\"12345-67890\", \"Name\", any)", // เงื่อนไขตัวกรอง โปรดดูคู่มือ Segmentation Language สำหรับไวยากรณ์ "filterCode": "12345-67890", // รหัสตัวกรองที่สร้างไว้ล่วงหน้า สามารถใช้แทน filterExpression ได้ "applicationCode": "00000-AAAAA", // จำเป็นหากคุณใช้ filterExpression หรือ filterCode รหัสแอป Pushwoosh สามารถรับได้จากคำขอ /listFilters API หรือแถบที่อยู่ของเบราว์เซอร์ของคุณขณะดูตัวกรองในแผงควบคุม "generateExport": true, // หากเป็น false จะมีการส่งเฉพาะจำนวนอุปกรณ์ในการตอบกลับเท่านั้น โดยค่าเริ่มต้น การตอบกลับจะมีลิงก์สำหรับดาวน์โหลดไฟล์ CSV "format": "json_each_line", // รูปแบบของไฟล์ที่จะนำเสนอข้อมูล: "csv" – ไฟล์ .csv จะถูกดาวน์โหลด; "json" – ไฟล์ JSON ที่มีอุปกรณ์ที่ส่งออกทั้งหมด; หรือ "json_each_line" – JSON หนึ่งบรรทัดสำหรับแต่ละอุปกรณ์ หากไม่ได้ระบุ CSV จะเป็นรูปแบบเริ่มต้น "exportData": ["hwids", "tags"], // ไม่บังคับ ข้อมูลที่จะส่งออก ค่าที่เป็นไปได้: "hwids", "push_tokens", "users", "tags", "location", "fcm_keys", "web keys" "tagsList": ["Name", "Level"], // ไม่บังคับ ระบุแท็กที่จะส่งออก หากต้องการรับเฉพาะแท็กที่ระบุ ควรส่งค่า "tags" ภายในอาร์เรย์ "exportData" หรือ "exportData" ควรว่างเปล่า "includeWithoutTokens": true // ไม่บังคับ ตั้งค่าเป็น true เพื่อรวมผู้ใช้ที่ไม่มีโทเค็นพุชในไฟล์ที่ส่งออก ค่าเริ่มต้นคือ false}
ตัวอย่างเช่น หากต้องการส่งออกผู้สมัครสมาชิกทั้งหมดของแอปใดแอปหนึ่ง ให้ใช้เงื่อนไขตัวกรองต่อไปนี้:
{ "auth": "yxoPUlwqm…………pIyEX4H", // โทเค็นการเข้าถึง API จากแผงควบคุม Pushwoosh "filterExpression": "A(\"AAAAA-BBBBB\")", // นิพจน์ตัวกรองที่อ้างอิงถึงเซกเมนต์ของแอป "applicationCode": "AAAAA-BBBBB" // รหัสแอป Pushwoosh ที่จำเป็น}
exportSegment results
Anchor link toPOST
https://api.pushwoosh.com/api/v2/audience/exportSegment/result
ดึงลิงก์ไปยัง CSV ที่มีผลลัพธ์ของ /exportSegment
เนื้อหาของคำขอ (Request Body)
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
auth* | String | โทเค็นการเข้าถึง API จากแผงควบคุม Pushwoosh |
task_id* | String | ตัวระบุที่ได้รับในการตอบกลับ /exportSegment ของคุณ |
{ "devicesCount": "24735", "csvFilename": "https://static.pushwoosh.com/segment-export/export_segment_XXXXX_XXXXX_xxxxxxxxxxxxxxxxx.csv.zip", "status": "completed"}
ส่ง “task_id” ที่ได้รับในการตอบกลับ /exportSegment
ของคุณในเนื้อหาของคำขอ /exportSegment/result
ในการตอบกลับ /exportSegment/result
คุณจะได้รับพารามิเตอร์ “filename” ไปตามลิงก์ที่ให้ไว้ในค่าพารามิเตอร์นั้นเพื่อดาวน์โหลดไฟล์ ZIP โดยอัตโนมัติ แตกไฟล์เพื่อดึงไฟล์ CSV หรือ JSON (ขึ้นอยู่กับ “format” ที่ระบุในคำขอของคุณ) ที่มีข้อมูลของอุปกรณ์
ตั้งแต่วันที่ 3 เมษายน 2025 เป็นต้นไป จำเป็นต้องมีการให้สิทธิ์ในการดาวน์โหลดไฟล์:
- หากดาวน์โหลดผ่าน เบราว์เซอร์ เพียงเข้าสู่ระบบ แผงควบคุม Pushwoosh เพื่อเข้าถึง
- หากดาวน์โหลดผ่าน ซอฟต์แวร์เซิร์ฟเวอร์ ให้รวมส่วนหัวต่อไปนี้ในคำขอของคุณ:
Authorization: Token YOUR_API_TOKEN
หากคุณระบุ “exportData” ในคำขอ /exportSegment
ของคุณ ไฟล์ที่ดาวน์โหลดจะมีเฉพาะข้อมูลที่ร้องขอเท่านั้น โดยค่าเริ่มต้น ไฟล์จะมีข้อมูลผู้ใช้ดังต่อไปนี้:
ฟิลด์ | คำอธิบาย | ตัวอย่างค่า |
---|---|---|
Hwid | Hardware ID ของอุปกรณ์ | 01D1BA5C-AAAA-0000-BBBB-9B81CD5823C8 |
User ID | User ID ที่เชื่อมโยงอุปกรณ์กับผู้ใช้รายใดรายหนึ่ง หากไม่มีการกำหนด User ID จะใช้ HWID แทน | user8192 |
Push Token | ตัวระบุที่ไม่ซ้ำกันที่กำหนดให้กับอุปกรณ์โดยเกตเวย์การส่งข้อความบนคลาวด์ เรียนรู้เพิ่มเติม | eeeb2fd7…0fc3547 |
Type | ประเภทแพลตฟอร์ม (จำนวนเต็ม) | 1 |
Type (humanized) | ประเภทแพลตฟอร์ม (สตริง) | iOS |
Age | ค่าของแท็ก Age เริ่มต้น | 29 |
ApplicationVersion | ค่าของแท็ก Application Version เริ่มต้น | 1.12.0.0 |
City | ค่าของแท็ก City เริ่มต้น | us, boston |
TagName | ค่าของแท็กที่สร้างขึ้นในบัญชีของคุณ | TagValue |