Keine Bearbeitungszusammenfassung Markierung: 2017-Quelltext-Bearbeitung |
Markierung: 2017-Quelltext-Bearbeitung |
||
Zeile 10: | Zeile 10: | ||
=== Voraussetzungen === | === Voraussetzungen === | ||
{{webservice_prerequisites|Intern:Webservice_Personalstammdaten_Export_Aktivierung}} | |||
Um die Programmfunktion nutzen zu können | Um die Programmfunktion nutzen zu können | ||
Zeile 20: | Zeile 22: | ||
* kann ein [[Webservice_Authorization|Sicherer Link-Aufruf]] konfiguriert werden. | * kann ein [[Webservice_Authorization|Sicherer Link-Aufruf]] konfiguriert werden. | ||
Das Webservice stellt dann | Das Webservice stellt dann folgende Zugriffspfade an der konfigurierten [[ALEX-Ports#Netzwerkadresse_.2B_Port|Webservice-Adresse]] zur Verfügung: | ||
* <code>/GetEmployees</code> | * <code>/GetEmployees</code> |
Version vom 3. Januar 2023, 14:34 Uhr
Das Webservice - Personalstammdaten Export ist eine Programmfunktion zur Abfrage von Personalstammdaten für einen Zeitbereich.
Es kann dazu verwendet werden die Personalstammdaten Fremdsystemen zur maschinellen Weiterverarbeitung zur Verfügung zu stellen.
Personal welches mit Löschen umschalten versteckt wurde ist nicht im Ergebnis enthalten.
Unter Systemeinstellungen: WebApiServer Einstellungen: zu exportierende Personalstamm-Eigenschaften
können zusätzliche Personal-Eigenschaften in einer Ansicht gesammelt werden, welche auch exportiert werden. [1]
Ausgangssituation
Voraussetzungen
Neben den Voraussetzungen für den Betrieb eines Webservice muss das richtige Plugin konfiguriert sein.
Das Webservice stellt dann folgende Zugriffspfade zur Verfügung:
Um die Programmfunktion nutzen zu können
- muss der Webservice-Daemon konfiguriert sein.
- muss ein gültiger WebApi-Port konfiguriert sein.
- muss Bfx.Alex.Model als Plugin konfiguriert sein.
- kann ein Zertifikat zur Verschlüsselung verwendet werden.
- kann ein Sicherer Link-Aufruf konfiguriert werden.
Das Webservice stellt dann folgende Zugriffspfade an der konfigurierten Webservice-Adresse zur Verfügung:
/GetEmployees
Der Bediener des Webservice muss mit dem HTTP-Protokoll und seinen Möglichkeiten zur Argumentübertragung[2][3] vertraut sein.
Formatierung der Anfrage
Die Daten werden dem Webservice in der URL kodiert als GET-Argumentübertragung übergeben.
Ein Datum wird immer als DD.MM.YYYY
übertragen.
Schema für URL-Kodierung
Der Prozent-Encodierte Query-String der URL muss folgendes Format haben. Parameter in eckigen Klammern sind optional:
/GetEmployees [?from=] [&end=]
Parameter | Wertebereich | Beschreibung |
---|---|---|
from |
Datum | Beginn des abzufragenden Zeitbereichs, falls nicht angegeben minus unendlich |
end |
Datum | Ende des abzufragenden Zeitbereichs, falls nicht angegeben plus unendlich |
Formatierung der Ausgabe
Personalstammdaten im JSON-Format UTF8 codiert. Das JSON-Objekt hat folgendes JSON-Schema:
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "GetEmployees", "description": "format for the GetEmployees-Webservice", "type": "object", "properties": { "Employees": { "type": "array", "description": "Array der Personen", "items": { "type": "object", "properties": { "EmployeeID": { "type": "string", "description": "Personalnummer" }, "Surname": { "type": "string", "description": "Zuname" }, "Forename": { "type": "string", "description": "Vorname" }, "DayOfBirth": { "type": "string", "description": "Geburtstag" }, "EmployeeSignature": { "type": "string", "description": "Handzeichen für Pflegedoku" }, "Sex": { "type": "string", "description": "Geschlecht" }, "EmployeeJobGroup": { "type": "string", "description": "Berufsgruppe (externe Referenz)" }, "MasterAllocation": { "type": "string", "description": "Stammplanungseinheit (externe Referenz)" }, "EmployeeQualifications": { "type": "array", "description": "Array der Qualifikationen", "items": { "type": "string", "description": "Qualifikation (externe Referenz)" } }, "EmployeeEmailAddress": { "type": "string", "description": "Email" }, "EmployeePhoneNumber": { "type": "string", "description": "Telefonnummer" }, "EmployeeSocialInsurance": { "type": "string", "description": "Sozialversicherungsnummer" }, "EmployeeStreet": { "type": "string", "description": "Straße" }, "EmployeeCity": { "type": "string", "description": "Stadt" }, "PostalCode": { "type": "string", "description": "Postleitzahl" }, "ForNation": { "type": "string", "description": "Land" }, "EmployeeLastEmployedFrom": { "type": "string", "description": "Eintritt" }, "EmployeeLastEmployedTo": { "type": "string", "description": "Austritt" } } } } } }
Beispielanfragen
Beschreibung | URL |
---|---|
gesamte Personalstammdaten | /GetEmployees
|
Personalstammdaten von 05.12.2017 bis einschließlich 07.12.2017 | /GetEmployees?id=20&from=05.12.2017&end=07.12.2017
|
Beispielausgabe
{ "Employees": [ { "EmployeeID": "123", "Surname": "Mayr", "Forename": "Max", "DayOfBirth": "01.01.1981", "EmployeeSignature": "MYM", "Sex": "männlich", "MasterAllocation": "S1", "EmployeeJobGroup": "Berufsgruppe1", "EmployeeQualifications": [ "SP", "V" ], "EmployeeEmailAddress": "mayr@mail.com", "EmployeePhoneNumber": "07252 / 82 68 5", "EmployeeSocialInsurance": "1234", "EmployeeStreet": "Gleinkergasse 50", "EmployeeCity": "Steyr", "PostalCode": "4400", "ForNation": "Österreich", "EmployeeLastEmployedFrom": "01.08.2020", "EmployeeLastEmployedTo": "31.12.2099" }, { "EmployeeID": "345", "Surname": "Huber", "Forename": "Franz", "DayOfBirth": "01.02.1983", "EmployeeSignature": "HUF", "Sex": "männlich", "MasterAllocation": "S1", "EmployeeJobGroup": "Berufsgruppe1", "EmployeeQualifications": [ "SP" ], "EmployeeEmailAddress": "huber@mail.com", "EmployeePhoneNumber": "07252 / 4400 12345", "EmployeeSocialInsurance": "4321", "EmployeeStreet": "Fischergasse 22", "EmployeeCity": "Steyr", "PostalCode": "4400", "ForNation": "Österreich", "EmployeeLastEmployedFrom": "01.08.2020", "EmployeeLastEmployedTo": "31.12.2099" }, { "EmployeeID": "567", "Surname": "Müller", "Forename": "Hilde", "DayOfBirth": "09.03.1985", "EmployeeSignature": "MUH", "Sex": "weiblich", "MasterAllocation": "S2", "EmployeeJobGroup": "Berufsgruppe1", "EmployeeQualifications": [ "V" ], "EmployeeEmailAddress": "mueller@mail.com", "EmployeePhoneNumber": "0732 / 4010 98765", "EmployeeSocialInsurance": "9999", "EmployeeStreet": "Kirchengasse 57", "EmployeeCity": "Linz", "PostalCode": "4010", "ForNation": "Österreich", "EmployeeLastEmployedFrom": "01.08.2020", "EmployeeLastEmployedTo": "31.12.2099" } ] }