# Marquer un message comme lu

Accusez réception du message WhatsApp d'un contact lorsque vous l'avez lu ou que vous avez commencé à traiter sa demande. Vous pouvez également afficher un indicateur de saisie pendant que vous préparez une réponse.

## Prérequis

Vous avez besoin d'une clé API avec la permission d'écriture WhatsApp et de l'identifiant de message Bird (`wam_…`) d'un message reçu par votre espace de travail. Utilisez `data.whatsapp_id` provenant du [webhook `whatsapp.received`](/docs/guides/whatsapp/receiving-whatsapp), ou le `id` du message depuis le [journal WhatsApp](/docs/guides/whatsapp/message-log).

Remplacez l'identifiant de message d'exemple par l'identifiant d'un message reçu par votre espace de travail. Initialisez le client pour votre langage à l'aide du guide SDK [TypeScript](/docs/sdks/typescript), [Python](/docs/sdks/python), [Go](/docs/sdks/go) ou [PHP](/docs/sdks/php). Pour les exemples CLI, [installez et authentifiez le CLI](/docs/cli#authenticate) avec l'accès en écriture WhatsApp. Utilisez l'hôte API correspondant à la [région de votre espace de travail](/docs/api/regions) dans les requêtes cURL.

## 1. Marquer le message reçu comme lu

Appelez [Marquer un message comme lu](/docs/api/reference/send-whatsapp-read-receipt) avec l'identifiant du message reçu. WhatsApp marque également les messages antérieurs de la même conversation comme lus : choisissez le message qui représente jusqu'où vous avez lu.

**TypeScript**

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

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

Une requête réussie renvoie `202` avec `typing_indicator: false`. L'accusé de réception est accepté pour traitement ; la réponse ne confirme pas que le contact l'a vu. Les accusés de lecture ne créent aucun message sortant facturable.

## 2. Afficher la saisie en cours pendant la préparation d'une réponse

Pour marquer le message comme lu et afficher la saisie en cours, passez `typing_indicator: true` dans la même requête :

**TypeScript**

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

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

WhatsApp efface l'indicateur lorsque vous envoyez un message ou après 25 secondes. Répéter l'appel est sans risque. Pour rafraîchir l'indicateur de saisie, omettez `Idempotency-Key` ou utilisez une nouvelle clé ; rejouer une requête précédente ne rafraîchit pas l'indicateur.

## 3. Vérifier le message reçu

[Récupérez le message](/docs/api/reference/get-whatsapp-message) pour inspecter `read_at`. Après que WhatsApp a accepté l'accusé de réception, le message reçu peut porter cet horodatage tout en conservant son statut `received`. Il n'existe ni ressource d'accusé de réception séparée ni webhook de livraison à suivre.

## Dépannage

- **`404` ([E15071](/docs/api/errors/E15071))** : Vérifiez l'identifiant du message et l'espace de travail. Bird peut résoudre un message pour accusé de réception pendant 15 jours ; un message plus ancien ne peut pas être marqué comme lu via cette opération.
- **`422` ([E15074](/docs/api/errors/E15074))** : Utilisez un message entrant que votre espace de travail peut accuser réception. Un message sortant n'est pas une cible valide.
- **`503` ([E15073](/docs/api/errors/E15073))** : Réessayez après un échec temporaire de résolution du message.

## Étapes suivantes

- [Envoyer une réponse](/docs/guides/whatsapp/sending-whatsapp)
- [Réagir à un message reçu](/docs/guides/whatsapp/reactions)
- [Recevoir des messages 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)
