Sign inGet Started

Webhook WhatsApp

Bird mendorong aktivitas WhatsApp ke endpoint Anda secara real-time, sehingga Anda tidak perlu melakukan polling. Berlangganan dari halaman Webhooks atau dengan POST /v1/webhooks. Panduan Webhooks membahas endpoint, verifikasi tanda tangan, dan percobaan ulang.

Event yang dapat Anda langgani

Setiap event tertaut ke payload-nya.

EventDipicu ketika
whatsapp.acceptedBird menerima permintaan pengiriman keluar
whatsapp.sentBird menyerahkan pesan ke jaringan WhatsApp
whatsapp.deliveredWhatsApp mengonfirmasi pengiriman ke perangkat penerima
whatsapp.readPenerima membuka pesan
whatsapp.failedPesan gagal terkirim
whatsapp.rejectedBird menolak pesan sebelum mengirimnya
whatsapp.receivedKontak mengirimkan pesan kepada Anda
whatsapp.reactedKontak menambahkan, mengubah, atau menghapus reaksi
whatsapp_suppression.createdSupresi terbuka di workspace Anda
whatsapp.group.join_request_createdSeseorang meminta untuk bergabung ke grup
whatsapp.group.join_request_revokedSeseorang membatalkan permintaan untuk bergabung ke grup

Daftar tipe event bersifat terbuka: tipe baru dapat ditambahkan sewaktu-waktu, jadi perlakukan nilai yang tidak dikenali sebagai event baru, bukan sebagai kesalahan.

Envelope event

Setiap event WhatsApp menggunakan envelope webhook standar: sebuah type, sebuah timestamp, dan objek data khusus tipe.

Contoh kode
{
  "data": {
    "direction": "outbound",
    "from": { "phone_number": "+13124495569" },
    "metadata": { "session_id": "sess_4821" },
    "tags": [{ "name": "flow", "value": "login-otp" }],
    "to": { "phone_number": "+14155550100" },
    "whatsapp_id": "wam_01ky7qbvswf3fvyaw3az90391c",
    "workspace_id": "ws_01ky7m235keycbnwyajabe1a6b"
  },
  "timestamp": "2026-07-23T14:51:39.913Z",
  "type": "whatsapp.delivered"
}

Field yang selalu ada di setiap event pesan

Setiap payload webhook WhatsApp untuk pesan membawa whatsapp_id, workspace_id, direction, from, to, tags, dan metadata. Event reaksi, supresi, dan grup bukan tentang pesan, sehingga masing-masing memiliki struktur sendiri yang dijelaskan di halamannya.

  • Alamat: from dan to dapat berisi phone_number E.164, business-scoped user ID Meta di bsuid, atau keduanya. Pesan yang diterima dari pengguna WhatsApp juga membawa profil yang mereka publikasikan, di username dan display_name.
  • tags dan metadata bernilai null jika pengiriman tidak menyertakannya.
  • in_reply_to_message_id muncul di setiap event keluar dari pesan yang dikirim sebagai balasan, dari whatsapp.accepted hingga whatsapp.read, whatsapp.failed, atau whatsapp.rejected, yang menyebutkan pesan yang dijawabnya.

Payload event tidak membawa informasi biaya. Baca kembali pesan dengan GET /v1/whatsapp/messages/{message_id} untuk melihat biayanya.

Langkah selanjutnya