Abonnements aux notifications de WhatsApp

Les webhooks du système sont déclenchés lorsqu'un événement se produit sur un WABA ou un numéro de téléphone. Vous pouvez désormais vous abonner à ces webhooks pour recevoir des notifications en cas de modification des paramètres de votre WhatsApp Business Account. Il existe de nombreux types de notificationVous pouvez également recevoir des informations sur les messages que vous envoyez, telles que les mises à jour de comptes, les modifications de modèles de messages, les mises à jour de numéros de téléphone et la réception d'un message de la part d'un client.

Ces notifications peuvent être reçues de deux manières :

  • A travers Crochets Web - recevoir des notifications par le biais d'une URL webhook personnalisée
  • Via Slack - recevoir des notifications dans un canal désigné au sein de votre espace de travail Slack.

Pour créer un abonnement, vous pouvez envoyer une demande à l'adresse suivante Créer un point de terminaison d'abonnement de l'API du gestionnaire de canaux.

Créer un abonnement aux notifications WhatsApp avec Webhooks

Pour recevoir des mises à jour via un webhook, vous devez d'abord créer une URL webhook personnalisée configurée pour accepter les requêtes

POST
. Crochets Web si vous n'êtes pas sûr de la marche à suivre. Vous pouvez ensuite envoyer une demande au point de terminaison des abonnements avec les paramètres suivants pour créer l'abonnement :

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

Ici :

  • url doit contenir l'URL de votre webhook personnalisé.
  • whatsapp_subscribe_types est un paramètre facultatif qui permet d'énumérer des WhatsApp spécifiques. types de notification que vous souhaitez recevoir dans le cadre de votre abonnement. Si ce n'est pas le cas, l'abonnement comprendra tous les types d'abonnement.
  • vonage_subscribe_types est un paramètre facultatif qui vous permet de dresser une liste d'adresses spécifiques de Vonage types de notification que vous souhaitez recevoir dans le cadre de votre abonnement. Si ce n'est pas le cas, l'abonnement comprendra tous les types d'abonnement.

Vous trouverez un exemple de code complet dans le Créer un abonnement aux notifications WhatsApp avec Webhooks extrait de code.

Exemple de Webhooks

Cet exemple montre une mise à jour de l'état d'un modèle. event le modèle a été rejeté :

{
    "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>"
        }
    }
}

Dans cet exemple, le webhook indique une mise à jour de l'Account où un numéro de téléphone a été ajouté :

{
    "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"
        }
    }
}

Les notification_value montré dans les exemples de chargements de webhooks est un passage de l'objet value dans les charges utiles des webhooks Meta.

Créer un abonnement aux notifications WhatsApp pour Slack

Pour recevoir des notifications via Slack, vous pouvez envoyer une demande à l'adresse suivante subscriptions avec les paramètres suivants :

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

Ici :

  • Les url doit contenir une URL de webhook entrant créée pour votre espace de travail Slack. Veuillez vous référer à l'URL Documentation sur les webhooks de Slack pour plus d'informations sur la configuration de cette URL.
  • whatsapp_subscribe_types est un paramètre facultatif qui permet d'énumérer des types de notification que vous souhaitez recevoir dans le cadre de votre abonnement. Si ce n'est pas le cas, l'abonnement comprendra tous les types d'abonnement.

Vous trouverez un exemple de code complet dans le Créer un abonnement aux notifications WhatsApp pour Slack extrait de code.

Exemple de notification

Une fois votre abonnement créé, vous commencerez à recevoir des mises à jour dans le canal Slack spécifié, par exemple :

An example Slack notification showing a WhatsApp account update

Types de notification

  • Il existe de nombreuses valeurs possibles pour whatsapp_subscribe_typesLes notifications sont affichées à la fois dans le webhook et dans les notifications Slack. Vous pouvez consulter la liste complète des types de notifications et leurs descriptions dans la section Documentation Meta WhatsApp.
  • Il n'y a actuellement qu'une seule valeur possible pour vonage_subscribe_typesqui est vonage_number_onboarded.

Liste de tous les abonnements

Pour obtenir la liste de tous vos abonnements existants, envoyez une demande

GET
à l'adresse suivante subscriptions des exemples de code peuvent être trouvés dans la section Liste des abonnements de notification existants extrait de code.

Supprimer un abonnement

Pour supprimer un abonnement, envoyez une demande

DELETE
avec l'identifiant unique de l'abonnement à supprimer. Des exemples de code sont disponibles dans la section Supprimer un abonnement extrait de code.

Pour en savoir plus