Katalog event
Bentuk payload
Section titled “Bentuk payload”Setiap event adalah satu objek JSON:
{ "id": "evt_01HKQN9…", "type": "conversation.created", "occurred_at": "2026-04-20T14:23:45.123Z", "account_id": "7c1d2c6e-…", "site_id": "0f3a…", "data": { … the resource, in the same shape the API returns it … }}id adalah nilai di header X-RolChat-Event-Id dan tetap sama di setiap percobaan ulang. type berbentuk <domain>.<noun>.<verb> atau <domain>.<verb> dalam snake_case. data membawa resource sebagaimana akan dikembalikan oleh endpoint GET yang sesuai, sehingga penerima dapat ditulis berdasarkan referensi API dan tidak pernah memerlukan skema kedua.
Keluarga event
Section titled “Keluarga event”| Keluarga | Contoh | Dikirim saat |
|---|---|---|
conversation.* |
conversation.created, conversation.assigned, conversation.resolved, conversation.reopened, conversation.merged |
Status atau penanggung jawab percakapan berubah |
message.* |
message.created, message.delivered, message.read, message.failed |
Pesan dikirim atau status pengirimannya berubah |
crm.* |
crm.lead.created, crm.contact.created, crm.contact.updated, crm.contact.merged, crm.deal.stage_changed, crm.deal.won |
Prospek, kontak, perusahaan, atau deal berubah |
ticket.* |
ticket.created, ticket.status_changed, ticket.assigned, ticket.sla_breached |
Tiket berubah |
visitor.* |
visitor.identified, visitor.cobrowse.requested |
Pengunjung teridentifikasi atau meminta sesi cobrowse |
marketing.* |
marketing.form.submitted, marketing.booking.created, marketing.campaign.sent, marketing.unsubscribed |
Formulir, pemesanan, kampanye |
kb.* |
kb.article.published, kb.article.unpublished |
Perubahan basis pengetahuan |
phone.* |
phone.call.started, phone.call.ended, phone.call.recorded, phone.call.transcribed, phone.voicemail.received |
Panggilan dan kotak suara |
automation.* |
automation.rule.executed, automation.rule.failed |
Aturan otomatisasi dijalankan |
privacy.* |
privacy.consent.granted, privacy.consent.withdrawn, privacy.dsr.received |
Persetujuan dan permintaan subjek data |
billing.* |
billing.invoice.created, billing.trial_expiring, billing.subscription.changed |
Langganan dan faktur |
auth.* |
auth.api_key.created, auth.api_key.revoked, auth.account.swapped |
Event akun yang berkaitan dengan keamanan |
ai.* |
ai.usage.recorded |
Setiap panggilan adaptor AI, dengan jumlah token |
Daftar pastinya bertambah seiring produk berkembang; layar langganan menampilkan setiap tipe yang dapat diterima akun Anda dan memungkinkan filter per tipe.
Berlangganan
Section titled “Berlangganan”Langganan webhook dimiliki oleh sebuah plugin. Di Pengaturan → Plugin, buka plugin (atau buat plugin kustom) dan tambahkan endpoint: URL HTTPS, tipe event yang Anda inginkan, dan allowlist IP opsional. Secret penandatanganan ditampilkan sekali. Pengiriman, percobaan ulang, dan dead letter untuk endpoint tersebut muncul di Log webhook milik plugin.
Plugin Protocol di halaman Plugin menjelaskan cara plugin mendeklarasikan event yang dibutuhkannya di manifest.
Urutan dan pengiriman
Section titled “Urutan dan pengiriman”- Pengiriman bersifat setidaknya sekali. Lakukan deduplikasi berdasarkan
id. - Event untuk satu resource dikirim secara berurutan, tetapi percobaan ulang dapat mengubah urutan pengiriman. Gunakan
occurred_atdanupdated_atmilik resource, bukan waktu kedatangan. - Langganan yang terus gagal akan menumpuk dead letter; lebih dari 100 untuk satu endpoint memicu peringatan di sisi RolChat dan menampilkan peringatan di log plugin.