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 lub id wiadomości z logu WhatsApp.
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, Python, Go lub PHP. W przypadku przykładów CLI zainstaluj i uwierzytelnij CLI z uprawnieniem zapisu WhatsApp. W żądaniach cURL używaj hosta API odpowiedniego dla regionu obszaru roboczego.
1. Oznacz odebraną wiadomość jako przeczytaną
Wywołaj Oznacz wiadomość jako przeczytaną 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ś.
const acknowledgement = await bird.whatsapp.markRead("wam_01krdgeqcxet5s7t44vh8rt9mg", {});
console.log(acknowledgement.typing_indicator);ack = client.whatsapp.mark_read("wam_01krdgeqcxet5s7t44vh8rt9mg")
print(ack.typing_indicator)ack, err := client.Whatsapp.MarkRead(context.Background(), "wam_01krdgeqcxet5s7t44vh8rt9mg", bird.WhatsappMarkReadParams{})
if err != nil {
log.Fatal(err)
}
fmt.Println(ack.TypingIndicator)use MessageBird\Wire\Model\WhatsAppReadReceiptRequest;
$ack = $bird->whatsapp->markRead(
'wam_01krdgeqcxet5s7t44vh8rt9mg',
new WhatsAppReadReceiptRequest(),
);
var_dump($ack->getTypingIndicator());bird whatsapp mark-read wam_01krdgeqcxet5s7t44vh8rt9mgcurl -X POST "https://us1.platform.bird.com/v1/whatsapp/messages/wam_01krdgeqcxet5s7t44vh8rt9mg/read" \
-H "Authorization: Bearer $BIRD_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'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:
await bird.whatsapp.markRead("wam_01krdgeqcxet5s7t44vh8rt9mg", {
typing_indicator: true,
});ack = client.whatsapp.mark_read("wam_01krdgeqcxet5s7t44vh8rt9mg", typing_indicator=True)
print(ack.typing_indicator)ack, err := client.Whatsapp.MarkRead(context.Background(), "wam_01krdgeqcxet5s7t44vh8rt9mg", bird.WhatsappMarkReadParams{
TypingIndicator: bird.Ptr(true),
})
if err != nil {
log.Fatal(err)
}
fmt.Println(ack.TypingIndicator)$ack = $bird->whatsapp->markRead(
'wam_01krdgeqcxet5s7t44vh8rt9mg',
(new WhatsAppReadReceiptRequest())->setTypingIndicator(true),
);
var_dump($ack->getTypingIndicator());bird whatsapp mark-read wam_01krdgeqcxet5s7t44vh8rt9mg --typing-indicator=truecurl -X POST "https://us1.platform.bird.com/v1/whatsapp/messages/wam_01krdgeqcxet5s7t44vh8rt9mg/read" \
-H "Authorization: Bearer $BIRD_API_KEY" \
-H "Content-Type: application/json" \
-d '{"typing_indicator": true}'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ść, 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): 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): 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): Spróbuj ponownie po tymczasowym błędzie rozwiązywania wiadomości.
Następne kroki
Powiązane zasoby
Kontynuuj z dokumentacją, przewodnikami i przykładami dotyczącymi tego tematu. Zasoby są w języku angielskim.
Obejrzyj przewodnikConnecting WhatsApp to Bird: from buying a number to a live channelZrozum koncepcjęWhat is the 24-hour customer service window on WhatsApp?Użyj narzędziaWhatsApp message builderPoznaj możliwościWhatsApp
Wypróbuj ćwiczenie i uzyskaj brief wdrożeniowy