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

অবহিত করুন

POST https://api.pushwoosh.com/messaging/v2/notify

একটি একক বার্তা তৈরি এবং সময়সূচী করে।

অনুরোধের কাঠামো

Anchor link to

অনুরোধের বডিটি একটি NotifyRequest যা দুটি ধরণের মধ্যে ঠিক একটি:

  • segment: সেগমেন্ট কোড, একটি seglang এক্সপ্রেশন, বা একটি স্ট্রাকচার্ড ফিল্টার এক্সপ্রেশন দ্বারা একটি দর্শক সেগমেন্টকে লক্ষ্য করুন।
  • transactional: hwids, user IDs, push tokens, বা পরীক্ষা ডিভাইসের একটি সুস্পষ্ট তালিকায় পাঠান।
আকৃতি
{
"segment": { ... }, // অথবা
"transactional": { ... },
"transaction_id": "unique-uuid"
}
ক্ষেত্রটাইপবিবরণ
transaction_idstringঐচ্ছিক। অনুরোধের জন্য আইডমপোটেন্সি কী — segment এবং transactional উভয়ের সাথে কাজ করে। ৫ মিনিটের মধ্যে একই transaction_id দিয়ে একটি পুনরাবৃত্তি কল একটি ডুপ্লিকেট বার্তা পাঠানোর পরিবর্তে আসল message_code ফেরত দেয়। একটি UUID বা প্রতি যৌক্তিক পাঠানোর জন্য একটি অনন্য মান ব্যবহার করুন।

NotifySegment

Anchor link to

যারা একটি দর্শক সেগমেন্ট বা ফিল্টার এক্সপ্রেশনের সাথে মেলে তাদের লক্ষ্য করে।

ক্ষেত্রটাইপবিবরণ
scheduleScheduleকখন এবং কিভাবে পাঠাতে হবে। আবশ্যক।
applicationstringApplication code
platformsarray of Platformবার্তাটি যে প্ল্যাটফর্মগুলিকে লক্ষ্য করে।
codestringSegment codeexpression এবং filter_expression-এর সাথে পারস্পরিকভাবে স্বতন্ত্র।
expressionstringSeglang এক্সপ্রেশন।
filter_expressionFilterExpressionস্ট্রাকচার্ড ফিল্টার এক্সপ্রেশন (উন্নত)।
payloadPayloadপুশ / SMS / টেলিগ্রাম / Kakao / LINE / WhatsApp / Viber পেলোড। email_payload-এর সাথে পারস্পরিকভাবে স্বতন্ত্র।
email_payloadEmailPayloadইমেল পেলোড।
campaignstringএই বার্তাটিকে অ্যাট্রিবিউট করার জন্য Campaign code
frequency_cappingFrequencyCappingপ্রতি-ব্যবহারকারী ফ্রিকোয়েন্সি সীমা।
send_rateSendRateপাঠানোর জন্য থ্রটলিং।
message_typeMessageTypeMESSAGE_TYPE_MARKETING (ডিফল্ট) বা MESSAGE_TYPE_TRANSACTIONAL। কন্ট্রোল-গ্রুপ ফিল্টারিং নিয়ন্ত্রণ করে।
dynamic_content_placeholdersmap<string, string>কন্টেন্টে প্লেসহোল্ডার প্রতিস্থাপন করে।
meta_dataobjectডাউনস্ট্রিম অ্যানালিটিক্সে ফরোয়ার্ড করা ফ্রি-ফর্ম মেটাডেটা।
use_latest_user_deviceboolযখন true, তখন সেগমেন্ট দ্বারা ম্যাচ করা প্রতিটি ডিভাইসের পরিবর্তে প্রতিটি ব্যবহারকারীর সবচেয়ে সম্প্রতি সক্রিয় ডিভাইসে (সর্বশেষ Last Application Open সহ) বার্তাটি সরবরাহ করে। platforms-এ স্কোপ করা: শুধুমাত্র সেই প্ল্যাটফর্মের ডিভাইসগুলি বিবেচনা করা হয়, এবং যদি কোনোটিতে Last Application Open ডেটা না থাকে, তবে পাঠানো বাদ দেওয়ার পরিবর্তে প্রথম ম্যাচিং ডিভাইসটি ব্যবহার করা হয়। ডিফল্ট false (প্রতিটি ডিভাইসে পাঠান)।

