পেলোড রেফারেন্স
যেকোনো নন-ইমেল চ্যানেলের (পুশ, SMS, টেলিগ্রাম, কাকাও, লাইন, হোয়াটসঅ্যাপ) মাধ্যমে পাঠানোর সময় Notify দ্বারা ব্যবহৃত Payload মেসেজের জন্য রেফারেন্স।
পেলোড (Payload)
Anchor link topreset(string): এই মেসেজে প্রয়োগ করার জন্য preset কোড।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 নোটিফিকেশন।
লোকালাইজড কন্টেন্ট (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 | কাকাও মেসেজ |
line | লাইন মেসেজ |
whatsapp | হোয়াটসঅ্যাপ মেসেজ |
সাধারণ পুশ ফিল্ড
Anchor link toএই ফিল্ডগুলো ios, android, huawei_android, baidu_android, mac_os, amazon, safari, chrome, এবং firefox ব্লক দ্বারা শেয়ার করা হয় (সাপোর্ট ভিন্ন হতে পারে। অব্যবহৃত ফিল্ডগুলো সংশ্লিষ্ট প্ল্যাটফর্ম দ্বারা উপেক্ষা করা হয়)।
title(string): নোটিফিকেশনের শিরোনাম।body(string): নোটিফিকেশনের বডি।time_to_live(duration, যেমন"3600s"): পুশ সার্ভার একটি অফলাইন ডিভাইসের জন্য কতক্ষণ নোটিফিকেশন ধরে রাখবে।sound(string): সাউন্ড ফাইলের নাম।sound_enabled(bool): সাউন্ড সক্রিয় বা দমন করুন।badges(string): ব্যাজ সংখ্যা (iOS) বা তার সমতুল্য।root_params(object): র প্ল্যাটফর্ম-নির্দিষ্ট পেলোড ওভাররাইড।inbox(Inbox): মেসেজ ইনবক্স এন্ট্রি।
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সহ নোটিফিকেশনগুলি ডিভাইসে একে অপরকে প্রতিস্থাপন করে।
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সহ নোটিফিকেশনগুলি একে অপরকে প্রতিস্থাপন করে।
macOS (mac_os)
Anchor link toসাধারণ পুশ ফিল্ড এবং subtitle ও action (ব্যবহারকারী নোটিফিকেশনে ক্লিক করলে যে URL খোলা হয়) ব্যবহার করে।
Amazon (amazon)
Anchor link toসাধারণ পুশ ফিল্ড এবং custom_icon ও priority (NotificationPriority) ব্যবহার করে।
Safari (safari)
Anchor link toaction(string): ব্যবহারকারী নোটিফিকেশনে ক্লিক করলে যে URL খোলা হয়।url_arguments(array of string): Safari URL আর্গুমেন্ট যা ওয়েব পুশ URL টেমপ্লেটে প্রতিস্থাপিত হয়।
Chrome (chrome)
Anchor link toicon,image(string): ছোট আইকন এবং বড় ছবির URL।duration(duration): স্বয়ংক্রিয়-বন্ধ টাইমার।button_text1/button_url1,button_text2/button_url2: দুটি পর্যন্ত অ্যাকশন বোতাম।
Firefox (firefox)
Anchor link toশুধুমাত্র title, body, icon, root_params, এবং inbox ব্যবহার করে।
Windows (windows)
Anchor link toউইন্ডোজ একটি ভিন্ন আকার ব্যবহার করে:
{ "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-স্ট্রিংগিফাইড ভেরিয়েবল।
কাকাও (kakao)
Anchor link tocontent(string): মেসেজের কন্টেন্ট।template(string): অনুমোদিত টেমপ্লেট কোড।content_variables(string): JSON-স্ট্রিংগিফাইড টেমপ্লেট ভেরিয়েবল বাইন্ডিং।
লাইন (line)
Anchor link tocontent(string): প্লেইন টেক্সট বডি।template(string): Pushwoosh কন্ট্রোল প্যানেলে কনফিগার করা একটি লাইন টেমপ্লেটের কোড (ছবি, ক্যারোসেল, বা ফ্লেক্স মেসেজ পাঠাতে ব্যবহৃত হয়)। রিচ কন্টেন্টের জন্য, কন্ট্রোল প্যানেলে টেমপ্লেটটি আগে থেকে কনফিগার করুন এবং এখানে তার রেফারেন্স দিন।
content বা template এর মধ্যে অন্তত একটি সেট করতে হবে।
হোয়াটসঅ্যাপ (whatsapp)
Anchor link toহোয়াটসঅ্যাপ মেসেজ মেটার মাধ্যমে যায় এবং মেটার মেসেজিং নিয়ম সাপেক্ষে। মূল বিভাজনটি হল ফ্রি-ফর্ম টেক্সট (শুধুমাত্র ব্যবহারকারীর কাছ থেকে ইনবাউন্ড মেসেজ দ্বারা খোলা ২৪-ঘণ্টার গ্রাহক পরিষেবা উইন্ডোর মধ্যে ডেলিভার করা হয়) এবং অনুমোদিত টেমপ্লেট (আউটবাউন্ড ইনিসিয়েশন এবং ২৪-ঘণ্টার উইন্ডোর বাইরের যেকোনো মেসেজের জন্য প্রয়োজন)।
content(string): ফ্রি-ফর্ম মেসেজ টেক্সট। শুধুমাত্র ২৪-ঘণ্টার উইন্ডোর মধ্যে মেটা দ্বারা ডেলিভার করা হয়।content_id(string): একটি পূর্ব-অনুমোদিত মেটা টেমপ্লেটের নাম (যেমন"hello_world")। আউটবাউন্ড ইনিসিয়েশন বা ২৪-ঘণ্টার উইন্ডোর বাইরের যেকোনো মেসেজের জন্য প্রয়োজন।language(string): টেমপ্লেট লোকেল যা মেটাতে অনুমোদিত লোকেলের সাথে হুবহু মিলতে হবে (যেমন"en_US","en_GB")। শুধুমাত্রcontent_id-এর সাথে অর্থপূর্ণ। এটি বাইরেরLocalizedContentকী থেকে স্বাধীন। বাইরের কী একটি ডিভাইসের জন্য কন্টেন্ট নির্বাচন করে, এবংlanguageসেই কন্টেন্টের জন্য মেটা-টেমপ্লেট লোকেল নির্বাচন করে।content_variables(string): বডি প্লেসহোল্ডার ম্যাপ করার JSON অবজেক্ট, যেমন"{\"1\":\"John\"}"।button_url_variables(string): বোতাম-ইউআরএল প্লেসহোল্ডার ম্যাপ করার JSON অবজেক্ট যা বোতাম ইনডেক্স দ্বারা কী করা হয়, যেমন"{\"0\":\"https://...\"}"।header_variables(string): হেডার প্লেসহোল্ডার ম্যাপ করার JSON অবজেক্ট যা টাইপ দ্বারা কী করা হয়, যেমন"{\"image\":\"https://...\"}"।
content বা content_id এর মধ্যে অন্তত একটি সেট করতে হবে।
SMS জেনেরিক মেসেজ ফ্লো ব্যবহার করে। sms প্ল্যাটফর্ম ব্লকটি সংরক্ষিত। যেকোনো পূরণ করা প্ল্যাটফর্ম ব্লকে সাধারণ body ফিল্ডের মাধ্যমে টেক্সট প্রদান করুন। প্রেরকের আইডি এবং অন্যান্য প্রদানকারীর বিকল্পগুলি অ্যাপের SMS কনফিগারেশন থেকে আসে। দেখুন SMS কনফিগারেশন।
OpenAction
Anchor link toব্যবহারকারী মেসেজটি খুললে যে অ্যাকশনটি সঞ্চালিত হয় তা নির্ধারণ করে।
এর মধ্যে ঠিক একটি:
rich_media(RichMedia): একটি রিচ মিডিয়া পেজ খুলুন।deep_link: একটি ডিপ লিঙ্ক খুলুন:{ "code": "flow-code", "params": { "key": "value" } }।link(Link): একটি URL খুলুন।
RichMedia
Anchor link to{ "code": "XXXXX-XXXXX" } // রিচ মিডিয়া কোড দ্বারা{ "url": "https://..." } // রিমোট URL দ্বারাLink
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" } }'