# 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](/docs/guides/whatsapp/message-log) 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:

```json
{
  "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łąź:

```json
{
  "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](/docs/guides/whatsapp/message-types/interactive), ż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](/docs/guides/whatsapp/business-scoped-user-ids) 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](/docs/guides/whatsapp/events#reaction-events).
- **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](/docs/guides/whatsapp/receiving-whatsapp): koperta wiadomości przychodzącej, pobieranie mediów i webhook `whatsapp.received`
- [Odbieranie odpowiedzi interaktywnych](/docs/guides/whatsapp/receiving-whatsapp/interactive-replies): dotknięcia, które trafiają jako zamodelowana treść
- [Log WhatsApp](/docs/guides/whatsapp/message-log): przeglądanie konwersacji w dashboardzie
- [Zdarzenia WhatsApp](/docs/guides/whatsapp/events): pełna lista zdarzeń, przez API lub webhooki

## 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)
