Webhooks for WhatsApp Business Accounts

Vous pouvez recevoir des notifications en temps réel concernant les modifications apportées à votre compte WhatsApp Business (WABA) en vous abonnant au niveau du compte WhatsApp Business. Pour configurer des Webhooks pour des comptes WhatsApp Business :

  1. Configurez votre point de terminaison et les Webhooks. Il s’agit des mêmes étapes que celles que vous suivez lorsque vous configurez des Webhooks pour des Pages Facebook.
  2. Abonnez votre application dans votre compte WhatsApp Business. Vous devez abonner une application appartenant à votre entreprise. Les applications partagées avec votre entreprise ne peuvent pas recevoir de notifications Webhooks.
  3. Assurez-vous que votre application a passé le Contrôle app et demandé l’autorisation 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

Champs d’abonnement disponibles

Nom du champ Description

account_review_update

Vous recevez une notification quand un compte WhatsApp Business a été vérifié.

account_update

Vous recevez une notification quand votre compte WhatsApp Business a été modifié. Cette modification peut inclure la mise à jour du numéro de téléphone, une violation de politique, l’exclusion d’un compte WhatsApp Business, etc.

business_capability_update

Vous recevez une notification quand une fonctionnalité a été mise à jour. La modification peut concerner le nombre maximum de numéros de téléphone pouvant être associés à un compte WhatsApp Business ou de conversations par numéro de téléphone.

message_template_status_update

Vous recevez une notification quand le modèle de message est approuvé ou rejeté, ou s’il a été désactivé.

messages

Vous recevez une notification quand votre entreprise reçoit un message d’un·e client·e, quand vous envoyez un message à un·e client·e, quand un message est reçu par un·e client·e et quand votre message est lu par un·e client·e.

phone_number_name_update

Vous recevez une notification quand le nom associé à un numéro de téléphone est approuvé ou rejeté.

phone_number_quality_update

Vous recevez une notification quand le statut lié à la qualité d’un numéro de téléphone est mis à jour.

security

Vous recevez une notification quand :

  • vous demandez la désactivation du code de vérification en deux étapes ;
  • le code de vérification en deux étapes est désactivé ;
  • le code de vérification en deux étapes est mis à jour.
  • Consultez la référence sur les Webhooks de compte WhatsApp Businesspour plus d’informations sur le champ de charge utile et la référence sur les Webhooks de l’API Cloud WhatsApppour plus d’informations sur les différents types de notification messages que vous pouvez recevoir.

    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