Skip to content

Webhook System

Matthias Schabhüttl edited this page Jun 12, 2026 · 1 revision

🔗 Webhook-System

Das Webhook-System ermöglicht die Integration von OpenSchichtplaner5 mit externen Systemen. Bei bestimmten Events werden HTTP-Callbacks an konfigurierte URLs gesendet.


Funktionsweise

  1. Admin registriert eine Webhook-URL für bestimmte Event-Typen
  2. Bei Eintreten eines Events sendet das System einen HTTP POST an die URL
  3. Der Payload enthält Event-Typ, betroffene Entität und Zeitstempel

Unterstützte Events

Event Beschreibung
shift.created Neue Schicht eingetragen
shift.updated Schicht geändert
shift.deleted Schicht gelöscht
employee.created Neuer Mitarbeiter angelegt
employee.updated Mitarbeiterdaten geändert
absence.created Neue Abwesenheit
absence.approved Abwesenheit genehmigt
swap.requested Schichttausch angefragt
swap.approved Schichttausch genehmigt

API-Endpunkte

POST   /api/v1/webhooks        → Webhook registrieren
GET    /api/v1/webhooks        → Alle Webhooks auflisten
PUT    /api/v1/webhooks/{id}   → Webhook bearbeiten
DELETE /api/v1/webhooks/{id}   → Webhook löschen

Payload-Format

{
  "event": "shift.created",
  "timestamp": "2026-03-27T14:00:00Z",
  "data": {
    "id": 42,
    "employee_id": 7,
    "shift_type": "Früh",
    "date": "2026-03-28"
  }
}

Sicherheit

  • Webhooks werden nur an HTTPS-URLs gesendet (empfohlen)
  • Retry-Logik bei fehlgeschlagener Zustellung
  • Nur Admins können Webhooks konfigurieren

Anwendungsfälle

  • Slack/Teams-Integration — Automatische Benachrichtigungen bei Planänderungen
  • ERP-Synchronisation — Schichtdaten an Lohnsysteme weiterleiten
  • Monitoring — Unterbesetzung an Alerting-Systeme melden

➡️ Verwandte Seiten: Echtzeit-Updates | Notification-Settings | Export-Scheduler

🧸 OpenSchichtplaner5 v1.2.0

Home — Startseite


🚀 Einstieg


📊 Dashboard

  • Dashboard — Charts, Widgets & Performance

📅 Planung


📄 Berichte & Daten


🗃️ Stammdaten


🔗 Integrationen


⚙️ Administration


📱 Features


🔗 Links


📚 Verwandte Wikis

Clone this wiki locally