Webhooks for WhatsApp Business Accounts

Puedes recibir notificaciones en tiempo real cuando se producen cambios en tu cuenta de WhatsApp Business (WABA) si te suscribes a nivel de la cuenta de WhatsApp Business. Debes seguir estos pasos para suscribirte a los webhooks de las cuentas de WhatsApp Business:

  1. Establece tu punto de conexión y configura los webhooks. Los pasos son los mismos que realizas al configurar Webhooks para páginas de Facebook.
  2. Suscribe tu app en la cuenta de WhatsApp Business. Debes suscribir una app de propiedad de tu empresa, ya que las apps que se comparten con tu empresa no pueden recibir notificaciones de webhooks.
  3. Asegúrate de que la app haya completado la revisión de apps y solicitado el permiso 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

Campos de suscripción disponibles

Nombre del campo Descripción

account_review_update

Se te enviará una notificación cuando se haya revisado una cuenta de WhatsApp Business.

account_update

Se te enviará una notificación cuando se produzca un cambio en tu cuenta de WhatsApp Business. Este cambio puede ser una actualización de un número de teléfono, una infracción de una política, la prohibición de una cuenta de WhatsApp Business, entre otras opciones.

business_capability_update

Se te enviará una notificación cuando se haya actualizado una función. Puede tratarse de un cambio en la cantidad máxima de números de teléfono que una WABA puede tener o de conversaciones por número de teléfono.

message_template_status_update

Se te enviará una notificación cuando se haya aprobado o rechazado la plantilla de mensaje, o si esta se desactivó.

messages

Se te enviará una notificación cuando tu empresa haya recibido un mensaje de un cliente, cuando envíes un mensaje a un cliente, cuando se entregue un mensaje a un cliente y cuando un cliente lea tu mensaje.

phone_number_name_update

Se te enviará una notificación cuando se haya aprobado o rechazado el nombre asociado con un número de teléfono.

phone_number_quality_update

Se te enviará una notificación cuando se actualice el estado relacionado con la calidad de un número de teléfono.

security

Se te enviará una notificación en los siguientes casos:

  • Cuando solicites desactivar el código de verificación en dos pasos
  • Cuando se desactive el código de verificación en dos pasos
  • Cuando se actualice el código de verificación en dos pasos
  • Consulta la referencia de webhooks de la cuenta de WhatsApp Business para obtener más información sobre cada campo de carga y la referencia de webhooks de la API de la nube de WhatsApp para obtener más información sobre los diferentes tipos de notificaciones de messages que puedes recibir.

    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