Webhooks for WhatsApp Business Accounts

คุณสามารถรับการแจ้งเตือนแบบเรียลไทม์เมื่อบัญชี WhatsApp Business (WABA) ของคุณมีการเปลี่ยนแปลงได้ โดยการสมัครรับข้อมูลที่ระดับบัญชี WhatsApp Business หากต้องการตั้งค่า Webhooks สำหรับบัญชี WhatsApp Business ให้ดำเนินการดังนี้

  1. ตั้งค่าตำแหน่งข้อมูลของคุณและกำหนดค่า Webhooks ขั้นตอนเหล่านี้จะเหมือนกันกับที่คุณใช้ในการตั้งค่า Webhooks สำหรับเพจ Facebook
  2. ตั้งค่าให้แอพของคุณมีการรับข้อมูลภายใต้บัญชี WhatsApp Business แอพที่คุณตั้งค่าให้มีการรับข้อมูลจะต้องเป็นแอพที่ธุรกิจของคุณเป็นเจ้าของ กล่าวคือ แอพที่ได้รับการแชร์กับธุรกิจของคุณจะไม่สามารถรับการแจ้งเตือน 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

ระบบจะส่งการแจ้งเตือนให้คุณเมื่อมีการตรวจสอบบัญชี WhatsApp Business

account_update

ระบบจะส่งการแจ้งเตือนให้คุณเมื่อมีการเปลี่ยนแปลงกับบัญชี WhatsApp Business ของคุณ การเปลี่ยนแปลงนี้อาจรวมถึงการอัพเดตหมายเลขโทรศัพท์ การละเมิดนโยบาย การแบนบัญชี WhatsApp Business และอื่นๆ อีกมากมาย

business_capability_update

ระบบจะส่งการแจ้งเตือนให้คุณเมื่อมีการอัพเดตความสามารถ ซึ่งอาจรวมถึงการเปลี่ยนแปลงจำนวนหมายเลขโทรศัพท์สูงสุดที่ WABA สามารถมีได้ หรือจำนวนสูงสุดของการสนทนาต่อ 1 หมายเลขโทรศัพท์

message_template_status_update

ระบบจะส่งการแจ้งเตือนให้คุณเมื่อเทมเพลตข้อความได้รับการอนุมัติหรือถูกปฏิเสธ หรือในกรณีที่เทมเพลตข้อความถูกปิดใช้งาน

messages

ระบบจะส่งการแจ้งเตือนถึงคุณเมื่อธุรกิจของคุณได้รับข้อความจากลูกค้า เมื่อคุณส่งข้อความถึงลูกค้า เมื่อข้อความส่งถึงลูกค้า และเมื่อลูกค้าอ่านข้อความ

phone_number_name_update

ระบบจะส่งการแจ้งเตือนให้คุณเมื่อชื่อที่เกี่ยวข้องกับหมายเลขโทรศัพท์ได้รับการอนุมัติหรือถูกปฏิเสธ

phone_number_quality_update

ระบบจะส่งการแจ้งเตือนให้คุณเมื่อสถานะที่เกี่ยวกับคุณภาพของหมายเลขโทรศัพท์มีการอัพเดต

security

ระบบจะส่งการแจ้งเตือนให้คุณในกรณีต่อไปนี้

  • คุณขอให้ปิดใช้งานรหัสยืนยันแบบ 2 ขั้นตอน
  • มีการปิดใช้งานรหัสยืนยันแบบ 2 ขั้นตอน
  • มีการอัพเดตรหัสยืนยันแบบ 2 ขั้นตอน
  • โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับช่องเพย์โหลดแต่ละช่องที่เอกสารอ้างอิงเกี่ยวกับ Webhooks ของบัญชี WhatsApp Business และดูข้อมูลเพิ่มเติมเกี่ยวกับการแจ้งเตือน messages ประเภทต่างๆ ที่คุณอาจได้รับที่เอกสารอ้างอิงเกี่ยวกับ Webhooks ของ API ระบบคลาวด์ของ WhatsApp

    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