एसिंक्रोनस संदेश सांख्यिकी एक्सपोर्ट
exportMessagesStatistics संदेश इतिहास और सांख्यिकी को सर्वर पर एक CSV फ़ाइल में एक्सपोर्ट करता है। इसका उपयोग बड़े या पूरे-अकाउंट पुल के लिए करें जिन्हें messages:list हैंडल नहीं कर सकता है।
messages:list के बजाय एक्सपोर्ट का उपयोग कब करें
Anchor link toएक सीमित अवधि के लाइव, पेजिनेटेड लुकअप के लिए messages:list का उपयोग करें। exportMessagesStatistics का उपयोग तब करें जब परिणाम messages:list की डीप-पेजिनेशन सीमा (page × per_page > 100000) से अधिक हो, या जब लक्ष्य पेजिनेटेड JSON के बजाय एक एकल डाउनलोड करने योग्य फ़ाइल हो। एक्सपोर्ट में date_range या पंक्ति गणना पर कोई सीमा नहीं है, क्योंकि यह परिणाम को एक प्रतिक्रिया में रखने के बजाय डिस्क पर एक फ़ाइल में स्ट्रीम करता है।
एक्सपोर्ट फ्लो कैसे काम करता है
Anchor link tomessages:listके समान फ़िल्टर के साथexportको कॉल करें। प्रतिक्रिया फ़ाइल बनने से पहले तुरंत एकuidटास्क आइडेंटिफ़ायर लौटाती है।- उस
uidके साथstatusको पोल करें जब तक कि यहSTATUS_SUCCESS(याSTATUS_FAILED) रिपोर्ट न करे। - जेनरेट की गई फ़ाइल का नाम प्राप्त करने के लिए उसी
uidके साथresultको कॉल करें। - नाम से फ़ाइल डाउनलोड करें।
किसी एप्लिकेशन के लिए हाल के एक्सपोर्ट कार्यों को देखने के लिए lastTasks का उपयोग करें, और किसी कार्य को रद्द करने या उसकी फ़ाइल को जल्दी हटाने के लिए delete का उपयोग करें।
विधियाँ (Methods)
Anchor link toएक्सपोर्ट जीवनचक्र में पाँच विधियाँ हैं, साथ ही एक सादा डाउनलोड एंडपॉइंट भी है:
| विधि (Method) | विवरण (Description) |
|---|---|
exportMessagesStatistics/export | एक एक्सपोर्ट को क्यू में लगाता है और एक टास्क uid लौटाता है। |
exportMessagesStatistics/status | टास्क की प्रगति की जाँच करता है। |
exportMessagesStatistics/result | टास्क पूरा हो जाने पर जेनरेट की गई फ़ाइल का नाम लौटाता है। |
exportMessagesStatistics/lastTasks | एक एप्लिकेशन के लिए हाल के एक्सपोर्ट कार्यों को सूचीबद्ध करता है। |
exportMessagesStatistics/delete | रिटेंशन विंडो समाप्त होने से पहले किसी टास्क को रद्द करता है या उसकी फ़ाइल को हटाता है। |
| डाउनलोड | नाम से जेनरेट की गई CSV फ़ाइल डाउनलोड करता है। |
export
Anchor link toएक संदेश इतिहास एक्सपोर्ट को क्यू में लगाता है और तुरंत एक टास्क आइडेंटिफ़ायर लौटाता है।
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 होना चाहिए। |
export_messages | हाँ | ऑब्जेक्ट | एक्सपोर्ट पैरामीटर, नीचे वर्णित हैं। |
export_messages | नोट देखें | स्ट्रिंग | Pushwoosh एप्लिकेशन कोड। यदि app_group_code सेट नहीं है तो आवश्यक है। |
export_messages | नोट देखें | स्ट्रिंग | एप्लिकेशन समूह कोड, समूह में प्रत्येक ऐप में एक्सपोर्ट करता है। यदि application_code सेट नहीं है तो आवश्यक है। |
export_messages | नहीं | स्ट्रिंग | संदेश शीर्षक और सामग्री पर फ्री-टेक्स्ट खोज। |
export_messages | नहीं | ऑब्जेक्ट | संदेश फ़िल्टर, नीचे वर्णित हैं। पूरे अकाउंट इतिहास को एक्सपोर्ट करने के लिए छोड़ दें। |
export_messages | नहीं | ऐरे | CSV में शामिल करने के लिए कॉलम, नीचे वर्णित हैं। |
export_messages_v2.filters स्वीकार करता है:
| नाम | प्रकार | विवरण |
|---|---|---|
statuses | ऐरे | शामिल करने के लिए संदेश स्थितियाँ। संभावित मान
|
platforms | ऐरे | प्लेटफ़ॉर्म कोड (संख्यात्मक, जैसे iOS के लिए 1), messages:list द्वारा उपयोग किए जाने वाले प्लेटफ़ॉर्म नाम स्ट्रिंग्स नहीं। |
sent_date | ऑब्जेक्ट | भेजने की तारीख पर फ़िल्टर की गई रिपोर्टिंग अवधि: {"date_from": "YYYY-MM-DD", "date_to": "YYYY-MM-DD"}। |
created_date | ऑब्जेक्ट | संदेश बनाने की तारीख पर फ़िल्टर की गई रिपोर्टिंग अवधि, sent_date के समान प्रारूप। |
created_via | ऐरे | संदेश स्रोत। संभावित मान
|
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"}{ "error": "account not found"}status
Anchor link toएक एक्सपोर्ट टास्क की प्रगति लौटाता है।
POST https://api.pushwoosh.com/api/v2/statistics/exportMessagesStatistics/status
अनुरोध बॉडी पैरामीटर
Anchor link toexport द्वारा लौटाया गया टास्क आइडेंटिफ़ायर पास करें:
| नाम | आवश्यक | प्रकार | विवरण |
|---|---|---|---|
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" तक न पहुंच जाए।
result
Anchor link toटास्क पूरा हो जाने पर जेनरेट की गई फ़ाइल का नाम लौटाता है।
POST https://api.pushwoosh.com/api/v2/statistics/exportMessagesStatistics/result
अनुरोध बॉडी पैरामीटर
Anchor link toexport द्वारा लौटाया गया वही टास्क आइडेंटिफ़ायर पास करें:
| नाम | आवश्यक | प्रकार | विवरण |
|---|---|---|---|
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 मान को डाउनलोड एंडपॉइंट पर वैसे ही पास करें।
lastTasks
Anchor link toएक एप्लिकेशन के लिए हाल के एक्सपोर्ट कार्यों को सूचीबद्ध करता है, सबसे हाल का पहले।
POST https://api.pushwoosh.com/api/v2/statistics/exportMessagesStatistics/lastTasks
अनुरोध बॉडी पैरामीटर
Anchor link toप्रत्येक पैरामीटर एक वैकल्पिक फ़िल्टर है; उन सभी कार्यों को सूचीबद्ध करने के लिए सभी को छोड़ दें जिन तक टोकन की पहुंच है:
| नाम | आवश्यक | प्रकार | विवरण |
|---|---|---|---|
application | नहीं | स्ट्रिंग | Pushwoosh एप्लिकेशन कोड। उन सभी एप्लिकेशनों के कार्यों को सूचीबद्ध करने के लिए छोड़ दें जिन तक टोकन की पहुंच है। |
types | नहीं | ऐरे | विशिष्ट कार्य प्रकारों तक सीमित करें। केवल संदेश एक्सपोर्ट देखने के लिए [“TASK_TYPE_EXPORT का उपयोग करें। |
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" } } ]}delete
Anchor link to7-दिन की रिटेंशन विंडो समाप्त होने से पहले एक टास्क और उसकी फ़ाइल को हटाता है।
POST https://api.pushwoosh.com/api/v2/statistics/exportMessagesStatistics/delete
अनुरोध बॉडी पैरामीटर
Anchor link toexport द्वारा लौटाया गया टास्क आइडेंटिफ़ायर पास करें:
| नाम | आवश्यक | प्रकार | विवरण |
|---|---|---|---|
uid | हाँ | स्ट्रिंग (int64) | export प्रतिक्रिया से टास्क आइडेंटिफ़ायर, जैसे "177458"। |
उदाहरण अनुरोध
Anchor link to{ "uid": "177458"}{}डाउनलोड
Anchor link toresult द्वारा जेनरेट की गई 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 हल होना बंद हो जाता है।