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

যেকোনো নন-ইমেল চ্যানেল (পুশ, SMS, টেলিগ্রাম, কাকাও, লাইন, ভাইবার, হোয়াটসঅ্যাপ) এর মাধ্যমে পাঠানোর সময় [`Notify`](/bn/developer/api-reference/messaging-api-v2/notify/) দ্বারা ব্যবহৃত `Payload` মেসেজের জন্য রেফারেন্স।

<Aside type="note">
ইমেলের জন্য, [ইমেল পেলোড রেফারেন্স](/bn/developer/api-reference/messaging-api-v2/email-payload-reference/) দেখুন।
</Aside>

## পেলোড (Payload)

- `preset` (string): এই মেসেজে প্রয়োগ করার জন্য [পুশ প্রিসেট](/bn/product/content/push-presets/) কোড (ফরম্যাট `XXXXX-XXXXX`)।
- `sms_preset` (string): একটি সংরক্ষিত [SMS প্রিসেট](/bn/product/content/sms-presets/) এর কোড (ফরম্যাট `XXXXX-XXXXX`)। এর প্রতি-লোকেল টেক্সট প্রতিটি লোকেল-এর [`sms.body`](#sms-sms) তে রূপান্তরিত হয়। একটি নির্দিষ্ট লোকেল-এর জন্য একটি ইনলাইন `sms.body` সেই লোকেল-এর জন্য প্রিসেটটিকে ওভাররাইড করে। প্রিসেটটি অবশ্যই মেসেজের মতো একই অ্যাপ্লিকেশনের হতে হবে।
- `content` ([`LocalizedContent`](#localizedcontent)): মেসেজের বিষয়বস্তু। `silent` এর সাথে পারস্পরিকভাবে স্বতন্ত্র।
- `silent` (bool): একটি সাইলেন্ট (শুধুমাত্র ডেটা) পুশ পাঠান। `content` এর সাথে পারস্পরিকভাবে স্বতন্ত্র।
- `custom_data` (object): ক্লায়েন্ট SDK-তে `u` প্যারামিটার হিসাবে ফরোয়ার্ড করা ফ্রি-ফর্ম JSON।
- `open_action` ([`OpenAction`](#openaction)): ব্যবহারকারী নোটিফিকেশন খুললে ট্রিগার করা অ্যাকশন।
- `open_actions` (map&lt;Platform, `OpenAction`&gt;): `open_action`-এর প্রতি-প্ল্যাটফর্ম ওভাররাইড। কী হল একটি সংখ্যাসূচক `Platform` enum মান।
- `voip_push` (bool): iOS VoIP নোটিফিকেশন।

```json
{
  "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)

লোকেল কোড → প্রতি-প্ল্যাটফর্ম কনটেন্ট ম্যাপ করে। কীগুলি হল [ISO 639-1](https://www.loc.gov/standards/iso639-2/php/code_list.php) দুই-অক্ষরের কোড (উদাহরণস্বরূপ, `"en"`, `"es"`) এবং একটি ক্যাচ-অল অনুবাদের জন্য বিশেষ কী `"default"`। ISO 639-1 এর ব্যতিক্রম হল ঐতিহ্যবাহী এবং সরলীকৃত চীনা ভাষার জন্য `"zh-Hant"` এবং `"zh-Hans"`।

```json
{
  "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" }
    }
  }
}
```

### একটি ডিভাইসের জন্য লোকেল নির্বাচন

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

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

অন্তত `"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` | Telegram মেসেজ |
| `kakao` | Kakao মেসেজ |
| `line` | LINE মেসেজ |
| `viber` | Viber মেসেজ |
| `whatsapp` | WhatsApp মেসেজ |
| `sms` | SMS মেসেজ |

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

এই ফিল্ডগুলি `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`](#inbox)): [মেসেজ ইনবক্স](/bn/developer/guides/message-inbox/mobile-message-inbox/) এন্ট্রি।

```json
{
  "android": {
    "title": "Hello",
    "body": "Tap to view",
    "time_to_live": "3600s",
    "sound": "default",
    "sound_enabled": true,
    "badges": "+1"
  }
}
```

## iOS (`ios`)

- `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` সহ নোটিফিকেশনগুলি ডিভাইসে একে অপরকে প্রতিস্থাপন করে।

```json
{
  "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`)

- `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`](#notificationpriority-enum)): ইন-ট্রে প্রায়োরিটি।
- `group_id` (string): নোটিফিকেশন গ্রুপ কী।
- `collapse_key` (string): FCM কলাপ্স কী। ডিভাইস অফলাইন থাকাকালীন একই `collapse_key` সহ নোটিফিকেশনগুলি একে অপরকে প্রতিস্থাপন করে।

```json
{
  "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`)

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

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

