# Marcar mensagem como lida

Confirme a leitura de uma mensagem WhatsApp de um contato quando você a tiver lido ou começado a tratar a solicitação. Você também pode exibir um indicador de digitação enquanto prepara uma resposta.

## Pré-requisitos

Você precisa de uma chave API com permissão de escrita WhatsApp e do ID de mensagem Bird (`wam_…`) de uma mensagem que seu espaço de trabalho recebeu. Use `data.whatsapp_id` do [webhook `whatsapp.received`](/docs/guides/whatsapp/receiving-whatsapp), ou o `id` da mensagem no [log de WhatsApp](/docs/guides/whatsapp/message-log).

Substitua o ID de mensagem de exemplo pelo ID de uma mensagem que seu espaço de trabalho recebeu. Inicialize o cliente para sua linguagem usando o guia de [TypeScript](/docs/sdks/typescript), [Python](/docs/sdks/python), [Go](/docs/sdks/go) ou [PHP](/docs/sdks/php) SDK. Para exemplos CLI, [instale e autentique o CLI](/docs/cli#authenticate) com acesso de escrita WhatsApp. Use o host API da [região do seu espaço de trabalho](/docs/api/regions) nas requisições cURL.

## 1. Marcar a mensagem recebida como lida

Chame [Marcar uma mensagem como lida](/docs/api/reference/send-whatsapp-read-receipt) com o ID da mensagem recebida. WhatsApp também marca mensagens anteriores na mesma conversa como lidas, então escolha a mensagem que representa até onde você leu.

**TypeScript**

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

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

Uma requisição bem-sucedida retorna `202` com `typing_indicator: false`. A confirmação é aceita para processamento; a resposta não garante que o contato a tenha visto. Confirmações de leitura não geram mensagem de saída cobrável.

## 2. Exibir digitação enquanto prepara uma resposta

Para marcar a mensagem como lida e exibir digitação, passe `typing_indicator: true` na mesma requisição:

**TypeScript**

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

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

WhatsApp limpa o indicador quando você envia uma mensagem ou após 25 segundos. Repetir a chamada é seguro. Para atualizar a digitação, omita `Idempotency-Key` ou use uma nova chave; reenviar uma requisição anterior não atualiza o indicador.

## 3. Verificar a mensagem recebida

[Recupere a mensagem](/docs/api/reference/get-whatsapp-message) para inspecionar `read_at`. Depois que WhatsApp aceita a confirmação, a mensagem recebida pode conter esse timestamp e manter seu status `received`. Não existe um recurso de confirmação separado nem webhook de entrega para rastrear.

## Solução de problemas

- **`404` ([E15071](/docs/api/errors/E15071))**: Verifique o ID da mensagem e o espaço de trabalho. Bird consegue resolver uma mensagem para confirmação por 15 dias; uma mensagem mais antiga não pode ser marcada como lida por esta operação.
- **`422` ([E15074](/docs/api/errors/E15074))**: Use uma mensagem de entrada que seu espaço de trabalho possa confirmar. Uma mensagem de saída não é um alvo elegível.
- **`503` ([E15073](/docs/api/errors/E15073))**: Tente novamente após uma falha temporária ao resolver a mensagem.

## Próximos passos

- [Enviar uma resposta](/docs/guides/whatsapp/sending-whatsapp)
- [Reagir a uma mensagem recebida](/docs/guides/whatsapp/reactions)
- [Receber mensagens 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)
