# Webhook di reazione WhatsApp

`whatsapp.reacted` si attiva quando un contatto reagisce a uno dei tuoi messaggi, cambia emoji o ritira la reazione. Le reazioni inviate dal tuo numero aziendale non lo emettono. Un abbonamento a `whatsapp.received` non include le reazioni, e una reazione non apre una finestra di assistenza clienti.

Una reazione è un'annotazione su un messaggio, non un messaggio a sé, quindi non fa parte della cronologia di consegna e non include i [campi presenti in ogni evento messaggio](/docs/guides/whatsapp/webhooks#fields-every-message-event-carries).

## Il payload

`whatsapp_id` indica il messaggio che ha ricevuto la reazione, non la reazione stessa, e `emoji` è la modifica effettuata dall'utente. Un utente che reagisce, cambia emoji e poi ritira la reazione produce tre eventi su quello stesso messaggio. WhatsApp non invia alcuna rimozione tra i primi due, quindi un cambio arriva come un singolo evento con la nuova emoji.

```json
{
  "data": {
    "emoji": "👍",
    "from": { "phone_number": "+14155550100" },
    "to": { "phone_number": "+13124495569" },
    "whatsapp_id": "wam_01ky8b3xq4gd7pmzn2ka51f7te",
    "workspace_id": "ws_01ky7m235keycbnwyajabe1a6b"
  },
  "timestamp": "2026-07-23T14:52:11.000Z",
  "type": "whatsapp.reacted"
}
```

WhatsApp riporta l'orario della reazione al secondo, quindi due di quei tre eventi possono condividere lo stesso `timestamp`. Ordinarli in base a quel valore non li metterà in sequenza, e nemmeno l'ordine di consegna, reso inaffidabile dai tentativi ripetuti. Gestisci la reazione che ogni evento contiene, come la modifica che descrive. Non ricostruire la sequenza dagli eventi e non trattare l'ultimo arrivato come la reazione attuale del messaggio, perché né i timestamp né l'ordine di arrivo lo garantiscono. Rileggi il messaggio per le reazioni in vigore: [`GET /v1/whatsapp/messages/{message_id}`](/docs/api/reference/get-whatsapp-message) restituisce una voce per mittente in `reactions`, e il [log delle reazioni](/docs/api/reference/list-whatsapp-message-reaction-events) del messaggio contiene ogni modifica.

`emoji` è presente e vale `null` quando l'utente ha ritirato la reazione, quindi un null è la rimozione stessa e non un valore mancante. L'emoji viene consegnata esattamente come WhatsApp l'ha inviata e non viene normalizzata, quindi `❤` e `❤️` arrivano come stringhe diverse.

- `from` è il contatto e `to` è il tuo numero WhatsApp. Gestisci gli [ID utente con ambito aziendale](/docs/guides/whatsapp/business-scoped-user-ids) quando l'indirizzo del contatto non ha un numero di telefono.

## Passaggi successivi

- [Eventi di reazione](/docs/guides/whatsapp/events/reactions): leggere le reazioni correnti e il log delle reazioni
- [Inviare o rimuovere una reazione](/docs/guides/whatsapp/reactions)

## 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)