উদাহরণ: একটি সেগমেন্টে পাঠান

Anchor link to
Terminal window
curl -X POST https://api.pushwoosh.com/messaging/v2/notify \
-H "Authorization: Token YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"segment": {
"application": "XXXXX-XXXXX",
"platforms": ["IOS", "ANDROID"],
"code": "active_users",
"payload": {
"content": {
"localized_content": {
"en": {
"ios": { "body": "Hello!" },
"android": { "body": "Hello!" }
}
}
}
},
"schedule": { "at": "2026-05-01T12:00:00Z" },
"message_type": "MESSAGE_TYPE_MARKETING"
}
}'

NotifyTransactional

Anchor link to

প্রাপকদের একটি সুস্পষ্ট তালিকায় পাঠায়।

ক্ষেত্রটাইপবিবরণ
scheduleScheduleআবশ্যক।
applicationstringApplication code
platformsarray of Platformবার্তাটি যে প্ল্যাটফর্মগুলিকে লক্ষ্য করে।
test_devicesboolযদি true হয়, তবে শুধুমাত্র অ্যাপের পরীক্ষা ডিভাইসগুলিতে পাঠান।
hwids{ "list": [string, ...] }শুধুমাত্র এই hwids-এ পাঠান।
users{ "list": [string, ...] }শুধুমাত্র এই user IDs-এ পাঠান।
push_tokens{ "list": [string, ...] }শুধুমাত্র এই push tokens-এ পাঠান।
payloadPayloadপুশ / SMS / টেলিগ্রাম / Kakao / LINE / WhatsApp / Viber পেলোড।
email_payloadEmailPayloadইমেল পেলোড।
return_unknown_identifiersboolযখন true, তখন প্রতিক্রিয়ার unknown_identifiers তালিকায় এমন আইডেন্টিফায়ার থাকে যা পাওয়া যায়নি।
use_latest_user_deviceboolশুধুমাত্র যখন আপনি users-কে লক্ষ্য করেন তখন প্রযোজ্য। উপরের NotifySegment-এর মতো একই আচরণ — প্রতি ডিভাইসের পরিবর্তে প্রতি ব্যবহারকারী একটি বার্তা সরবরাহ করে, platforms-এ স্কোপ করা। ডিফল্ট false
campaign, frequency_capping, send_rate, message_type, dynamic_content_placeholders, meta_dataউপরে NotifySegment দেখুন।

test_devices, hwids, users, এবং push_tokens পারস্পরিকভাবে স্বতন্ত্র। ঠিক একটি সেট করতে হবে।

উদাহরণ: ইউজার আইডি দ্বারা ট্রানজ্যাকশনাল

Anchor link to
Terminal window
curl -X POST https://api.pushwoosh.com/messaging/v2/notify \
-H "Authorization: Token YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"transactional": {
"application": "XXXXX-XXXXX",
"platforms": ["IOS", "ANDROID"],
"users": { "list": ["user-123", "user-456"] },
"payload": {
"content": {
"localized_content": {
"en": { "ios": { "body": "Your order has shipped." } }
}
}
},
"schedule": { "at": "2026-05-01T12:00:00Z" },
"message_type": "MESSAGE_TYPE_TRANSACTIONAL",
"return_unknown_identifiers": true,
"use_latest_user_device": true
}
}'

প্রতিক্রিয়া

Anchor link to
{
"result": {
"message_code": "XXXXX-XXXXX-XXXXX",
"unknown_identifiers": []
}
}
ক্ষেত্রটাইপবিবরণ
message_codestringঅনন্য message code। এটি /getMessageDetails এবং বার্তা পরিসংখ্যান এন্ডপয়েন্টের সাথে ব্যবহার করুন।
unknown_identifiersarray of stringঅ্যাকাউন্টে পাওয়া যায়নি এমন আইডেন্টিফায়ার। শুধুমাত্র যখন transactional ধরণের উপর return_unknown_identifiers: true সেট করা হয়েছিল তখন পপুলেট করা হয়।

