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

การส่งออกสถิติข้อความแบบอะซิงโครนัส

exportMessagesStatistics จะส่งออกประวัติและสถิติข้อความไปยังไฟล์ CSV บนเซิร์ฟเวอร์ ใช้สำหรับดึงข้อมูลขนาดใหญ่หรือข้อมูลทั้งบัญชีซึ่ง messages:list ไม่สามารถจัดการได้

ควรใช้ export แทน messages:list เมื่อใด

Anchor link to

ใช้ messages:list สำหรับการค้นหาแบบสดและแบ่งหน้าในช่วงเวลาที่จำกัด ใช้ exportMessagesStatistics เมื่อผลลัพธ์มีขนาดเกินขีดจำกัดการแบ่งหน้าของ messages:list (page × per_page > 100000) หรือเมื่อเป้าหมายคือไฟล์เดียวที่สามารถดาวน์โหลดได้แทนที่จะเป็น JSON แบบแบ่งหน้า การส่งออกไม่มีข้อจำกัดเกี่ยวกับ date_range หรือจำนวนแถว เนื่องจากจะสตรีมผลลัพธ์ไปยังไฟล์บนดิสก์แทนที่จะเก็บไว้ในการตอบกลับครั้งเดียว

ขั้นตอนการส่งออกทำงานอย่างไร

Anchor link to
  1. เรียกใช้ export ด้วยตัวกรองเดียวกับ messages:list การตอบกลับจะส่งคืนตัวระบุงาน uid ทันที ก่อนที่ไฟล์จะถูกสร้างขึ้น
  2. ตรวจสอบ status ด้วย uid นั้นจนกว่าจะรายงาน STATUS_SUCCESS (หรือ STATUS_FAILED)
  3. เรียกใช้ result ด้วย uid เดียวกันเพื่อรับชื่อไฟล์ที่สร้างขึ้น
  4. ดาวน์โหลด ไฟล์ตามชื่อ

ใช้ lastTasks เพื่อค้นหางานส่งออกล่าสุดสำหรับแอปพลิเคชัน และใช้ delete เพื่อยกเลิกงานหรือลบไฟล์ก่อนเวลา

เมธอด

Anchor link to

วงจรการส่งออกมีห้าเมธอด บวกกับ endpoint สำหรับดาวน์โหลดโดยตรง:

เมธอดคำอธิบาย
exportMessagesStatistics/exportจัดคิวการส่งออกและส่งคืน uid ของงาน
exportMessagesStatistics/statusตรวจสอบความคืบหน้าของงาน
exportMessagesStatistics/resultส่งคืนชื่อไฟล์ที่สร้างขึ้นเมื่องานเสร็จสิ้น
exportMessagesStatistics/lastTasksแสดงรายการงานส่งออกล่าสุดสำหรับแอปพลิเคชัน
exportMessagesStatistics/deleteยกเลิกงานหรือลบไฟล์ก่อนที่ระยะเวลาการเก็บรักษาจะหมดอายุ
ดาวน์โหลดดาวน์โหลดไฟล์ CSV ที่สร้างขึ้นตามชื่อ

จัดคิวการส่งออกประวัติข้อความและส่งคืนตัวระบุงานทันที

POST https://api.pushwoosh.com/api/v2/statistics/exportMessagesStatistics/export

ส่วนหัว (Headers)
Anchor link to

คำขอต้องการ Server API token:

ชื่อจำเป็นคำอธิบาย
Authorizationใช่Server API token ต้องระบุในรูปแบบต่อไปนี้: Authorization: Api <Server Key>
พารามิเตอร์ในส่วนเนื้อหาของคำขอ (Request body)
Anchor link to

ส่วนเนื้อหาของคำขอยอมรับฟิลด์ต่อไปนี้:

