Ga naar inhoud

Gebeurteniscatalogus

Elke gebeurtenis is één JSON-object:

{
"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 is de waarde in de header X-RolChat-Event-Id en blijft gelijk bij nieuwe pogingen. type is <domain>.<noun>.<verb> of <domain>.<verb> in snake_case. data bevat de resource zoals het bijbehorende GET-endpoint die zou teruggeven, dus een ontvanger kan worden geschreven op basis van de API-referentie en heeft nooit een tweede schema nodig.

Familie Voorbeelden Verstuurd wanneer
conversation.* conversation.created, conversation.assigned, conversation.resolved, conversation.reopened, conversation.merged Een gesprek van status of eigenaar verandert
message.* message.created, message.delivered, message.read, message.failed Een bericht wordt geplaatst of de bezorgstatus verandert
crm.* crm.lead.created, crm.contact.created, crm.contact.updated, crm.contact.merged, crm.deal.stage_changed, crm.deal.won Een lead, contact, bedrijf of deal verandert
ticket.* ticket.created, ticket.status_changed, ticket.assigned, ticket.sla_breached Een ticket verandert
visitor.* visitor.identified, visitor.cobrowse.requested Een bezoeker wordt geïdentificeerd of vraagt om een cobrowsesessie
marketing.* marketing.form.submitted, marketing.booking.created, marketing.campaign.sent, marketing.unsubscribed Formulieren, boekingen, campagnes
kb.* kb.article.published, kb.article.unpublished Wijzigingen in de kennisbank
phone.* phone.call.started, phone.call.ended, phone.call.recorded, phone.call.transcribed, phone.voicemail.received Telefoongesprekken en voicemail
automation.* automation.rule.executed, automation.rule.failed Een automatiseringsregel wordt uitgevoerd
privacy.* privacy.consent.granted, privacy.consent.withdrawn, privacy.dsr.received Toestemming en verzoeken van betrokkenen
billing.* billing.invoice.created, billing.trial_expiring, billing.subscription.changed Abonnement en facturen
auth.* auth.api_key.created, auth.api_key.revoked, auth.account.swapped Beveiligingsrelevante accountgebeurtenissen
ai.* ai.usage.recorded Elke aanroep van een AI-adapter, met aantallen tokens

De precieze lijst groeit mee met het product; het abonnementsscherm toont elk type dat je account kan ontvangen en laat je per type filteren.

Webhookabonnementen horen bij een plug-in. Open in Instellingen → Plug-ins de plug-in (of maak een eigen plug-in aan) en voeg een endpoint toe: een HTTPS-URL, de gebeurtenistypen die je wilt en eventueel een IP-toelatingslijst. Het ondertekeningsgeheim wordt één keer getoond. Leveringen, nieuwe pogingen en dead letters voor dat endpoint verschijnen in het Webhooklogboek van de plug-in.

Het Plugin Protocol op de pagina Plug-ins beschrijft hoe een plug-in in zijn manifest aangeeft welke gebeurtenissen hij nodig heeft.

  • Levering gebeurt minstens één keer. Ontdubbel op id.
  • Gebeurtenissen voor één resource worden op volgorde verstuurd, maar nieuwe pogingen kunnen de volgorde van leveringen veranderen. Gebruik occurred_at en de updated_at van de resource in plaats van het tijdstip van aankomst.
  • Een abonnement dat blijft falen, verzamelt dead letters; meer dan 100 voor één endpoint activeert een waarschuwing aan de kant van RolChat en toont een melding in het logboek van de plug-in.