# Invio di reazioni WhatsApp

Reagisci al messaggio di un contatto con un emoji, ad esempio un pollice in su per confermare la ricezione della risposta. Puoi sostituire la tua reazione o rimuoverla in seguito.

## Prerequisiti

Hai bisogno di una chiave API con permesso di scrittura WhatsApp e dell'ID messaggio Bird (`wam_…`) di un messaggio ricevuto dal tuo spazio di lavoro. Usa `data.whatsapp_id` da [`whatsapp.received`](/docs/guides/whatsapp/receiving-whatsapp), oppure il `id` del messaggio dal [log WhatsApp](/docs/guides/whatsapp/message-log).

Sostituisci l'ID messaggio di esempio con l'ID di un messaggio ricevuto dal tuo spazio di lavoro. Inizializza il client per il tuo linguaggio usando la guida SDK per [TypeScript](/docs/sdks/typescript), [Python](/docs/sdks/python), [Go](/docs/sdks/go) o [PHP](/docs/sdks/php). Per gli esempi CLI, [installa e autentica la CLI](/docs/cli#authenticate) con accesso in scrittura WhatsApp. Usa l'host API per la [regione del tuo spazio di lavoro](/docs/api/regions) nelle richieste cURL.

## 1. Aggiungere una reazione

Chiama [React to a WhatsApp message](/docs/api/reference/upsert-whatsapp-message-reaction) con un singolo emoji:

**TypeScript**

```typescript
const reaction = await bird.whatsapp.reaction.set("wam_01krdgeqcxet5s7t44vh8rt9mg", {
  emoji: "👍",
});
console.log(reaction.id, reaction.emoji);
```

Examples: [TypeScript](/it-it/documentazione/guides/whatsapp/reactions.ts.md) · [Python](/it-it/documentazione/guides/whatsapp/reactions.py.md) · [Go](/it-it/documentazione/guides/whatsapp/reactions.go.md) · [PHP](/it-it/documentazione/guides/whatsapp/reactions.php.md) · [CLI](/it-it/documentazione/guides/whatsapp/reactions.cli.md) · [cURL](/it-it/documentazione/guides/whatsapp/reactions.curl.md)

API restituisce `202` con `id` (`war_…`) e `emoji` della reazione accettata. Salva l'ID della reazione per trovarne l'esito nel log delle reazioni. L'accettazione non conferma che WhatsApp abbia applicato la reazione.

Puoi avere una sola reazione per messaggio. Per sostituirla, ripeti la richiesta `PUT` con un emoji diverso. Le reazioni non vengono addebitate.

## 2. Controllare l'esito della reazione

[Recupera il messaggio](/docs/api/reference/get-whatsapp-message) per vederne le `reactions` attuali, con una voce per mittente. Per l'esito di una modifica specifica, [elenca gli eventi di reazione del messaggio](/docs/api/reference/list-whatsapp-message-reaction-events) e cerca l'ID della reazione salvato.

Il log delle reazioni registra gli esiti terminali: `sent` indica che WhatsApp ha accettato la modifica, `failed` indica che WhatsApp l'ha rifiutata e `rejected` indica che Bird l'ha rifiutata prima della trasmissione. Esamina il `error` dell'evento per una modifica fallita o rifiutata. Una reazione in attesa non ha ancora una voce nel log. Le reazioni non hanno conferme di consegna o lettura e nessun webhook di reazione in uscita.

## 3. Rimuovere la reazione

Chiama [Remove a WhatsApp reaction](/docs/api/reference/delete-whatsapp-message-reaction) con lo stesso ID messaggio:

**TypeScript**

```typescript
await bird.whatsapp.reaction.remove("wam_01krdgeqcxet5s7t44vh8rt9mg");
```

Examples: [TypeScript](/it-it/documentazione/guides/whatsapp/reactions.ts.md) · [Python](/it-it/documentazione/guides/whatsapp/reactions.py.md) · [Go](/it-it/documentazione/guides/whatsapp/reactions.go.md) · [PHP](/it-it/documentazione/guides/whatsapp/reactions.php.md) · [CLI](/it-it/documentazione/guides/whatsapp/reactions.cli.md) · [cURL](/it-it/documentazione/guides/whatsapp/reactions.curl.md)

API restituisce `202` senza corpo della risposta. La rimozione viene elaborata in modo asincrono; controlla le `reactions` attuali del messaggio o il log delle reazioni per confermare l'esito. Una voce di rimozione nel log ha `emoji: null`. Rimuovere una reazione assente è sicuro e questa operazione rimuove la reazione del tuo spazio di lavoro, non quella del contatto.

## Risoluzione dei problemi

- **`404` ([E15071](/docs/api/errors/E15071))**: controlla l'ID del messaggio di destinazione e lo spazio di lavoro. Bird conserva il riferimento al messaggio necessario per aggiungere o rimuovere una reazione per 15 giorni.
- **`422` ([E01001](/docs/api/errors/E01001))**: usa un messaggio ricevuto e un singolo emoji. Non puoi reagire a un messaggio inviato dal tuo spazio di lavoro. Un emoji combinato conta come un singolo emoji; due emoji separati no.
- **Reazione invariata dopo `202`**: esamina il log delle reazioni per una modifica fallita o rifiutata. Una risposta HTTP con esito positivo conferma l'accettazione per l'elaborazione.

## Passaggi successivi

- [Ricevere le modifiche alle reazioni](/docs/guides/whatsapp/receiving-whatsapp/reactions)
- [Contrassegnare un messaggio come letto](/docs/guides/whatsapp/mark-message-as-read)
- [Inviare una risposta WhatsApp](/docs/guides/whatsapp/sending-whatsapp)

## 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](/products/whatsapp) (product)

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