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

নোটিফাই

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

একটি একক বার্তা তৈরি এবং শিডিউল করে।

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

Anchor link to

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

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

নোটিফাইসেগমেন্ট

Anchor link to

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

ফিল্ডটাইপবিবরণ
scheduleScheduleকখন এবং কিভাবে পাঠাতে হবে। আবশ্যক।
applicationstringঅ্যাপ্লিকেশন কোড
platformsarray of Platformপ্ল্যাটফর্ম যা বার্তাটি টার্গেট করে।
codestringসেগমেন্ট কোডexpression এবং filter_expression এর সাথে পারস্পরিকভাবে স্বতন্ত্র।
expressionstringSeglang এক্সপ্রেশন।
filter_expressionFilterExpressionস্ট্রাকচার্ড ফিল্টার এক্সপ্রেশন (অ্যাডভান্সড)।
payloadPayloadপুশ / SMS / টেলিগ্রাম / Kakao পেলোড। 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"
}
}'

নোটিফাইট্রানজ্যাকশনাল

Anchor link to

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

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

ফ্রিকোয়েন্সি ক্যাপিং

Anchor link to

মার্কেটিং পাঠানোর জন্য প্রতি-ব্যবহারকারী ফ্রিকোয়েন্সি সীমা।

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

সেন্ড রেট

Anchor link to
{ "value": 500, "bucket": "1s", "avoid": false }

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

প্ল্যাটফর্ম ইনাম

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

মেসেজটাইপ ইনাম

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

সম্পর্কিত

Anchor link to