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

বিজ্ঞপ্তি দিন

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

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

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

Anchor link to

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

  • segment: সেগমেন্ট কোড, একটি seglang এক্সপ্রেশন, বা একটি স্ট্রাকচার্ড ফিল্টার এক্সপ্রেশন দ্বারা একটি অডিয়েন্স সেগমেন্টকে টার্গেট করুন।
  • transactional: hwids, ইউজার আইডি, পুশ টোকেন, বা টেস্ট ডিভাইসের একটি সুস্পষ্ট তালিকায় পাঠান।
আকৃতি
{
"segment": { ... } // অথবা
"transactional": { ... }
}

NotifySegment

Anchor link to

যে ব্যবহারকারীরা একটি অডিয়েন্স সেগমেন্ট বা ফিল্টার এক্সপ্রেশনের সাথে মেলে তাদের টার্গেট করে।

ফিল্ডটাইপবর্ণনা
scheduleScheduleকখন এবং কিভাবে পাঠাতে হবে। আবশ্যক।
applicationstringঅ্যাপ্লিকেশন কোড
platformsarray of Platformযে প্ল্যাটফর্মগুলিতে বার্তাটি টার্গেট করা হয়েছে।
codestringসেগমেন্ট কোডexpression এবং filter_expression এর সাথে পারস্পরিকভাবে স্বতন্ত্র।
expressionstringSeglang এক্সপ্রেশন।
filter_expressionFilterExpressionস্ট্রাকচার্ড ফিল্টার এক্সপ্রেশন (অ্যাডভান্সড)।
payloadPayloadপুশ / এসএমএস / টেলিগ্রাম / কাকাও / লাইন / হোয়াটসঅ্যাপ / ভাইবার পেলোড। email_payload এর সাথে পারস্পরিকভাবে স্বতন্ত্র।
email_payloadEmailPayloadইমেল পেলোড।
campaignstringএই বার্তাটি অ্যাট্রিবিউট করার জন্য ক্যাম্পেইন কোড
frequency_cappingFrequencyCappingপ্রতি-ব্যবহারকারী ফ্রিকোয়েন্সি সীমা।
send_rateSendRateপাঠানোর জন্য থ্রটলিং।
message_typeMessageTypeMESSAGE_TYPE_MARKETING (ডিফল্ট) বা MESSAGE_TYPE_TRANSACTIONAL। কন্ট্রোল-গ্রুপ ফিল্টারিং নিয়ন্ত্রণ করে।
dynamic_content_placeholdersmap<string, string>কন্টেন্টে প্লেসহোল্ডার প্রতিস্থাপন করে।
meta_dataobjectডাউনস্ট্রিম অ্যানালিটিক্সে ফরোয়ার্ড করা ফ্রি-ফর্ম মেটাডেটা।

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

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আবশ্যক।
applicationstringঅ্যাপ্লিকেশন কোড
platformsarray of Platformযে প্ল্যাটফর্মগুলিতে বার্তাটি টার্গেট করা হয়েছে।
test_devicesboolযদি true হয়, তবে শুধুমাত্র অ্যাপের টেস্ট ডিভাইসগুলিতে পাঠান।
hwids{ "list": [string, ...] }শুধুমাত্র এই hwids এ পাঠান।
users{ "list": [string, ...] }শুধুমাত্র এই ইউজার আইডি তে পাঠান।
push_tokens{ "list": [string, ...] }শুধুমাত্র এই পুশ টোকেন এ পাঠান।
payloadPayloadপুশ / এসএমএস / টেলিগ্রাম / কাকাও / লাইন / হোয়াটসঅ্যাপ / ভাইবার পেলোড।
email_payloadEmailPayloadইমেল পেলোড।
return_unknown_identifiersboolযখন true হয়, প্রতিক্রিয়ার unknown_identifiers তালিকায় এমন আইডেন্টিফায়ার থাকে যা পাওয়া যায়নি।
use_latest_user_deviceboolশুধুমাত্র যখন আপনি users টার্গেট করেন তখন প্রযোজ্য। যখন true হয়, বার্তাটি প্রতিটি ব্যবহারকারীর সবচেয়ে সাম্প্রতিক সক্রিয় ডিভাইসে বিতরণ করা হয় — যেটিতে সর্বশেষ অ্যাপ্লিকেশন খোলার সময় ছিল — সেই ইউজার আইডির সাথে যুক্ত সমস্ত ডিভাইসের পরিবর্তে। ডিফল্ট 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অনন্য বার্তা কোড। এটি /getMessageDetails এবং বার্তা পরিসংখ্যান এন্ডপয়েন্টের সাথে ব্যবহার করুন।
unknown_identifiersarray of stringঅ্যাকাউন্টে পাওয়া যায়নি এমন আইডেন্টিফায়ার। শুধুমাত্র যখন transactional প্রকারে return_unknown_identifiers: true সেট করা হয়েছিল তখন এটি পূরণ করা হয়।

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

Anchor link to

শিডিউল

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"

প্ল্যাটফর্ম enum

Anchor link to

IOS, ANDROID, OSX, WINDOWS, AMAZON, SAFARI, CHROME, FIREFOX, IE, EMAIL, BAIDU_ANDROID, 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