ชื่อจำเป็นประเภทคำอธิบาย
typeใช่Stringต้องเป็น “TASK_TYPE_EXPORT_MESSAGES_V2”
export_messages_v2ใช่Objectพารามิเตอร์การส่งออก อธิบายไว้ด้านล่าง
export_messages_v2.application_codeดูหมายเหตุStringรหัสแอปพลิเคชัน Pushwoosh จำเป็นหากไม่ได้ตั้งค่า app_group_code
export_messages_v2.app_group_codeดูหมายเหตุStringรหัสกลุ่มแอปพลิเคชัน ส่งออกข้อมูลของทุกแอปในกลุ่ม จำเป็นหากไม่ได้ตั้งค่า application_code
export_messages_v2.searchไม่Stringค้นหาข้อความอิสระในชื่อและเนื้อหาของข้อความ
export_messages_v2.filtersไม่Objectตัวกรองข้อความ อธิบายไว้ด้านล่าง หากไม่ระบุจะส่งออกประวัติทั้งหมดของบัญชี
export_messages_v2.propertiesไม่Arrayคอลัมน์ที่จะรวมใน CSV อธิบายไว้ด้านล่าง

export_messages_v2.filters ยอมรับ:

ชื่อ
ประเภทคำอธิบาย
statusesArrayสถานะข้อความที่จะรวม
ค่าที่เป็นไปได้
  • ”MESSAGE_STATUS_CANCELED"
  • "MESSAGE_STATUS_CREATING"
  • "MESSAGE_STATUS_DONE"
  • "MESSAGE_STATUS_FAIL"
  • "MESSAGE_STATUS_PENDING"
  • "MESSAGE_STATUS_PROCESSING"
  • "MESSAGE_STATUS_WAITING”
platformsArrayรหัสแพลตฟอร์ม (ตัวเลข เช่น 1 สำหรับ iOS) ไม่ใช่สตริงชื่อแพลตฟอร์มที่ใช้โดย messages:list
sent_dateObjectช่วงเวลารายงานที่กรองตามวันที่ส่ง: {"date_from": "YYYY-MM-DD", "date_to": "YYYY-MM-DD"}
created_dateObjectช่วงเวลารายงานที่กรองตามวันที่สร้างข้อความ รูปแบบเดียวกับ sent_date
created_viaArrayแหล่งที่มาของข้อความ
ค่าที่เป็นไปได้
  • ”AB_TEST"
  • "API"
  • "AUTO_PUSH"
  • "CP"
  • "CSV"
  • "CUSTOMER_JOURNEY"
  • "EMAIL_API"
  • "EMAIL_CP"
  • "GEO_ZONE"
  • "PUSH_ON_EVENT"
  • "RSS"
  • "SYSTEM”
segmentsArrayรหัสตัวกรอง ที่ข้อความถูกส่งไป
campaignsArrayรหัสแคมเปญ ซึ่งแตกต่างจาก messages:list ที่นี่จะรับเป็นรายการ ไม่ใช่รหัสเดียว
message_idString (uint64)ID ข้อความตัวเลขเดียว อยู่ในเครื่องหมายคำพูด ซึ่งแตกต่างจาก messages:list ที่การส่งออกจะรับ ID เดียว ไม่ใช่ array
message_codeStringรหัสข้อความ เดียว

export_messages_v2.properties จะเลือกว่า CSV จะมีคอลัมน์ใดบ้าง

ค่าที่เป็นไปได้
  • "EXPORT_MESSAGE_PROPERTY_ID"
  • "EXPORT_MESSAGE_PROPERTY_TIMESTAMP"
  • "EXPORT_MESSAGE_PROPERTY_CONTENT"
  • "EXPORT_MESSAGE_PROPERTY_TITLE"
  • "EXPORT_MESSAGE_PROPERTY_APPLICATIONS"
  • "EXPORT_MESSAGE_PROPERTY_STATUS"
  • "EXPORT_MESSAGE_PROPERTY_PLATFORMS"
  • "EXPORT_MESSAGE_PROPERTY_SOURCE"
  • "EXPORT_MESSAGE_PROPERTY_FILTER"
  • "EXPORT_MESSAGE_PROPERTY_SUBSCRIPTION_SEGMENTS"
  • "EXPORT_MESSAGE_PROPERTY_SENT"
  • "EXPORT_MESSAGE_PROPERTY_OPENED"
  • "EXPORT_MESSAGE_PROPERTY_ERRORS"
  • "EXPORT_MESSAGE_PROPERTY_RECIPIENTS"
  • "EXPORT_MESSAGE_PROPERTY_DELIVERED"
  • "EXPORT_MESSAGE_PROPERTY_TOTAL_DELIVERED"
  • "EXPORT_MESSAGE_PROPERTY_TOTAL_OPENED"
  • "EXPORT_MESSAGE_PROPERTY_TOTAL_CLICKS"
  • "EXPORT_MESSAGE_PROPERTY_CLICKS"
  • "EXPORT_MESSAGE_PROPERTY_UNSUBSCRIBED"