শেয়ার্ড টাইপ

Anchor link to
{
"at": "2026-05-01T12:00:00Z",
"follow_user_timezone": true,
"past_timezones_behaviour": "PAST_TIMEZONES_BEHAVIOUR_SEND_IMMEDIATELY"
}
ক্ষেত্রটাইপবিবরণ
attimestampপরম পাঠানোর সময় (RFC 3339)। যদি অতীতে হয়, বার্তাটি অবিলম্বে পাঠানো হয়। ভবিষ্যতে সর্বোচ্চ ১৪ দিন।
afterdurationat-এর বিকল্প। “এখন” থেকে এই অফসেটের পরে পাঠান (যেমন "3600s")।
follow_user_timezoneboolযখন true, প্রতিটি ডিভাইস তার স্থানীয় টাইমজোনে at-এ বার্তাটি গ্রহণ করে।
past_timezones_behaviourenumPAST_TIMEZONES_BEHAVIOUR_SEND_IMMEDIATELY (ডিফল্ট), PAST_TIMEZONES_BEHAVIOUR_DO_NOT_SEND, বা PAST_TIMEZONES_BEHAVIOUR_NEXT_DAY। শুধুমাত্র যখন follow_user_timezone true হয় তখন অর্থপূর্ণ।

FrequencyCapping

Anchor link to

মার্কেটিং পাঠানোর জন্য প্রতি-ব্যবহারকারী ফ্রিকোয়েন্সি সীমা। ক্যাপিং নিষ্ক্রিয় করতে, frequency_capping সম্পূর্ণভাবে বাদ দিন, অথবা days: 0 এবং count: 0 একসাথে পাঠান।

{ "days": 7, "count": 3, "exclude": false, "avoid": true }
  • days (int, 1–30, বা 0 ক্যাপিং নিষ্ক্রিয় করতে): লুক-ব্যাক উইন্ডো। count-এর সাথে একসাথে পাঠাতে হবে — যদি একটি 0 হয়, তবে অন্যটিও 0 হতে হবে; একটিকে 0 হিসাবে পাঠানোর সময় অন্যটি অ-শূন্য হলে 400 ফেরত দেয়।
  • count (int, 1 বা তার বেশি, বা 0 ক্যাপিং নিষ্ক্রিয় করতে): days-এর মধ্যে অনুমোদিত সর্বোচ্চ বার্তা। উপরের days-এর মতো একই জোড়া নিয়ম।
  • exclude (bool): যারা ইতিমধ্যে ক্যাপে পৌঁছেছে তাদের হার্ড-এক্সক্লুড করুন।
  • avoid (bool): যারা ইতিমধ্যে ক্যাপে পৌঁছেছে তাদের সফট-এভয়েড করুন (তারা এখনও অ্যানালিটিক্সের জন্য গণনা করা হয়)।
{ "value": 500, "bucket": "1s", "avoid": false }

পাঠানোকে থ্রটল করে। value হল প্রতি bucket-এ বার্তা; সাধারণ bucket হল "1s"

Platform enum

Anchor link to

IOS, ANDROID, OSX, WINDOWS, AMAZON, SAFARI, CHROME, FIREFOX, IE, EMAIL, HUAWEI_ANDROID, SMS, WEB, KAKAO, TELEGRAM, LINE, WHATS_APP, VIBER

MessageType enum

Anchor link to
  • MESSAGE_TYPE_UNSPECIFIED: MESSAGE_TYPE_MARKETING-এর সমতুল্য।
  • MESSAGE_TYPE_MARKETING: কন্ট্রোল-গ্রুপ ফিল্টারিং এবং ফ্রিকোয়েন্সি ক্যাপিংয়ের অধীন।
  • MESSAGE_TYPE_TRANSACTIONAL: কন্ট্রোল-গ্রুপ ফিল্টারিং এবং ফ্রিকোয়েন্সি ক্যাপিং এড়িয়ে যায়। অর্ডার কনফার্মেশন, OTP, এবং অনুরূপ গুরুত্বপূর্ণ প্রবাহের জন্য ব্যবহার করুন।

সম্পর্কিত

Anchor link to