## Amazon (`amazon`)

সাধারণ পুশ ফিল্ড এবং `custom_icon` ও `priority` ([`NotificationPriority`](#notificationpriority-enum)) ব্যবহার করে।

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

## Safari (`safari`)

- `action` (string): ব্যবহারকারী নোটিফিকেশনে ক্লিক করলে খোলা URL।
- `url_arguments` (array of string): Safari URL আর্গুমেন্ট যা ওয়েব পুশ URL টেমপ্লেটে প্রতিস্থাপিত হয়।

```json
{
  "safari": {
    "title": "Hello",
    "body": "Tap to view",
    "action": "https://example.com/promo",
    "url_arguments": ["promo", "2026"]
  }
}
```

## Chrome (`chrome`)

- `icon`, `image` (string): ছোট আইকন এবং বড় ছবির URL।
- `duration` (duration): স্বয়ংক্রিয়-বন্ধ টাইমার।
- `button_text1` / `button_url1`, `button_text2` / `button_url2`: দুটি পর্যন্ত অ্যাকশন বাটন।

```json
{
  "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`)

শুধুমাত্র `title`, `body`, `icon`, `root_params`, এবং `inbox` ব্যবহার করে।

```json
{
  "firefox": {
    "title": "Hello",
    "body": "Tap to view",
    "icon": "https://cdn.example.com/icon.png"
  }
}
```

## Windows (`windows`)

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

```json
{
  "windows": {
    "type": "TOAST",
    "template": { "title": "Hello", "body": "Tap to view" },
    "tag": "promo",
    "cache": true,
    "time_to_live": "3600s"
  }
}
```

- `type` হল `TILE`, `TOAST`, বা `BADGE`।
- `template` (স্ট্রাকচার্ড) বা `raw` (`{ "content": "<raw xml>" }`) — ঠিক একটি।

## Telegram (`telegram`)

- `body` (string): মেসেজের টেক্সট।
- `content_variables` (string): বট-সাইড টেমপ্লেটের জন্য JSON-স্ট্রিংগিফাইড ভেরিয়েবল।

```json
{
  "telegram": {
    "body": "Hello from Pushwoosh",
    "content_variables": "{\"name\":\"John\"}"
  }
}
```

## Kakao (`kakao`)

- `content` (string): মেসেজের বিষয়বস্তু।
- `template` (string): অনুমোদিত টেমপ্লেট কোড।
- `content_variables` (string): JSON-স্ট্রিংগিফাইড টেমপ্লেট ভেরিয়েবল বাইন্ডিং।

```json
{
  "kakao": {
    "content": "Hello from Pushwoosh",
    "template": "welcome_v1",
    "content_variables": "{\"name\":\"John\"}"
  }
}
```

## LINE (`line`)

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

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

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

## Viber (`viber`)

একটি Viber মেসেজ হয় একটি ফ্রি-টেক্সট বডি অথবা একটি পূর্ব-অনুমোদিত ট্রানজ্যাকশনাল টেমপ্লেট (Omni Messaging / MStat) যা আইডি এবং ভাষা দ্বারা রেফারেন্স করা হয়।

- `body` (string): প্লেইন টেক্সট মেসেজ। `template_id` সেট না থাকলে প্রয়োজন।
- `template_id` (string): একটি পূর্ব-অনুমোদিত ট্রানজ্যাকশনাল টেমপ্লেটের আইডি। সেট করা হলে, এটি `body` এর উপর অগ্রাধিকার পায়।
- `template_lang` (string): টেমপ্লেট লোকেল। `template_id` সেট করা হলে প্রয়োজন।
- `template_params` (map&lt;string, string&gt;): কী/মান বাইন্ডিং যা টেমপ্লেটে প্রতিস্থাপিত হয়, যেমন `{ "name": "John", "code": "123456" }`।
- `all_devices` (bool): `false` (ডিফল্ট) শুধুমাত্র ব্যবহারকারীর প্রাথমিক ডিভাইসে ডেলিভার করে; `true` ব্যবহারকারীর সমস্ত ডিভাইসে ডেলিভার করে।

`body` বা `template_id` এর মধ্যে অন্তত একটি সেট করতে হবে। যখন `template_id` সেট করা হয়, তখন `template_lang` প্রয়োজন।

Viber প্রাপকদের `viber:<phone>` (E.164) ফরম্যাটে hwids হিসাবে ঠিকানা দিন, উদাহরণস্বরূপ `viber:+1234567890`।

প্লেইন টেক্সট:

```json
{
  "viber": {
    "body": "Hello from Pushwoosh"
  }
}
```

ট্রানজ্যাকশনাল টেমপ্লেট:

```json
{
  "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`)

