Webhooks for WhatsApp Business Accounts

يمكنك تلقي إشعارات فورية عند وجود تغييرات في حساب واتساب للأعمال (WABA) لديك من خلال الاشتراك في مستوى حساب واتساب للأعمال. ولإعداد أحداث Webhooks لحسابات واتساب للأعمال:

  1. قم بإعداد نقطة النهاية لديك وتكوين أحداث Webhooks. هذه هي الخطوات نفسها التي تستخدمها لإعداد أحداث Webhooks لصفحات فيسبوك.
  2. أجرِ اشتراك تطبيقك ضمن حساب واتساب للأعمال لديك. ويجب أن يكون التطبيق المرتبط بالاشتراك مملوكًا بواسطة نشاطك التجاري، حيث لا يمكن للتطبيقات التي تمت مشاركتها مع نشاطك التجاري تلقي إشعارات webhook.
  3. تأكّد من إكمال تطبيقك لعملية مراجعة التطبيقات وطلب الإذن whatsapp_business_management.

GET, POST, and DELETE calls to /{whats-app-business-account-id}/subscribed_apps are now subject to Business Use Case Rate Limits.

Set up Your Endpoint and Webhooks

Follow our Webhooks Getting Started guide to create your endpoint and configure your webhook endpoint. When you configure your endpoint, make sure to choose WhatsApp Business Account and subscribe to individual WhatsApp Business Account (WABA) fields.

Available Subscription Fields

حقول الاشتراكات المتوفرة

اسم الحقل الوصف

account_review_update

يتم إرسال إشعار إليك عندما تتم مراجعة حساب واتساب للأعمال.

account_update

يتم إرسال إشعار إليك عند حدوث تغيير في حساب واتساب للأعمال. يمكن أن يتضمن هذا التغيير تحديث رقم الهاتف وانتهاك لسياسة وحظر حساب واتساب للأعمال والمزيد.

business_capability_update

يتم إرسال إشعار إليك عندما يتم تحديث إمكانية. ويمكن أن يتضمن ذلك تغيير الحد الأقصى لعدد أرقام الهواتف التي يمكن أن يحتوي عليها حساب واتساب للأعمال أو تغييرًا في عدد المحادثات المخصصة لكل رقم هاتف.

message_template_status_update

يتم إرسال إشعار إليك عند الموافقة على قالب الرسالة أو رفضه، أو إذا تم تعطيله.

messages

يتم إرسال إشعار إليك عندما يتلقى نشاطك التجاري رسالة من عميل، وعندما ترسل رسالة إلى عميل، وعندما يتم تسليم رسالة إلى عميل، وعندما تتم قراءة رسالتك بواسطة عميل ما.

phone_number_name_update

يتم إرسال إشعار إليك عند الموافقة على الاسم المرتبط برقم الهاتف أو رفضه.

phone_number_quality_update

يتم إرسال إشعار إليك عند تحديث حالة الجودة لدى رقم الهاتف.

security

يتم إرسال إشعار إليك عندما:

  • تطلب تعطيل رمز التحقق بخطوتين
  • يتم تعطيل رمز التحقق بخطوتين
  • يتم تحديث رمز التحقق بخطوتين
  • تفضل بزيارة مرجع أحداث Webhooks لحساب واتساب للأعمال لمزيد من المعلومات حول كل حقول حمولة البيانات ومرجع أحداث Webhooks في API سحابة واتساب لمزيد من المعلومات حول الأنواع المختلفة لإشعارات messages التي يمكنك تلقيها.

    Subscribe Your App

    You need to subscribe your app to webhooks on a given WABA. We only send notifications if your webhooks-configured app is subscribed to webhooks on a given WABA, and only if the app has permission to edit that WABA.

    Create a Subscription

    Request

    To subscribe your app to webhooks on a WABA, send a POST request to the WABA > Subscribed Apps endpoint.

    curl -X POST 'https://graph.facebook.com/<API_VERSION>/<WHATSAPP_BUSINESS_ACCOUNT_ID>/subscribed_apps' \
    -H 'Authorization: Bearer <ACCESS_TOKEN>'

    Response

    Upon success:

    {
      "success": "true"
    }
    

    Get Subscribed Apps

    To get a list of apps subscribed to webhooks on a WABA, send a GET request to the WABA > Subscribed Apps endpoint.

    Request

    curl 'https://graph.facebook.com/<API_VERSION>/<WHATSAPP_BUSINESS_ACCOUNT_ID>/subscribed_apps' \
    -H 'Authorization: Bearer <ACCESS_TOKEN>'

    Response

    A successful response will list the subscribed apps:

    {
      "data": [
        {
          "whatsapp_business_api_data": {
            "link": "<APP_1_URL>",
            "name": "<APP_1_NAME>",
            "id": "<APP_1_ID>"
          }
        },
        {
          "whatsapp_business_api_data": {
            "link": "<APP_2_URL>",
            "name": "<APP_2_NAME>",
            "id": "<APP_2_ID>"
          }
        },
        ...
      ]
    }

    Delete a subscription

    To unsubscribe your app from webhooks on a WABA, send a DELETE request to the subscribed_apps endpoint.

    Request

    curl -X DELETE 'https://graph.facebook.com/<AP_VERSION>/<WHATSAPP_BUSINESS_ACCOUNT_ID>/subscribed_apps' \
    -H 'Authorization: Bearer <ACCESS_TOKEN>'

    Response

    A successful response will read:

    {
      "success": "true"
    }
    

    Subscribe with Graph API Explorer

    If you don't want to subscribe your app with direct API calls, you can easily do it with Graph API Explorer.

    Replace the me?fields=id,name query with <WHATSAPP_BUSINESS_ACCT_ID>/subscribed_apps. It will subscribe the app you use to send the POST request in Graph Explorer.

    Your app must have permission to edit the WhatsApp business account in order to successfully subscribe.

    Example Webhook payload:

    [
      {
        "object": "whatsapp_business_account",
        "entry": [
          {
            "id": "0",
            "time": 1602782939,
            "changes": [
              {
                "field": "phone_number_name_update",
                "value": {
                  "display_phone_number": "16505551111",
                  "decision": "APPROVED",
                  "requested_verified_name": "WhatsApp",
                  "rejection_reason": null
                }
              }
            ]
          }
        ]
      }
    ]

    Enabling mTLS on a WhatsApp Business Account

    Enabling and disabling mTLS is not supported at the Business Phone Number or WABA level. It is only available for object Webhook subscriptions.

    You can enable Mutual TLS (mTLS) on the webhooks you receive from WhatsApp for added security.

    You must verify the callback URL before enabling mTLS. If you have more than one application accessing WhatsApp Cloud API, you will need to enable mTLS for each application.

    mTLS toggle for WhatsApp Business accounts