सामग्री पर जाएं

एसिंक्रोनस संदेश सांख्यिकी एक्सपोर्ट

exportMessagesStatistics संदेश इतिहास और सांख्यिकी को सर्वर पर एक CSV फ़ाइल में एक्सपोर्ट करता है। इसका उपयोग बड़े या पूरे-अकाउंट पुल के लिए करें जिन्हें messages:list हैंडल नहीं कर सकता है।

messages:list के बजाय एक्सपोर्ट का उपयोग कब करें

Anchor link to

एक सीमित अवधि के लाइव, पेजिनेटेड लुकअप के लिए messages:list का उपयोग करें। exportMessagesStatistics का उपयोग तब करें जब परिणाम messages:list की डीप-पेजिनेशन सीमा (page × per_page > 100000) से अधिक हो, या जब लक्ष्य पेजिनेटेड JSON के बजाय एक एकल डाउनलोड करने योग्य फ़ाइल हो। एक्सपोर्ट में date_range या पंक्ति गणना पर कोई सीमा नहीं है, क्योंकि यह परिणाम को एक प्रतिक्रिया में रखने के बजाय डिस्क पर एक फ़ाइल में स्ट्रीम करता है।

एक्सपोर्ट फ्लो कैसे काम करता है

Anchor link to
  1. messages:list के समान फ़िल्टर के साथ export को कॉल करें। प्रतिक्रिया फ़ाइल बनने से पहले तुरंत एक uid टास्क आइडेंटिफ़ायर लौटाती है।
  2. उस uid के साथ status को पोल करें जब तक कि यह STATUS_SUCCESS (या STATUS_FAILED) रिपोर्ट न करे।
  3. जेनरेट की गई फ़ाइल का नाम प्राप्त करने के लिए उसी uid के साथ result को कॉल करें।
  4. नाम से फ़ाइल डाउनलोड करें।

किसी एप्लिकेशन के लिए हाल के एक्सपोर्ट कार्यों को देखने के लिए lastTasks का उपयोग करें, और किसी कार्य को रद्द करने या उसकी फ़ाइल को जल्दी हटाने के लिए delete का उपयोग करें।

विधियाँ (Methods)

Anchor link to

एक्सपोर्ट जीवनचक्र में पाँच विधियाँ हैं, साथ ही एक सादा डाउनलोड एंडपॉइंट भी है:

विधि (Method)विवरण (Description)
exportMessagesStatistics/exportएक एक्सपोर्ट को क्यू में लगाता है और एक टास्क uid लौटाता है।
exportMessagesStatistics/statusटास्क की प्रगति की जाँच करता है।
exportMessagesStatistics/resultटास्क पूरा हो जाने पर जेनरेट की गई फ़ाइल का नाम लौटाता है।
exportMessagesStatistics/lastTasksएक एप्लिकेशन के लिए हाल के एक्सपोर्ट कार्यों को सूचीबद्ध करता है।
exportMessagesStatistics/deleteरिटेंशन विंडो समाप्त होने से पहले किसी टास्क को रद्द करता है या उसकी फ़ाइल को हटाता है।
डाउनलोडनाम से जेनरेट की गई CSV फ़ाइल डाउनलोड करता है।

एक संदेश इतिहास एक्सपोर्ट को क्यू में लगाता है और तुरंत एक टास्क आइडेंटिफ़ायर लौटाता है।

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

हेडर्स
Anchor link to

अनुरोध के लिए एक सर्वर API टोकन की आवश्यकता है:

नामआवश्यकविवरण
Authorizationहाँसर्वर API टोकन। निम्नलिखित प्रारूप में प्रदान किया जाना चाहिए: Authorization: Api <Server Key>
अनुरोध बॉडी पैरामीटर
Anchor link to

अनुरोध बॉडी निम्नलिखित फ़ील्ड स्वीकार करती है:

