# Contrassegnare un messaggio come letto

Conferma la ricezione di un messaggio WhatsApp di un contatto quando lo hai letto o hai iniziato a gestire la sua richiesta. Puoi anche mostrare un indicatore di digitazione mentre prepari una risposta.

## Prerequisiti

Ti serve una chiave API con permesso di scrittura WhatsApp e l'ID messaggio Bird (`wam_…`) di un messaggio ricevuto dal tuo spazio di lavoro. Usa `data.whatsapp_id` dal [webhook `whatsapp.received`](/docs/guides/whatsapp/receiving-whatsapp), oppure `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. Contrassegnare il messaggio ricevuto come letto

Chiama [Contrassegna un messaggio come letto](/docs/api/reference/send-whatsapp-read-receipt) con l'ID del messaggio ricevuto. WhatsApp contrassegna come letti anche i messaggi precedenti nella stessa conversazione, quindi scegli il messaggio che rappresenta fino a dove hai letto.

**TypeScript**

```typescript
const acknowledgement = await bird.whatsapp.markRead("wam_01krdgeqcxet5s7t44vh8rt9mg", {});
console.log(acknowledgement.typing_indicator);
```

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

Una richiesta riuscita restituisce `202` con `typing_indicator: false`. La conferma è accettata per l'elaborazione; la risposta non garantisce che il contatto l'abbia vista. Le conferme di lettura non generano messaggi in uscita fatturabili.

## 2. Mostrare la digitazione mentre prepari una risposta

Per contrassegnare il messaggio come letto e mostrare la digitazione, passa `typing_indicator: true` nella stessa richiesta:

**TypeScript**

```typescript
await bird.whatsapp.markRead("wam_01krdgeqcxet5s7t44vh8rt9mg", {
  typing_indicator: true,
});
```

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

WhatsApp cancella l'indicatore quando invii un messaggio o dopo 25 secondi. Ripetere la chiamata è sicuro. Per aggiornare la digitazione, ometti `Idempotency-Key` o usa una nuova chiave; riprodurre una richiesta precedente non aggiorna l'indicatore.

## 3. Controllare il messaggio ricevuto

[Recupera il messaggio](/docs/api/reference/get-whatsapp-message) per ispezionare `read_at`. Dopo che WhatsApp accetta la conferma, il messaggio ricevuto può contenere questo timestamp mantenendo il suo stato `received`. Non esiste una risorsa di conferma separata né un webhook di consegna da monitorare.

## Risoluzione dei problemi

- **`404` ([E15071](/docs/api/errors/E15071))**: controlla l'ID messaggio e lo spazio di lavoro. Bird può risolvere un messaggio per la conferma per 15 giorni; un messaggio più vecchio non può essere contrassegnato come letto tramite questa operazione.
- **`422` ([E15074](/docs/api/errors/E15074))**: usa un messaggio in entrata che il tuo spazio di lavoro può confermare. Un messaggio in uscita non è un destinatario valido.
- **`503` ([E15073](/docs/api/errors/E15073))**: riprova dopo un errore temporaneo nella risoluzione del messaggio.

## Passaggi successivi

- [Invia una risposta](/docs/guides/whatsapp/sending-whatsapp)
- [Reagisci a un messaggio ricevuto](/docs/guides/whatsapp/reactions)
- [Ricevi messaggi WhatsApp](/docs/guides/whatsapp/receiving-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)
