Sign inGet Started

WhatsApp reactie-events

Een emoji-reactie annoteert een bestaand bericht in plaats van een nieuw bericht te maken, dus verschijnt ze nooit als een eigen bericht of tussen de berichtstatusgebeurtenissen. Bird bewaart er twee weergaven van: de reacties die nu op het bericht staan, en een log van elke wijziging die daartoe heeft geleid. Beide registreren wijzigingen door het contact en door je zakelijke nummer.

Om op de hoogte te worden gebracht van de reactie van een contact op het moment dat het gebeurt, abonneer je op whatsapp.reacted. Om je eigen reactie toe te voegen of te verwijderen, zie Reacties versturen.

Vereisten

Een API-sleutel met WhatsApp leesrechten, en het ID (wam_…) van het bericht waarop is gereageerd.

1. De huidige reacties lezen

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 staande 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.

Dit is de status om weer te geven. Reactie-webhooks kunnen een timestamp delen en in willekeurige volgorde binnenkomen, dus gebruik er een als trigger om het bericht opnieuw op te halen in plaats van als de huidige status.

2. Het reactielogboek lezen

Lijst reactie-events met GET /v1/whatsapp/messages/{message_id}/reaction-events om elke wijziging aan het betreffende bericht te zien, nieuwste eerst: toevoegingen, vervangingen en verwijderingen. Elke vermelding heeft een reactie-ID (war_…), de emoji, wie de wijziging heeft aangebracht in from, een occurred_at-timestamp en een status:

  • received: een wijziging van een contact.
  • sent: WhatsApp heeft een wijziging van je zakelijke nummer geaccepteerd.
  • failed: WhatsApp heeft je wijziging geweigerd.
  • rejected: Bird heeft je wijziging geweigerd vóór verzending.

Een failed- of rejected-vermelding bevat de reden op error. Een verwijdering bevat emoji: null. Een wijziging van jou die nog in behandeling is, heeft geen vermelding totdat de uitkomst bekend is. Een reactie wordt nooit in rekening gebracht, dus een fout hier is nooit een factureringsfout.

Het reactie-events API geeft een gepagineerd antwoord terug. Dit voorbeeld toont een geweigerde zakelijke reactie en een eerdere 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 aflevergebeurtenissen van het bericht. Het endpoint berichtstatusgebeurtenissen bevat geen whatsapp.reacted-wijzigingen. Volg voor retentie en paginering de referentie van het reactielog.

Probleemoplossing

  • Reactie ontbreekt in de berichtenlijst: zoek het oorspronkelijke bericht op. Een reactie is eraan gekoppeld en heeft geen aparte berichtrij.
  • Reactiestatus verandert onverwacht: lees de reactions van het bericht in plaats van webhook-events te ordenen op aankomsttijd of timestamp.

Volgende stappen