Les Webhooks vous permettent de recevoir des notifications HTTP en temps réel concernant des modifications apportées à des objets spécifiques. Par exemple, nous pouvons vous envoyer une notification lorsqu’un·e utilisateur·ice vous adresse un message ou lorsque le statut d’un modèle de message évolue. Cela vous évite de devoir interroger nos API pour connaître les changements éventuels apportés aux objets et vous permet de ne pas dépasser votre plafond.
Ce document donne un aperçu des Webhooks concernant l’API WhatsApp Business Management, l’API Cloud de la plateforme WhatsApp Business et l’API On-Premises de la plateforme WhatsApp Business.
Chaque API peut avoir plusieurs types d’objets. Aussi, à chaque fois que vous configurez un Webhook, vous devez commencer par choisir un type d’objet. Puisque les objets comportent différents champs selon leur type, vous devez vous abonner aux champs spécifiques du type d’objet concerné. Vous recevez une notification pour chaque modification apportée à la valeur d’un champ d’objet auquel vous vous êtes abonné·e.
Ces notifications vous sont envoyées sous forme de requêtes HTTP POST et contiennent une charge utile JSON décrivant la modification.
Le tableau suivant indique les informations que vous pouvez recevoir des Webhooks.
API | Objets |
---|---|
API Cloud |
|
API On-Premises |
|
API WhatsApp Business Management |
|
Les exemples suivants illustrent l’envoi d’une notification de Webhook lorsqu’un·e utilisateur·ice vous adresse un texto.
Pour l’API Cloud, l’objet est toujours whatsapp_business_account
, mais le paramètre field
précise le type d’information envoyé.
{ "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" }] }] }
Pour l’API On-Premises, l’envoi du Webhook étant effectué par votre client·e et non par Meta, l’objet est contacts
et messages
, errors
, ou statuses
et pricing
.
{ "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" }] }
Les Webhooks sont envoyés via HTTPS. Votre serveur doit donc être en mesure de recevoir et de traiter des requêtes HTTPS. Il doit également disposer d’un certificat TLS/SSL valide. Les certificats auto-signés ne sont pas pris en charge.
Apprenez-en davantage sur les Webhooks pour une API spécifique.