# واجهة برمجة تطبيقات LINE

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

<Aside type="caution" title="/createLineMessage مهمل">
يجب أن تستخدم عمليات التكامل الجديدة [واجهة برمجة تطبيقات الرسائل v2](/ar/developer/api-reference/messaging-api-v2/) — مرر `platforms: ["LINE"]` إلى `Notify` واستخدم كتلة `line` داخل `payload.content.localized_content`. راجع [دليل الترحيل](/ar/developer/api-reference/messaging-api-v2/migration-from-v1/#from-createlinemessage). بالنسبة لرسائل الصور الغنية / الدوّارة / المرنة، قم بتكوينها مسبقًا كقوالب LINE في لوحة تحكم Pushwoosh الخاصة بك وارجع إلى رمز القالب من خلال `line.template`.
</Aside>

<Aside> قبل إرسال رسائل LINE، تأكد من أن منصة Line مهيأة بشكل صحيح. [اعرف المزيد](/ar/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)

> **نصيحة:** للتنسيق المتقدم والوسائط الغنية، استخدم قوالب الرسائل مثل [Flex](#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](/ar/developer/api-reference/api-identifiers/#application-code) |
| `auth` | string | نعم | [رمز الوصول إلى API](/ar/developer/api-reference/api-identifiers/#api-access-token) لمصادقة الطلب.  |
| `notifications` | array of objects | نعم | قائمة بكائنات رسائل LINE المراد إرسالها. |
| `content` | string | نعم | نص رسالة LINE المراد إرسالها. الحد الأقصى للأحرف: 5000.<br/><strong>ملاحظة:</strong> إذا تم تضمين كل من <code>preset</code> و <code>content</code>، فإن القيمة من الطلب تتجاوز <code>preset</code>. |
| `preset` | string | لا | رمز [إعداد LINE المسبق](/ar/product/content/line-presets/) الذي أنشأته في لوحة تحكم Pushwoosh. **ملاحظة:** إذا تم تضمين كل من `preset` و `content`، فإن القيمة من الطلب تتجاوز الإعداد المسبق. |
| `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"]
            }
        ]
    }
}

```

### إرسال رسالة صورة

يمكنك إرسال [رسالة صورة](https://developers.line.biz/en/reference/messaging-api/#image-message) إلى مستخدمي LINE عن طريق تحديد كائن صورة داخل حقل القالب في طلبك.

تتطلب كل رسالة صورة عنواني URL للصورة: واحد **للصورة بالحجم الكامل (image_url)** والآخر **للمعاينة (preview_image_url)**. عندما ينقر المستخدمون على المعاينة، تفتح الصورة بالحجم الكامل. تأكد من أن كلا عنواني URL يستخدمان HTTPS (TLS 1.2 أو أحدث) ويربطان بملفات صور يمكن الوصول إليها بشكل عام.

للتفاصيل، راجع قسم [رسالة الصورة](https://developers.line.biz/en/reference/messaging-api/#image-message) في وثائق واجهة برمجة تطبيقات رسائل LINE.

##### جسم الطلب

| المعلمة <div style="width:180px"></div>| النوع  <div style="width: 80px"></div>| مطلوب | الوصف <div style="width:180px"></div> |
| :---- | ----- | ----- | ----- |
| `application` | string | نعم | [رمز تطبيق Pushwoosh](/ar/developer/api-reference/api-identifiers/#application-code) |
| `auth` | string | نعم | [رمز الوصول إلى API](/ar/developer/api-reference/api-identifiers/#api-access-token) المستخدم لمصادقة الطلب. |
| `notifications` | array of objects | نعم | قائمة بالرسائل المراد إرسالها. |
| `content` | string | نعم | يستخدم كنص احتياطي أو نص معاينة للرسالة. رمز إعداد LINE المسبق الذي أنشأته في لوحة تحكم Pushwoosh.<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 | لا | رمز [إعداد LINE المسبق](/ar/product/content/line-presets/) الذي أنشأته في لوحة تحكم Pushwoosh.<br/><strong>ملاحظة:</strong> إذا تم تضمين كل من معلمات <code>preset</code> و <code>template</code> في الطلب، فإن القيم من <code>template</code> ستتجاوز تلك المحددة في الإعداد المسبق.<br/>إذا تم تضمين كل من <code>preset</code> و <code>content</code> في نفس الطلب، فإن <code>content</code> المقدم مباشرة في الطلب سيتجاوز المحتوى من <code>preset</code>. |
| `template` | object | نعم | قالب تخطيط الرسالة. يدعم أنواع رسائل متعددة. انظر التفاصيل أدناه.  |

##### معلمات القالب

**النوع:** image

| المعلمة <div style="width:180px"></div>| النوع  <div style="width: 80px"></div>| مطلوب | الوصف <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `image_url` | string | نعم | عنوان URL للصورة بالحجم الكامل (يجب استخدام HTTPS). **الحد الأقصى للطول:** 2000 حرف. **التنسيق:** JPEG, PNG. **الحد الأقصى للحجم:** 10 ميغابايت. |
| `preview_image_url` | string | نعم | عنوان URL لصورة المعاينة المعروضة في الدردشة (يجب استخدام HTTPS). **الحد الأقصى للطول:** 2000 حرف. **التنسيق:** JPEG, PNG. **الحد الأقصى للحجم:** 1 ميغابايت.  |

##### مثال على الطلب

```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.

هذا التنسيق مثالي لعرض العناصر أو العروض الترويجية أو التحديدات المرئية بطريقة جذابة.

للتفاصيل، ارجع إلى قسم [قالب دوّارة الصور](https://developers.line.biz/en/reference/messaging-api/#carousel) في وثائق واجهة برمجة تطبيقات رسائل LINE.

##### جسم الطلب

| المعلمة <div style="width:180px"></div>| النوع  <div style="width: 80px"></div>| مطلوب | الوصف <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `application` | string | نعم | [رمز تطبيق Pushwoosh](/ar/developer/api-reference/api-identifiers/#application-code) |
| `auth` | string | نعم | [رمز الوصول إلى API](/ar/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> المقدم مباشرة في الطلب سيتجاوز المحتوى من <code>preset</code>. |
| `send_date` | string | نعم | تاريخ ووقت إرسال الرسالة. استخدم التنسيق `YYYY-MM-DD HH:mm` أو `"now"`. |
| `devices` | array of strings | نعم | قائمة برموز الأجهزة (معرفات المستخدمين) لإرسال رسالة LINE إليها. |
| `preset` | string | لا | رمز [إعداد LINE المسبق](/ar/product/content/line-presets/) الذي أنشأته في لوحة تحكم Pushwoosh.<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> المقدم مباشرة في الطلب سيتجاوز المحتوى من <code>preset</code>. |
| `template` | object | نعم  | قالب تخطيط الرسالة. يدعم أنواع رسائل متعددة. انظر التفاصيل أدناه. |



##### معلمات القالب

**النوع:** image_carousel

| المعلمة <div style="width:180px"></div>| النوع  <div style="width: 80px"></div>| مطلوب | الوصف <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `alt_text` | string | نعم | نص احتياطي يُعرض في معاينات الإشعارات وعلى الأجهزة غير المدعومة. الحد الأقصى 400 حرف. |
| `columns` | array of objects | نعم | مصفوفة من أعمدة الصور (مدعوم من 1 إلى 10). يتضمن كل عمود صورة. |
| `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" }
              ]
            }
          }
        }
      }
    ]
  }
}
```

### إرسال رسالة Flex

رسائل Flex هي أنواع رسائل قوية وقابلة للتخصيص تتيح لك إنشاء تخطيطات منظمة باستخدام النصوص والصور والأزرار والمكونات الأخرى. وهي مثالية لحالات الاستخدام مثل الإيصالات أو بطاقات المنتجات أو القوائم أو أي محتوى يستفيد من التنظيم المرئي.

لإرسال رسالة Flex، قم بتضمين كائن `template` مع حمولة `raw` داخل طلبك. يجب أن يتبع تخطيط الرسالة [مواصفات رسائل LINE Flex](https://developers.line.biz/en/docs/messaging-api/using-flex-messages/).

**نصيحة:** يمكنك تصميم ومعاينة رسائل Flex باستخدام [محاكي رسائل LINE Flex](https://developers.line.biz/flex-simulator/).

##### جسم الطلب

| المعلمة <div style="width:180px"></div>| النوع  <div style="width: 80px"></div>| مطلوب | الوصف <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `application` | string | نعم | [رمز تطبيق Pushwoosh](/ar/developer/api-reference/api-identifiers/#application-code) |
| `auth` | string | نعم | [رمز الوصول إلى API](/ar/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 | لا | رمز [إعداد LINE المسبق](/ar/product/content/line-presets/) الذي أنشأته في لوحة تحكم Pushwoosh.<br/><strong>ملاحظة:</strong> إذا تم تضمين كل من <code>preset</code> و <code>template</code>، فإن القالب يتجاوز الإعداد المسبق.<br/>إذا تم تضمين كل من <code>preset</code> و <code>content</code>، فإن المحتوى من الطلب يتجاوز الإعداد المسبق. |
| `template` | object | نعم | قالب تخطيط الرسالة. يدعم أنواع رسائل متعددة. انظر التفاصيل أدناه. |

##### معلمات القالب

لرسالة Flex، استخدم البنية الأولية.
النوع: raw (Flex)

| المعلمة <div style="width:180px"></div>| النوع  <div style="width: 80px"></div>| مطلوب | الوصف <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `alt_text` | string | نعم | نص احتياطي يظهر في الإشعارات ومعاينات الدردشة والاقتباسات. الحد الأقصى 400 حرف. |
| `content`  | object  | نعم | تخطيط رسالة Flex، منظم باستخدام `bubble` و `box` و `text` ومكونات أخرى وفقًا لمواصفات Flex الخاصة بـ LINE. |

##### مثال على الطلب

```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...
                  ]
                }
              }
            }
          }
        }
      }
    ]
  }
}
```