# Odbieranie interaktywnych odpowiedzi WhatsApp

Stuknięcie przycisku odpowiedzi, wiersza listy lub przycisku szybkiej odpowiedzi szablonu przychodzi jako osobna wiadomość przychodząca zawierająca `interactive_reply`. Ramię zwraca uchwyt ustawiony przy wysyłce, więc przepływ rozgałęzia się na podstawie Twojego identyfikatora, a nie etykiety, którą widział kontakt.

## Co zawiera przychodząca odpowiedź interaktywna

`type` określa rodzaj stuknięcia, a pole o tej samej nazwie je zawiera:

```json
{
  "id": "wam_01kyb2m4xq7whs0d8n3prv6tez",
  "direction": "inbound",
  "from": { "phone_number": "+14155550100" },
  "to": { "phone_number": "+13124495569" },
  "status": "received",
  "in_reply_to_message_id": "wam_01kya19eknftrs2s6p82asmvnh",
  "interactive_reply": {
    "type": "button",
    "button": { "slug": "cancel-booking", "text": "Cancel" }
  },
  "created_at": "2026-08-25T09:04:11Z"
}
```

| `type`   | Pole     | Co zawiera                                                                             |
| -------- | -------- | -------------------------------------------------------------------------------------- |
| `button` | `button` | `slug` i `text` przycisku odpowiedzi lub przycisku szybkiej odpowiedzi szablonu        |
| `list`   | `list`   | `slug` i `text` wiersza wybranego przez kontakt oraz jego `description`, jeśli go miał |

Wiersz listy zastępuje `button` przez `list` i dodaje drugą linię, którą wiersz wyświetlał:

```json
{
  "interactive_reply": {
    "type": "list",
    "list": {
      "slug": "priority_express",
      "text": "Priority Mail Express",
      "description": "Next day to 2 days"
    }
  }
}
```

`slug` to uchwyt, który zadeklarowałeś i którego kontakt nigdy nie widział; `text` to etykieta, którą przeczytał. Rozgałęziaj na podstawie `slug`. Etykiety bywają przeformułowywane i tłumaczone, a przy stuknięciu przycisku szybkiej odpowiedzi szablonu `slug` to ładunek zadeklarowany przez ten szablon, który WhatsApp ustawia na własną etykietę przycisku.

Lista rodzajów jest otwarta: WhatsApp dodaje nowe rodzaje interaktywne z czasem, więc traktuj nierozpoznany `type` jako przyszły rodzaj, a nie błąd, i zaloguj wiadomość zamiast przerywać odczyt.

## Powiązanie stuknięcia z wysłaną wiadomością

`in_reply_to_message_id` wskazuje wiadomość, która zawierała przycisk lub menu, dzięki czemu wiesz, na które pytanie jest ta odpowiedź. WhatsApp nie raportuje go przy każdym stuknięciu, a rozwiązanie może też nie nastąpić, i wtedy pole jest pomijane, a nie zwracane jako puste. Sekcja [cytowane odpowiedzi](/docs/guides/whatsapp/receiving-whatsapp#quoted-replies) w hubie opisuje, co oznacza brak rozwiązania i jak długo cytowana wiadomość pozostaje rozwiązywalna.

Jeśli korelacja musi być niezawodna, umieść własną referencję w samym `slug` lub w `metadata` przy wysyłce, zamiast polegać na tym polu. Szczegóły wysyłki znajdziesz w sekcji [cytowanie wiadomości](/docs/guides/whatsapp/sending-whatsapp#quoting-a-message).

## Dwa stuknięcia, które trafiają gdzie indziej

Dwa typy interaktywne odpowiadają w ogóle bez `interactive_reply`:

- [Żądanie lokalizacji](/docs/guides/whatsapp/message-types/interactive/location-requests) wraca jako zwykła przychodząca [lokalizacja](/docs/guides/whatsapp/receiving-whatsapp/location).
- [Żądanie danych kontaktowych](/docs/guides/whatsapp/message-types/interactive/contact-info-requests) wraca jako [karty kontaktów](/docs/guides/whatsapp/receiving-whatsapp/contact-cards), z `origin` ustawionym na `contact_request`.

[Przycisk z linkiem](/docs/guides/whatsapp/message-types/interactive/cta-url-buttons) nie odsyła niczego: kontakt przechodzi pod URL i żadna wiadomość przychodząca nie rejestruje stuknięcia. Integracja obserwująca tylko `interactive_reply` przeoczy wszystkie trzy przypadki.

## Ładunek webhooka

`whatsapp.received` zawiera ramię `interactive_reply` w kopercie zdarzenia, więc bot może odpowiedzieć na stuknięcie bez ponownego odczytywania wiadomości:

```json
{
  "type": "whatsapp.received",
  "timestamp": "2026-08-25T09:04:11.118Z",
  "data": {
    "whatsapp_id": "wam_01kyb2m4xq7whs0d8n3prv6tez",
    "workspace_id": "ws_01ky7m235keycbnwyajabe1a6b",
    "direction": "inbound",
    "from": { "phone_number": "+14155550100", "display_name": "Alex Rivera" },
    "to": { "phone_number": "+13124495569" },
    "in_reply_to_message_id": "wam_01kya19eknftrs2s6p82asmvnh",
    "interactive_reply": {
      "type": "button",
      "button": { "slug": "cancel-booking", "text": "Cancel" }
    },
    "tags": null,
    "metadata": null
  }
}
```

## Na co uważać

- **`interactive` i `interactive_reply` to przeciwne kierunki.** `interactive` to to, co wysłałeś, i nigdy nie przychodzi jako wiadomość przychodząca; `interactive_reply` to to, co kontakt stuknął, i nigdy nie pojawia się w wiadomości wychodzącej.
- **Stuknięcie resetuje okno serwisowe.** Jest wiadomością przychodzącą, więc otwiera 24 godziny swobodnych odpowiedzi tak samo jak wiadomość tekstowa.
- **Kontakt może stuknąć ten sam przycisk dwa razy.** Nic nie deduplikuje stuknięć, więc każde z nich jest osobną wiadomością z własnym ID. Spraw, żeby akcja wykonywana na podstawie `slug` była idempotentna.
- **Stuknięcie starego menu wciąż dochodzi.** Kontakt przewijający wstecz może stuknąć przycisk sprzed kilku dni, więc sprawdzaj, czy przepływ jest nadal otwarty, zamiast zakładać, że stuknięcie odpowiada na Twoją najnowszą wiadomość.

## Następne kroki

- [Jak działa odbieranie](/docs/guides/whatsapp/receiving-whatsapp): koperta wiadomości przychodzącej, pobieranie mediów i webhook `whatsapp.received`
- [Wiadomości interaktywne WhatsApp](/docs/guides/whatsapp/message-types/interactive): sześć typów, które odbiorca może stuknąć
- [Przyciski odpowiedzi WhatsApp](/docs/guides/whatsapp/message-types/interactive/reply-buttons): strona wysyłki stuknięcia przycisku
- [Menu list WhatsApp](/docs/guides/whatsapp/message-types/interactive/list-menus): strona wysyłki wyboru wiersza

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