---
title: "Événements de réaction WhatsApp"
description: "Consultez les réactions présentes sur un message WhatsApp et le journal de chaque changement de réaction, par les contacts et par votre numéro professionnel, via Bird API."
canonical: "https://bird.com/fr-fr/documentation/guides/whatsapp/events/reactions"
---

# Événements de réaction WhatsApp

Une réaction emoji annote un message existant au lieu d'en créer un nouveau : elle n'apparaît donc jamais comme message à part entière ni parmi ses [événements de statut de message](/docs/guides/whatsapp/events/message-status). Bird en conserve deux vues : les réactions actuellement présentes sur le message, et un journal de chaque changement qui y a mené. Les deux enregistrent les changements effectués par le contact et par votre numéro professionnel.

Pour être informé de la réaction d'un contact en temps réel, abonnez-vous à [`whatsapp.reacted`](/docs/guides/whatsapp/webhooks/reactions). Pour ajouter ou retirer votre propre réaction, consultez [Envoyer des réactions](/docs/guides/whatsapp/reactions).

## Prérequis

Une clé API avec la permission de lecture WhatsApp, et l'ID (`wam_…`) du message auquel la réaction a été ajoutée.

## 1. Lire les réactions actuelles

Si votre application affiche la réaction actuellement associée à un message, [récupérez le message](/docs/api/reference/get-whatsapp-message) et lisez son `reactions`. La liste contient une réaction en cours par expéditeur et est omise quand aucune réaction n'est présente.

Pour `GET /v1/whatsapp/messages/wam_01ky8b3xq4gd7pmzn2ka51f7te`, les champs liés aux réactions ont cette forme (autres champs du message omis) :

```json
{
  "id": "wam_01ky8b3xq4gd7pmzn2ka51f7te",
  "reactions": [
    {
      "emoji": "👍",
      "from": { "phone_number": "+14155550100" }
    }
  ]
}
```

Le message conserve son contenu, sa direction et son statut de livraison d'origine. `reactions[].from` identifie la personne qui a réagi.

C'est l'état à afficher. Les [webhooks de réaction](/docs/guides/whatsapp/webhooks/reactions) peuvent partager un horodatage et arriver dans le désordre : utilisez-en un comme déclencheur pour relire le message plutôt que comme état actuel.

## 2. Lire le journal des réactions

[Listez les événements de réaction](/docs/api/reference/list-whatsapp-message-reaction-events) avec `GET /v1/whatsapp/messages/{message_id}/reaction-events` pour voir chaque changement sur le message référencé, du plus récent au plus ancien : ajouts, remplacements et suppressions. Chaque entrée comporte un ID de réaction (`war_…`), le `emoji`, l'auteur du changement dans `from`, un horodatage `occurred_at`, et un `status` :

- `received` : un changement effectué par un contact.
- `sent` : WhatsApp a accepté un changement de [votre numéro professionnel](/docs/guides/whatsapp/reactions).
- `failed` : WhatsApp a refusé votre changement.
- `rejected` : Bird a refusé votre changement avant de l'envoyer.

Une entrée `failed` ou `rejected` porte la raison dans `error`. Une suppression porte `emoji: null`. Un changement de votre part encore en attente n'a pas d'entrée tant que son résultat n'est pas connu. Une réaction n'est jamais facturée, aucun échec ici n'est lié à la facturation.

Le API des événements de réaction renvoie une réponse paginée. Cet exemple montre une réaction professionnelle rejetée et une réaction de contact reçue antérieurement :

```json
{
  "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"
}
```

L'historique des réactions est distinct des événements de livraison du message. Le point de terminaison [événements de statut de message](/docs/guides/whatsapp/events/message-status) ne contient pas les changements de `whatsapp.reacted`. Pour la rétention et la pagination, consultez la [référence du journal de réactions](/docs/api/reference/list-whatsapp-message-reaction-events).

## Dépannage

- **Réaction absente de la liste des messages** : recherchez le message d'origine. Une réaction y est rattachée et n'a pas de ligne de message distincte.
- **L'état de la réaction change de manière inattendue** : lisez le `reactions` du message au lieu de trier les événements webhook par heure d'arrivée ou horodatage.

## Étapes suivantes

- [Webhooks de réaction](/docs/guides/whatsapp/webhooks/reactions) : être notifié quand un contact réagit
- [Envoyer ou retirer une réaction](/docs/guides/whatsapp/reactions)
- [Événements de statut de message](/docs/guides/whatsapp/events/message-status) : la chronologie de livraison d'un message

## Related resources

- [Connecting WhatsApp to Bird: from buying a number to a live channel](/learn/whatsapp/connecting-whatsapp-to-bird) (video)
- [What is the 24-hour customer service window on WhatsApp?](/explained/whatsapp/what-is-the-24-hour-customer-service-window) (answer)
- [WhatsApp message builder](/tools/whatsapp-message-builder) (tool)
- [WhatsApp](/whatsapp-api) (product)

[Get an implementation brief](/learn/workspace?topic=whatsapp)
