---
title: "Event reaksi WhatsApp"
description: "Baca reaksi yang ada pada pesan WhatsApp dan log setiap perubahan reaksi, oleh kontak maupun oleh nomor bisnis Anda, melalui Bird API."
canonical: "https://bird.com/id-id/dokumentasi/guides/whatsapp/events/reactions"
---

# Event reaksi WhatsApp

Reaksi emoji menganotasi pesan yang sudah ada alih-alih membuat pesan baru, sehingga tidak pernah muncul sebagai pesan tersendiri atau di antara [event status pesan](/docs/guides/whatsapp/events/message-status). Bird menyimpan dua tampilan untuk reaksi: reaksi yang saat ini melekat pada pesan, dan log setiap perubahan yang menghasilkan kondisi tersebut. Keduanya mencatat perubahan oleh kontak maupun oleh nomor bisnis Anda.

Untuk menerima pemberitahuan saat kontak memberikan reaksi, subscribe ke [`whatsapp.reacted`](/docs/guides/whatsapp/webhooks/reactions). Untuk menambah atau menghapus reaksi Anda sendiri, lihat [Mengirim reaksi](/docs/guides/whatsapp/reactions).

## Prasyarat

Kunci API dengan izin baca WhatsApp, dan ID (`wam_…`) dari pesan yang diberi reaksi.

## 1. Baca reaksi saat ini

Jika aplikasi Anda menampilkan reaksi yang saat ini terpasang pada pesan, [ambil pesan tersebut](/docs/api/reference/get-whatsapp-message) dan baca `reactions`-nya. Daftar ini berisi satu reaksi aktif per pengirim dan dihilangkan jika tidak ada reaksi yang terpasang.

Untuk `GET /v1/whatsapp/messages/wam_01ky8b3xq4gd7pmzn2ka51f7te`, field terkait reaksi memiliki bentuk berikut (field pesan lainnya dihilangkan):

```json
{
  "id": "wam_01ky8b3xq4gd7pmzn2ka51f7te",
  "reactions": [
    {
      "emoji": "👍",
      "from": { "phone_number": "+14155550100" }
    }
  ]
}
```

Pesan tetap mempertahankan konten, arah, dan status pengiriman aslinya. `reactions[].from` mengidentifikasi orang yang memberikan reaksi.

Ini adalah state yang perlu ditampilkan. [Webhook reaksi](/docs/guides/whatsapp/webhooks/reactions) dapat memiliki timestamp yang sama dan tiba tidak berurutan, jadi gunakan webhook sebagai pemicu untuk membaca ulang pesan, bukan sebagai state terkini.

## 2. Baca log reaksi

[Daftar event reaksi](/docs/api/reference/list-whatsapp-message-reaction-events) dengan `GET /v1/whatsapp/messages/{message_id}/reaction-events` untuk melihat setiap perubahan pada pesan yang dirujuk, terbaru lebih dulu: penambahan, penggantian, dan penghapusan. Setiap entri memiliki ID reaksi (`war_…`), `emoji`, siapa yang melakukan perubahan di `from`, timestamp `occurred_at`, dan `status`:

- `received`: perubahan dari kontak.
- `sent`: WhatsApp menerima perubahan dari [nomor bisnis Anda](/docs/guides/whatsapp/reactions).
- `failed`: WhatsApp menolak perubahan Anda.
- `rejected`: Bird menolak perubahan Anda sebelum mengirimnya.

Entri `failed` atau `rejected` memuat alasan pada `error`. Penghapusan memuat `emoji: null`. Perubahan Anda yang masih tertunda tidak memiliki entri sampai hasilnya diketahui. Reaksi tidak pernah dikenakan biaya, jadi kegagalan di sini bukan masalah penagihan.

API event reaksi mengembalikan respons berpaginasi. Contoh ini menunjukkan reaksi bisnis yang ditolak dan reaksi kontak yang diterima sebelumnya:

```json
{
  "data": [
    {
      "id": "war_01krdgeqcxet5s7t44vh8rt9mh",
      "emoji": "🎉",
      "status": "rejected",
      "from": {
        "phone_number": "+13124495569"
      },
      "error": {
        "code": "internal_error",
        "description": "the receiving number is no longer connected",
        "occurred_at": "2026-08-28T19:04:22Z"
      },
      "occurred_at": "2026-08-28T19:04:22Z"
    },
    {
      "id": "war_01krdgeqcxet5s7t44vh8rt9mg",
      "emoji": "👍",
      "status": "received",
      "from": {
        "phone_number": "+14155550100",
        "bsuid": "US.13491208655302741918"
      },
      "occurred_at": "2026-08-28T19:01:10Z"
    }
  ],
  "next_cursor": null,
  "prev_cursor": null,
  "refresh_cursor": "eyJ2IjoxLCJzIjoiMjAyNi0wOC0yOFQxOTowNDoyMloiLCJpIjoiMDE5ZTFiMDctNWQ5ZC03NjhiLTkzZTgtODRkYzUxOGQyNjkxIn0"
}
```

Riwayat reaksi terpisah dari event pengiriman pesan. Endpoint [event status pesan](/docs/guides/whatsapp/events/message-status) tidak memuat perubahan `whatsapp.reacted`. Untuk retensi dan paginasi, ikuti [referensi log reaksi](/docs/api/reference/list-whatsapp-message-reaction-events).

## Pemecahan masalah

- **Reaksi tidak ada di daftar pesan**: Cari pesan aslinya. Reaksi terpasang pada pesan tersebut dan tidak memiliki baris pesan tersendiri.
- **State reaksi berubah secara tidak terduga**: Baca `reactions` pesan tersebut alih-alih mengurutkan event webhook berdasarkan waktu kedatangan atau timestamp.

## Langkah selanjutnya

- [Webhook reaksi](/docs/guides/whatsapp/webhooks/reactions): terima pemberitahuan saat kontak memberikan reaksi
- [Kirim atau hapus reaksi](/docs/guides/whatsapp/reactions)
- [Event status pesan](/docs/guides/whatsapp/events/message-status): lini waktu pengiriman sebuah pesan

## 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](/whatsapp-api) (product)

[Get an implementation brief](/learn/workspace?topic=whatsapp)