नामआवश्यकप्रकारविवरण
typeहाँस्ट्रिंग”TASK_TYPE_EXPORT_MESSAGES_V2” होना चाहिए।
export_messages_v2हाँऑब्जेक्टएक्सपोर्ट पैरामीटर, नीचे वर्णित हैं।
export_messages_v2.application_codeनोट देखेंस्ट्रिंगPushwoosh एप्लिकेशन कोड। यदि app_group_code सेट नहीं है तो आवश्यक है।
export_messages_v2.app_group_codeनोट देखेंस्ट्रिंगएप्लिकेशन समूह कोड, समूह में प्रत्येक ऐप में एक्सपोर्ट करता है। यदि application_code सेट नहीं है तो आवश्यक है।
export_messages_v2.searchनहींस्ट्रिंगसंदेश शीर्षक और सामग्री पर फ्री-टेक्स्ट खोज।
export_messages_v2.filtersनहींऑब्जेक्टसंदेश फ़िल्टर, नीचे वर्णित हैं। पूरे अकाउंट इतिहास को एक्सपोर्ट करने के लिए छोड़ दें।
export_messages_v2.propertiesनहींऐरेCSV में शामिल करने के लिए कॉलम, नीचे वर्णित हैं।

export_messages_v2.filters स्वीकार करता है:

नाम
प्रकारविवरण
statusesऐरेशामिल करने के लिए संदेश स्थितियाँ।
संभावित मान
  • ”MESSAGE_STATUS_CANCELED"
  • "MESSAGE_STATUS_CREATING"
  • "MESSAGE_STATUS_DONE"
  • "MESSAGE_STATUS_FAIL"
  • "MESSAGE_STATUS_PENDING"
  • "MESSAGE_STATUS_PROCESSING"
  • "MESSAGE_STATUS_WAITING”
platformsऐरेप्लेटफ़ॉर्म कोड (संख्यात्मक, जैसे iOS के लिए 1), messages:list द्वारा उपयोग किए जाने वाले प्लेटफ़ॉर्म नाम स्ट्रिंग्स नहीं।
sent_dateऑब्जेक्टभेजने की तारीख पर फ़िल्टर की गई रिपोर्टिंग अवधि: {"date_from": "YYYY-MM-DD", "date_to": "YYYY-MM-DD"}
created_dateऑब्जेक्टसंदेश बनाने की तारीख पर फ़िल्टर की गई रिपोर्टिंग अवधि, sent_date के समान प्रारूप।
created_viaऐरेसंदेश स्रोत।
संभावित मान
  • ”AB_TEST"
  • "API"
  • "AUTO_PUSH"
  • "CP"
  • "CSV"
  • "CUSTOMER_JOURNEY"
  • "EMAIL_API"
  • "EMAIL_CP"
  • "GEO_ZONE"
  • "PUSH_ON_EVENT"
  • "RSS"
  • "SYSTEM”
segmentsऐरेफ़िल्टर कोड जिन पर संदेश भेजा गया था।
campaignsऐरेअभियान कोडmessages:list के विपरीत, यह एक सूची लेता है, एक एकल कोड नहीं।
message_idस्ट्रिंग (uint64)एक एकल संख्यात्मक संदेश आईडी, उद्धृत। messages:list के विपरीत, एक्सपोर्ट एक आईडी लेता है, एक ऐरे नहीं।
message_codeस्ट्रिंगएक एकल संदेश कोड

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

अनुरोध बॉडी पैरामीटर
Anchor link to

export द्वारा लौटाया गया टास्क आइडेंटिफ़ायर पास करें:

नामआवश्यकप्रकारविवरण
uidहाँस्ट्रिंग (int64)export प्रतिक्रिया से टास्क आइडेंटिफ़ायर, जैसे "177458"
उदाहरण अनुरोध
Anchor link to
{
"uid": "177458"
}
{
"status": "STATUS_SUCCESS",
"progress": 1
}

status "STATUS_PENDING", "STATUS_SUCCESS", या "STATUS_FAILED" में से एक है। progress 0 और 1 के बीच एक भिन्न है; result को कॉल करने से पहले status को तब तक पोल करें जब तक कि यह "STATUS_SUCCESS" तक न पहुंच जाए।

