Sign inGet started

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"
}
typeCo wysłał kontakt
interactiveTreść interaktywna, której kształtu odpowiedzi API nie mógł odczytać jako dotknięcia
buttonDotknięcie przycisku, którego API nie mógł odczytać jako odpowiedzi
orderKoszyk lub zamówienie złożone z katalogu produktów
systemPowiadomienie systemowe o konwersacji, na przykład zmiana numeru telefonu przez kontakt
unsupportedWł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