Lewati ke konten

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.
{
"id": "3EB0C4A1F2D9",
"chatJid": "[email protected]",
"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.
{
"id": "3EB0D77E1A20",
"origin": { "source": "API", "agentName": null, "templateName": null },
"chatJid": "[email protected]",
"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.

{
"chatJid": "[email protected]",
"status": "read",
"messageIds": ["3EB0D77E1A20"]
}

status bisa delivered, read, atau played (voice note sudah diputar). Satu event bisa mencakup beberapa pesan.

{
"chatJid": "[email protected]",
"targetMessageId": "3EB0D77E1A20",
"kind": "reaction"
}

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.

{ "groupJid": "[email protected]", "stanzaId": "A1B2C3" }
{ "type": "offer", "callId": "5F1E2D3C", "from": "[email protected]" }