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

পেলোড রেফারেন্স

যেকোনো নন-ইমেল চ্যানেল (পুশ, এসএমএস, টেলিগ্রাম, কাকাও, লাইন, ভাইবার, হোয়াটসঅ্যাপ) এর মাধ্যমে পাঠানোর সময় Notify দ্বারা ব্যবহৃত Payload বার্তার জন্য রেফারেন্স।

পেলোড (Payload)

Anchor link to
  • preset (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 এর প্রতি-প্ল্যাটফর্ম ওভাররাইড। কী হল একটি সংখ্যাসূচক Platform enum মান।
  • 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

একটি ডিভাইসে সরবরাহ করা কনটেন্ট এই ক্রমে বাছাই করা হয়:

  1. ডিভাইসের ভাষার সাথে সঠিক মিল।
  2. কী "default"
  3. কী "en"
  4. ম্যাপে উপস্থিত অন্য যেকোনো লোকেল।

অন্তত "default" বা "en" এর মধ্যে একটি প্রদান করুন যাতে প্রতিটি ডিভাইসের একটি ডিটারমিনিস্টিক ফলব্যাক থাকে। যদি আপনি প্রতি-লোকেল ভ্যারিয়েন্ট আশা না করেন, তবে শুধুমাত্র "default" পাঠান।

প্রতিটি লোকেল এন্ট্রি একটি Content অবজেক্ট যা ঐচ্ছিক প্রতি-প্ল্যাটফর্ম ব্লক সহ। শুধুমাত্র আপনি যে প্ল্যাটফর্মগুলিকে টার্গেট করছেন সেগুলি পূরণ করুন।

প্ল্যাটফর্ম ব্লকচ্যানেল
iosiOS পুশ
androidAndroid (FCM) পুশ
huawei_androidHuawei Android পুশ
baidu_androidBaidu Android পুশ
mac_osmacOS পুশ
amazonAmazon (ADM) পুশ
safariSafari ওয়েব পুশ
chromeChrome ওয়েব পুশ
firefoxFirefox ওয়েব পুশ
ieInternet Explorer ওয়েব পুশ
windowsWindows পুশ (টাইল / টোস্ট / ব্যাজ)
telegramটেলিগ্রাম বার্তা
kakaoকাকাও বার্তা
lineলাইন বার্তা
viberভাইবার বার্তা
whatsappহোয়াটসঅ্যাপ বার্তা
smsএসএমএস বার্তা

সাধারণ পুশ ফিল্ড

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): মেসেজ ইনবক্স এন্ট্রি।
{
"android": {
"title": "Hello",
"body": "Tap to view",
"time_to_live": "3600s",
"sound": "default",
"sound_enabled": true,
"badges": "+1"
}
}
  • subtitle (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 to
  • icon (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

সাধারণ পুশ ফিল্ড এবং subtitleaction (ব্যবহারকারী নোটিফিকেশনে ক্লিক করলে খোলা URL) ব্যবহার করে।

{
"mac_os": {
"title": "Hello",
"body": "Tap to view",
"subtitle": "New update",
"action": "https://example.com/promo"
}
}

Amazon (amazon)

Anchor link to

সাধারণ পুশ ফিল্ড এবং custom_iconpriority (NotificationPriority) ব্যবহার করে।

{
"amazon": {
"title": "Hello",
"body": "Tap to view",
"custom_icon": "https://cdn.example.com/icon.png",
"priority": "PRIORITY_HIGH"
}
}

Safari (safari)

Anchor link to
  • action (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 to
  • icon, 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 to

Windows একটি ভিন্ন আকার ব্যবহার করে:

{
"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 to
  • body (string): বার্তার টেক্সট।
  • content_variables (string): বট-সাইড টেমপ্লেটের জন্য JSON-স্ট্রিংগিফাইড ভেরিয়েবল।
{
"telegram": {
"body": "Hello from Pushwoosh",
"content_variables": "{\"name\":\"John\"}"
}
}

কাকাও (kakao)

Anchor link to
  • content (string): বার্তার কনটেন্ট।
  • template (string): অনুমোদিত টেমপ্লেট কোড।
  • content_variables (string): JSON-স্ট্রিংগিফাইড টেমপ্লেট ভেরিয়েবল বাইন্ডিং।
{
"kakao": {
"content": "Hello from Pushwoosh",
"template": "welcome_v1",
"content_variables": "{\"name\":\"John\"}"
}
}

লাইন (line)

Anchor link to
  • content (string): প্লেইন টেক্সট বডি।
  • template (string): Pushwoosh কন্ট্রোল প্যানেলে কনফিগার করা একটি LINE টেমপ্লেটের কোড (ছবি, ক্যারোসেল বা ফ্লেক্স বার্তা পাঠাতে ব্যবহৃত)। রিচ কনটেন্টের জন্য, কন্ট্রোল প্যানেলে টেমপ্লেটটি আগে থেকে কনফিগার করুন এবং এখানে তার রেফারেন্স দিন।

content বা template এর মধ্যে অন্তত একটি সেট করতে হবে।

{
"line": {
"content": "Hello from Pushwoosh",
"template": "promo_carousel"
}
}

ভাইবার (viber)

Anchor link to

একটি ভাইবার বার্তা হয় একটি ফ্রি-টেক্সট বডি অথবা একটি পূর্ব-অনুমোদিত ট্রানজেকশনাল টেমপ্লেট (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:<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)

Anchor link to

হোয়াটসঅ্যাপ বার্তাগুলি 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)

Anchor link to

এসএমএস-এর প্রতিটি লোকেলে Content এর ভিতরে নিজস্ব প্ল্যাটফর্ম ব্লক রয়েছে, ios, android এবং অন্যান্য মেসেজিং চ্যানেলের পাশাপাশি।

  • body (string): লোকেলটির জন্য এসএমএস টেক্সট। 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." } }
}
}
}
}

