Webservice-Schnittstelle zur Online Zeiterfassung

Webservice-Schnittstelle zur Online Zeiterfassung

Technische Beschreibung für Softwareentwickler

Die Zeiterfassung bietet eine einfache Schnittstelle für Softwareentwickler zum Ein- und Ausstempeln von Anwendern. Die Schnittstelle ist als Webservice impementiert und geeignet für die Anbindung von Stempeluhren.

Voraussetzungen:

Der Webservice muss in den Einstellungen der Zeiterfassung (Reiter Sicherheit) aktiviert und ein Passwort gesetzt werden. Hinweis: Das selbe Passwort wird auch für das REST-API verwendet.

Technische Beschreibung

Bitte verwenden Sie DIESE WSDL-Datei.

Der Service ist erreichbar unter: https://www.goodtimetracking.com/goodtime-ws/PunchWS

Ein einfacher Testclient in Java als Zip-Datei oder Tar-Datei.

Beschreibung der Methoden

Methode punch

Stempelt einen Benutzer ein oder aus.

Behandlung von sehr kurzen Zeiteinträgen:
Das Einstempeln und Ausstempeln innerhalb der selben Minute ist (im Gegensatz zur Weboberfläche) erlaubt. Als Endzeit wird in diesem Fall die nächste Minute genommen. Durch dieses Vorgehensweise können Überschneidungen zwischen den erzeugten Zeiteinrägen entstehen. Wenn in den Einstellungen "Überlappende Zeiteinträge erlauben" ausgeschaltet ist (die empfohlene Standardeinstellung) wird in einem solchen Fall ein OverlappingTimeEntryFault (siehe unten) ausglöst.

Parameter:
String useremail
Die Login-Emailadresse, die auch zum Einloggen für Goodtime verwendet wird.
String webservicepassword
Das Passwort für den Webservice wird in den Einstellungen für die Zeiterfassung festgelegt.
Rückgabewert:
PunchEntry
Der gerade erzeugte oder geänderte Zeiteintrag.

Methode getLastPunchentry

Gibt den letzten Zeiteintrag eines Benutzers zurück.

Parameter:
String useremail
Die Login-Emailadresse, die auch zum Einloggen für Goodtime verwendet wird.
String webservicepassword
Das Passwort für den Webservice wird in den Einstellungen für die Zeiterfassung festgelegt.
Rückgabewert:
PunchEntry
Der letzte (jüngste) Zeiteintrag für die gegebene Loginemail. Es wird NULL zurückgegeben, wenn kein Zeiteintrag gefunden wurde. Zeiteinträge, welche in der Zukunft liegen, werden ignoriert.

Methode hello

Diese Methode ist zum Testen und gibt immer den String "Hello!" zurück.

Typ PunchEntry

Ein Zeiteintrag mit einer Startzeit und einer Endzeit.

Felder:
String starttime
String endtime

Faults (Exceptions)

Folgende Typen von Fehler können auftreten:

AuthenticationFault
Fehler bei der Authentifizierung: Zum Beispiel falsches Webservicepasswort.
OverlappingTimeEntryFault
In den Einstellungen ist die Option "Überlappende Zeiteinträge erlauben" ausgeschaltet und durch den neuen Eintrag wäre eine zeitliche Überlappung zwischen Zeiteinträgen entstanden.
ServiceFault
Diverse Fehler - siehe jeweilige Fehlermeldung.