Webhooks WhatsApp
Bird envoie l'activité WhatsApp à votre endpoint en temps réel, ce qui vous évite de l'interroger. Abonnez-vous depuis la page Webhooks ou avec POST /v1/webhooks. Le guide Webhooks couvre les endpoints, la vérification de signature et les réessais.
Événements auxquels vous pouvez vous abonner
Chaque événement renvoie vers son payload.
| Événement | Se déclenche quand |
|---|---|
whatsapp.accepted | Bird accepte une requête d'envoi sortant |
whatsapp.sent | Bird transmet le message au réseau WhatsApp |
whatsapp.delivered | WhatsApp confirme la livraison sur l'appareil du destinataire |
whatsapp.read | Le destinataire ouvre le message |
whatsapp.failed | Le message n'a pas pu être livré |
whatsapp.rejected | Bird refuse le message avant de l'envoyer |
whatsapp.received | Un contact vous envoie un message |
whatsapp.reacted | Un contact ajoute, modifie ou supprime une réaction |
whatsapp_suppression.created | Une suppression s'ouvre sur votre espace de travail |
whatsapp.group.join_request_created | Quelqu'un demande à rejoindre un groupe |
whatsapp.group.join_request_revoked | Quelqu'un annule sa demande pour rejoindre un groupe |
La liste des types d'événements est ouverte : de nouveaux types peuvent apparaître au fil du temps. Traitez une valeur non reconnue comme un événement futur plutôt que comme une erreur.
L'enveloppe d'événement
Chaque événement WhatsApp utilise l'enveloppe webhook standard : un type, un timestamp et un objet data propre au type.
{
"data": {
"direction": "outbound",
"from": { "phone_number": "+13124495569" },
"metadata": { "session_id": "sess_4821" },
"tags": [{ "name": "flow", "value": "login-otp" }],
"to": { "phone_number": "+14155550100" },
"whatsapp_id": "wam_01ky7qbvswf3fvyaw3az90391c",
"workspace_id": "ws_01ky7m235keycbnwyajabe1a6b"
},
"timestamp": "2026-07-23T14:51:39.913Z",
"type": "whatsapp.delivered"
}Champs présents dans tout événement de message
Chaque payload webhook WhatsApp pour un message contient whatsapp_id, workspace_id, direction, from, to, tags et metadata. Les événements de réaction, de suppression et de groupe ne concernent pas un message : chacun a sa propre structure, décrite sur sa page.
- Adresses :
fromettopeuvent inclure unphone_numberE.164, un identifiant utilisateur à portée business Meta dansbsuid, ou les deux. Un message reçu d'un utilisateur WhatsApp contient aussi le profil qu'il publie, dansusernameetdisplay_name. tagsetmetadatasontnullquand l'envoi n'en comportait pas.in_reply_to_message_idapparaît sur chaque événement sortant d'un message envoyé en réponse, dewhatsapp.acceptedàwhatsapp.read,whatsapp.failedouwhatsapp.rejected, en nommant le message auquel il répond.
Les payloads d'événement ne contiennent pas de coût. Récupérez le message avec GET /v1/whatsapp/messages/{message_id} pour voir ce qu'il a coûté.
Étapes suivantes
- Webhooks de statut de message : charges utiles de livraison et d'échec
- Webhooks de message entrant : la charge utile
whatsapp.received - Webhooks de réaction : le payload
whatsapp.reacted - Guide des webhooks : points de terminaison, signatures, réessais et catalogue complet des événements
Ressources associées
Poursuivez avec la documentation, les guides et les exemples sur ce sujet.