Katalog event
Setiap event dibungkus envelope yang sama; yang berbeda hanya isi data.
| Event | Kapan dikirim |
|---|---|
message.inbound |
Pesan masuk ke akun, termasuk pilihan tombol atau daftar. |
message.outbound |
Pesan keluar dari akun, dari API, dashboard, broadcast, flow, maupun HP. |
message.receipt |
Status pesan berubah: terkirim, dibaca, diputar. |
message.reaction |
Reaksi atau pembaruan pada pesan. |
session.status |
Akun terhubung, terputus, atau diblokir. |
group.update |
Pengaturan atau anggota grup berubah. |
call.incoming |
Ada panggilan masuk. |
message.inbound
Section titled “message.inbound”{ "id": "3EB0C4A1F2D9", "fromMe": false, "participant": null, "pushName": "Budi Santoso", "timestamp": 1759635842, "text": "Mau reservasi untuk 4 orang malam ini", "body": "Mau reservasi untuk 4 orang malam ini", "preview": "Mau reservasi untuk 4 orang malam ini", "quoted": null, "thumbnail": null, "mediaKind": null, "sender": null, "reply": null, "origin": null}| Field | Keterangan |
|---|---|
id |
ID pesan WhatsApp. Pakai untuk replyToId, reaksi, dan deduplikasi. |
chatJid |
Percakapan asal. Grup berakhiran @g.us. |
participant |
Pengirim di dalam grup; null untuk chat pribadi. |
pushName |
Nama profil WhatsApp pengirim. |
text |
Isi mentah pesan. |
body / preview |
Teks siap tampil, dengan mention sudah diganti nama. |
mediaKind |
Jenis media jika pesan berisi media. |
reply |
Terisi saat pelanggan menekan tombol balasan atau memilih baris daftar; berisi id yang Anda tentukan. |
fromMe |
true jika pesan dikirim dari HP akun itu sendiri. |
message.outbound
Section titled “message.outbound”{ "id": "3EB0D77E1A20", "origin": { "source": "API", "agentName": null, "templateName": null }, "text": "Pesanan #2381 sudah dikirim 🚚", "body": "Pesanan #2381 sudah dikirim 🚚", "preview": "Pesanan #2381 sudah dikirim 🚚", "quoted": null, "thumbnail": null, "mediaKind": null, "interactive": null}origin.source menunjukkan sumber pesan: API, DASHBOARD (dikirim agen; nama agen ada di agentName), FLOW (chatbot), atau PHONE (langsung dari HP). templateName terisi jika pesan berasal dari template. Untuk pesan lama yang asalnya tidak tercatat, origin bernilai null.
message.receipt
Section titled “message.receipt”{ "status": "read", "messageIds": ["3EB0D77E1A20"]}status bisa delivered, read, atau played (voice note sudah diputar). Satu event bisa mencakup beberapa pesan.
message.reaction
Section titled “message.reaction”{ "targetMessageId": "3EB0D77E1A20", "kind": "reaction"}session.status
Section titled “session.status”Saat terhubung:
{ "status": "connected", "phoneNumber": "6281234003400", "lid": "1234567890" }Saat terputus atau diblokir:
{ "status": "disconnected", "reason": "connection_lost", "isLogout": false }status bisa connected, disconnected, atau banned. Jika isLogout: true, akun perlu di-scan ulang.
group.update
Section titled “group.update”call.incoming
Section titled “call.incoming”