বিষয়বস্তুতে যান

অ্যাসিঙ্ক্রোনাস মেসেজ পরিসংখ্যান এক্সপোর্ট

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 ব্যবহার করুন।

মেথড

Anchor link to

এক্সপোর্ট লাইফসাইকেলে পাঁচটি মেথড রয়েছে, সাথে একটি সাধারণ ডাউনলোড এন্ডপয়েন্ট:

মেথডবিবরণ
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টি আর কাজ করে না।