Website chat API
Eigen chat-UI via REST, typen, SSE en bezoekersactiviteit
Het officiële widget installeer je in de app: Website chat. Deze pagina is voor een eigen chat-UI. Zie OpenAPI, tag inbox.
Authenticatie: header X-Tillor-Inbox-Widget-Key (waarde uit Instellingen > Integraties > Website chat).
Typen
POST /api/orgs/{orgId}/inbox/website/typing
X-Tillor-Inbox-Widget-Key: iwk_xxx
Content-Type: application/json
{
"visitorId": "vis_…",
"active": true,
"visitorName": "Jan",
"visitorEmail": "jan@voorbeeld.nl",
"visitorPhone": "+32470123456"
}active: truewanneer de bezoeker typt;falsewanneer het veld leeg is of de bezoeker stopt (het widget stuurtfalsena ongeveer 4 seconden zonder input)visitorName/visitorEmail/visitorPhonezijn optioneel- Gebruik hetzelfde
visitorIdals bijPOST …/inbox/website/messagesenGET …/inbox/website/messages
Realtime (SSE)
GET /api/orgs/{orgId}/inbox/website/subscribe?visitorId=vis_…
X-Tillor-Inbox-Widget-Key: iwk_xxx
Accept: text/event-stream| Event | Wanneer |
|---|---|
inbox:website:message-created | Nieuw team- of AI-bericht |
inbox:website:message-updated | Team- of AI-bericht gewijzigd of verwijderd |
inbox:website:typing-changed | data.staffTyping of data.staffOutboundSenderType verandert |
Payload-vorm is hetzelfde als org-SSE (event, data, timestamp). Herverbind na verbreking; er is geen resumption.
Het officiële widget gebruikt SSE als primaire laag en haalt GET …/messages elke 5 seconden opnieuw op als fallback (elke 1 seconde met open paneel wanneer SSE even wegvalt). Daardoor worden antwoorden als afgeleverd gemarkeerd zolang de bezoeker op de pagina is.
Bezoekersactiviteit
POST /api/orgs/{orgId}/inbox/website/events
X-Tillor-Inbox-Widget-Key: iwk_xxx
Content-Type: application/jsonevent: chat_closed, tab_hidden of navigation (bij navigatie ook url).
Widget-SDK
Het snippet, window.TillorInbox en formulierkoppeling staan op Website chat.