Automatisering
Webhooks
Laat 1plek je eigen systeem aanroepen als er iets gebeurt, en verifieer de handtekening.
Met een webhook stuurt 1plek een bericht naar jouw systeem zodra er iets gebeurt. Je stelt ze in bij Automatisering → Webhooks.
Gebeurtenissen
| Gebeurtenis | Wanneer |
|---|---|
conversation.created | Er komt een nieuw gesprek binnen |
conversation.assigned | Een gesprek wordt aan iemand toegewezen |
conversation.closed | Een gesprek wordt afgehandeld |
message.received | Elk inkomend bericht, ook in bestaande gesprekken |
Wat je ontvangt
Een POST met JSON:
{
"id": 1234,
"event": "conversation.created",
"createdAt": "2026-08-16T09:12:44.000Z",
"data": {
"id": 987,
"channel": "email",
"subject": "Vraag over mijn bestelling",
"status": "open",
"brand": "14voices",
"counterparty": { "name": "Jan Jansen", "email": "jan@example.com" }
}
}Met deze headers:
| Header | Inhoud |
|---|---|
X-1plek-Event | De naam van de gebeurtenis |
X-1plek-Delivery | Uniek nummer van deze levering |
X-1plek-Signature | sha256=<hex> — zie hieronder |
De handtekening controleren
Controleer altijd de handtekening. Zonder die controle kan iedereen die je URL kent je systeem voeren met verzonnen gebeurtenissen.
Bereken een HMAC-SHA256 over de onbewerkte body met je webhook-geheim, en vergelijk in constante tijd:
import { createHmac, timingSafeEqual } from 'node:crypto';
export function isFrom1plek(rawBody, header, secret) {
const expected = createHmac('sha256', secret).update(rawBody).digest('hex');
const received = String(header ?? '').replace(/^sha256=/, '');
if (received.length !== expected.length) return false;
return timingSafeEqual(Buffer.from(received, 'hex'), Buffer.from(expected, 'hex'));
}Gebruik de body precies zoals je 'm binnenkreeg. Veel frameworks parsen JSON
automatisch; JSON.stringify() van het resultaat levert een ándere reeks tekens op
en de handtekening klopt dan niet meer.
Je geheim zie je één keer, op het moment dat je de webhook aanmaakt. Bewaar het meteen; daarna kun je het alleen nog vervangen.
Opnieuw proberen
Antwoord je niet met een 2xx-status, dan probeert 1plek het opnieuw: vijf keer, met oplopende tussenpozen van een minuut tot een uur. Antwoord dus snel — zet zwaar werk in je eigen wachtrij en bevestig meteen.
Elke levering heeft een uniek nummer in X-1plek-Delivery. Gebruik dat om dubbele
verwerking te voorkomen als een herhaling alsnog aankomt.
Uitproberen
Bij elke webhook staat een knop om een webhook.ping te versturen. Die gaat er
direct uit, zodat je meteen ziet of je URL en je handtekeningcontrole werken.