# Menerima balasan interaktif WhatsApp

Tap pada tombol balasan, baris daftar, atau tombol quick-reply template masuk sebagai pesan inbound tersendiri yang membawa `interactive_reply`. Arm ini mengembalikan handle yang Anda tetapkan saat mengirim, sehingga alur bercabang berdasarkan identifier Anda sendiri, bukan berdasarkan label yang dilihat kontak.

## Apa yang dibawa balasan interaktif inbound

`type` menyebutkan jenis tap, dan field dengan nama yang sama membawanya:

```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`   | Field    | Apa yang dibawa                                                                   |
| -------- | -------- | --------------------------------------------------------------------------------- |
| `button` | `button` | `slug` dan `text` dari tombol balasan, atau dari tombol quick-reply template      |
| `list`   | `list`   | `slug` dan `text` dari baris yang dipilih kontak, ditambah `description` jika ada |

Baris daftar menggantikan `button` dengan `list` dan menambahkan baris kedua yang ditampilkan baris tersebut:

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

`slug` adalah handle yang Anda deklarasikan dan tidak pernah dilihat kontak; `text` adalah label yang mereka baca. Buat percabangan berdasarkan `slug`. Label dapat diubah kata-katanya dan diterjemahkan, dan pada tap tombol quick-reply template, `slug` adalah payload yang dideklarasikan template tersebut, yang oleh WhatsApp diisi dengan label tombol itu sendiri.

Daftar jenis bersifat terbuka: WhatsApp menambahkan jenis interaktif dari waktu ke waktu, jadi perlakukan `type` yang tidak Anda kenali sebagai jenis baru, bukan kesalahan, dan lakukan fallback ke pencatatan pesan alih-alih menggagalkan pembacaan.

## Menghubungkan tap ke pesan yang Anda kirim

`in_reply_to_message_id` menyebutkan pesan yang membawa tombol atau menu, sehingga Anda tahu pertanyaan mana yang dijawab. WhatsApp tidak selalu melaporkannya di setiap tap, dan resolusi juga bisa gagal; dalam hal ini field dihilangkan, bukan dilaporkan kosong. Halaman [balasan yang dikutip](/docs/guides/whatsapp/receiving-whatsapp#quoted-replies) di hub membahas arti kegagalan resolusi dan berapa lama pesan yang dikutip tetap dapat di-resolve.

Jika korelasi harus andal, taruh referensi Anda sendiri di dalam `slug` itu sendiri, atau di `metadata` saat mengirim, alih-alih bergantung pada field tersebut. Lihat [mengutip pesan](/docs/guides/whatsapp/sending-whatsapp#quoting-a-message) untuk sisi pengiriman.

## Dua tap yang masuk di tempat lain

Dua jenis interaktif menjawab tanpa `interactive_reply` sama sekali:

- [Permintaan lokasi](/docs/guides/whatsapp/message-types/interactive/location-requests) kembali sebagai [lokasi](/docs/guides/whatsapp/receiving-whatsapp/location) inbound biasa.
- [Permintaan info kontak](/docs/guides/whatsapp/message-types/interactive/contact-info-requests) kembali sebagai [kartu kontak](/docs/guides/whatsapp/receiving-whatsapp/contact-cards), dengan `origin` diisi `contact_request`.

[Tombol tautan](/docs/guides/whatsapp/message-types/interactive/cta-url-buttons) tidak mengirim apa pun kembali: kontak berpindah ke URL, dan tidak ada pesan inbound yang mencatat tap tersebut. Integrasi yang hanya memantau `interactive_reply` akan melewatkan ketiganya.

## Payload webhook

`whatsapp.received` membawa arm `interactive_reply` pada envelope event, sehingga bot dapat menjawab tap tanpa membaca ulang pesan:

```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
  }
}
```

## Hal yang perlu diperhatikan

- **`interactive` dan `interactive_reply` adalah arah yang berlawanan.** `interactive` adalah apa yang Anda kirim dan tidak pernah masuk sebagai inbound; `interactive_reply` adalah apa yang di-tap kontak dan tidak pernah muncul di pesan outbound.
- **Tap mereset jendela layanan.** Tap adalah pesan inbound, sehingga membuka kembali 24 jam balasan bebas format sama seperti pesan teks.
- **Kontak dapat men-tap tombol yang sama dua kali.** Tidak ada deduplikasi tap, jadi setiap tap adalah pesan tersendiri dengan ID-nya sendiri. Pastikan tindakan yang Anda ambil pada `slug` bersifat idempoten.
- **Tap pada menu lama tetap masuk.** Kontak yang menggulir ke atas dapat men-tap tombol dari beberapa hari lalu, jadi validasi bahwa alur masih terbuka alih-alih mengasumsikan tap tersebut menjawab pesan terakhir Anda.

## Langkah selanjutnya

- [Cara kerja penerimaan](/docs/guides/whatsapp/receiving-whatsapp): envelope inbound, pengambilan media, dan webhook `whatsapp.received`
- [Pesan interaktif WhatsApp](/docs/guides/whatsapp/message-types/interactive): enam jenis yang dapat di-tap penerima
- [Tombol balasan WhatsApp](/docs/guides/whatsapp/message-types/interactive/reply-buttons): sisi pengiriman dari tap tombol
- [Menu daftar WhatsApp](/docs/guides/whatsapp/message-types/interactive/list-menus): sisi pengiriman dari pilihan baris

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