Erweiterungen
Nutzung in der App
Abschnitt betitelt „Nutzung in der App“Erweiterungen sind externe Dienste, die über das API- & Erweiterungssystem von Klokk angebunden werden: eine scope-basierte, schreibgeschützte REST-API, ausgehende Webhooks und eingehende WebSocket-Verbindungen. Die Konfigurationsvariablen finden sich unter API & Erweiterungen oben; dieser Abschnitt behandelt den Ablauf in der App und die hauseigenen Erweiterungen.
Ein Super-Admin verwaltet Integrationen unter Admin → API & Erweiterungen (/admin/extensions). Jede Integration bündelt einen API-Schlüssel (nur einmal angezeigt — sicher aufbewahren), die nutzbaren Scopes und einen Verbindungsmodus:
- Nur API — die Erweiterung fragt die REST-API mit ihrem Schlüssel ab (
/api/v1/status,/users,/clock/states,/time/entries,/time/leaves,/shifts/events,/companies); begrenzt auf 60/min pro IP. - Webhooks — Klokk sendet bei Ein-/Ausstempeln und Abwesenheitsereignissen ausgehende HTTP-POSTs. Ereignisse:
clock.in,clock.out,leave.approved,leave.rejected,leave.cancelled(eine genehmigte Abwesenheit wurde storniert); jedes braucht den Scopewebhook:<Ereignis>. Ereignisse zu einer Person gehen nur an Endpunkte ihrer Firma (oder firmenübergreifende), auch wenn ein Super-Admin entscheidet. Testen erreicht nur den gewählten Endpunkt. - WebSocket — die Erweiterung öffnet eine dauerhafte eingehende Verbindung unter
GET /api/v1/extension/connect.
Scopes (z. B. read:users, read:time_entries, read:companies) autorisieren jeden Schlüssel; vergeben Sie nur, was eine Erweiterung benötigt. Die öffentliche API ist schreibgeschützt. EXTENSIONS_ENABLED=false entfernt die Admin-Routen, den WebSocket-Endpunkt und alle Webhooks (die einfache REST-API bleibt verfügbar).