LohnManager API-Dokumentation

Willkommen

Aktivieren

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.



API Endpunkte

Die LohnManager API ist auf 2 Arten nutzbar:

JSON

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

.Net Service Reference

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


API Funktionen

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:

  • DateTime: .NET DataContractJsonSerializer ("\"\\/Date(1335205592410-0500)\\/\"")
  • TimeSpan: .NET DataContractJsonSerializer ("PT8H30M")

Mitarbeiterinfo

Ü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.
		

Abrufen aller Mitarbeiter

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.
		

Zeitprofil

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.
		

Zeiterfassung

Ü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.
		


API documentation and implementation by obfr-dev (Schel & Caliebe) info[at]obfr-dev.eu