# LINE API

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

<Aside type="caution" title="/createLineMessage অপ্রচলিত">
নতুন ইন্টিগ্রেশনের জন্য [Messaging API v2](/bn/developer/api-reference/messaging-api-v2/) ব্যবহার করা উচিত — `Notify`-তে `platforms: ["LINE"]` পাস করুন এবং `payload.content.localized_content`-এর ভিতরে `line` ব্লক ব্যবহার করুন। [মাইগ্রেশন গাইড](/bn/developer/api-reference/messaging-api-v2/migration-from-v1/#from-createlinemessage) দেখুন। রিচ ইমেজ / ক্যারোসেল / ফ্লেক্স বার্তার জন্য, আপনার Pushwoosh কন্ট্রোল প্যানেলে সেগুলিকে LINE টেমপ্লেট হিসাবে প্রি-কনফিগার করুন এবং `line.template`-এর মাধ্যমে টেমপ্লেট কোডটি রেফারেন্স করুন।
</Aside>

<Aside> LINE বার্তা পাঠানোর আগে, নিশ্চিত করুন যে Line প্ল্যাটফর্মটি সঠিকভাবে কনফিগার করা আছে। [আরও জানুন](/bn/developer/first-steps/connect-messaging-services/line-configuration/) </Aside>

## createLineMessage <Badge text="অপ্রচলিত" variant="caution" size="small" />

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

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

### একটি পাঠ্য বার্তা পাঠান

সাধারণ LINE বার্তা যা শুধুমাত্র প্লেইন টেক্সট নিয়ে গঠিত, ছবি বা বোতাম ছাড়া। [আরও জানুন](https://developers.line.biz/en/reference/messaging-api/#text-message)

> **টিপ:** উন্নত ফরম্যাটিং এবং রিচ মিডিয়ার জন্য, [ফ্লেক্স](#send-a-flex-message), [ছবি](#send-an-image-message), বা [ক্যারোসেল](#send-an-image-carousel-message)-এর মতো বার্তা টেমপ্লেট ব্যবহার করুন।

##### অনুরোধের বডি

| প্যারামিটার <div style="width:180px"></div>| টাইপ  <div style="width: 80px"></div>| প্রয়োজনীয় | বিবরণ <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `application` | string | হ্যাঁ | [Pushwoosh অ্যাপ্লিকেশন কোড](/bn/developer/api-reference/api-identifiers/#application-code) |
| `auth` | string | হ্যাঁ | অনুরোধ প্রমাণীকরণের জন্য [API অ্যাক্সেস টোকেন](/bn/developer/api-reference/api-identifiers/#api-access-token)।  |
| `notifications` | array of objects | হ্যাঁ | পাঠানোর জন্য LINE বার্তা অবজেক্টের তালিকা। |
| `content` | string | হ্যাঁ | পাঠানোর জন্য LINE বার্তার টেক্সট। সর্বোচ্চ অক্ষর সীমা: ৫০০০।<br/><strong>দ্রষ্টব্য:</strong> যদি <code>preset</code> এবং <code>content</code> উভয়ই অন্তর্ভুক্ত থাকে, তাহলে অনুরোধ থেকে আসা মানটি <code>preset</code>-কে ওভাররাইড করবে। |
| `preset` | string | না | Pushwoosh কন্ট্রোল প্যানেলে আপনার তৈরি করা [LINE প্রি-সেটের](/bn/product/content/line-presets/) কোড। **দ্রষ্টব্য:** যদি `preset` এবং `content` উভয়ই অন্তর্ভুক্ত থাকে, তাহলে অনুরোধ থেকে আসা মানটি `preset`-কে ওভাররাইড করবে। |
| `send_date` | string | হ্যাঁ | বার্তা পাঠানোর তারিখ এবং সময়। অবিলম্বে পাঠানোর জন্য `YYYY-MM-DD HH:mm` ফরম্যাট বা `now` ব্যবহার করুন। |
| `devices` | array of strings | হ্যাঁ | LINE বার্তা পাঠানোর জন্য ডিভাইস কোডের (ইউজার আইডি) তালিকা। |

```
{
    "request": {
    "application": "XXXXXX-XXXXXX",
    "auth": "**************************************",
        "notifications": [
            {
                "content": "test",
                "preset": "preset_code",
                "send_date":"now",
                "devices": ["XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"]
            }
        ]
    }
}

```

### একটি ছবির বার্তা পাঠান

আপনি আপনার অনুরোধের টেমপ্লেট ফিল্ডের মধ্যে একটি ইমেজ অবজেক্ট নির্দিষ্ট করে LINE ব্যবহারকারীদের কাছে একটি [ছবির বার্তা](https://developers.line.biz/en/reference/messaging-api/#image-message) পাঠাতে পারেন।

প্রতিটি ছবির বার্তার জন্য দুটি ছবির URL প্রয়োজন: একটি **পূর্ণ-আকারের ছবির জন্য (image\_url)** এবং অন্যটি **প্রিভিউয়ের জন্য (preview\_image\_url)**। ব্যবহারকারীরা প্রিভিউতে ট্যাপ করলে, পূর্ণ-আকারের ছবিটি খোলে। নিশ্চিত করুন যে উভয় URL-ই HTTPS (TLS 1.2 বা তার পরবর্তী) ব্যবহার করে এবং সর্বজনীনভাবে অ্যাক্সেসযোগ্য ইমেজ ফাইলের সাথে লিঙ্ক করা আছে।

বিস্তারিত জানতে, LINE মেসেজিং API ডকুমেন্টেশনে [Image Message section](https://developers.line.biz/en/reference/messaging-api/#image-message) দেখুন।

##### অনুরোধের বডি

| প্যারামিটার <div style="width:180px"></div>| টাইপ  <div style="width: 80px"></div>| প্রয়োজনীয় | বিবরণ <div style="width:180px"></div> |
| :---- | ----- | ----- | ----- |
| `application` | string | হ্যাঁ | [Pushwoosh অ্যাপ্লিকেশন কোড](/bn/developer/api-reference/api-identifiers/#application-code) |
| `auth` | string | হ্যাঁ | অনুরোধ প্রমাণীকরণের জন্য ব্যবহৃত [API অ্যাক্সেস টোকেন](/bn/developer/api-reference/api-identifiers/#api-access-token)। |
| `notifications` | array of objects | হ্যাঁ | পাঠানোর জন্য বার্তার তালিকা। |
| `content` | string | হ্যাঁ | বার্তার জন্য ফলব্যাক বা প্রিভিউ টেক্সট হিসাবে ব্যবহৃত হয়। Pushwoosh কন্ট্রোল প্যানেলে আপনার তৈরি করা LINE প্রি-সেটের কোড।<br/><strong>দ্রষ্টব্য:</strong> যদি <code>preset</code> এবং <code>template</code> উভয়ই অন্তর্ভুক্ত থাকে, তাহলে অনুরোধ থেকে <code>template</code> ব্যবহৃত হয়।<br/>যদি <code>preset</code> এবং <code>content</code> উভয়ই অন্তর্ভুক্ত থাকে, তাহলে অনুরোধ থেকে <code>content</code> প্রি-সেটকে ওভাররাইড করবে। |
| `send_date` | string | হ্যাঁ | বার্তা পাঠানোর তারিখ এবং সময়। অবিলম্বে পাঠানোর জন্য `YYYY-MM-DD HH:mm` ফরম্যাট বা `now` ব্যবহার করুন। |
| `devices` | array of strings | হ্যাঁ | LINE বার্তা পাঠানোর জন্য ডিভাইস কোডের (ইউজার আইডি) তালিকা। |
| `preset` | string | না | Pushwoosh কন্ট্রোল প্যানেলে আপনার তৈরি করা [LINE প্রি-সেটের](/bn/product/content/line-presets/) কোড।<br/><strong>দ্রষ্টব্য:</strong> যদি অনুরোধে <code>preset</code> এবং <code>template</code> উভয় প্যারামিটার অন্তর্ভুক্ত থাকে, তাহলে <code>template</code>-এর মানগুলি প্রি-সেটে সংজ্ঞায়িত মানগুলিকে ওভাররাইড করবে।<br/>যদি একই অনুরোধে <code>preset</code> এবং <code>content</code> উভয়ই অন্তর্ভুক্ত থাকে, তাহলে অনুরোধে সরাসরি প্রদত্ত <code>content</code> প্রি-সেটের কন্টেন্টকে ওভাররাইড করবে। |
| `template` | object | হ্যাঁ | বার্তা লেআউট টেমপ্লেট। একাধিক বার্তা টাইপ সমর্থন করে। নিচে বিস্তারিত দেখুন।  |

##### টেমপ্লেট প্যারামিটার

**টাইপ:** image

| প্যারামিটার <div style="width:180px"></div>| টাইপ  <div style="width: 80px"></div>| প্রয়োজনীয় | বিবরণ <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `image_url` | string | হ্যাঁ | পূর্ণ-আকারের ছবির URL (অবশ্যই HTTPS ব্যবহার করতে হবে)। **সর্বোচ্চ দৈর্ঘ্য:** ২০০০ অক্ষর। **ফরম্যাট:** JPEG, PNG। **সর্বোচ্চ আকার:** ১০ MB। |
| `preview_image_url` | string | হ্যাঁ | চ্যাটে দেখানো প্রিভিউ ছবির URL (অবশ্যই HTTPS ব্যবহার করতে হবে)। **সর্বোচ্চ দৈর্ঘ্য:** ২০০০ অক্ষর। **ফরম্যাট:** JPEG, PNG। **সর্বোচ্চ আকার:** ১ MB।  |

##### উদাহরণ অনুরোধ

```json
{
  "request": {
    "application": "XXXXXX-XXXXXX",
    "auth": "**************************************",
    "notifications": [
      {
        "content": "test",
        "send_date": "now",
        "devices": [
          "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
        ],
        "preset": "preset_code",
        "template": {
          "en": {
            "image": {
              "alt_text": "some text",
              "image_url": "https://images.com/1.jpg",
              "preview_image_url": "https://images.com/1.png"
            }
          }
        }
      }
    ]
  }
}


```

### একটি ইমেজ ক্যারোসেল বার্তা পাঠান

ইমেজ ক্যারোসেল বার্তা আপনাকে অনুভূমিকভাবে স্ক্রোলযোগ্য বিন্যাসে একাধিক ছবি প্রদর্শন করতে দেয়। প্রতিটি ছবি একটি পৃথক, ক্লিক-অযোগ্য কলাম হিসাবে প্রদর্শিত হয় যা ব্যবহারকারীরা LINE চ্যাট ইন্টারফেসে সোয়াইপ করতে পারে।

এই বিন্যাসটি আকর্ষণীয় উপায়ে আইটেম, প্রচার, বা ভিজ্যুয়াল নির্বাচন প্রদর্শনের জন্য আদর্শ।

বিস্তারিত জানতে, LINE মেসেজিং API ডকুমেন্টেশনে [Image Carousel Template](https://developers.line.biz/en/reference/messaging-api/#carousel) বিভাগটি দেখুন।

##### অনুরোধের বডি

| প্যারামিটার <div style="width:180px"></div>| টাইপ  <div style="width: 80px"></div>| প্রয়োজনীয় | বিবরণ <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `application` | string | হ্যাঁ | [Pushwoosh অ্যাপ্লিকেশন কোড](/bn/developer/api-reference/api-identifiers/#application-code) |
| `auth` | string | হ্যাঁ | অনুরোধ প্রমাণীকরণের জন্য ব্যবহৃত [API অ্যাক্সেস টোকেন](/bn/developer/api-reference/api-identifiers/#api-access-token)। |
| `notifications` | array of objects | হ্যাঁ | পাঠানোর জন্য বার্তার তালিকা। |
| `content` | string | হ্যাঁ | বার্তার জন্য ফলব্যাক বা প্রিভিউ টেক্সট হিসাবে ব্যবহৃত হয়।<br/><strong>দ্রষ্টব্য:</strong> যদি <code>content</code> এবং <code>template</code> উভয়ই সেট করা থাকে, তাহলে <code>template</code> ব্যবহৃত হয়।<br/>যদি একই অনুরোধে একটি <code>preset</code> এবং <code>content</code> উভয়ই অন্তর্ভুক্ত থাকে, তাহলে অনুরোধে সরাসরি প্রদত্ত <code>content</code> প্রি-সেটের কন্টেন্টকে ওভাররাইড করবে। |
| `send_date` | string | হ্যাঁ | বার্তা পাঠানোর তারিখ এবং সময়। `YYYY-MM-DD HH:mm` বা `"now"` ফরম্যাট ব্যবহার করুন। |
| `devices` | array of strings | হ্যাঁ | LINE বার্তা পাঠানোর জন্য ডিভাইস কোডের (ইউজার আইডি) তালিকা। |
| `preset` | string | না | Pushwoosh কন্ট্রোল প্যানেলে আপনার তৈরি করা [LINE প্রি-সেটের](/bn/product/content/line-presets/) কোড।<br/><strong>দ্রষ্টব্য:</strong> যদি অনুরোধে <code>preset</code> এবং <code>template</code> উভয় প্যারামিটার অন্তর্ভুক্ত থাকে, তাহলে <code>template</code>-এর মানগুলি <code>preset</code>-এ সংজ্ঞায়িত মানগুলিকে ওভাররাইড করবে।<br/>যদি একই অনুরোধে একটি <code>preset</code> এবং <code>content</code> উভয়ই অন্তর্ভুক্ত থাকে, তাহলে অনুরোধে সরাসরি প্রদত্ত <code>content</code> প্রি-সেটের কন্টেন্টকে ওভাররাইড করবে। |
| `template` | object | হ্যাঁ  | বার্তা লেআউট টেমপ্লেট। একাধিক বার্তা টাইপ সমর্থন করে। নিচে বিস্তারিত দেখুন। |



##### টেমপ্লেট প্যারামিটার

**টাইপ:** image\_carousel

| প্যারামিটার <div style="width:180px"></div>| টাইপ  <div style="width: 80px"></div>| প্রয়োজনীয় | বিবরণ <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `alt_text` | string | হ্যাঁ | পুশ প্রিভিউ এবং অসমর্থিত ডিভাইসগুলিতে প্রদর্শিত ফলব্যাক টেক্সট। সর্বোচ্চ ৪০০ অক্ষর। |
| `columns` | array of objects | হ্যাঁ | ছবির কলামের অ্যারে (১-১০ সমর্থিত)। প্রতিটি কলামে একটি ছবি অন্তর্ভুক্ত থাকে। |
| `image_url` | string  | হ্যাঁ | প্রতিটি ক্যারোসেল কলামে দেখানো ছবির URL যা একটি সর্বজনীনভাবে অ্যাক্সেসযোগ্য JPEG বা PNG ফাইলকে নির্দেশ করে। অবশ্যই HTTPS ব্যবহার করতে হবে। |

##### উদাহরণ অনুরোধ

```json
{
  "request": {
    "application": "XXXXXX-XXXXXX",
    "auth": "**************************************",
    "notifications": [
      {
        "content": "test",
        "send_date": "now",
        "devices": [
          "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
        ],
        "preset": "preset_code",
        "template": {
          "en": {
            "image_carousel": {
              "alt_text": "some text",
              "columns": [
                { "image_url": "https://images.com/1.jpg" },
                { "image_url": "https://images.com/2.jpg" },
                { "image_url": "https://images.com/3.jpg" }
              ]
            }
          }
        }
      }
    ]
  }
}
```

### একটি ফ্লেক্স বার্তা পাঠান

ফ্লেক্স মেসেজগুলি শক্তিশালী, কাস্টমাইজযোগ্য বার্তা টাইপ যা আপনাকে টেক্সট, ছবি, বোতাম এবং অন্যান্য উপাদান ব্যবহার করে কাঠামোবদ্ধ লেআউট তৈরি করতে দেয়। এগুলি রসিদ, পণ্যের কার্ড, মেনু বা ভিজ্যুয়াল কাঠামো থেকে উপকৃত হওয়া যেকোনো কন্টেন্টের জন্য আদর্শ।

একটি ফ্লেক্স মেসেজ পাঠাতে, আপনার অনুরোধের মধ্যে একটি `raw` পেলোড সহ একটি `template` অবজেক্ট অন্তর্ভুক্ত করুন। বার্তা লেআউটটি অবশ্যই [LINE Flex Message specification](https://developers.line.biz/en/docs/messaging-api/using-flex-messages/) অনুসরণ করতে হবে।

**টিপ:** আপনি [LINE Flex Message Simulator](https://developers.line.biz/flex-simulator/) ব্যবহার করে ফ্লেক্স মেসেজ ডিজাইন এবং প্রিভিউ করতে পারেন।

##### অনুরোধের বডি

| প্যারামিটার <div style="width:180px"></div>| টাইপ  <div style="width: 80px"></div>| প্রয়োজনীয় | বিবরণ <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `application` | string | হ্যাঁ | [Pushwoosh অ্যাপ্লিকেশন কোড](/bn/developer/api-reference/api-identifiers/#application-code) |
| `auth` | string | হ্যাঁ | অনুরোধ প্রমাণীকরণের জন্য ব্যবহৃত [API অ্যাক্সেস টোকেন](/bn/developer/api-reference/api-identifiers/#api-access-token)। |
| `notifications` | array of objects | হ্যাঁ | পাঠানোর জন্য বার্তার তালিকা। |
| `content` | string | হ্যাঁ | বার্তার জন্য ফলব্যাক বা প্রিভিউ টেক্সট হিসাবে ব্যবহৃত হয়।<br/><strong>দ্রষ্টব্য:</strong> যদি <code>content</code> এবং <code>template</code> উভয়ই সেট করা থাকে, তাহলে টেমপ্লেট ব্যবহৃত হয়।<br/>যদি <code>preset</code> এবং <code>content</code> উভয়ই অন্তর্ভুক্ত থাকে, তাহলে অনুরোধ থেকে আসা কন্টেন্ট প্রি-সেটকে ওভাররাইড করবে। |
| `send_date` | string | হ্যাঁ | কখন বার্তা পাঠাতে হবে। `"now"` বা `YYYY-MM-DD HH:mm` ফরম্যাট ব্যবহার করুন। |
| `devices` | array of strings | হ্যাঁ | বার্তা গ্রহণ করার জন্য LINE ডিভাইস টোকেনগুলির (ইউজার আইডি) তালিকা। |
| `preset` | string | না | Pushwoosh কন্ট্রোল প্যানেলে আপনার তৈরি করা [LINE প্রি-সেটের](/bn/product/content/line-presets/) কোড।<br/><strong>দ্রষ্টব্য:</strong> যদি <code>preset</code> এবং <code>template</code> উভয়ই অন্তর্ভুক্ত থাকে, তাহলে টেমপ্লেট প্রি-সেটকে ওভাররাইড করবে।<br/>যদি <code>preset</code> এবং <code>content</code> উভয়ই অন্তর্ভুক্ত থাকে, তাহলে অনুরোধ থেকে আসা কন্টেন্ট প্রি-সেটকে ওভাররাইড করবে। |
| `template` | object | হ্যাঁ | বার্তা লেআউট টেমপ্লেট। একাধিক বার্তা টাইপ সমর্থন করে। নিচে বিস্তারিত দেখুন। |

##### টেমপ্লেট প্যারামিটার

একটি ফ্লেক্স মেসেজের জন্য, raw স্ট্রাকচার ব্যবহার করুন।
টাইপ: raw (Flex)

| প্যারামিটার <div style="width:180px"></div>| টাইপ  <div style="width: 80px"></div>| প্রয়োজনীয় | বিবরণ <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `alt_text` | string | হ্যাঁ | নোটিফিকেশন, চ্যাট প্রিভিউ এবং কোটেশনে দেখানো ফলব্যাক টেক্সট। সর্বোচ্চ ৪০০ অক্ষর। |
| `content`  | object  | হ্যাঁ | ফ্লেক্স মেসেজ লেআউট, LINE-এর ফ্লেক্স স্পেসিফিকেশন অনুযায়ী `bubble`, `box`, `text`, এবং অন্যান্য উপাদান ব্যবহার করে কাঠামোবদ্ধ। |

##### উদাহরণ অনুরোধ

```json
{
  "request": {
    "application": "XXXXXX-XXXXXX",
    "auth": "**************************************",
    "notifications": [
      {
        "content": "test",
        "send_date": "now",
        "devices": ["XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"],
        "preset": "preset_code", 
        "template": {
          "en": {
            "raw": {
              "alt_text": "My raw template",
              "content": {
                "type": "bubble",
                "body": {
                  "type": "box",
                  "layout": "vertical",
                  "contents": [
                    {
                      "type": "text",
                      "text": "RECEIPT",
                      "weight": "bold",
                      "color": "#1DB446",
                      "size": "sm"
                    }
                    // Additional components...
                  ]
                }
              }
            }
          }
        }
      }
    ]
  }
}
```