टास्क पूरा हो जाने पर जेनरेट की गई फ़ाइल का नाम लौटाता है।

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

अनुरोध बॉडी पैरामीटर
Anchor link to

export द्वारा लौटाया गया वही टास्क आइडेंटिफ़ायर पास करें:

नामआवश्यकप्रकारविवरण
uidहाँस्ट्रिंग (int64)export प्रतिक्रिया से टास्क आइडेंटिफ़ायर, जैसे "177458"
उदाहरण अनुरोध
Anchor link to
{
"uid": "177458"
}
{
"export_messages_v2_result": {
"file": "Export_Messages_v2_12345_20260813120000-a1b2c3d4.csv"
}
}

status के "STATUS_SUCCESS" रिपोर्ट करने से पहले result को कॉल करने पर एक खाली परिणाम मिलता है। file मान को डाउनलोड एंडपॉइंट पर वैसे ही पास करें।

एक एप्लिकेशन के लिए हाल के एक्सपोर्ट कार्यों को सूचीबद्ध करता है, सबसे हाल का पहले।

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

अनुरोध बॉडी पैरामीटर
Anchor link to

प्रत्येक पैरामीटर एक वैकल्पिक फ़िल्टर है; उन सभी कार्यों को सूचीबद्ध करने के लिए सभी को छोड़ दें जिन तक टोकन की पहुंच है:

नामआवश्यकप्रकारविवरण
applicationनहींस्ट्रिंगPushwoosh एप्लिकेशन कोड। उन सभी एप्लिकेशनों के कार्यों को सूचीबद्ध करने के लिए छोड़ दें जिन तक टोकन की पहुंच है।
typesनहींऐरेविशिष्ट कार्य प्रकारों तक सीमित करें। केवल संदेश एक्सपोर्ट देखने के लिए [“TASK_TYPE_EXPORT_MESSAGES_V2”] का उपयोग करें।
campaignनहींस्ट्रिंगअभियान कोड द्वारा फ़िल्टर करें।
message_idनहींस्ट्रिंग (uint64)एक एकल संख्यात्मक संदेश आईडी, उद्धृत, द्वारा फ़िल्टर करें।
message_codeनहींस्ट्रिंगएक एकल संदेश कोड द्वारा फ़िल्टर करें।
limitनहींइंटीजरलौटाए जाने वाले कार्यों की अधिकतम संख्या।
timestamp_fromनहींस्ट्रिंगकेवल इस टाइमस्टैम्प (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

अनुरोध बॉडी पैरामीटर
Anchor link to

export द्वारा लौटाया गया टास्क आइडेंटिफ़ायर पास करें:

नामआवश्यकप्रकारविवरण
uidहाँस्ट्रिंग (int64)export प्रतिक्रिया से टास्क आइडेंटिफ़ायर, जैसे "177458"
उदाहरण अनुरोध
Anchor link to
{
"uid": "177458"
}
{}

डाउनलोड

Anchor link to

result द्वारा जेनरेट की गई CSV फ़ाइल को नाम से डाउनलोड करता है।

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

हेडर्स
Anchor link to

अन्य विधियों की तरह ही प्रमाणित करें, या एक सक्रिय कंट्रोल पैनल सत्र पर निर्भर रहें:

नामआवश्यकविवरण
Authorizationहाँसर्वर API टोकन, अन्य exportMessagesStatistics विधियों के समान प्रारूप में: Authorization: Api <Server Key> (Api स्कीम केस-असंवेदनशील है)। बिना Authorization हेडर और बिना लॉग-इन कंट्रोल पैनल सत्र वाले अनुरोध को 401 Unauthorized मिलता है।

<file> को result प्रतिक्रिया से सटीक file मान से बदलें, उदाहरण के लिए:

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

फ़ाइल एक CSV है जिसमें properties में चुने गए कॉलम होते हैं। यह एक्सपोर्ट समाप्त होने के 7 दिनों तक उपलब्ध रहती है, फिर क्लीनअप जॉब इसे हटा देती है और URL हल होना बंद हो जाता है।