# واجهة برمجة تطبيقات واتساب (WhatsApp API)

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

<Aside type="caution" title="/createWhatsAppMessage مهمل">
يجب أن تستخدم عمليات التكامل الجديدة [واجهة برمجة تطبيقات المراسلة الإصدار 2 (Messaging API v2)](/ar/developer/api-reference/messaging-api-v2/) — مرر `platforms: ["WHATS_APP"]` إلى `Notify` واستخدم كتلة `whatsapp` داخل `payload.content.localized_content`. راجع [دليل الترحيل](/ar/developer/api-reference/messaging-api-v2/migration-from-v1/#from-createwhatsappmessage).
</Aside>

<Aside type="note">
قبل إرسال رسائل واتساب، تأكد من أن منصة واتساب مهيأة بشكل صحيح. [اعرف المزيد](/ar/product/first-steps/start-with-your-project/configure-platforms/whatsapp-configuration/)
</Aside>

## createWhatsAppMessage <Badge text="مهمل" variant="caution" size="small" />

يُستخدم لإرسال رسائل واتساب إلى المستخدمين

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

### نص الطلب

| الاسم  <div style="width:180px"></div>   | مطلوب <div style="width:100px"></div> | النوع | الوصف |
| :---- | :---- | :---- | :---- |
| auth\* | نعم | string | [رمز الوصول إلى API](/ar/developer/api-reference/api-identifiers/#api-access-token) من لوحة تحكم Pushwoosh. |
| application\* | نعم | string | [رمز تطبيق Pushwoosh](/ar/developer/api-reference/api-identifiers/#application-code) |
| notifications\* | نعم | array | إعدادات المحتوى. مصفوفة JSON من معلمات الرسالة. انظر التفاصيل أدناه. |

### معلمات الإشعار

| الاسم   <div style="width:150px"></div>     | مطلوب                                  | النوع    | الوصف                                                                                                                                                                                                                                                                                  |
|:----------------------|:------------------------------------------|:--------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| send_date*            | نعم                                       | string  | تاريخ ووقت إرسال الإشعار. استخدم التنسيق `YYYY-MM-DD HH:mm` أو `'now'` للإرسال فورًا.                                                                                                                                                                                        |
| content               | مطلوب إذا لم يتم توفير `content_id`. | string  | المحتوى النصي لرسالة واتساب.                                                                                                                                                                                                                                                        |
| content_id            | مطلوب إذا لم يتم توفير `content`.    | string  | معرف لقالب واتساب معتمد مسبقًا من حسابك في Meta.                                                                                                                                                                                                                      |
| devices*              | نعم                                       | array   | رقم هاتف العميل (يجب أن يكون مرتبطًا بـ [User ID](/ar/developer/api-reference/api-identifiers/#user-id) باستخدام [`/registerDevice`](/ar/developer/api-reference/device-api#registerdevice) ومحددًا في معلمة `hwid`، أو استخدم `use_auto_registration`). يمكن تحديد رقم واحد فقط هنا. |
| use_auto_registration | لا                                        | boolean | إذا تم تعيينه إلى `true`، فسيتم تسجيل رقم الهاتف المحدد في معلمة `devices` تلقائيًا.                                                                                                                                                                                    |
| content_variables     | لا                                        | object  | متغيرات المحتوى لتخصيص محتوى الرسالة. سيتم استبدال كل عنصر نائب بالقيم الديناميكية المقابلة.                                                                           |
| button_url_variables  | لا                                        | object     | متغيرات URL الديناميكية للأزرار. يمثل كل مفتاح فهرس زر، وقيمته هي المتغير الديناميكي الذي سيتم استبداله في URL الزر. **ملاحظة**: يبدأ فهرس الأزرار من 0، حيث يكون الزر الأول 0، والثاني 1، وهكذا.                                                                                              |
| header_variables      | لا                                        | object  | متغيرات للرأس في رسالة قالب واتساب. حدد `type` (على سبيل المثال، `text`، `image`، `video`، `document`) والقيمة المقابلة. **مثال**: `"header_variables": {"image": "https://image-url.png"}`                                                                   |
| preset                | لا                                        | string  | رمز الإعداد المسبق لواتساب (WhatsApp Preset Code) من لوحة التحكم الخاصة بك.                                                                                |
| language              | لا                                        | string  | اللغة المحلية لقالب واتساب (يجب أن تتطابق مع اللغة المحلية في محرر قوالب واتساب في Meta). الافتراضي: `"en_US"`. مثال: `"en_GB"`.                                                                                                            |

<Aside type="caution" title="هام">
****
حاليًا، يجب إرسال كل رسالة واتساب في طلب منفصل لكل عميل.
</Aside>

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

```json
{
  "request": {
    "application": "12XXX-67XXX",           // مطلوب. رمز تطبيق Pushwoosh.
    "auth": "yxoPUlwqm…………pIyEX4H",         // مطلوب. رمز الوصول إلى API من لوحة تحكم Pushwoosh.
    "notifications": [{
      "send_date": "now",                   // مطلوب. YYYY-MM-DD HH:mm أو "now".
      "content": "Hello! {{1}}",            // مطلوب إذا لم يتم توفير content_id. نص الرسالة.
      "content_id": "hello_world",          // مطلوب إذا لم يتم توفير content. معرف قالب واتساب.
      "devices": ["whatsapp:+1234567890"],  // مطلوب. رقم هاتف واتساب للعميل (يجب أن يكون مرتبطًا
                                            //           بـ UserId باستخدام /registerDevice ومحددًا في
                                            //           معلمة "hwid" أو استخدم "use_auto_registration").
                                            //           يمكن تحديد رقم واتساب واحد فقط هنا.
      "preset": "XXXXX-XXXXX",              // اختياري. رمز الإعداد المسبق لواتساب من لوحة التحكم الخاصة بك.
      "content_variables": {                // اختياري. متغيرات المحتوى لتخصيص محتوى الرسالة.
        "1": "John"
      },
      "header_variables": {                 // اختياري. متغيرات لرأس رسالة واتساب.
        "image": "https://image-url.png"
      },
      "language": "en_GB",                  // اختياري. اللغة المحلية لقالب واتساب (يجب أن تتطابق مع اللغة المحلية في محرر قوالب واتساب في Meta). الافتراضي: "en_US".
      "use_auto_registration": true         // اختياري. تسجيل رقم واتساب المحدد تلقائيًا
                                            //           في معلمة "devices".
    }]
  }
}
```

### مثال: إرسال رمز مصادقة ثنائية عبر واتساب

```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": []
  }
}
```