Zum Inhalt springen

Stempel-Vorgänge

Dieses Modul beschreibt die API-Endpunkte zur Verwaltung von Stempel-Vorgängen (engl. punch events). Ein Stempel-Vorgang repräsentiert einen Zeitpunkt mit einem Typ (Start, Stop, Pausenbeginn, Pausenende). Die Endpunkte erlauben das Erstellen, Anzeigen, Auflisten und Löschen (Soft-Delete) von Vorgängen. Stempel-Vorgänge werden verwendet, um Arbeitszeiten (Zeiterfassungen) zu erfassen.


AttributBeschreibungDetails
discarded_atZeitpunkt der Entfernung (oder null)Kann nicht manuell gesetzt werden. Wird beim Löschen automatisch gesetzt (Soft-Delete).
punched_atZeitpunkt des StempelnsKann nicht manuell gesetzt werden. Wird serverseitig beim Erstellen gesetzt.
punch_typeArt des VorgängesMuss gesetzt werden. Zulässige Werte: 'start', 'stop', 'break_start', 'break_stop'.
user_idID des Benutzers, dem das Vorgang zugeordnet istKann nicht manuell gesetzt werden. Wird im Backend auf den aktuellen Benutzer gesetzt.

Folgende Beziehungen können mit dem Parameter include in den Request eingebunden werden:

BeziehungTypBeschreibung
userhas_oneDer Benutzer, dem das Stempel-Vorgang zugeordnet ist.

Können über den meta[permissions]-Parameter in den Request eingebunden werden. Sie geben an, welche Aktionen der aktuelle Benutzer auf einem Stempel-Vorgang ausführen kann.

GruppeBeschreibung
actionsGibt an, ob der Benutzer den Stempel-Vorgang löschen (delete) kann.

Mit diesem Endpunkt kannst du ein neues Stempel-Vorgang erstellen.

POST /api/v1/punch_events

{
"data": {
"type": "punch_event",
"attributes": {
"punch_type": "start"
}
}
}
{
"data": {
"id": "0e2f7b86-9b1e-4c1a-9d9a-7a0b6f1c5e3d",
"type": "punch_event",
"attributes": {
"punch_type": "start",
"punched_at": "2025-08-12T08:15:30Z",
"user_id": "c2c3a4c9-5a9e-4ad8-9b7b-9a7d6c5b2e1f",
"discarded_at": null
}
}
}

Mit diesem Endpunkt kannst du die Details eines einzelnen Stempel-Vorgänges abrufen.

GET /api/v1/punch_events/:id

NameBeschreibung
idDie ID des Stempel-Vorgänges, das abgerufen wird.
{
"data": {
"id": "0e2f7b86-9b1e-4c1a-9d9a-7a0b6f1c5e3d",
"type": "punch_event",
"attributes": {
"punch_type": "start",
"punched_at": "2025-08-12T08:15:30Z",
"user_id": "c2c3a4c9-5a9e-4ad8-9b7b-9a7d6c5b2e1f",
"discarded_at": null
}
}
}

Mit diesem Endpunkt kannst du alle Stempel-Vorgänge abrufen, für die du die Berechtigung hast.

GET /api/v1/punch_events

{
"data": [
{
"id": "0e2f7b86-9b1e-4c1a-9d9a-7a0b6f1c5e3d",
"type": "punch_event",
"attributes": {
"punch_type": "start",
"punched_at": "2025-08-12T08:15:30Z",
"user_id": "c2c3a4c9-5a9e-4ad8-9b7b-9a7d6c5b2e1f",
"discarded_at": null
}
}
]
}

Alle Stempel-Vorgänge auflisten:

GET /api/v1/punch_events

Nach Typ filtern:

GET /api/v1/punch_events?filter[punch_type]=eq:start

Nach Benutzer filtern:

GET /api/v1/punch_events?filter[user_id]=eq:123

Sortieren nach Stempel-Zeit (absteigend):

GET /api/v1/punch_events?sort=-punched_at


Mit diesem Endpunkt kannst du ein Stempel-Vorgang löschen. Das Vorgang wird soft-deleted; discarded_at wird automatisch gesetzt.

DELETE /api/v1/punch_events/:id

NameBeschreibung
idDie ID des Stempel-Vorgänges, das gelöscht wird.
{
"data": {
"id": "0e2f7b86-9b1e-4c1a-9d9a-7a0b6f1c5e3d",
"type": "punch_event",
"attributes": {
"punch_type": "start",
"punched_at": "2025-08-12T08:15:30Z",
"user_id": "c2c3a4c9-5a9e-4ad8-9b7b-9a7d6c5b2e1f",
"discarded_at": "2025-08-12T10:03:11Z"
}
}
}