ตัวอย่างคำขอ
Anchor link to
{
"type": "TASK_TYPE_EXPORT_MESSAGES_V2",
"export_messages_v2": {
"application_code": "XXXXX-XXXXX",
"filters": {
"created_date": {
"date_from": "2026-01-01",
"date_to": "2026-06-30"
},
"statuses": ["MESSAGE_STATUS_DONE"],
"platforms": [1, 3]
},
"properties": [
"EXPORT_MESSAGE_PROPERTY_ID",
"EXPORT_MESSAGE_PROPERTY_TIMESTAMP",
"EXPORT_MESSAGE_PROPERTY_STATUS",
"EXPORT_MESSAGE_PROPERTY_PLATFORMS",
"EXPORT_MESSAGE_PROPERTY_SENT",
"EXPORT_MESSAGE_PROPERTY_OPENED"
]
}
}
{
"uid": "177458"
}

ส่งคืนความคืบหน้าของงานส่งออก

POST https://api.pushwoosh.com/api/v2/statistics/exportMessagesStatistics/status

พารามิเตอร์ในส่วนเนื้อหาของคำขอ (Request body)
Anchor link to

ส่งตัวระบุงานที่ได้จาก export:

ชื่อจำเป็นประเภทคำอธิบาย
uidใช่String (int64)ตัวระบุงานจากการตอบกลับของ export เช่น "177458"
ตัวอย่างคำขอ
Anchor link to
{
"uid": "177458"
}
{
"status": "STATUS_SUCCESS",
"progress": 1
}

status เป็นหนึ่งใน "STATUS_PENDING", "STATUS_SUCCESS" หรือ "STATUS_FAILED" ส่วน progress เป็นเศษส่วนระหว่าง 0 ถึง 1; ให้ตรวจสอบ status จนกว่าจะถึง "STATUS_SUCCESS" ก่อนที่จะเรียก result

ส่งคืนชื่อไฟล์ที่สร้างขึ้นเมื่องานเสร็จสมบูรณ์

POST https://api.pushwoosh.com/api/v2/statistics/exportMessagesStatistics/result

พารามิเตอร์ในส่วนเนื้อหาของคำขอ (Request body)
Anchor link to

ส่งตัวระบุงานเดียวกันกับที่ได้จาก export:

ชื่อจำเป็นประเภทคำอธิบาย
uidใช่String (int64)ตัวระบุงานจากการตอบกลับของ export เช่น "177458"
ตัวอย่างคำขอ
Anchor link to
{
"uid": "177458"
}
{
"export_messages_v2_result": {
"file": "Export_Messages_v2_12345_20260813120000-a1b2c3d4.csv"
}
}

การเรียก result ก่อนที่ status จะรายงาน "STATUS_SUCCESS" จะส่งคืนผลลัพธ์ที่ว่างเปล่า ส่งค่า file ตามที่เป็นอยู่ไปยัง endpoint สำหรับดาวน์โหลด

แสดงรายการงานส่งออกล่าสุดสำหรับแอปพลิเคชัน โดยเรียงจากล่าสุดก่อน

POST https://api.pushwoosh.com/api/v2/statistics/exportMessagesStatistics/lastTasks

