Webhooks de messages entrants WhatsApp
Quand un contact vous envoie un message, Bird pousse whatsapp.received vers votre endpoint. Le payload utilise l'enveloppe d'événement WhatsApp et contient les champs communs à tous les événements de message.
Le payload received
whatsapp.received ajoute le contenu du message aux champs communs à tous les événements de message, pour qu'un endpoint puisse agir sur un message entrant sans le relire. Un appui sur un message interactif arrive sous forme de interactive_reply, et in_reply_to_message_id indique le message auquel il répond :
{
"data": {
"direction": "inbound",
"from": {
"display_name": "Alex Rivera",
"phone_number": "+14155550100",
"username": "alexr"
},
"in_reply_to_message_id": "wam_01ky7qbvswf3fvyaw3az90391c",
"interactive_reply": {
"list": {
"description": "Next day to 2 days",
"slug": "priority_express",
"text": "Priority Mail Express"
},
"type": "list"
},
"metadata": null,
"tags": null,
"to": { "phone_number": "+13124495569" },
"whatsapp_id": "wam_01ky8b3xq4gd7pmzn2ka51f7te",
"workspace_id": "ws_01ky7m235keycbnwyajabe1a6b"
},
"timestamp": "2026-07-23T14:52:04.118Z",
"type": "whatsapp.received"
}Les autres branches de contenu suivent la même structure exclusive : text, image, video, audio, sticker, document, location, contact_cards, et unsupported pour un type que API ne modélise pas. GET /v1/whatsapp/messages/{message_id} documente chacune d'entre elles.
Étapes suivantes
- Recevoir des messages WhatsApp : toutes les branches de contenu et la récupération des médias entrants
- Webhooks de réactions : les réactions d'un contact arrivent séparément
- Webhooks de statut de message : payloads de livraison et d'échec pour les messages que vous envoyez
Ressources associées
Poursuivez avec la documentation, les guides et les exemples sur ce sujet.