Webhook-integrasjon for sanntidsoppdateringer
Når du integrerer bookingsystemet med andre systemer, er webhooks den beste måten å holde alt synkronisert i sanntid. I stedet for å spørre APIet om oppdateringer med jevne mellomrom, sender webhooks meldinger direkte til deg når noe skjer.
Hvordan webhooks fungerer
En webhook er en HTTP POST-forespørsel som sendes fra bookingsystemet til en URL du spesifiserer. Når en booking opprettes, endres eller kanselleres, sender systemet automatisk et payload med relevante data til din webhook-endpoint.
Sette opp webhook-endepunktet ditt
Du trenger et endepunkt som kan motta POST-forespørsler. Det kan være en route i din backend, en serverless funksjon eller en tredjeparts integrasjonsplattform som Zapier eller n8n.
POST https://yourdomain.com/api/webhooks/booking
Content-Type: application/json
{
"event": "booking.created",
"timestamp": "2025-02-08T14:30:00Z",
"data": {
"id": 12345,
"resourceId": 42,
"startTime": "2025-02-10T15:00:00Z",
"duration": 90,
"customerEmail": "kunde@example.com"
}
}
Hendelser du kan lytte til
booking.created- Ny booking opprettetbooking.updated- Eksisterende booking endretbooking.cancelled- Booking kansellertpayment.completed- Betaling fullførtpayment.failed- Betaling feilet
Sikkerhet og verifisering
For å sikre at webhook-forespørselen faktisk kommer fra bookingsystemet, bruker vi signatur-verifisering. Hver forespørsel inneholder en X-Webhook-Signature header som du kan verifisere med din webhook secret.
const crypto = require('crypto');
function verifySignature(payload, signature, secret) {
const hmac = crypto.createHmac('sha256', secret);
const digest = hmac.update(payload).digest('hex');
return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(digest)
);
}
Håndtering av feil og retries
Webhooks prøver på nytt automatisk hvis endepunktet ditt returnerer en feilkode. Vi prøver inntil tre ganger med økende intervaller. Sørg for at endepunktet ditt er idempotent, slik at duplikate meldinger ikke forårsaker problemer.
Med webhooks kan du bygge sanntidsintegrasjoner som reagerer øyeblikkelig på endringer i bookingsystemet. Det gir bedre brukeropplevelse og åpner for avanserte automatiseringsscenarier.