WhatsApp মেসেজগুলি Meta এর মাধ্যমে যায় এবং Meta এর মেসেজিং নিয়মের অধীন। মূল বিভাজনটি হল ফ্রি-ফর্ম টেক্সট (শুধুমাত্র ব্যবহারকারীর কাছ থেকে একটি ইনবাউন্ড মেসেজ দ্বারা খোলা 24-ঘন্টার গ্রাহক পরিষেবা উইন্ডোর মধ্যে ডেলিভার করা হয়) এবং অনুমোদিত টেমপ্লেট (আউটবাউন্ড ইনিসিয়েশন এবং 24-ঘন্টার উইন্ডোর বাইরের যেকোনো মেসেজের জন্য প্রয়োজন)।

- `content` (string): ফ্রি-ফর্ম মেসেজ টেক্সট। Meta দ্বারা শুধুমাত্র 24-ঘন্টার উইন্ডোর মধ্যে ডেলিভার করা হয়।
- `content_id` (string): একটি পূর্ব-অনুমোদিত Meta টেমপ্লেটের নাম (যেমন `"hello_world"`)। আউটবাউন্ড ইনিসিয়েশন বা 24-ঘন্টার উইন্ডোর বাইরের যেকোনো মেসেজের জন্য প্রয়োজন।
- `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` এর মধ্যে অন্তত একটি সেট করতে হবে।

```json
{
  "whatsapp": {
    "content_id": "hello_world",
    "language": "en_US",
    "content_variables": "{\"1\":\"John\"}"
  }
}
```

## SMS (`sms`)

