পেলোড রেফারেন্স
যেকোনো নন-ইমেল চ্যানেল (পুশ, SMS, টেলিগ্রাম, Kakao, LINE, Viber, WhatsApp) এর মাধ্যমে পাঠানোর সময় Notify দ্বারা ব্যবহৃত Payload মেসেজের জন্য রেফারেন্স।
পেলোড
Anchor link topreset(string): এই মেসেজে প্রয়োগ করার জন্য পুশ প্রিসেট কোড (ফরম্যাটXXXXX-XXXXX)।sms_preset(string): একটি সংরক্ষিত SMS প্রিসেট এর কোড (ফরম্যাটXXXXX-XXXXX)। এর প্রতি-লোকেল টেক্সট প্রতিটি লোকেল-এরsms.bodyতে সমাধান করা হয়। একটি নির্দিষ্ট লোকেল-এর জন্য একটি ইনলাইনsms.bodyসেই লোকেল-এর জন্য প্রিসেটকে ওভাররাইড করে। প্রিসেটটি অবশ্যই মেসেজের মতো একই অ্যাপ্লিকেশনের হতে হবে।content(LocalizedContent): মেসেজের বিষয়বস্তু।silentএর সাথে পারস্পরিকভাবে স্বতন্ত্র।silent(bool): একটি সাইলেন্ট (শুধুমাত্র ডেটা) পুশ পাঠান।contentএর সাথে পারস্পরিকভাবে স্বতন্ত্র।custom_data(object): ক্লায়েন্ট SDK-তেuপ্যারামিটার হিসাবে ফরোয়ার্ড করা ফ্রি-ফর্ম JSON।open_action(OpenAction): ব্যবহারকারী নোটিফিকেশন খুললে ট্রিগার করা অ্যাকশন।open_actions(map<Platform,OpenAction>):open_actionএর প্রতি-প্ল্যাটফর্ম ওভাররাইড। কী একটি সংখ্যাসূচকPlatformenum মান।voip_push(bool): iOS VoIP নোটিফিকেশন।
{ "payload": { "preset": "XXXXX-XXXXX", "content": { "localized_content": { "default": { "ios": { "title": "Hello", "body": "Tap to view" } } } }, "custom_data": { "order_id": "42" }, "open_action": { "link": { "url": "https://example.com/promo" } } }}LocalizedContent
Anchor link toলোকেল কোডকে প্রতি-প্ল্যাটফর্ম বিষয়বস্তুতে ম্যাপ করে। কীগুলি হল ISO 639-1 দুই-অক্ষরের কোড (উদাহরণস্বরূপ, "en", "es") এবং একটি ক্যাচ-অল অনুবাদের জন্য বিশেষ কী "default"। ISO 639-1 এর ব্যতিক্রম হল ঐতিহ্যবাহী এবং সরলীকৃত চীনা ভাষার জন্য "zh-Hant" এবং "zh-Hans"।
{ "localized_content": { "default": { "ios": { "title": "Hello", "body": "Tap to view" }, "android": { "title": "Hello", "body": "Tap to view" } }, "es": { "ios": { "title": "Hola", "body": "Toca para ver" }, "android": { "title": "Hola", "body": "Toca para ver" } } }}একটি ডিভাইসের জন্য লোকেল নির্বাচন
Anchor link toএকটি ডিভাইসে সরবরাহ করা বিষয়বস্তু এই ক্রমে বাছাই করা হয়:
- ডিভাইসের ভাষার সাথে সঠিক মিল।
- কী
"default"। - কী
"en"। - ম্যাপে উপস্থিত অন্য কোনো লোকেল।
অন্তত "default" বা "en" এর মধ্যে একটি প্রদান করুন যাতে প্রতিটি ডিভাইসের একটি ডিটারমিনিস্টিক ফলব্যাক থাকে। যদি আপনি প্রতি-লোকেল ভেরিয়েন্টের আশা না করেন, তবে শুধুমাত্র "default" পাঠান।
প্রতিটি লোকেল এন্ট্রি একটি Content অবজেক্ট যা ঐচ্ছিক প্রতি-প্ল্যাটফর্ম ব্লক সহ। শুধুমাত্র আপনি যে প্ল্যাটফর্মগুলিকে টার্গেট করছেন সেগুলি পূরণ করুন।
| প্ল্যাটফর্ম ব্লক | চ্যানেল |
|---|---|
ios | iOS পুশ |
android | Android (FCM) পুশ |
huawei_android | Huawei Android পুশ |
baidu_android | Baidu Android পুশ |
mac_os | macOS পুশ |
amazon | Amazon (ADM) পুশ |
safari | Safari ওয়েব পুশ |
chrome | Chrome ওয়েব পুশ |
firefox | Firefox ওয়েব পুশ |
ie | Internet Explorer ওয়েব পুশ |
windows | Windows পুশ (টাইল / টোস্ট / ব্যাজ) |
telegram | টেলিগ্রাম মেসেজ |
kakao | Kakao মেসেজ |
line | LINE মেসেজ |
viber | Viber মেসেজ |
whatsapp | WhatsApp মেসেজ |
sms | SMS মেসেজ |
সাধারণ পুশ ফিল্ড
Anchor link toএই ফিল্ডগুলি ios, android, huawei_android, baidu_android, mac_os, amazon, safari, chrome, এবং firefox ব্লক দ্বারা শেয়ার করা হয় (সাপোর্ট ভিন্ন হতে পারে। অব্যবহৃত ফিল্ডগুলি সংশ্লিষ্ট প্ল্যাটফর্ম দ্বারা উপেক্ষা করা হয়)।
title(string): নোটিফিকেশনের শিরোনাম।body(string): নোটিফিকেশনের বডি।time_to_live(duration, e.g."3600s"): একটি অফলাইন ডিভাইসের জন্য পুশ সার্ভারের কতক্ষণ নোটিফিকেশন ধরে রাখা উচিত।sound(string): সাউন্ড ফাইলের নাম।sound_enabled(bool): সাউন্ড সক্ষম বা দমন করুন।badges(string): ব্যাজ সংখ্যা (iOS) বা অ্যানালগ।root_params(object): র প্ল্যাটফর্ম-নির্দিষ্ট পেলোড ওভাররাইড।inbox(Inbox): মেসেজ ইনবক্স এন্ট্রি।
{ "android": { "title": "Hello", "body": "Tap to view", "time_to_live": "3600s", "sound": "default", "sound_enabled": true, "badges": "+1" }}iOS (ios)
Anchor link tosubtitle(string): iOS নোটিফিকেশনের সাবটাইটেল।is_critical(bool): ক্রিটিক্যাল অ্যালার্ট (এনটাইটেলমেন্ট প্রয়োজন)।attachment(string): একটি মিডিয়া অ্যাটাচমেন্টের URL।thread_id(string): গ্রুপ করা নোটিফিকেশনের জন্য থ্রেড আইডেন্টিফায়ার।trim_content(bool): ফিট করার জন্য বিষয়বস্তু ট্রিম করুন।category_id(string): ইন্টারেক্টিভ অ্যাকশনের জন্যUNNotificationCategoryআইডেন্টিফায়ার।interruption_level(string):passive,active,time-sensitive, বাcritical।collapse_id(string): APNs কলাপ্স আইডেন্টিফায়ার। একইcollapse_idসহ নোটিফিকেশনগুলি ডিভাইসে একে অপরকে প্রতিস্থাপন করে।
{ "ios": { "title": "Hello", "body": "Tap to view", "subtitle": "New update", "attachment": "https://cdn.example.com/image.png", "interruption_level": "active", "thread_id": "promo" }}Android (android, huawei_android, baidu_android)
Anchor link toicon(string): নোটিফিকেশনের ছোট আইকন।banner(string): বড় ছবির URL।delivery_priority(NORMAL|HIGH): FCM ডেলিভারি প্রায়োরিটি।vibration(bool): রিসিভ করার সময় ভাইব্রেশন।led_color(string, hex): নোটিফিকেশন LED রঙ।icon_background_color(string, hex): আইকন ব্যাকগ্রাউন্ড রঙ।show_on_lockscreen(bool): লক স্ক্রিনে দেখান।custom_icon(string): একটি কাস্টম আইকনের URL।priority(NotificationPriority): ইন-ট্রে প্রায়োরিটি।group_id(string): নোটিফিকেশন গ্রুপ কী।collapse_key(string): FCM কলাপ্স কী। ডিভাইস অফলাইন থাকাকালীন একইcollapse_keyসহ নোটিফিকেশনগুলি একে অপরকে প্রতিস্থাপন করে।
{ "android": { "title": "Hello", "body": "Tap to view", "icon": "ic_notification", "banner": "https://cdn.example.com/banner.png", "led_color": "#FF0000", "priority": "PRIORITY_HIGH", "delivery_priority": "HIGH" }}macOS (mac_os)
Anchor link toসাধারণ পুশ ফিল্ড এবং subtitle ও action (ব্যবহারকারী নোটিফিকেশনে ক্লিক করলে খোলা URL) ব্যবহার করে।
{ "mac_os": { "title": "Hello", "body": "Tap to view", "subtitle": "New update", "action": "https://example.com/promo" }}Amazon (amazon)
Anchor link toসাধারণ পুশ ফিল্ড এবং custom_icon ও priority (NotificationPriority) ব্যবহার করে।
{ "amazon": { "title": "Hello", "body": "Tap to view", "custom_icon": "https://cdn.example.com/icon.png", "priority": "PRIORITY_HIGH" }}Safari (safari)
Anchor link toaction(string): ব্যবহারকারী নোটিফিকেশনে ক্লিক করলে খোলা URL।url_arguments(array of string): Safari URL আর্গুমেন্ট যা ওয়েব পুশ URL টেমপ্লেটে প্রতিস্থাপিত হয়।
{ "safari": { "title": "Hello", "body": "Tap to view", "action": "https://example.com/promo", "url_arguments": ["promo", "2026"] }}Chrome (chrome)
Anchor link toicon,image(string): ছোট আইকন এবং বড় ছবির URL।duration(duration): অটো-ক্লোজ টাইমার।button_text1/button_url1,button_text2/button_url2: দুটি পর্যন্ত অ্যাকশন বাটন।
{ "chrome": { "title": "Hello", "body": "Tap to view", "icon": "https://cdn.example.com/icon.png", "image": "https://cdn.example.com/banner.png", "duration": "20s", "button_text1": "Open", "button_url1": "https://example.com/promo" }}Firefox (firefox)
Anchor link toশুধুমাত্র title, body, icon, root_params, এবং inbox ব্যবহার করে।
{ "firefox": { "title": "Hello", "body": "Tap to view", "icon": "https://cdn.example.com/icon.png" }}Windows (windows)
Anchor link toWindows একটি ভিন্ন আকার ব্যবহার করে:
{ "windows": { "type": "TOAST", "template": { "title": "Hello", "body": "Tap to view" }, "tag": "promo", "cache": true, "time_to_live": "3600s" }}typeহলTILE,TOAST, বাBADGE।template(structured) বাraw({ "content": "<raw xml>" }) — ঠিক একটি।
টেলিগ্রাম (telegram)
Anchor link tobody(string): মেসেজের টেক্সট।content_variables(string): বট-সাইড টেমপ্লেটের জন্য JSON-স্ট্রিংগিফাইড ভেরিয়েবল।
{ "telegram": { "body": "Hello from Pushwoosh", "content_variables": "{\"name\":\"John\"}" }}Kakao (kakao)
Anchor link tocontent(string): মেসেজের বিষয়বস্তু।template(string): অনুমোদিত টেমপ্লেট কোড।content_variables(string): JSON-স্ট্রিংগিফাইড টেমপ্লেট ভেরিয়েবল বাইন্ডিং।
{ "kakao": { "content": "Hello from Pushwoosh", "template": "welcome_v1", "content_variables": "{\"name\":\"John\"}" }}LINE (line)
Anchor link tocontent(string): প্লেইন টেক্সট বডি।template(string): Pushwoosh কন্ট্রোল প্যানেলে কনফিগার করা একটি LINE টেমপ্লেটের কোড (ছবি, ক্যারোসেল, বা ফ্লেক্স মেসেজ পাঠানোর জন্য ব্যবহৃত)। রিচ কন্টেন্টের জন্য, কন্ট্রোল প্যানেলে টেমপ্লেটটি আগে থেকে কনফিগার করুন এবং এখানে তার রেফারেন্স দিন।
content বা template এর মধ্যে অন্তত একটি সেট করতে হবে।
{ "line": { "content": "Hello from Pushwoosh", "template": "promo_carousel" }}Viber (viber)
Anchor link toএকটি Viber মেসেজ হয় একটি ফ্রি-টেক্সট বডি অথবা একটি পূর্ব-অনুমোদিত ট্রানজ্যাকশনাল টেমপ্লেট (Omni Messaging / MStat) যা আইডি এবং ভাষা দ্বারা রেফারেন্স করা হয়।
body(string): প্লেইন টেক্সট মেসেজ।template_idসেট না থাকলে প্রয়োজন।template_id(string): একটি পূর্ব-অনুমোদিত ট্রানজ্যাকশনাল টেমপ্লেটের আইডি। সেট করা হলে, এটিbodyএর উপর অগ্রাধিকার পায়।template_lang(string): টেমপ্লেট লোকেল।template_idসেট করা হলে প্রয়োজন।template_params(map<string, string>): টেমপ্লেটে প্রতিস্থাপিত কী/মান বাইন্ডিং, যেমন{ "name": "John", "code": "123456" }।all_devices(bool):false(ডিফল্ট) শুধুমাত্র ব্যবহারকারীর প্রাথমিক ডিভাইসে ডেলিভার করে;trueব্যবহারকারীর সমস্ত ডিভাইসে ডেলিভার করে।
body বা template_id এর মধ্যে অন্তত একটি সেট করতে হবে। যখন template_id সেট করা হয়, তখন template_lang প্রয়োজন।
Viber প্রাপকদের viber:<phone> (E.164) ফর্মে hwids হিসাবে ঠিকানা দিন, উদাহরণস্বরূপ viber:+1234567890।
প্লেইন টেক্সট:
{ "viber": { "body": "Hello from Pushwoosh" }}ট্রানজ্যাকশনাল টেমপ্লেট:
{ "viber": { "template_id": "e3dec4a0-c063-4b0f-96d5-cf9d629a7abe", "template_lang": "en", "template_params": { "name": "John", "code": "123456", "expires_in": "5 minutes" }, "all_devices": false }}WhatsApp (whatsapp)
Anchor link toWhatsApp মেসেজ Meta-এর মাধ্যমে যায় এবং Meta-এর মেসেজিং নিয়ম সাপেক্ষে। মূল বিভাজনটি হল ফ্রি-ফর্ম টেক্সট (শুধুমাত্র ব্যবহারকারীর কাছ থেকে একটি ইনবাউন্ড মেসেজ দ্বারা খোলা ২৪-ঘন্টার গ্রাহক পরিষেবা উইন্ডোর মধ্যে ডেলিভার করা হয়) এবং অনুমোদিত টেমপ্লেট (আউটবাউন্ড ইনিসিয়েশন এবং ২৪-ঘন্টার উইন্ডোর বাইরের যেকোনো মেসেজের জন্য প্রয়োজন)।
content(string): ফ্রি-ফর্ম মেসেজ টেক্সট। Meta দ্বারা শুধুমাত্র ২৪-ঘন্টার উইন্ডোর মধ্যে ডেলিভার করা হয়।content_id(string): একটি পূর্ব-অনুমোদিত Meta টেমপ্লেটের নাম (যেমন"hello_world")। আউটবাউন্ড ইনিসিয়েশন বা ২৪-ঘন্টার উইন্ডোর বাইরের যেকোনো মেসেজের জন্য প্রয়োজন।language(string): টেমপ্লেট লোকেল যা Meta-তে অনুমোদিত লোকেলটির সাথে হুবহু মিলতে হবে (যেমন"en_US","en_GB")। শুধুমাত্রcontent_idএর সাথে অর্থপূর্ণ। এটি বাইরেরLocalizedContentকী থেকে স্বাধীন। বাইরের কী একটি ডিভাইসের জন্য বিষয়বস্তু নির্বাচন করে, এবংlanguageসেই বিষয়বস্তুর জন্য Meta-টেমপ্লেট লোকেল নির্বাচন করে।content_variables(string): বডি প্লেসহোল্ডার ম্যাপ করা JSON অবজেক্ট, যেমন"{\"1\":\"John\"}"।button_url_variables(string): বাটন-URL প্লেসহোল্ডার ম্যাপ করা JSON অবজেক্ট যা বাটন ইনডেক্স দ্বারা কী করা হয়, যেমন"{\"0\":\"https://...\"}"।header_variables(string): হেডার প্লেসহোল্ডার ম্যাপ করা JSON অবজেক্ট যা টাইপ দ্বারা কী করা হয়, যেমন"{\"image\":\"https://...\"}"।
content বা content_id এর মধ্যে অন্তত একটি সেট করতে হবে।
{ "whatsapp": { "content_id": "hello_world", "language": "en_US", "content_variables": "{\"1\":\"John\"}" }}SMS (sms)
Anchor link toSMS-এর প্রতিটি লোকেল-এর Content এর ভিতরে নিজস্ব প্ল্যাটফর্ম ব্লক রয়েছে, ios, android, এবং অন্যান্য মেসেজিং চ্যানেলের পাশাপাশি।
body(string): লোকেল-এর জন্য SMS টেক্সট।smsব্লক উপস্থিত থাকলে প্রয়োজন।
টেক্সট সরবরাহ করার দুটি উপায় আছে:
- ইনলাইন —
localized_content-এ প্রতি লোকেল-এsms.bodyসেট করুন। - একটি প্রিসেট থেকে — পেলোড-স্তরের
sms_presetএকটি সংরক্ষিত SMS প্রিসেট এর কোডে (ফরম্যাটXXXXX-XXXXX) সেট করুন। এর প্রতি-লোকেল বিষয়বস্তু প্রতিটি লোকেল-এর জন্যsms.body-তে সমাধান করা হয় যা প্রিসেট সংজ্ঞায়িত করে। একটি লোকেল-এর জন্য একটি ইনলাইনsms.bodyসেই লোকেল-এর জন্য প্রিসেটকে ওভাররাইড করে, তাই আপনি একটি প্রিসেট পুনরায় ব্যবহার করতে পারেন এবং এখনও পৃথক ভাষা পরিবর্তন করতে পারেন।
{ "payload": { "sms_preset": "XXXXX-XXXXX", "content": { "localized_content": { "default": { "sms": { "body": "Your order has shipped." } }, "es": { "sms": { "body": "Tu pedido ha sido enviado." } } } } }}OpenAction
Anchor link toব্যবহারকারী মেসেজ খুললে যে অ্যাকশনটি করা হয় তা সংজ্ঞায়িত করে।
ঠিক একটি:
rich_media(RichMedia): একটি রিচ মিডিয়া পেজ খুলুন।deep_link: একটি ডিপ লিঙ্ক খুলুন:{ "code": "flow-code", "params": { "key": "value" } }।link(Link): একটি URL খুলুন।
{ "open_action": { "deep_link": { "code": "flow-code", "params": { "promo": "summer" } } }}RichMedia
Anchor link to{ "code": "XXXXX-XXXXX" } // by Rich Media code{ "url": "https://..." } // by remote URLLink
Anchor link to{ "url": "https://example.com/promo", "shortener": "BITLY"}shortener হল NONE (ডিফল্ট) বা BITLY।
Inbox
Anchor link toমেসেজ ইনবক্সে মেসেজটি কীভাবে প্রদর্শিত হবে তা কনফিগার করে।
{ "image_url": "https://cdn.example.com/inbox.png", "expiration_date": "2026-05-15T00:00:00Z"}image_url(string): ইনবক্স এন্ট্রিতে দেখানো ছবি।expiration_date(timestamp): যখন এন্ট্রিটি ইনবক্স থেকে সরানো হয়।
NotificationPriority enum
Anchor link toটার্গেট ডিভাইসে নোটিফিকেশন প্রায়োরিটি নিয়ন্ত্রণ করে, PRIORITY_MIN (সর্বনিম্ন) থেকে PRIORITY_MAX (সর্বোচ্চ) পর্যন্ত।
PRIORITY_UNSPECIFIEDPRIORITY_MINPRIORITY_LOWPRIORITY_DEFAULTPRIORITY_HIGHPRIORITY_MAX
উদাহরণ: একটি সেগমেন্টে পুশ পাঠান
Anchor link tocurl -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": { "title": "Hello", "body": "Hello, world!" }, "android": { "title": "Hello", "body": "Hello, world!" } }, "es": { "ios": { "title": "¡Hola!", "body": "¡Hola, mundo!" }, "android": { "title": "¡Hola!", "body": "¡Hola, mundo!" } } } }, "open_action": { "link": { "url": "https://example.com/promo" } } }, "schedule": { "at": "2026-05-01T12:00:00Z" }, "message_type": "MESSAGE_TYPE_MARKETING" } }'উদাহরণ: ইউজার আইডি দ্বারা ট্রানজ্যাকশনাল পুশ
Anchor link tocurl -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": ["customer-42"] }, "payload": { "content": { "localized_content": { "default": { "ios": { "title": "Your order", "body": "Order #42 has shipped." }, "android": { "title": "Your order", "body": "Order #42 has shipped." } } } }, "custom_data": { "order_id": "42" } }, "schedule": { "at": "2026-05-01T12:00:00Z" }, "message_type": "MESSAGE_TYPE_TRANSACTIONAL" } }'