Skip to Content
Guides nach Use CaseZutrittskontrolle

Zutrittskontrolle

Ziel: dein Zutrittskontrollsystem (Drehkreuze, Kartenleser, Kioske) erfasst Stempelungen in Kinmu — in Echtzeit.

Benötigte Scopes: org:fichajes:write (erfassen) und org:fichajes:read (abfragen).

Eine Stempelung erfassen

POST /v1/check-ins erfasst ein Ereignis im Namen einer Person. Es wird mit source=api gespeichert, ist auditiert und respektiert die Arbeitszeit-Validierungen (kein Bypass der Regeln).

curl -s -X POST "$KINMU_BASE_URL/check-ins" \ -H "Authorization: Bearer $KINMU_API_KEY" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: $(uuidgen)" \ -d '{ "employee_id": "a1b2c3d4-…", "type": "in", "timestamp": "2026-07-08T08:00:00Z", "location_id": "loc-uuid", "note": "Acceso puerta principal" }'

Felder im Body:

FeldPflichtHinweise
employee_idJaÖffentliche UUID der Person.
typeJain, out, break_start oder break_end.
timestampJaISO 8601 in UTC.
location_idNeinStandort, an dem die Stempelung stattfindet.
noteNeinFreitext (z. B. Kennung des Lesegeräts).

Antwort 201:

{ "id": "ci-uuid", "employee_id": "a1b2c3d4-…", "type": "in", "timestamp": "2026-07-08T08:00:00Z", "location": { "id": "loc-uuid", "name": "Sede Madrid" }, "source": "api", "validated": true, "created_at": "2026-07-08T08:00:01Z", "updated_at": "2026-07-08T08:00:01Z" }

Verwende bei jeder Stempelung einen Idempotency-Key. Drehkreuze wiederholen Requests bei Netzausfällen; mit einem Idempotenzschlüssel vermeidest du, denselben Zutritt doppelt zu erfassen. Denselben Key erneut zu senden liefert die ursprüngliche Stempelung; ihn mit einem anderen Body wiederzuverwenden ergibt 409.

Deine Mitarbeitenden mappen

Dein Zutrittssystem identifiziert Personen über Karte oder PIN; Kinmu über die employee_id (UUID). Baue das Mapping einmal auf und aktualisiere es regelmäßig:

Lade die Mitarbeitenden und ihre Struktur herunter

curl -s "$KINMU_BASE_URL/employees?status=active&limit=100" \ -H "Authorization: Bearer $KINMU_API_KEY" curl -s "$KINMU_BASE_URL/locations" -H "Authorization: Bearer $KINMU_API_KEY"

Speichere das Mapping tarjeta → employee_id und zona → location_id

Nutze email oder ein Feld aus deinem Stammdatensystem, um Personen zuzuordnen; speichere die Kinmu-UUIDs.

Aktualisiere mit updated_since

Lies nur, was sich geändert hat: GET /v1/employees?updated_since=<última sync>.

Stempelungen abfragen

Zum Abgleich liest du die Ereignisse mit einem Pflichtbereich von ≤ 92 Tagen:

curl -s "$KINMU_BASE_URL/check-ins?employee_id=a1b2…&from=2026-07-01&to=2026-07-08" \ -H "Authorization: Bearer $KINMU_API_KEY"

Du willst in Echtzeit auf jede Stempelung reagieren (etwa für ein Anwesenheits-Panel)? Abonniere das Event checkin.created per Webhooks, statt zu pollen.

Häufige Fehler

SituationAntwort
org:fichajes:write fehlt403 invalid_scope
timestamp außerhalb des Bereichs oder type ungültig422 validation_failed (mit errors)
Retry mit gleichem Idempotency-Key und anderem Body409 idempotency_conflict
Person eines anderen Unternehmens404 not_found
Last updated on