Kapitel

Webhooks

Lass dein System wissen, wenn in Atlas etwas passiert, ohne alle paar Minuten nachzufragen.

So funktionieren Webhooks

Wenn in deinem Atlas-Konto etwas passiert, etwa eine neue Buchung, schickt Atlas eine POST-Anfrage an eine Adresse deiner Wahl. Dein Server antwortet innerhalb von zehn Sekunden mit Status 200, dann gilt das Ereignis als zugestellt.

Fehlgeschlagene Zustellungen wiederholt Atlas sechsmal über 24 Stunden, mit wachsenden Pausen dazwischen.

So sieht ein Ereignis aus

Jedes Ereignis hat dieselbe Form. Der Typ sagt, was passiert ist, data enthält das Objekt, um das es geht.

booking.created.json
{  "id": "evt_3b81",  "type": "booking.created",  "created": "2026-10-20T09:14:02Z",  "data": {    "booking": "bk_7f2a",    "starts": "2026-10-24T15:00:00+02:00",    "service": "Haircut and wash"  }}

Signatur prüfen

Jede Anfrage trägt den Header Atlas-Signature. Vergleiche ihn mit deinem eigenen Hash des Bodys, bevor du dem Ereignis vertraust.

verify.js
import { createHmac, timingSafeEqual } from 'node:crypto'; export function isFromAtlas(body, signature, secret) {  const expected = createHmac('sha256', secret).update(body).digest('hex');  return timingSafeEqual(Buffer.from(expected), Buffer.from(signature));}

Ohne echte Buchungen testen

Im Dashboard unter Entwickler kannst du ein Beispielereignis jedes Typs an deinen Endpunkt schicken und die Antwort ansehen.