Sign inGet Started

WhatsApp-webhooks

Bird pusht WhatsApp-activiteit naar je endpoint zodra die plaatsvindt, zodat je er niet voor hoeft te pollen. Abonneer je via de Webhooks-pagina of met POST /v1/webhooks. De Webhooks-gids behandelt endpoints, handtekeningverificatie en opnieuw proberen.

Gebeurtenissen waarop je je kunt abonneren

Elke gebeurtenis linkt naar zijn payload.

GebeurtenisWordt verstuurd wanneer
whatsapp.acceptedBird accepteert een uitgaand verzendverzoek
whatsapp.sentBird draagt het bericht over aan het WhatsApp-netwerk
whatsapp.deliveredWhatsApp bevestigt aflevering op het apparaat van de ontvanger
whatsapp.readDe ontvanger opent het bericht
whatsapp.failedHet bericht kan niet worden afgeleverd
whatsapp.rejectedBird weigert het bericht voordat het wordt verzonden
whatsapp.receivedEen contact stuurt je een bericht
whatsapp.reactedEen contact voegt een reactie toe, wijzigt of verwijdert deze
whatsapp_suppression.createdEr wordt een onderdrukking geopend op je werkruimte
whatsapp.group.join_request_createdIemand vraagt om lid te worden van een groep
whatsapp.group.join_request_revokedIemand trekt het verzoek om lid te worden van een groep in

De lijst met gebeurtenistypen is open: er kunnen in de loop van de tijd nieuwe typen worden toegevoegd. Behandel een onbekende waarde als een toekomstige gebeurtenis, niet als een fout.

De gebeurtenisenvelop

Elke WhatsApp-gebeurtenis gebruikt de standaard webhook-envelop: een type, een timestamp en een typespecifiek data-object.

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

Velden die elke berichtgebeurtenis bevat

Elke WhatsApp-webhookpayload voor een bericht bevat whatsapp_id, workspace_id, direction, from, to, tags en metadata. De reactie-, onderdrukkings- en groepsgebeurtenissen gaan niet over een bericht en hebben elk hun eigen structuur, beschreven op hun eigen pagina.

  • Adressen: from en to kunnen een E.164-phone_number, een Meta business-scoped user ID in bsuid, of beide bevatten. Een bericht dat is ontvangen van een WhatsApp-gebruiker bevat ook het profiel dat deze publiceert, in username en display_name.
  • tags en metadata zijn null wanneer het verzendverzoek er geen bevatte.
  • in_reply_to_message_id verschijnt bij elke uitgaande gebeurtenis van een bericht dat als antwoord is verzonden, van whatsapp.accepted tot en met whatsapp.read, whatsapp.failed of whatsapp.rejected, en benoemt het bericht waarop wordt geantwoord.

Gebeurtenispayloads bevatten geen kosten. Lees het bericht terug met GET /v1/whatsapp/messages/{message_id} om de kosten te bekijken.

Volgende stappen