Configuration des webhooks

Abonnez-vous aux webhooks pour obtenir des notifications concernant les messages reçus par votre entreprise et les mises à jour du profil client.

Créer un point de terminaison

Pour pouvoir recevoir des notifications, vous devrez créer un point de terminaison des notifications sur votre serveur.

Votre point de terminaison doit être capable de traiter deux types de demandes HTTPS : Demandes de vérification et Notifications d’évènement. Comme les deux requêtes utilisent le protocole HTTPS, votre serveur doit disposer d’un certificat TLS ou SSL valide, correctement configuré et installé. Les certificats autosignés ne sont pas pris en charge.

En savoir plus sur les Demandes de vérification et les Notifications d’évènement

La configuration des webhooks n’affectera pas le numéro de téléphone dans votre application WhatsApp Business. Un numéro transféré vers la plateforme WhatsApp Business ne peut plus être utilisé dans votre application WhatsApp Business.

S’abonner aux webhooks

Pour s’abonner aux webhooks, vous devrez obtenir un ID d’app Meta et des autorisations. Pour ce faire, accédez à l’Espace App Meta. À partir de là, vous pourrez :

  1. Créer une application de type Business dans l’Espace App Meta
  2. Ajouter le produit Webhooks à votre application Meta dans l’Espace App

    Chaque application Meta ne peut avoir qu’un seul point de terminaison configuré à la fois. Si vous devez envoyer les mises à jour de vos Webhooks à plusieurs points de terminaison, plusieurs applications Meta sont nécessaires.

Si vous intervenez en tant que partenaire de solution, vous devrez peut-être :

  1. Ajouter l’autorisation whatsapp_business_messaging dans votre Espace App
  2. Passer le Contrôle app Meta . Cette étape prend du temps, mais vous pourrez continuer les tests pendant tout le processus d’examen.

Comprendre les webhooks

Chaque fois qu’un évènement déclencheur se produit, la plateforme WhatsApp Business prend connaissance de l’évènement et envoie une notification à une URL du webhook que vous avez précédemment spécifiée. Vous pouvez recevoir deux types de notifications :

  • Messages reçus : cette alerte vous indique que vous avez reçu un message. Ces alertes sont également appelées « Notifications entrantes » dans l’ensemble de la documentation.
  • Notifications de statut de message et de tarification : ces alertes vous informent lorsque le statut d’un message a changé, par exemple lorsque le message a été lu ou distribué. Ces alertes sont également appelées « Notifications sortantes » dans l’ensemble de la documentation.

Tous les webhooks utilisent le format général suivant :

{
  "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"
              },
              # specific Webhooks payload            
          },
          "field": "messages"
        }]
    }]
}

Pour obtenir des informations sur chaque champ, voir Composants.

Si vous recevez un message qui n’est pas pris en charge dans le cadre de l’API Cloud, vous recevrez un webhook de message inconnu.

Taille des charges utiles

La taille des charges utiles de webhooks peut atteindre 3 Mo.

Exemples de points de terminaison d’application

Créez un exemple de point de terminaison pour tester vos webhooks.

Échec de diffusion des webhooks

Si nous envoyons une demande webhook à votre point de terminaison et que votre serveur répond avec un code de statut HTTP autre que 200, ou si nous ne sommes pas en mesure de diffuser le webhook pour une autre raison, nous continuerons à essayer avec une fréquence décroissante jusqu’à ce que la demande soit acceptée, pendant un maximum de 7 jours.

Notez que les essais seront envoyés à toutes les applications abonnées aux webhooks (et aux champs appropriés) pour le compte WhatsApp Business. Cela peut avoir pour résultat des notifications de webhook en double.

Adresses IP

Vous pouvez obtenir les adresses IP de nos serveurs webhook en exécutant la commande suivante dans votre terminal :

whois -h whois.radb.net — '-i origin AS32934' | grep ^route | awk '{print $2}' | sort

Nous modifions régulièrement ces adresses IP. Aussi, si vous inscrivez nos serveurs sur votre liste d’éléments autorisés, vous devrez parfois la régénérer et la mettre à jour en conséquence.

Étapes suivantes

En savoir plus sur les informations que vous pouvez recevoir dans une notification Webhooks.