WhatsApp-reacties ontvangen
Abonneer je op reactiewijzigingen om te weten wanneer een contact een emoji aan een van je berichten toevoegt, deze wijzigt of weer verwijdert. Reacties annoteren een bestaand bericht en komen binnen via whatsapp.reacted.
Vereisten
Stel een webhook-endpoint in voor je werkruimte. Om de huidige reacties of hun geschiedenis op te halen, gebruik je een API-sleutel met WhatsApp-leesrechten.
1. Abonneer je op reactiewijzigingen
Voeg whatsapp.reacted toe aan je webhook-abonnement. Een abonnement op whatsapp.received bevat geen reacties. Volg de webhookgids voor handtekeningverificatie, bezorgpogingen en endpointconfiguratie.
Reacties maken geen nieuw bericht aan in de berichtenlijst en openen geen klantenservicevenster. Als je wilt antwoorden, controleer dan de regels voor servicevensters voordat je een vrij bericht stuurt.
2. Identificeer het bericht en de wijziging
Lees de data.whatsapp_id van het event om het bericht te vinden waarop het contact heeft gereageerd. Dit is het oorspronkelijke Bird-bericht-ID (wam_…), niet een apart reactie-ID.
Gebruik data.from om het contact te identificeren en data.to om je WhatsApp-afzender te identificeren. Dit zijn WhatsApp-adresobjecten; verwerk bedrijfsgebonden gebruikers-ID's wanneer het adres van het contact geen telefoonnummer bevat.
Een contact dat een duim-omhoogreactie toevoegt, produceert deze webhook:
Codevoorbeeld
{
"data": {
"emoji": "👍",
"from": { "phone_number": "+14155550100" },
"to": { "phone_number": "+13124495569" },
"whatsapp_id": "wam_01ky8b3xq4gd7pmzn2ka51f7te",
"workspace_id": "ws_01ky7m235keycbnwyajabe1a6b"
},
"timestamp": "2026-08-28T19:01:10.000Z",
"type": "whatsapp.reacted"
}Interpreteer data.emoji als volgt:
- Een niet-null emoji voegt de reactie van dat contact op het gerefereerde bericht toe of vervangt deze.
- Een null-emoji verwijdert de reactie van dat contact. Het veld is aanwezig bij een verwijderingsevent.
Een vervanging komt binnen als één event met de nieuwe emoji; er is geen apart verwijderingsevent voor de oude emoji. Bewaar de exacte string: ❤ en ❤️ zijn verschillende waarden in de payload.
3. Haal de huidige reacties op
Als je applicatie de reactie toont die momenteel aan een bericht is gekoppeld, haal het bericht op en lees de reactions. De lijst bevat één actieve reactie per afzender en wordt weggelaten als er geen reacties staan.
Voor GET /v1/whatsapp/messages/wam_01ky8b3xq4gd7pmzn2ka51f7te hebben de reactiegerelateerde velden deze vorm (overige berichtvelden weggelaten):
Codevoorbeeld
{
"id": "wam_01ky8b3xq4gd7pmzn2ka51f7te",
"reactions": [
{
"emoji": "👍",
"from": { "phone_number": "+14155550100" }
}
]
}Het bericht behoudt zijn oorspronkelijke inhoud, richting en bezorgstatus. reactions[].from identificeert de persoon die heeft gereageerd.
Behandel de laatste webhook die je ontvangt niet als de huidige status. WhatsApp rapporteert reactietijden tot op de seconde, dus wijzigingen kunnen dezelfde timestamp delen en webhook-herhaalpogingen kunnen de aankomstvolgorde veranderen. Gebruik webhooks om het verversen van de huidige reacties op het bericht te triggeren.
4. Bekijk de reactiegeschiedenis
Lijst reactie-events op om wijzigingen aan het gerefereerde bericht te bekijken. Inkomende contactwijzigingen hebben status received; een verwijdering bevat emoji: null. De lijst bevat ook resultaten van reacties die je werkruimte heeft verstuurd.
De reactie-events API retourneert een gepagineerd antwoord. Dit voorbeeld toont een afgewezen bedrijfsreactie en een eerder ontvangen contactreactie:
Codevoorbeeld
{
"data": [
{
"id": "war_01krdgeqcxet5s7t44vh8rt9mh",
"emoji": "🎉",
"status": "rejected",
"from": {
"phone_number": "+13124495569"
},
"error": {
"code": "internal_error",
"description": "the receiving number is no longer connected",
"occurred_at": "2026-08-28T19:04:22Z"
},
"occurred_at": "2026-08-28T19:04:22Z"
},
{
"id": "war_01krdgeqcxet5s7t44vh8rt9mg",
"emoji": "👍",
"status": "received",
"from": {
"phone_number": "+14155550100",
"bsuid": "US.13491208655302741918"
},
"occurred_at": "2026-08-28T19:01:10Z"
}
],
"next_cursor": null,
"prev_cursor": null,
"refresh_cursor": "eyJ2IjoxLCJzIjoiMjAyNi0wOC0yOFQxOTowNDoyMloiLCJpIjoiMDE5ZTFiMDctNWQ5ZC03NjhiLTkzZTgtODRkYzUxOGQyNjkxIn0"
}Reactiegeschiedenis staat los van de bezorgevents van het bericht. Het message-events-endpoint bevat geen whatsapp.reacted-wijzigingen. Volg voor retentie en paginering de reactielogreferentie.
Probleemoplossing
- Geen reactie-webhook: Controleer of het abonnement whatsapp.reacted bevat. Een reactie op een ouder bericht waarvan de providerreferentie niet meer kan worden opgelost, levert geen gekoppelde reactie, logvermelding of webhook op.
- Reactie ontbreekt in de berichtenlijst: Zoek het oorspronkelijke bericht op. Een reactie is eraan gekoppeld en heeft geen aparte berichtrij.
- Reactiestatus verandert onverwacht: Ververs de reactions van het oorspronkelijke bericht in plaats van webhook-events te ordenen op aankomsttijd of timestamp.
Volgende stappen
Gerelateerde bronnen
Ga verder met de documentatie, gidsen en voorbeelden voor dit onderwerp. De bronnen zijn in het Engels.
Bekijk de gidsConnecting WhatsApp to Bird: from buying a number to a live channelBegrijp het conceptWhat is the 24-hour customer service window on WhatsApp?Gebruik de toolWhatsApp message builderOntdek de mogelijkheidWhatsApp
Probeer de oefening en ontvang een implementatieoverzicht