พารามิเตอร์ในส่วนเนื้อหาของคำขอ (Request body)
Anchor link to

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

ชื่อจำเป็นประเภทคำอธิบาย
applicationไม่Stringรหัสแอปพลิเคชัน Pushwoosh หากไม่ระบุจะแสดงรายการงานของทุกแอปพลิเคชันที่โทเค็นสามารถเข้าถึงได้
typesไม่Arrayจำกัดเฉพาะประเภทงานที่ระบุ ใช้ [“TASK_TYPE_EXPORT_MESSAGES_V2”] เพื่อดูเฉพาะการส่งออกข้อความ
campaignไม่Stringกรองตาม รหัสแคมเปญ
message_idไม่String (uint64)กรองตาม ID ข้อความตัวเลขเดียว อยู่ในเครื่องหมายคำพูด
message_codeไม่Stringกรองตาม รหัสข้อความ เดียว
limitไม่Integerจำนวนงานสูงสุดที่จะส่งคืน
timestamp_fromไม่Stringส่งคืนเฉพาะงานที่สร้างขึ้นหลังจากการประทับเวลานี้ (RFC 3339)
ตัวอย่างคำขอ
Anchor link to
{
"application": "XXXXX-XXXXX",
"types": ["TASK_TYPE_EXPORT_MESSAGES_V2"],
"limit": 10
}
{
"tasks": [
{
"id": "177458",
"timestamp": "2026-08-13T12:00:00Z",
"status": "STATUS_SUCCESS",
"requested_by_user": "user@example.com",
"export_messages_v2": {
"application_code": "XXXXX-XXXXX"
},
"export_messages_v2_result": {
"file": "Export_Messages_v2_12345_20260813120000-a1b2c3d4.csv"
}
}
]
}

ลบงานและไฟล์ของงานนั้นก่อนที่ระยะเวลาการเก็บรักษา 7 วันจะหมดอายุ

POST https://api.pushwoosh.com/api/v2/statistics/exportMessagesStatistics/delete

พารามิเตอร์ในส่วนเนื้อหาของคำขอ (Request body)
Anchor link to

ส่งตัวระบุงานที่ได้จาก export:

ชื่อจำเป็นประเภทคำอธิบาย
uidใช่String (int64)ตัวระบุงานจากการตอบกลับของ export เช่น "177458"
ตัวอย่างคำขอ
Anchor link to
{
"uid": "177458"
}
{}

ดาวน์โหลด

Anchor link to

ดาวน์โหลดไฟล์ CSV ที่สร้างโดย result ตามชื่อ

GET https://api.pushwoosh.com/api/v2/statistics/exportMessagesStatistics/download/<file>

ส่วนหัว (Headers)
Anchor link to

รับรองความถูกต้องด้วยวิธีเดียวกับเมธอดอื่นๆ หรือใช้เซสชัน Control Panel ที่ใช้งานอยู่:

ชื่อจำเป็นคำอธิบาย
Authorizationใช่Server API token ในรูปแบบเดียวกับเมธอด exportMessagesStatistics อื่นๆ: Authorization: Api <Server Key> (รูปแบบ Api ไม่คำนึงถึงตัวพิมพ์ใหญ่-เล็ก) คำขอที่ไม่มีส่วนหัว Authorization และไม่มีเซสชัน Control Panel ที่เข้าสู่ระบบอยู่จะได้รับ 401 Unauthorized

แทนที่ <file> ด้วยค่า file ที่แน่นอนจากการตอบกลับของ result ตัวอย่างเช่น:

https://api.pushwoosh.com/api/v2/statistics/exportMessagesStatistics/download/Export_Messages_v2_12345_20260813120000-a1b2c3d4.csv

ไฟล์เป็น CSV ที่มีคอลัมน์ที่เลือกใน properties ไฟล์จะพร้อมใช้งานเป็นเวลา 7 วันหลังจากการส่งออกเสร็จสิ้น จากนั้นงานล้างข้อมูลจะลบไฟล์ออกและ URL จะไม่สามารถใช้งานได้อีกต่อไป