Ab Version 2021.16 können beliebige Objekte angelegt und deren Eigenschaften (z.B. Zuname, E-Mail Adressen, etc.) über diese Webservice Schnittstelle geändert werden.
Objekt anlegen
/New ?objectType=<Objekttyp des neuen Objektes> &indexQuery=<Index für Verifizierung> &matchString=<Wert für Suche auf Index> &keyDate=<Stichtag bei zeitlich begrenzbaren Eigenschaften>
Beispiel Personal
Details zur Anlage eines neuen Personals finden Sie hier
Optional kann ein neues Personal auch mit dem Aufruf [1] angelegt werden, wenn folgender Parameter aktiviert ist:
- Systemeinstellungen - Object Import Einstellungen: Eigenschaften-Import: Neu erstellen falls nicht gefunden?
- Bit Factory interne Zusatzinfo:
- siehe Issue #7363
- ab Version V2022.18
Beispiel Benutzer
Neuer Benutzer mit Username "USER1"
/New?objectType=AlexUser&indexQuery=UserX&matchString=USER1
Objekt ändern
/Set ?objectType=<Objekttyp auf dem geändert wird> &indexQuery=<Index über den das Objekt gefunden wird> &matchString=<Wert für Suche auf Index> &importType=<Eigenschaft die geändert werden soll> &valueString=<Wert der der Eigenschaft, URL-Encoded> &keyDate=<Stichtag bei zeitlich begrenzbaren Eigenschaften>
Format für Datum:
DD.MM.YYYY
Ergebnis:
Enthält eine etwaige Fehlermeldung.
Beispiele Personal
Beim Setzen von zeitlich abgrenzbaren Eigenschaften wird der Beginn automatisch begrenzt mit dem 'Ist bis'-Datum der Stammplanungseinheit des Mitarbeiters.
Wird ein keyDate mitgegeben, so wird entweder dieses Datum verwendet oder als Beginn das Maximum zwischen keyDate und "Ist bis" genommen.
Wird kein keyDate mitgegeben, so wird entwerder der 1. des aktuellen Monats genommen oder auch das Maximum zwischen keyDate und "Ist bis".
Beispiel:
- Dezember 2021 befindet sich im Status IST
- Jänner 2022 befindet sich im Status Planung
- "Ist bis" ist somit der 1.1.2022
- Parameter Zuname wird mit Stichtag 1.3.2022 gesendet
- Ergebnis: Zuname wird per 1.3.2022 hinterlegt
- Parameter Zuname wird mit Stichtag 1.11.2021 gesendet
- Ergebnis: Zuname wird per 1.1.2022 hinterlegt
- Ergebnis: Zuname wird per 1.1.2022 hinterlegt
- Setzen von Email "test@example.com" bei Personal mit Personalnummer "PNR123"
/Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=PNR123&importType=EmployeeEmailAddress&valueString=test@example.com
- Setzen von Kartennummer "1234567" bei Personal mit Personalnummer "PNR123" ab 01.01.2020
- Achtung, ist das "Ist bis" Datum z. B. der 01.03.2020 so würde der Beginn auch erst ab 01.03.2020 gesetzt werden!
/Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=PNR123&importType=EmployeeCardID&valueString=1234567&keyDate=01.01.2020
- Setzen von Zuname "Mustermann" bei Personal mit Personalnummer "PNR123" ab 01.10.2020
/Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=PNR123&importType=Surname&valueString=Mustermann&keyDate=01.10.2020
- Setzen von Vorname "Max" bei Personal mit Personalnummer "PNR123"
/Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=PNR123&importType=Forename&valueString=Max
- Setzen von Beschäftigungsausmaß 62,5% bei Personal mit Personalnummer "PNR123" ab 01.03.2022
/Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=PNR123&importType=EmploymentFactorPercent&valueString=62,5&keyDate=01.03.2022
Eingabe Austritt bei Personal mit Personalnummer "PNR123" per 31.08.2022
Beispiele Benutzer
- Setzen von Email "test@example.com" bei User mit Username "USER1"
/Set?objectType=AlexUser&indexQuery=UserX&matchString=USER1&importType=UserEmail&valueString=test@example.com
- Setzen von Username "USER1NEU" bei User mit Username "USER1"
/Set?objectType=AlexUser&indexQuery=UserX&matchString=USER1&importType=Username&valueString=USER1NEU
Externe Kennzeichen (Foreign Keys)
Der Import von Externen Kennzeichen (Foreign Keys) ist über die interne ObjectID
von ALEX möglich oder über Fremdschlüssel, die zuvor initialisiert werden müssen.
Fremdschlüssel stehen für die gängigsten Objekttypen zur Verfügung:
- Berufsgruppe
- Planungseinheit
- Qualifikation
- Vertrag
- Lohnartenumschlüsselung
- Setzen der Berufsgruppe mit externem Kennzeichen "B1" bei Personal mit Personalnummer "1"
/Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=1&importType=EmployeeJobGroup&valueString=B1
- Setzen der Planungseinheit mit externem Kennzeichen "P1" bei Personal mit Personalnummer "1" (könnte auch mit keyDate und mit toDate erweitert werden für eine zeitliche Abgrenzung, z. B. beim Wechsel der Stammplanungseinheit)
/Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=1&importType=MasterAllocation&valueString=P1
- Setzen der Qualifikation mit externem Kennzeichen "AS" bei Personal mit Personalnummer "1" per 01.03.2022
/Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=1&importType=EmployeeQualifications&keyString=AS&keyDate=01.03.2022
Eingebettete Objekte (Records)
Der Import von eingebetteten Objekten (Records) ist ebenfalls möglich
Beispiele für eingebettete Objekte:
- Anspruchszeile am Personal
- Informationen über Kinder für Pflegefreistellung
- Setzen von Anspruchszeile bei Personal mit der Personalnummer "PNR123"
/Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=PNR123&importType=EmployeeEntitlement_Urlaub&valueString=EmployeeRecEntitlementKeyDate%23%23%23%2302.02.2012%26EmployeeRecEntitlementCustomPostingKeyDate%23%23%23%2303.02.2012%26EmployeeRecEntitlementValue%23%23%23%23200,00&keyDate=01.10.2020
EmployeeEntitlement_Urlaub → hier muss nach dem _ die Kurzbezeichnung der Anspruchsart gesendet werden
EmployeeRecEntitlementKeyDate → Stichtag der Anspruchszeile
EmployeeRecEntitlementCustomPostingKeyDate → Zubuchungstag der Anspruchszeile
EmployeeRecEntitlementValue → Zusatzanspruch der Anspruchszeile
keyDate → Beginn-Datum der Anspruchszeile (hier gilt aber auch die oben beschriebene Logik bzgl. dem Maximum zwischen keyDate und "Ist bis")
- Setzen von Kindern beim Personal (max. 7 Kinder sind möglich) mit der Personalnummer "PNR123"
1. Kind: Franz, Geburtstag: 03.02.2012
/Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=PNR123&importType=EmployeeChildren&keyString=0&valueString=ChildName%23%23%23%23Franz%26ChildBirthday%23%23%23%2303.02.2012
2. Kind: Hans, Geburtstag: 03.02.2013
/Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=PNR123&importType=EmployeeChildren&keyString=1&valueString=ChildName%23%23%23%23Hans%26ChildBirthday%23%23%23%2303.02.2013
7. Kind: Karl, Geburtstag: 03.02.2014
/Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=PNR123&importType=EmployeeChildren&keyString=6&valueString=ChildName%23%23%23%23Karl%26ChildBirthday%23%23%23%2303.02.2014
Zeitlich abgegrenzte Eigenschaften (Timeline)
Beispiele für zeitlich abgegrenzte Eigenschaften:
- Inaktivzeiten
- Schwanger: valueString=0
- Mutterschutz: valueString=1
- Karenz: valueString=2
- Sonstige Inaktivzeit: valueString=3
- Setzen von 'Mutterschutz' bei Personal mit der Personalnummer "PNR123" von 1.1.2020 bis 1.8.2020
/Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=PNR123&importType=MaternityProtection&valueString=1&keyDate=01.01.2020&toDate=01.08.2020
Ausgabe
Json-Objekt in der Form:
{ "request" : "" , "status" : "" , "details" : "" }
- "request": Angeforderter Request als "Handshake"
- "status": "ok" oder "error"
- "details": Optionale Detailinformationen bei "error"
File Import
Der Pfad für die Importfiles kann in den Systemeinstellungen in der Gruppe "Object Import Einstellungen" beim Parameter "Eigenschaften-Import Pfad" festgelegt werden.
Die gewünschte Dateierweiterung kann beim Parameter "Eigenschaften-Import Dateierweiterung" eingetragen werden.
Der definierte Ordner wird alle 2 Minuten auf neue Dateien geprüft.
Format für Datei
{ "objectType": "string", "indexQuery": "string", "importType": "string", "lines": [ { "matchString": "string", "valueString": "string", "importType": "string", "keyString": "string", "keyDate": "DD.MM.YYYY" } ] }
Beispiele Personal
Setzen von Kartennummer "1234567" bei Personal mit Personalnummer "1" ab 01.01.2020.
{ "objectType": "Employee", "indexQuery": "EmployeeIDX", "importType": "EmployeeCardID", "lines": [ { "matchString": "1", "valueString": "1234567", "keyDate": "01.01.2020" } ] }
Setzen von Email "test@example.com" bei Personal mit Personalnummer "1" ab 01.01.2020.
{ "objectType": "Employee", "indexQuery": "EmployeeIDX", "importType": "EmployeeEmailAddress", "lines": [ { "matchString": "1", "valueString": "test@example.com", "keyDate": "01.01.2020" } ] }
Setzen von Zuname "Mair" bei Personal mit Personalnummer "1" ab 01.01.2020 und setzen von Zuname "Huber" bei Personal mit Personalnummer "2" ab 01.02.2020.
{ "objectType": "Employee", "indexQuery": "EmployeeIDX", "importType": "Surname", "lines": [ { "matchString": "1", "valueString": "Mair", "keyDate": "01.01.2020" }, { "matchString": "2", "valueString": "Huber", "keyDate": "01.02.2020" } ] }
Setzen von Zuname, Vorname, Berufsgruppe und Kind bei Personal mit Personalnummer "1":
{ "objectType": "Employee", "indexQuery": "EmployeeIDX", "lines": [ { "matchString": "1", "importType": "Surname", "valueString": "Mair", "keyDate": "01.12.2000" }, { "matchString": "1", "importType": "Forename", "valueString": "Franz" }, { "matchString": "1", "importType": "EmployeeJobGroup", "valueString": "DGKS", "keyDate": "01.02.2018" }, { "matchString": "1", "importType": "EmployeeChildren", "keyString": "1", "valueString": "ChildName####Karl&ChildBirthday####03.02.2014" } ] }
Der Inhalt des Files kann dem /Set
Webservice auch gePOST
et werden
Häufig benutzte Werte
Personal
ImportType
Eigenschaft | ImportType | Zusätzliche Informationen |
---|---|---|
Stamm-Planungseinheit | MasterAllocation | |
Zuname | Surname | |
Vorname | Forename | |
Kurzname | Nickname | |
Titel vor Name | EmployeeTitleBeforeName | |
Titel nach Name | EmployeeTitleAfterName | |
Geschlecht | Sex | ValueString: 0 = weiblich; 1 = männlich |
Geburtstag | DayOfBirth | |
Berufsgruppe | EmployeeJobGroup | |
Beschäftigt | Employed | keyDate für Beschäftigt ab
toDate für Beschäftigt bis |
E-Mail Adresse | EmployeeEmailAddress | |
Kartennummer | EmployeeCardID | |
Inaktivzeiten | MaternityProtection | ValueString:
0 = Schwanger 1 = Mutterschutz 2 = Karenz 3 = Sonstige Inaktivzeit sollte es noch weitere geben, siehe Kundenmodul |
Telefonnummer | EmployeePhoneNumber | |
Sozialversicherungs-Nr. | EmployeeSocialInsurance | |
Straße | EmployeeStreet | |
Handzeichen für Pflegedoku | EmployeeSignature | |
Einstufung | EmployeeJobEvaluation | |
Bekannte Felder, welche momentan noch nicht importiert werden können:
- Personal Info - Stadt/Land (hier würde noch eine Entwicklung benötigt, um Externe Kennzeichen beim Objekt Stadt zu verwalten
Protokollierung
Damit Änderungen über die Webservice-Schnittstelle protokolliert werden, muss beim Parameter "Eigenschaften-Import: Benutzer für Webservice" ein Benutzer hinterlegt werden:
Benutzer WEBSERVICE |
Protokoll Personal |