Die Zeiterfassung bietet eine REST-Schnittstelle für Softwareentwickler. Dieser REST-Service ist zum Beispiel auch geeignet für die Anbindung von Stempeluhren.
Das REST-API muss in den Einstellungen der Zeiterfassung (Reiter Sicherheit) aktiviert und ein Passwort gesetzt werden.
Bitte beachten Sie beim Upgrade von der Version 1.1 folgende Änderungen:
../time/..
sind in Version 2.1 erreichbar unter in ../time-v2.1/..
@GET /api/time/timecategories wurde umbenannt in
@GET /api/time-v2.1/timetypes
@POST /api/time-v2.1/createtimeentry hat einen
neuen, optionalen Parameter: comment
@POST /api/time-v2.1/timeentries gibt nun zusätzlich
das property locked zurück, das anzeigt, ob der
Zeiteintrag abgeschlossen ist. (Nur für Zeiterfassungen für die "Abschließbare
Zeiteinträge" aktiviert sind.)
Eine Hello-World-Ressource ist erreichbar unter:
Eine Test-Ressource für das Login ist erreichbar unter:
Einfache Demo Clients für alle verfügbaren REST-API-Funktionen:
@GET /api/hello/sayhelloDiese Ressource zum Testen gibt ein Hallo zurück.
KeineString@GET /api/hello/securedSayhelloDiese Ressource kann zum Testen des Logins verwendet werden. Das Login muss zuvor aufgerufen werden.
KeineString@POST /api/loginDiese Ressource kann für das Login verwendet werden.
{loginemail, apipassword}JSON Web Token@GET /api/time-v2.1/timetypesKeine[{id, name}, ...]@GET /api/time-v2.1/usersDiese Ressource liefert eine Liste der Loginemails aller Benutzer zurück.
Keine[{loginemail}, ...]@GET /api/time-v2.1/projectsDiese Ressource liefert die Liste der Projekte zurück.
Keine[{id, name}, ...]@GET /api/time-v2.1/projects/{useremail}Diese Ressource liefert eine Liste der Projekte für einen bestimmten Benutzer zurück.
{useremail}[{id, name}, ...]@GET /api/time-v2.1/timeentries?useremail={useremail}&start={start}&end={end}
Diese Ressource gibt die Zeiteinträge eines Benutzers für einen bestimmten Zeitraum zurück.
{useremail, start, end}[{id, starttime, ...}, ...]
@POST /api/time-v2.1/createtimeentryMit dieser Ressource kann man einen neuen Zeiteintrag erzeugen.
{starttime, endtime, useremail, timetypeid, projectid, comment}[{id}, ...]@DELETE /api/time-v2.1/deletetimeentry/{id}
Mit dieser Ressource kann man einen Zeiteintrag löschen.
{id}Keiner