# WhatsApp API

import { Badge } from '@astrojs/starlight/components';

<Aside type="caution" title="/createWhatsAppMessage বাতিল করা হয়েছে">
নতুন ইন্টিগ্রেশনের জন্য [Messaging API v2](/bn/developer/api-reference/messaging-api-v2/) ব্যবহার করা উচিত — `Notify`-তে `platforms: ["WHATS_APP"]` পাস করুন এবং `payload.content.localized_content`-এর ভিতরে `whatsapp` ব্লক ব্যবহার করুন। [মাইগ্রেশন গাইড](/bn/developer/api-reference/messaging-api-v2/migration-from-v1/#from-createwhatsappmessage) দেখুন।
</Aside>

<Aside type="note">
WhatsApp বার্তা পাঠানোর আগে, নিশ্চিত করুন যে WhatsApp প্ল্যাটফর্মটি সঠিকভাবে কনফিগার করা আছে। [আরও জানুন](/bn/product/first-steps/start-with-your-project/configure-platforms/whatsapp-configuration/)
</Aside>

## createWhatsAppMessage <Badge text="বাতিল" variant="caution" size="small" />

ব্যবহারকারীদের WhatsApp বার্তা পাঠাতে ব্যবহৃত হয়।

`POST` `https://api.pushwoosh.com/json/1.3/createWhatsAppMessage`

### রিকোয়েস্ট বডি

| নাম  <div style="width:180px"></div>   | প্রয়োজনীয় <div style="width:100px"></div> | টাইপ | বিবরণ |
| :---- | :---- | :---- | :---- |
| auth\* | Yes | string | Pushwoosh কন্ট্রোল প্যানেল থেকে প্রাপ্ত [API অ্যাক্সেস টোকেন](/bn/developer/api-reference/api-identifiers/#api-access-token)। |
| application\* | Yes | string | [Pushwoosh অ্যাপ্লিকেশন কোড](/bn/developer/api-reference/api-identifiers/#application-code) |
| notifications\* | Yes | array | কন্টেন্ট সেটিংস। বার্তা প্যারামিটারগুলির JSON অ্যারে। নিচে বিস্তারিত দেখুন। |

### নোটিফিকেশন প্যারামিটার

| নাম   <div style="width:150px"></div>     | প্রয়োজনীয়                                  | টাইপ    | বিবরণ                                                                                                                                                                                                                                                                                  |
|:----------------------|:------------------------------------------|:--------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| send_date*            | Yes                                       | string  | নোটিফিকেশন পাঠানোর তারিখ এবং সময়। অবিলম্বে পাঠানোর জন্য `YYYY-MM-DD HH:mm` ফরম্যাট বা `'now'` ব্যবহার করুন।                                                                                                                                                                                        |
| content               | `content_id` প্রদান করা না হলে এটি প্রয়োজনীয়। | string  | WhatsApp বার্তার টেক্সট কন্টেন্ট।                                                                                                                                                                                                                                                        |
| content_id            | `content` প্রদান করা না হলে এটি প্রয়োজনীয়।    | string  | আপনার Meta অ্যাকাউন্ট থেকে একটি পূর্ব-অনুমোদিত WhatsApp টেমপ্লেটের জন্য আইডেন্টিফায়ার।                                                                                                                                                                                                                      |
| devices*              | Yes                                       | array   | গ্রাহকের ফোন নম্বর ([User ID](/bn/developer/api-reference/api-identifiers/#user-id)-এর সাথে [`/registerDevice`](/bn/developer/api-reference/device-api#registerdevice) ব্যবহার করে যুক্ত থাকতে হবে এবং `hwid` প্যারামিটারে নির্দিষ্ট করতে হবে, অথবা `use_auto_registration` ব্যবহার করুন)। এখানে শুধুমাত্র একটি নম্বর নির্দিষ্ট করা যাবে। |
| use_auto_registration | No                                        | boolean | যদি `true` তে সেট করা হয়, তাহলে `devices` প্যারামিটারে নির্দিষ্ট করা ফোন নম্বরটি স্বয়ংক্রিয়ভাবে রেজিস্টার হয়ে যাবে।                                                                                                                                                                                    |
| content_variables     | No                                        | object  | বার্তার কন্টেন্ট কাস্টমাইজ করার জন্য কন্টেন্ট ভেরিয়েবল। প্রতিটি প্লেসহোল্ডার সংশ্লিষ্ট ডাইনামিক মান দ্বারা প্রতিস্থাপিত হবে।                                                                           |
| button_url_variables  | No                                        | object     | বাটনের জন্য ডাইনামিক URL ভেরিয়েবল। প্রতিটি কী একটি বাটন ইনডেক্সকে প্রতিনিধিত্ব করে, এবং এর মান হল বাটনের URL-এ প্রতিস্থাপন করার জন্য ডাইনামিক ভেরিয়েবল। **দ্রষ্টব্য**: বাটন ইনডেক্সিং 0 থেকে শুরু হয়, যেখানে প্রথম বাটন 0, দ্বিতীয়টি 1, এবং এভাবেই চলতে থাকে।                                                                                              |
| header_variables      | No                                        | object  | একটি WhatsApp টেমপ্লেট বার্তার হেডারের জন্য ভেরিয়েবল। `type` (যেমন, `text`, `image`, `video`, `document`) এবং সংশ্লিষ্ট মান নির্দিষ্ট করুন। **উদাহরণ**: `"header_variables": {"image": "https://image-url.png"}`                                                                   |
| preset                | No                                        | string  | আপনার কন্ট্রোল প্যানেল থেকে WhatsApp প্রিসেট কোড।                                                                                |
| language              | No                                        | string  | WhatsApp টেমপ্লেটের ভাষা লোকেল (Meta WhatsApp টেমপ্লেট এডিটরের লোকেল-এর সাথে মিলতে হবে)। ডিফল্ট: `"en_US"`। উদাহরণ: `"en_GB"`।                                                                                                            |

<Aside type="caution" title="গুরুত্বপূর্ণ">
****
বর্তমানে, প্রতিটি গ্রাহকের জন্য প্রতিটি WhatsApp বার্তা একটি পৃথক রিকোয়েস্টে পাঠাতে হবে।
</Aside>

### রিকোয়েস্টের উদাহরণ

```json
{
  "request": {
    "application": "12XXX-67XXX",           // প্রয়োজনীয়। Pushwoosh অ্যাপ্লিকেশন কোড।
    "auth": "yxoPUlwqm…………pIyEX4H",         // প্রয়োজনীয়। Pushwoosh কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন।
    "notifications": [{
      "send_date": "now",                   // প্রয়োজনীয়। YYYY-MM-DD HH:mm অথবা "now"।
      "content": "Hello! {{1}}",            // content_id প্রদান করা না হলে এটি প্রয়োজনীয়। বার্তার টেক্সট।
      "content_id": "hello_world",          // content প্রদান করা না হলে এটি প্রয়োজনীয়। WhatsApp টেমপ্লেট আইডেন্টিফায়ার।
      "devices": ["whatsapp:+1234567890"],  // প্রয়োজনীয়। গ্রাহকের WhatsApp ফোন নম্বর (অবশ্যই যুক্ত থাকতে হবে
                                            //           /registerDevice ব্যবহার করে একটি UserId-এর সাথে এবং নির্দিষ্ট করা
                                            //           "hwid" প্যারামিটারে অথবা "use_auto_registration" ব্যবহার করুন)।
                                            //           এখানে শুধুমাত্র একটি WhatsApp নম্বর নির্দিষ্ট করা যাবে।
      "preset": "XXXXX-XXXXX",              // ঐচ্ছিক। আপনার কন্ট্রোল প্যানেল থেকে WhatsApp প্রিসেট কোড।
      "content_variables": {                // ঐচ্ছিক। বার্তার কন্টেন্ট কাস্টমাইজ করার জন্য কন্টেন্ট ভেরিয়েবল।
        "1": "John"
      },
      "header_variables": {                 // ঐচ্ছিক। WhatsApp বার্তার হেডারের জন্য ভেরিয়েবল।
        "image": "https://image-url.png"
      },
      "language": "en_GB",                  // ঐচ্ছিক। WhatsApp টেমপ্লেটের ভাষা লোকেল (Meta WhatsApp টেমপ্লেট এডিটরের লোকেল-এর সাথে মিলতে হবে)। ডিফল্ট: "en_US"।
      "use_auto_registration": true         // ঐচ্ছিক। নির্দিষ্ট করা WhatsApp নম্বরটি স্বয়ংক্রিয়ভাবে রেজিস্টার করুন
                                            //           "devices" প্যারামিটারে।
    }]
  }
}
```

### উদাহরণ: WhatsApp-এর মাধ্যমে একটি টু-ফ্যাক্টর অথেনটিকেশন কোড পাঠানো

```json
{
    "request": {
        "application":"APP_CODE", "auth":"AUTH_TOKEN",
        "notifications":[{
            "send_date":"now",
            "content_id":"replace_with_your_meta_two_factor_template_name",
            "content_variables":{"1":"AUTH_CODE"},
            "button_url_variables":{"0":"AUTH_CODE"},
            "devices":["whatsapp:REPLACE_WITH_YOUR_PHONE_NO"]
        }]
    }
}
```

### রেসপন্সের উদাহরণ

```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "Messages": [
      "9648-0B10EXXX-0D9F2XXX"
    ]
  }
}
```

### এরর রেসপন্স

```json
{
  "status_code": 210,
  "status_message": "Invalid devices list. \"devices\" must be an array.",
  "response": {
    "Messages": []
  }
}
```