Webhooks de la Plataforma de WhatsApp Business

Los webhooks te permiten recibir notificaciones HTTP en tiempo real sobre cambios en objetos específicos. Por ejemplo, podemos enviarte una notificación cuando un usuario te envía un mensaje o cuando cambia el estado de la plantilla de mensaje. De esta manera, se evita la necesidad de enviar una consulta a nuestras API para saber si ciertos cambios ya se han producido o no. También ayuda a evitar que se alcance el límite de frecuencia.

Este documento proporciona información general de los webhooks, que se aplican a la API de administración de WhatsApp Business, la API de la nube de la Plataforma de WhatsApp Business y la API de instalaciones locales de la Plataforma de WhatsApp Business.

Objetos, campos y valores

Las API pueden tener varios tipos de objeto, por lo que es necesario que, al configurar un webhook, primero elijas un tipo de objeto. Como los distintos objetos cuentan con campos diferentes, el siguiente paso es suscribirte a los campos específicos de ese tipo de objeto. Recibiremos una notificación cada vez que se produzca un cambio en el valor de cualquiera de los campos de objeto al que te hayas suscrito.

Las notificaciones se envían como solicitudes HTTP POST e incluyen una carga JSON con la que se describe el cambio.

Webhooks disponibles

En la siguiente tabla, se incluye la información que puedes recibir de los webhooks.

APIObjetos

API de la nube

  • Un cliente realiza una acción, como responder un mensaje comercial.
  • Un cliente actualiza su número de teléfono.
  • Una empresa envía un mensaje. El cliente recibe el mensaje, que incluye información sobre precios, o lo lee.
  • Se produjo un error en relación con un mensaje.

API de instalaciones locales

  • Un cliente realiza una acción, como responder un mensaje comercial.
  • Un cliente actualiza su número de teléfono.
  • Una empresa envía un mensaje. El cliente recibe el mensaje, que incluye información sobre precios, o lo lee.
  • Se produjo un error en relación con un mensaje.

API de administración de WhatsApp Business

  • Cambios en el estado de la cuenta de empresa oficial y en el estado del nombre para mostrar.
  • El cambio de estado de la revisión de una cuenta de WhatsApp Business.
  • Se actualizó la información de una cuenta de WhatsApp Business, incluso la información referida a las infracciones de políticas.
  • Se cambiaron las funciones de una cuenta de WhatsApp Business, como la cantidad de conversaciones por número de teléfono.
  • Se aprobó, rechazó o desactivó una plantilla de mensaje.
  • Se aprobó o rechazó el nombre para mostrar vinculado a un número de teléfono.
  • Cambió el estado relacionado con la calidad de un número de teléfono.

Ejemplo de notificación de mensaje de texto

Los siguientes ejemplos muestran una notificación de webhook que recibes cuando un usuario te envía un mensaje de texto.

API de la nube

En relación con la API de la nube, el objeto siempre es whatsapp_business_account, pero field indicará el tipo de información que se envía.

{
  "object": "whatsapp_business_account",
  "entry": [{
    "id": "WHATSAPP_BUSINESS_ACCOUNT_ID",
    "changes": [{
      "value": {
        "messaging_product": "whatsapp",
        "metadata": {
          "display_phone_number": PHONE_NUMBER,
          "phone_number_id": PHONE_NUMBER_ID
        },
        "contacts": [{
          "profile": {
            "name": "NAME"
          },
          "wa_id": PHONE_NUMBER
        }],
        "messages": [{
          "from": PHONE_NUMBER,
          "id": "wamid.ID",
          "timestamp": TIMESTAMP,
          "text": {
            "body": "MESSAGE_BODY"
          },
          "type": "text"
        }]
      },
      "field": "messages"
    }]
  }]
}

API de instalaciones locales

En relación con la API de instalaciones locales, el objeto será contacts y messages, errors o statuses y pricing, porque tu cliente es quien envía el webhook, no Meta.

{
  "contacts": [{
    "profile": {
      "name": "NAME"
    },
    "wa_id": "WHATSAPP_BUSINESS_ACCOUNT_ID"
  }],
  "messages":[{
    "from": "PHONE_NUMBER",
    "id": "wamid.ID",
    "timestamp": "TIMESTAMP",
    "text": {
      "body": "MESSAGE_BODY"
    },
    "type": "text"
  }]
} 

Servidor HTTPS

Todos los webhooks se envían por medio de HTTPS, por lo cual tu servidor debe ser capaz de recibir y procesar solicitudes HTTPS, y debe tener instalado un certificado TLS/SSL válido. No se admiten los certificados autofirmados.

Próximos pasos

  • Primeros pasos: determina qué API es la indicada para tu negocio.
  • Nombre para mostrar: configura el nombre de la empresa que se mostrará en los mensajes de WhatsApp.
  • Números de teléfono: asocia un número de teléfono a la cuenta de WhatsApp Business.
  • Precios: obtén más información sobre los precios y cómo configurar pagos.