Um die API für Ihre Firma nutzen zu können, müssen Sie dies erst im LohnManager unter Einstellungen aktivieren. Nach der Aktivierung erhalten Sie einen sogenannten ApiKey. Mit diesem ApiKey und Ihrer Firmennummer können Sie dann Anfragen an die API richten.
Die LohnManager API ist auf 2 Arten nutzbar:
Um die API mit JSON-Objekten anzusprechen und von Ihr diese zu empfangen, nutzen Sie folgende Endpoint-Basisadresse:
https://api.lohnmanager.info/LohnManagerService.svc/json
Um die API in Ihr .Net-Projekt einzubinden verwenden Sie bitte die folgende Endpoint- Basisadresse für die Service-Referenz:
https://api.lohnmanager.info/LohnManagerService.svc
Im Folgenden werden die einzelnen API-Fuktionen erklärt. Da die .Net-Referenz selbsterklärend ist, wird hier nur auf die JSON Aufrufe, Übergaben und Rückgaben eingegangen. Folgende Serializer werden für Spezialtypen verwendet:
Über die Personalnummer eines Mitarbeiters können dessen Stammdaten abgerufen werden
Beispiel [hier klicken]
Methode: /GetEmployeeByNo Type:POST Parameter: apiKey (string) companyNo (int) EmployeeNo (int) Return: EmployeeData ID (int) EmployeeNo (int) CompanyNo (int) FirstName (string) LastName (string) Birthday (datetime?) EnteringDate (datetime) ExitDate (datetime?) Exceptions: Permission denied. Employee not available on company.
Um beispielsweise einen Sync durchzuführen, können Sie alle Mitarbeiter Ihrer Firma mit zusätzlicher Einschränkung auf Aktiv abrufen.
Beispiel [hier klicken]
Methode: /GetAllEmployees Type:POST Parameter: apiKey (string) companyNo (int) OnlyActive (bool, optional) Return: Array of EmployeeData ID (int) EmployeeNo (int) CompanyNo (int) FirstName (string) LastName (string) Birthday (datetime?) EnteringDate (datetime) ExitDate (datetime?) Exceptions: Permission denied. Employee not available on company.
Schicken Sie ein Zeitprofil für ein bereits vorhandenes Datum wird das vorhandene Zeitprofil mit dem gesendeten Zeitprofil überschrieben. Ist das Zeitprofil noch nicht vorhanden wird es angelgt.
Beispiel [hier klicken]
Methode: /CreateEmployeesTimeprofile Type:POST Parameter: apiKey (string) companyNo (int) TimeProfile EmployeeNo (int) StartValidity (datetime) Shift1_Monday_StartTime (timespan?) Shift1_Monday_EndTime (timespan?) Shift1_Tuesday_StartTime (timespan?) Shift1_Tuesday_EndTime (timespan?) Shift1_Wednesday_StartTime (timespan?) Shift1_Wednesday_EndTime (timespan?) Shift1_Thursday_StartTime (timespan?) Shift1_Thursday_EndTime (timespan?) Shift1_Friday_StartTime (timespan?) Shift1_Friday_EndTime (timespan?) Shift1_Saturday_StartTime (timespan?) Shift1_Saturday_EndTime (timespan?) Shift1_Sunday_StartTime (timespan?) Shift1_Sunday_EndTime (timespan?) Shift2_Monday_StartTime (timespan?) Shift2_Monday_EndTime (timespan?) Shift2_Tuesday_StartTime (timespan?) Shift2_Tuesday_EndTime (timespan?) Shift2_Wednesday_StartTime (timespan?) Shift2_Wednesday_EndTime (timespan?) Shift2_Thursday_StartTime (timespan?) Shift2_Thursday_EndTime (timespan?) Shift2_Friday_StartTime (timespan?) Shift2_Friday_EndTime (timespan?) Shift2_Saturday_StartTime (timespan?) Shift2_Saturday_EndTime (timespan?) Shift2_Sunday_StartTime (timespan?) Shift2_Sunday_EndTime (timespan?) Exceptions: Permission denied. Employee not available on company. StartValidity not at first day of month.
Über die Zeiterfassung kann aktuell nur stets ein ganzer Monat übergeben werden. In den meisten Fällen wird das Ausfüllen der Beginn und Endzeit eines Arbeitstages genügen. Sie können auch die Zeiterfassung für mehrere Arbeitnehmer gleichzeitig übertragen. Über die Rückgabe können Sie erkennen, ob es bei bestimmten Einträgen nicht möglich war diese abzuspeichern. Pausenautomatik, Mahlzeitautomatik und Spesenautomaik werden beim Importprozess angewendet. Beispiel [hier klicken]
Methode: /UpdateEmployeesTimeRecords Type:POST Parameter: apiKey (string) companyNo (int) Array of TimeRecord (bool, optional) EmployeeNo (int) RecordDate (datetime) RecordType (TimeRecordType) (N,K,U,T) Shift1_Start(timespan?) Shift1_End (timespan?) Shift2_Start (timespan?) Shift2_End (timespan?) Credit (decimal?) Holiday (decimal?) CreditDay (decimal?) FortyFourEuro (decimal?) VariableWageType2 (decimal?) VariableWageType1 (decimal?) TimeAccountBalance (decimal?) Break (decimal?) Return: Array of TimeRecordResult EmployeeNo (int) RecordDate (datetime) Error (bool) ErrorMsg (string) Exceptions: Permission denied. Employee not available on company. Month already exported. Import denied.