# Oznaczanie wiadomości jako przeczytanej

Potwierdź odczytanie wiadomości WhatsApp kontaktu, gdy ją przeczytasz lub zaczniesz obsługiwać zgłoszenie. Możesz też wyświetlić wskaźnik pisania podczas przygotowywania odpowiedzi.

## Wymagania wstępne

Potrzebujesz klucza API z uprawnieniem zapisu WhatsApp oraz identyfikatora wiadomości Bird (`wam_…`) wiadomości odebranej przez Twój obszar roboczy. Użyj `data.whatsapp_id` z [webhooka `whatsapp.received`](/docs/guides/whatsapp/receiving-whatsapp) lub `id` wiadomości z [logu WhatsApp](/docs/guides/whatsapp/message-log).

Zastąp przykładowy identyfikator wiadomości identyfikatorem wiadomości odebranej przez Twój obszar roboczy. Zainicjalizuj klienta dla swojego języka, korzystając z przewodnika SDK dla [TypeScript](/docs/sdks/typescript), [Python](/docs/sdks/python), [Go](/docs/sdks/go) lub [PHP](/docs/sdks/php). W przypadku przykładów CLI [zainstaluj i uwierzytelnij CLI](/docs/cli#authenticate) z uprawnieniem zapisu WhatsApp. W żądaniach cURL używaj hosta API odpowiedniego dla [regionu obszaru roboczego](/docs/api/regions).

## 1. Oznacz odebraną wiadomość jako przeczytaną

Wywołaj [Oznacz wiadomość jako przeczytaną](/docs/api/reference/send-whatsapp-read-receipt) z identyfikatorem odebranej wiadomości. WhatsApp oznacza również wcześniejsze wiadomości w tej samej konwersacji jako przeczytane, więc wybierz wiadomość odpowiadającą miejscu, do którego przeczytałeś.

**TypeScript**

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

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

Pomyślne żądanie zwraca `202` z `typing_indicator: false`. Potwierdzenie jest przyjęte do przetworzenia; odpowiedź nie potwierdza, że kontakt je zobaczył. Potwierdzenia odczytu nie generują płatnej wiadomości wychodzącej.

## 2. Wyświetl wskaźnik pisania podczas przygotowywania odpowiedzi

Aby oznaczyć wiadomość jako przeczytaną i wyświetlić wskaźnik pisania, przekaż `typing_indicator: true` w tym samym żądaniu:

**TypeScript**

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

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

WhatsApp ukrywa wskaźnik po wysłaniu wiadomości lub po 25 sekundach. Ponowne wywołanie jest bezpieczne. Aby odświeżyć wskaźnik pisania, pomiń `Idempotency-Key` lub użyj nowego klucza; powtórzenie wcześniejszego żądania nie odświeża wskaźnika.

## 3. Sprawdź odebraną wiadomość

[Pobierz wiadomość](/docs/api/reference/get-whatsapp-message), aby sprawdzić `read_at`. Po przyjęciu potwierdzenia przez WhatsApp odebrana wiadomość może zawierać ten znacznik czasu, zachowując status `received`. Nie istnieje oddzielny zasób potwierdzenia ani webhook dostarczenia do śledzenia.

## Rozwiązywanie problemów

- **`404` ([E15071](/docs/api/errors/E15071))**: Sprawdź identyfikator wiadomości i obszar roboczy. Bird może rozwiązać wiadomość do potwierdzenia przez 15 dni; starszej wiadomości nie można oznaczyć jako przeczytanej za pomocą tej operacji.
- **`422` ([E15074](/docs/api/errors/E15074))**: Użyj wiadomości przychodzącej, którą Twój obszar roboczy może potwierdzić. Wiadomość wychodząca nie jest prawidłowym celem.
- **`503` ([E15073](/docs/api/errors/E15073))**: Spróbuj ponownie po tymczasowym błędzie rozwiązywania wiadomości.

## Następne kroki

- [Wyślij odpowiedź](/docs/guides/whatsapp/sending-whatsapp)
- [Zareaguj na odebraną wiadomość](/docs/guides/whatsapp/reactions)
- [Odbieraj wiadomości 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)
