Webhooks

Externe Systeme über Formular-Vorgänge per HTTP POST informieren.


Webhooks informieren externe Systeme über Formular-Vorgänge per HTTP POST.

Konfiguration

  • Pro Session: webhookUrl in der config beim Session-Erstellen setzen
  • Pro Organisation: Standard-URLs in der Datenbank (Fallback)
  • Nicht konfiguriert = kein Webhook wird gesendet

Events

EventBeschreibung
form.openedFormular wurde im Browser geöffnet
form.submittedFormular wurde abgesendet (mit allen Werten)
form.draft_savedEntwurf wurde automatisch gespeichert
form.closedFormular/Tab wurde geschlossen

Payload

Das externe System empfängt folgenden POST-Body:

{
  "event": "form.submitted",
  "createdAt": "2026-02-23T14:30:00.000Z",
  "organizationId": "550e8400-...",
  "templateIdentifier": "anoXYZ1234",
  "data": {
    "rnummer": "auftrag-456",
    "phone": "+491701234567",
    "values": {
      "vorname": "Max",
      "email": "max@test.de",
      "nachricht": "..."
    }
  }
}

Signatur-Header

Falls ein Signing Secret konfiguriert ist, wird der Header mitgesendet:

X-Anolink-Signature: <HMAC-SHA256-Hex>

Webhook manuell senden (zum Testen)

POST /api/embed/webhook-event
{
  "token": "sk_dev_abc123...",
  "orgId": "550e8400-...",
  "event": "form.opened",
  "templateIdentifier": "anoXYZ1234",
  "data": { "info": "Testaufruf" }
}
FeldTypPflichtBeschreibung
eventstringJa"form.opened" | "form.closed" | "form.draft_saved"
dataobjectNeinBeliebige Zusatzdaten

Antwort (200)

{ "ok": true, "delivered": true }

Webhook-Log abrufen

GET /api/embed/webhook-events?token=<token>&orgId=<org-uuid>

Optionale Parameter: &eventType=form.submitted&templateIdentifier=anoXYZ1234&limit=50

Antwort (200)

{
  "ok": true,
  "events": [
    {
      "id": "uuid",
      "eventType": "form.submitted",
      "templateIdentifier": "anoXYZ1234",
      "webhookUrl": "https://hook.example.com",
      "delivered": true,
      "statusCode": 200,
      "errorMessage": null,
      "createdAt": "2026-02-23T14:30:00Z"
    }
  ]
}
FeldBeschreibung
deliveredtrue = erfolgreich zugestellt
statusCodeHTTP-Status der Webhook-Antwort
errorMessageFehlermeldung bei Zustellfehler

Limits: Standard 50, Max 200