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

API การแบ่งกลุ่ม (ตัวกรอง)

createFilter

Anchor link to

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

สร้างตัวกรองใหม่

เนื้อหาของคำขอ (Request Body)

ชื่อจำเป็นประเภทคำอธิบาย
auth*ใช่stringโทเค็นการเข้าถึง API จากแผงควบคุม Pushwoosh
name*ใช่stringชื่อตัวกรอง
filter_expression*ใช่string

นิพจน์ที่สร้างขึ้นตามกฎของ Segmentation language
ตัวอย่าง: T(“City”, eq, “Madrid”) เพื่อแบ่งกลุ่มผู้ใช้ที่เมืองคือมาดริด

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 to

POST 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 to

POST 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 to

POST 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 หรือ filterCodestringรหัสแอป 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 to

POST 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 ของคุณ ไฟล์ที่ดาวน์โหลดจะมีเฉพาะข้อมูลที่ร้องขอเท่านั้น โดยค่าเริ่มต้น ไฟล์จะมีข้อมูลผู้ใช้ดังต่อไปนี้:

ฟิลด์คำอธิบายตัวอย่างค่า
HwidHardware ID ของอุปกรณ์01D1BA5C-AAAA-0000-BBBB-9B81CD5823C8
User IDUser 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