এমএমএস (MMS)

Anchor link to

একটি sms ব্লকে subject এবং file_urls যোগ করলে বার্তাটি একটি এমএমএস-এ পরিণত হয়। শুধুমাত্র AbleMobile এর একটি এমএমএস এন্ডপয়েন্ট আছে — অন্যান্য এসএমএস প্রদানকারীরা উভয় ফিল্ড উপেক্ষা করে এবং শুধুমাত্র প্লেইন-টেক্সট body ডেলিভার করে।

  • subject (string): এমএমএস সাবজেক্ট। file_urls-এ অন্তত একটি এন্ট্রি প্রয়োজন — অ্যাটাচমেন্ট ছাড়া একটি সাবজেক্ট প্রত্যাখ্যান করা হয়। ৪০টি ASCII অক্ষর পর্যন্ত, অথবা যদি সাবজেক্টে নন-ASCII অক্ষর থাকে তবে ১৩টি অক্ষর।
  • file_urls (array of string): ৩টি পর্যন্ত অ্যাটাচমেন্ট URL। প্রতিটি একটি পরম https URL হতে হবে যা .jpg বা .gif দিয়ে শেষ হয় — .jpeg এবং .png ভ্যালিডেশন দ্বারা প্রত্যাখ্যান করা হয়, এমনকি একটি আসল JPEG বা PNG ফাইলের জন্যও, কারণ প্রদানকারী সেগুলি ডিকোড করতে পারে না। প্রতিটি ফাইল ২০০ KB বা তার কম হতে হবে; কোনো অ্যাটাচমেন্ট ভারী হলে AbleMobile পুরো সেন্ডটি প্রত্যাখ্যান করে।
  • message_at (int): file_urls-এ ইনডেক্স (0-ভিত্তিক) যার পরে এসএমএস বডি টেক্সট দেখানো হয়।

subject এবং file_urls লিকুইড পার্সোনালাইজেশন সমর্থন করে, body-এর মতোই।

{
"sms": {
"body": "Your order has shipped.",
"subject": "Order update",
"file_urls": [
"https://cdn.example.com/shipping-label.jpg",
"https://cdn.example.com/tracking-map.gif"
],
"message_at": 1
}
}

ওপেনঅ্যাকশন (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" } }
}
}

ডিপলিঙ্ক URL এবং params মানগুলি লিকুইড পার্সোনালাইজেশন সিনট্যাক্স সমর্থন করে — ডিপ লিঙ্ক খোলার আগে এক্সপ্রেশনগুলি সমাধান করা হয়।

রিচমিডিয়া (RichMedia)

Anchor link to
{ "code": "XXXXX-XXXXX" } // রিচ মিডিয়া কোড দ্বারা
{ "url": "https://..." } // রিমোট URL দ্বারা
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_UNSPECIFIED
  • PRIORITY_MIN
  • PRIORITY_LOW
  • PRIORITY_DEFAULT
  • PRIORITY_HIGH
  • PRIORITY_MAX

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

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": { "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 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": ["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"
}
}'