SMS-এর প্রতিটি লোকেল-এর [`Content`](#localizedcontent)-এর ভিতরে নিজস্ব প্ল্যাটফর্ম ব্লক রয়েছে, `ios`, `android`, এবং অন্যান্য মেসেজিং চ্যানেলগুলির পাশাপাশি।

- `body` (string): লোকেল-এর জন্য SMS টেক্সট। `sms` ব্লক উপস্থিত থাকলে প্রয়োজন।

টেক্সট সরবরাহ করার দুটি উপায় আছে:

- **ইনলাইন** — `localized_content`-এ প্রতি লোকেল-এ `sms.body` সেট করুন।
- **একটি প্রিসেট থেকে** — পেলোড-স্তরের [`sms_preset`](#payload) একটি সংরক্ষিত [SMS প্রিসেট](/bn/product/content/sms-presets/)-এর কোডে (ফরম্যাট `XXXXX-XXXXX`) সেট করুন। এর প্রতি-লোকেল কনটেন্ট প্রতিটি লোকেল-এর জন্য `sms.body`-তে রূপান্তরিত হয় যা প্রিসেটটি সংজ্ঞায়িত করে। একটি লোকেল-এর জন্য একটি ইনলাইন `sms.body` সেই লোকেল-এর জন্য প্রিসেটটিকে ওভাররাইড করে, তাই আপনি একটি প্রিসেট পুনরায় ব্যবহার করতে পারেন এবং এখনও পৃথক ভাষাগুলি পরিবর্তন করতে পারেন।

```json
{
  "payload": {
    "sms_preset": "XXXXX-XXXXX",
    "content": {
      "localized_content": {
        "default": { "sms": { "body": "Your order has shipped." } },
        "es":      { "sms": { "body": "Tu pedido ha sido enviado." } }
      }
    }
  }
}
```

## ওপেনঅ্যাকশন (OpenAction)
ব্যবহারকারী মেসেজটি খুললে যে অ্যাকশনটি করা হবে তা সংজ্ঞায়িত করে।

ঠিক একটি:

- `rich_media` ([`RichMedia`](#richmedia)): একটি [রিচ মিডিয়া](/bn/product/content/in-apps/) পেজ খুলুন।
- `deep_link`: একটি ডিপ লিঙ্ক খুলুন: `{ "code": "flow-code", "params": { "key": "value" } }`।
- `link` ([`Link`](#link)): একটি URL খুলুন।

```json
{
  "open_action": {
    "deep_link": { "code": "flow-code", "params": { "promo": "summer" } }
  }
}
```

ডিপলিঙ্ক URL এবং `params` মানগুলি [লিকুইড পার্সোনালাইজেশন](/bn/developer/guides/personalization/liquid-templates/) সিনট্যাক্স সমর্থন করে — ডিপ লিঙ্ক খোলার আগে এক্সপ্রেশনগুলি সমাধান করা হয়।

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


```json
{ "code": "XXXXX-XXXXX" }        // রিচ মিডিয়া কোড দ্বারা
{ "url":  "https://..." }        // রিমোট URL দ্বারা
```

### লিঙ্ক (Link)


```json
{
  "url": "https://example.com/promo",
  "shortener": "BITLY"
}
```

`shortener` হল `NONE` (ডিফল্ট) বা `BITLY`।

## ইনবক্স (Inbox)

মেসেজ ইনবক্সে মেসেজটি কীভাবে প্রদর্শিত হবে তা কনফিগার করে।

```json
{
  "image_url": "https://cdn.example.com/inbox.png",
  "expiration_date": "2026-05-15T00:00:00Z"
}
```

- `image_url` (string): ইনবক্স এন্ট্রিতে দেখানো ছবি।
- `expiration_date` (timestamp): যখন এন্ট্রিটি ইনবক্স থেকে সরানো হবে।

## NotificationPriority enum
টার্গেট ডিভাইসে নোটিফিকেশন প্রায়োরিটি নিয়ন্ত্রণ করে, `PRIORITY_MIN` (সর্বনিম্ন) থেকে `PRIORITY_MAX` (সর্বোচ্চ) পর্যন্ত।

- `PRIORITY_UNSPECIFIED`
- `PRIORITY_MIN`
- `PRIORITY_LOW`
- `PRIORITY_DEFAULT`
- `PRIORITY_HIGH`
- `PRIORITY_MAX`

<Aside type="caution">
সর্বদা `priority` উপরের স্ট্রিং মানগুলির মধ্যে একটি হিসাবে পাঠান। API enum-এর সংখ্যাসূচক সমতুল্যগুলিও গ্রহণ করে (1-5, উপরের ক্রম অনুসারে), কিন্তু সেই ম্যাপিং একটি অভ্যন্তরীণ প্রোটোবাফ বিবরণ, একটি সমর্থিত চুক্তি নয় — এর উপর নির্ভর করবেন না।

একটি অস্বীকৃত `priority` মান (একটি ভুল বানানযুক্ত স্ট্রিং বা একটি সীমার বাইরের সংখ্যা) প্রত্যাখ্যান করা হয় না: API নীরবে এটি ফেলে দেয়, এবং নোটিফিকেশনটি একটি ত্রুটি ফেরানোর পরিবর্তে কোনো `priority` ফিল্ড ছাড়াই পাঠানো হয়।
</Aside>

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

```bash
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"
    }
  }'
```

## উদাহরণ: ইউজার আইডি দ্বারা ট্রানজ্যাকশনাল পুশ

```bash
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"
    }
  }'
```