Nieobsługiwane typy wiadomości WhatsApp
WhatsApp przekazuje treści, których API Bird nie modeluje, od zamówień katalogowych po powiadomienia systemowe o konwersacji. Zamiast odrzucać taką wiadomość lub dostarczać ją pustą, Bird zapisuje ją z gałęzią unsupported, która podaje typ treści WhatsApp. Wiadomość jest widoczna w logu WhatsApp i trafia do webhooka jak każda inna.
Co zawiera nieobsługiwana wiadomość
unsupported.type przekazuje własny ciąg typu WhatsApp określający, co przyszło, i jest to jedyna treść w wiadomości. Otaczająca ją koperta pozostaje bez zmian:
Przykład kodu
{
"id": "wam_01kyh0w4ujnz2x8p1s5dci0vlg",
"direction": "inbound",
"from": { "phone_number": "+14155550100" },
"to": { "phone_number": "+13124495569" },
"status": "received",
"unsupported": { "type": "order" },
"created_at": "2026-08-25T09:31:20Z"
}| type | Co wysłał kontakt |
|---|---|
| interactive | Treść interaktywna, której kształtu odpowiedzi API nie mógł odczytać jako dotknięcia |
| button | Dotknięcie przycisku, którego API nie mógł odczytać jako odpowiedzi |
| order | Koszyk lub zamówienie złożone z katalogu produktów |
| system | Powiadomienie systemowe o konwersacji, na przykład zmiana numeru telefonu przez kontakt |
| unsupported | Własny typ unsupported WhatsApp, dla wiadomości, których jego klienty nie mogą wyrenderować |
unsupported nie jest symbolem zastępczym w tej tabeli. WhatsApp zgłasza własny typ treści o tej nazwie, gdy jeden z jego klientów wyśle coś, czego pozostałe nie mogą wyświetlić, i to właśnie przychodzi jako ta wartość.
Lista jest otwarta. WhatsApp dodaje nowe typy treści z czasem, więc traktuj type, którego nie rozpoznajesz, jako przyszły typ, a nie błąd: zaloguj go i kontynuuj zamiast przerywać odczyt.
Payload webhooka
whatsapp.received jest wywoływany również dla nieobsługiwanej wiadomości i zawiera tę samą gałąź:
Przykład kodu
{
"type": "whatsapp.received",
"timestamp": "2026-08-25T09:31:20.774Z",
"data": {
"whatsapp_id": "wam_01kyh0w4ujnz2x8p1s5dci0vlg",
"workspace_id": "ws_01ky7m235keycbnwyajabe1a6b",
"direction": "inbound",
"from": { "phone_number": "+14155550100" },
"to": { "phone_number": "+13124495569" },
"unsupported": { "type": "order" },
"tags": null,
"metadata": null
}
}Endpoint, który przełącza się na podstawie znalezionego pola treści, powinien mieć gałąź domyślną, i właśnie w niej ląduje ta gałąź. Potwierdź webhook odpowiedzią 2xx w każdym przypadku: ponowienie niczego nie zmieni, bo treść nie stanie się zamodelowana między próbami.
Co nieobsługiwana wiadomość nadal robi
Wiadomość jest traktowana jako wiadomość przychodząca pod każdym względem, który nie zależy od jej treści:
- Resetuje okno obsługi klienta do pełnych 24 godzin, więc zamówienie złożone z katalogu ponownie otwiera możliwość swobodnych odpowiedzi.
- Pojawia się na liście wiadomości i w logu WhatsApp z wyświetlonym typem zamiast pustego wiersza.
- Nigdy nie jest naliczana opłata. Żadna wiadomość przychodząca nie jest płatna.
Nie możesz natomiast odczytać treści. Zamówienie nie zawiera koszyka, a powiadomienie systemowe nie mówi, co się zmieniło. Jeśli ten szczegół ma znaczenie, zapytaj kontakt słownie lub użyj przycisku odpowiedzi albo menu listy, żeby odpowiedź trafiła na zamodelowaną gałąź, na której możesz działać.
Na co uważać
- Nie traktuj tej gałęzi jako błędu. Wiadomość została odebrana pomyślnie; tylko jej treść jest niezamodelowana. Alertowanie na nią oznacza alertowanie za każdym razem, gdy kontakt składa zamówienie.
- Typ system może oznaczać, że kontakt zmienił numer. Meta dokumentuje zmianę numeru telefonu jako jedno ze zdarzeń generujących wiadomość systemową i jednocześnie ponownie generuje identyfikator użytkownika w zakresie firmy kontaktu. Gałąź podaje tylko typ i nic więcej, więc traktuj ją jako sygnał do ponownego ustalenia, z kim rozmawiasz.
- Reakcja emoji nie jest nieobsługiwaną wiadomością. Nie jest w ogóle wiadomością przychodzącą, więc nie trafia do żadnego webhooka i nie pojawia się na żadnej liście wiadomości: każda zmiana jest zapisywana w logu reakcji wiadomości, na którą zareagowano, co opisano w zdarzeniach WhatsApp.
- Zapisuj typ dosłownie. Przyszły typ wskazuje na nazwę, dla której jeszcze nie masz kodu, a przechowanie surowej wartości pozwala znaleźć te wiadomości, gdy go napiszesz.
Następne kroki
- Jak działa odbieranie: koperta wiadomości przychodzącej, pobieranie mediów i webhook whatsapp.received
- Odbieranie odpowiedzi interaktywnych: dotknięcia, które trafiają jako zamodelowana treść
- Log WhatsApp: przeglądanie konwersacji w dashboardzie
- Zdarzenia WhatsApp: pełna lista zdarzeń, przez API lub webhooki
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