Ontwikkelaars
Webhooks
Ontvang realtime events via HTTP POST naar jouw endpoint
Webhooks ontvangen realtime events via HTTP POST naar een door jou geconfigureerde URL. Dezelfde events zijn ook beschikbaar via SSE. Webhooks zijn per organisatie geconfigureerd - elke organisatie heeft zijn eigen webhooks.
Beheer
Zie de OpenAPI-specificatie voor volledige request- en response-schema's.
| Method | Pad | Beschrijving |
|---|---|---|
| GET | /api/orgs/:orgId/webhooks | Webhooks ophalen |
| GET | /api/orgs/:orgId/webhooks/:id | Webhook op ID ophalen |
| POST | /api/orgs/:orgId/webhooks | Webhook aanmaken |
| PATCH | /api/orgs/:orgId/webhooks/:id | Webhook bijwerken |
| DELETE | /api/orgs/:orgId/webhooks/:id | Webhook verwijderen |
Webhook aanmaken
POST /api/orgs/org_abc123/webhooks
Content-Type: application/json
x-api-key: tkn_xxx
X-Tillor-Org-Id: org_abc123{
"url": "https://jouw-server.com/webhooks/tillor",
"subscribedEventKeys": ["invoice:created", "invoice:paid", "customer:updated"],
"enabled": true
}- url - HTTPS-endpoint die POST-requests accepteert
- subscribedEventKeys - Array van event keys of
["*"]voor alle events. De volledige lijst staat in Tillor onder Instellingen → Ontwikkelaars bij het aanmaken van een webhook. - enabled -
trueom levering in te schakelen
Webhook-payload
Elke webhook-levering is een POST met:
Headers:
Content-Type: application/json
Body:
{
"event": "invoice:created",
"data": {},
"timestamp": 1735689600000
}| Veld | Type | Beschrijving |
|---|---|---|
event | string | Event key (bijv. invoice:created) |
data | object | Event-specifieke payload |
timestamp | number | Unix timestamp (ms) wanneer het event werd uitgezonden |
Zie Voorbeelden voor volledige payload-voorbeelden.
Leveringsgedrag en retries
- Geef een 2xx-status terug om succes te bevestigen
- Bij een mislukte levering (niet-2xx of netwerkfout) probeert Tillor automatisch tot 3 keer opnieuw met korte pauzes
- Na de retries wordt de levering gestopt
Event types
Event keys gebruiken het formaat entity:action of entity:subresource:action. Hieronder een selectie; de volledige lijst staat in Tillor onder Instellingen → Ontwikkelaars - in Tillor: Instellingen → Ontwikkelaars (per organisatie) bij het aanmaken van een webhook.
| Event Key | Beschrijving |
|---|---|
* (wildcard) | Abonneer op alle events |
accessMethod:created | Toegangsmethode aangemaakt |
accessMethod:deleted | Toegangsmethode verwijderd |
accessMethod:updated | Toegangsmethode bijgewerkt |
barrier:created | Barrière aangemaakt |
barrier:deleted | Barrière verwijderd |
barrier:updated | Barrière bijgewerkt |
call:created | Gesprek aangemaakt |
call:updated | Gesprek bijgewerkt |
comment:created | Reactie aangemaakt |
comment:deleted | Reactie verwijderd |
comment:mentioned | Gebruiker genoemd in reactie |
comment:pinned | Reactie vastgepind |
comment:resolved | Reactie opgelost |
comment:updated | Reactie bijgewerkt |
controller:adoption:approved | Controller-adoptie goedgekeurd |
controller:adoption:rejected | Controller-adoptie afgewezen |
controller:adoption:requested | Controller-adoptie aangevraagd |
controller:created | Controller aangemaakt |
controller:deleted | Controller verwijderd |
controller:logs:submitted | Controller-logs ingediend |
controller:updated | Controller bijgewerkt |
cursor:update | Cursorpositie-update |
customer:created | Klant aangemaakt |
customer:deleted | Klant verwijderd |
customer:updated | Klant bijgewerkt |
document:created | Document aangemaakt |
document:deleted | Document verwijderd |
document:updated | Document bijgewerkt |
event-log:created | Eventlog-entry aangemaakt |
event-log:updated | Eventlog bijgewerkt |
invoice:created | Factuur aangemaakt |
invoice:deleted | Factuur verwijderd |
invoice:paid | Factuur betaald |
invoice:updated | Factuur bijgewerkt |
mandate:created | Machtiging aangemaakt |
mandate:updated | Machtiging bijgewerkt |
nfc-tag:blocked | NFC-tag geblokkeerd |
nfc-tag:presented | NFC-tag gepresenteerd |
nfc-tag:unblocked | NFC-tag gedeblokkeerd |
nfc-tag:updated | NFC-tag bijgewerkt |
notification-delivery:updated | Notificatielevering bijgewerkt |
payment-report:updated | Betalingsrapport bijgewerkt |
payment:updated | Betaling bijgewerkt |
pdf:clear-ipad | PDF gewist van iPad |
pdf:to-ipad | PDF naar iPad verzonden |
Webhooks vs SSE
| Use case | Aanbeveling |
|---|---|
| Server-side integratie | Webhooks - Jouw server ontvangt POSTs |
| Eenvoudige logging | Webhooks - Minimale setup |
| Realtime dashboard, live updates in app | SSE - Eén verbinding, lage latentie. |
| Veel event types, client-side filteren | SSE - Gebruik events query-param om verkeer te beperken. |