Suscripciones a notificaciones de WhatsApp

Los Webhooks del sistema se activan cuando se produce un evento en un WABA o un número de teléfono. Ahora puede suscribirse a estos webhooks para recibir notificaciones sobre cambios en la configuración de su WhatsApp Business Account. Existen muchos tipos de notificacióncomo actualizaciones de Account, cambios en las plantillas de mensajes, actualizaciones de números de teléfono y cuando ha recibido un mensaje de un cliente.

Estas notificaciones pueden recibirse de dos maneras:

  • A través de Webhooks - recibir notificaciones a través de una URL webhook personalizada
  • Vía Slack - recibir notificaciones en un canal designado dentro de su espacio de trabajo Slack.

Para crear una suscripción, puedes enviar una solicitud al Crear un punto final de suscripción de la API de Channel Manager.

Crear una suscripción a notificaciones de WhatsApp con webhooks

Para recibir actualizaciones a través de webhook, primero debe crear una URL de webhook personalizada que esté configurada para aceptar solicitudes POST; eche un vistazo a nuestro Webhooks Consulta la guía si no sabes cómo hacerlo. A continuación, puedes enviar una solicitud al punto final de suscripciones con los siguientes parámetros para crear la suscripción:

{
    "type": "webhook",
    "whatsapp_subscribe_types": "account_alerts,account_update",
    "vonage_subscribe_types": "vonage_number_onboarded",
    "webhook": {
      "url": "https://example.com/webhook"
    }
}

Aquí:

  • url debe contener la URL de su webhook personalizado.
  • whatsapp_subscribe_types es un parámetro opcional en el que puede listar WhatsApp específicos tipos de notificación que desees recibir a través de tu suscripción. Si no se especifica, la suscripción incluirá todos los tipos de suscripción.
  • vonage_subscribe_types es un parámetro opcional en el que puedes incluir Vonage tipos de notificación que desees recibir a través de tu suscripción. Si no se especifica, la suscripción incluirá todos los tipos de suscripción.

Encontrará un ejemplo de código completo en Crear una suscripción a notificaciones de WhatsApp con webhooks fragmento de código.

Ejemplos de webhooks

Este ejemplo muestra la actualización del estado de una plantilla; como se indica en el icono event la plantilla ha sido rechazada:

{
    "notification_id": "id",
    "timestamp": "2023-02-21T15:34:39Z",
    "channel": "whatsapp",
    "whatsapp": {
        "waba_info": {
            "waba_id": "<WABA_ID>",
            "solution_id": "<WABA_SOLUTION_ID>", // if present
            "api_key": "<WABA_API_KEY>"
        },
        "notification_type": "message_template_status_update",
        "notification_value": {
            "event": "REJECTED",
            "message_template_id": "<TEMPLATE_ID>",
            "message_template_name": "<TEMPLATE_NAME>",
            "message_template_language": "<LANGUAGE_AND_LOCALE_CODE>",
            "reason": "<REJECTION_REASON>"
        }
    }
}

En este ejemplo, el webhook indica una actualización de la cuenta en la que se ha añadido un número de teléfono:

{
    "notification_id": "id",
    "timestamp": "2023-02-21T15:34:39Z",
    "channel": "whatsapp",
    "whatsapp": {
        "waba_info": {
            "waba_id": "<WABA_ID>",
            "solution_id": "<WABA_SOLUTION_ID>", // if present
            "api_key": "<WABA_API_KEY>"
        },
        "whatsapp_number_info": {
            "phone_number": "<PHONE_NUMBER>",
            "api_key": "<NUMBER_API_KEY>"
        },
        "notification_type": "account_update",
        "notification_value": {
            "phone_number": "<PHONE_NUMBER>",
            "event": "PHONE_NUMBER_ADDED"
        }
    }
}

El notification_value que se muestra en las cargas útiles del webhook de ejemplo es una transmisión del objeto value objeto en las cargas útiles de los webhooks de Meta.

Crear una suscripción de notificaciones de WhatsApp para Slack

Para recibir notificaciones a través de Slack, puedes enviar una solicitud al subscriptions con los siguientes parámetros:

{
    "type": "slack",
    "whatsapp_subscribe_types": "account_alerts,account_update,message_template_status_update",
    "slack": {
      "url": "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX"
    }
}

Aquí:

  • El url debe contener una URL de webhook entrante creada para su espacio de trabajo de Slack. Consulte la página Documentación sobre webhooks de Slack para más información sobre cómo configurar esta URL.
  • whatsapp_subscribe_types es un parámetro opcional en el que puedes indicar específicos tipos de notificación que desees recibir a través de tu suscripción. Si no se especifica, la suscripción incluirá todos los tipos de suscripción.

Encontrará un ejemplo de código completo en Crear una suscripción de notificaciones de WhatsApp para Slack fragmento de código.

Ejemplo de notificación

Una vez creada tu suscripción, empezarás a recibir actualizaciones en el canal de Slack especificado, por ejemplo:

An example Slack notification showing a WhatsApp account update

Tipos de notificaciones

  • Hay muchos valores potenciales para whatsapp_subscribe_typesque se muestra tanto en el webhook como en las notificaciones de Slack. Puede consultar la lista completa de tipos de notificación y sus descripciones en la sección Documentación Meta WhatsApp.
  • Actualmente solo hay un valor posible para vonage_subscribe_types, que es vonage_number_onboarded.

Listar todas las suscripciones

Para obtener una lista de todas las suscripciones existentes, envíe una solicitud GET a la dirección subscriptions punto final; se pueden encontrar ejemplos de código en el Mostrar las suscripciones a notificaciones existentes fragmento de código.

Borrar una suscripción

Para eliminar una suscripción, envía una solicitud DELETE con el ID único de la suscripción que deseas eliminar. Puedes encontrar ejemplos de código en el Borrar una suscripción fragmento de código.

Lecturas complementarias