Stammdaten¶
Abruf von Mitarbeiter-Stammdaten¶
| Information | Wert |
|---|---|
| Verfügbar in Planerio-Versionen | 1.x / 2.0 |
| Verfügbar über Technisches Login | ja |
| Verfügbar über Browser | ja |
| Endpunkt-Pfad | /integrations/tokenapi/v2/aaa-bbb-ccc/employees |
Erfahren Sie hier, wie Stammdaten von in Planerio angelegten Mitarbeitern automatisiert oder manuell abgerufen werden kann. Im Abschnitt Konfiguration haben Sie sogenannte „Schichtgruppen-Token“ als Zugänge zu den Daten in Planerio erstellt, diese werden nun benötigt. Die URL zum Datenabruf lautet:
https://<host>/integrations/tokenapi/v2/aaa-bbb-ccc/employees
Anstelle von aaa-bbb-ccc ist das entsprechende Schichtgruppen-Token einzusetzen. Weiterhin ist es möglich, den Datenabruf wie folgt zu parametrisieren. Der erste Parameter muss dabei mit einem ? eingeleitet werden, alle folgenden mit einem &.
| Parameter | Beschreibung |
|---|---|
| referenceDate=2023-01-31 | Dieser Parameter definiert den Stichtag, für den gültige Mitarbeiterdaten abgerufen werden sollen. Das Datum muss dabei im Format YYYY-MM-DD, also z.B. 2023-01-31 für den 31. Januar 2023, angegeben werden. |
| format=xls | (optional) Dieser Parameter legt das Format der exportieren Daten fest. Verfügbar sind: xls (Excel-Datei), csv (Textdatei) und json (Standard). |
Folgende Daten sind in der Antwort enthalten (jeweils pro Mitarbeiter):
| Feldname | Beschreibung |
|---|---|
| employee_uuid | Planerio-systemweit eindeutige ID des Mitarbeiters |
| external_unique_id | Falls der Mitarbeiter über einen Import (vgl. separate Doku „Schnittstelle_Mitarbeiterdatenimport“) angelegt wurde, ist hier die uniqueId zur Identifizierung des MA im externen System enthalten. |
| first_name last_name |
Vor- und Nachname |
| username |
E-Mail-Adresse. Falls keine E-Mail-Adresse verwendet wird, ein eindeutiger Benutzername. |
| personnel_number | Personalnummer |
| tenant_number | Feld Mandantennummer |
| primary_shift_group_id primary_shift_group_name |
Primäre Schichtgruppe |
| secondary_shift_group_ids secondary_shift_group_names |
Sekundäre Schichtgruppe(n) |
| entry_date | Vertragsbeginn (erster Arbeitstag) |
| exit_date | Vertragsende (letzter Arbeitstag) |
| work_schedule_valid_from work_schedule_weekly_hours work_schedule_weekly_days work_schedule_working _hours_by_weekday work_schedule_main_location_id work_schedule_main_location_name work_schedule_job_title |
Arbeitszeitprofil inkl. - Eindeutigem Gültig ab-Datum - Wochenstunden + Tage - Falls verwendet, Arbeitsstunden pro Wochentag - Hauptstandort - Job-Titel |
| supervisor_employee_uuid supervisor_external_unique_id supervisor_firstlastname |
Vorgesetzer |
| hr_manager_employee_uuid hr_manager_external_unique_id hr_manager_firstlastname |
Personalverantwortlicher |
| substitute_employee_uuid substitute_external_unique_id substitute_firstlastname |
Vertretung |
| timetracking_profile_name | Name des Zeiterfassungsprofils (sofern vorhanden) |
| salutation | “man” oder “woman” |
| date_of_birth | Geburtstag im Format: YYYY-MM-DD |
Import von Mitarbeiter-Stammdaten¶
| Information | Wert |
|---|---|
| Verfügbar in Planerio-Versionen | 1.x / 2.0 |
| Verfügbar über Technisches Login | ja |
| Verfügbar über Browser | nein |
Die Schnittstelle zum Benutzerdatenimport ermöglicht es, Mitarbeiterstammdaten aus Drittsystemen nach Planerio zu übertragen.
Konfiguration¶
Die Konfiguration der Schnittstelle muss durch Planerio vorgenommen werden. Bitte wenden Sie sich für weitere Informationen an Ihren Account Manager.
Wichtig ist, dass in Planerio unter Admin -> Abteilung max. 1 Abteilung angelegt ist. Andernfalls funktioniert die initiale, einmalige Zuordnungen zu den Schichtgruppen nicht.
Datenfluss¶
Es bestehen drei Möglichkeiten zur Übertragung von Mitarbeiterstammdaten aus Drittsystemen nach Planerio:
- Push-basiert. Hierbei übermittelt das Drittsystem einzelne oder mehrere Mitarbeiterdatensätze mittels HTTPS. Dies ermöglicht eine Synchronisation in Echtzeit.
- Pull-basiert. Hierbei ruft Planerio in regelmäßigen Intervallen Mitarbeiterdatensätze aus dem Drittsystem über eine HTTPS-Schnittstelle ab.
- Pull-basiert im Batch-Modus. Hierbei ruft Planerio in regelmäßigen Intervallen (meistens 1/Tag) die Mitarbeiterdatensätze für alle Mitarbeiter aus dem Drittsystem ab. Die Übertragung erfolgt hier in der Regel über SFTP mit CSV-Dateien o.ä.
In allen drei Fällen wird das Drittsystem zum „Master“, also zum primären System der konfigurierten Felder. Die Felder können anschließend in Planerio nicht mehr modifiziert werden.
Datenstruktur¶
Die aktuelle technische Beschreibung der Datenstruktur können Sie jederzeit über folgenden Link abrufen:
https://schemas.planerio-ops.de/MasterDataSource/UserImportSchema/index.html
Das zugrunde liegende JSON-Schema können Sie hier herunterladen:
https://schemas.planerio-ops.de/MasterDataSource/UserImportSchema/schema.zip
Weitere Informationen zu verfügbaren Feldern¶
Bitte entnehmen Sie die aktuelle Feldliste inklusive Typen, Formaten und der Angabe, ob ein Feld optional ist, dem oben stehenden Link. Unten finden Sie weitere Informationen zu ausgewählten Feldern.
Basis-Informationen¶
| Feldname | Beschreibung |
|---|---|
| uniqueId | ID, die den Mitarbeiter im Drittsystem eindeutig identifiziert. Wird, sofern angegeben, zur Zuordnung bei Updates genutzt, siehe auch Zuordnung von Nutzern aus dem Drittsystem und Planerio. |
| firstName, lastName | Vorname, Nachname |
| personnelNumber | Personalnummer |
| initialShiftGroupName / oder / initialShiftGroupCostCenter | Anfangsschichtgruppen-Name bzw. -Kostenstelle. Dies wird nur für neue Mitarbeiter verwendet. Dieses Feld wird für bereits in Planerio gespeicherte Mitarbeiter ignoriert. Die Schichtgruppe muss bereits erstellt sein. Wenn keins der beiden Felder angegeben ist, wird in eine Standard-Schichtgruppe importiert. Für initialShiftGroupName: Wenn diese Schichtgruppe nicht vorhanden oder nicht eindeutig ist, wird ein Fehler zurückgegeben. Für initialShiftGroupCostCenter: wenn die Schichtgruppe nicht vorhanden oder nicht eindeutig ist, wird der MA in der Standard-Schichtgruppe angelegt. |
| E-Mail-Adresse. Sofern kein Benutzername (Feld username) angegeben ist, wird diese auch als Benutzername zum Login verwendet. | |
| username | Benutzername zum Login. Entweder E-Mail-Adresse oder Benutzername oder beide müssen angegeben werden. |
| startDate | Erster Arbeitstag |
| endDate | Letzter Arbeitstag (sofern bekannt) |
| title | Akademischer oder sonstiger Titel, z.B. „Prof. Dr.“ |
| salutation | Gewünschte Anrede (Herr/Frau/keine) |
| businessPhoneNumber / privatePhoneNumber / pagerNumber | Telefon- und Mobilnummern |
| costCenter | Kostenstelle |
| companyNumber | z.B. Mandantennummer |
| occupationalCategory | Berufsgruppe |
| vacationBudgetConfigurationId (String) | Optional eine Verknüpfung zu einer Jahresurlaubsbudget-Konfiguration. Der Identifier muss einer Urlaubsbudgetkonfiguration entsprechen, die zuvor mit dem API-Endpunkt für die Urlaubsbudgetkonfiguration erstellt wurde. Das Urlaubsbudget dieser Konfiguration wird für jedes neue Jahr verwendet. |
| vacationBudgetOverride (Array) | Liste mit den Urlaubsbudgets, die für jedes Jahr korrigiert werden. Pflichtfelder: year, days Optional: expiryDate im Format JJJJ-MM-DD, updatedAt im ISO 8601-Format (updatedAt hat aktuell keine Funktion) |
| workSchedule (Array) | Arbeitszeitprofile, jedes mit eindeutigem Gültigkeit-Ab-datum. Bitte nutzen Sie das oben verlinkte Schema für alle Details. |
Beispiel-Struktur für vacationBudgetOverride:
Beispiel-Struktur für workSchedule:
[
{
"validFrom": "2013-07-01",
"weeklyDays": 4,
"weeklyHours": 32,
"jobTitle": "MTRA",
"customPayrollFields": {
"accountingSubUnit": "Accounting Sub Unit",
"contractNumber": "Contract Number",
"individualTenantNumber": "Individual Number"
}
}
]
Zuordnung von Nutzern aus dem Drittsystem und Planerio¶
Beim Import wird anhand folgender Kriterien in dieser Reihenfolge versucht, einen existierenden Mitarbeiter in Planerio zu finden. Gibt es einen Treffer, wird der Mitarbeiter anhand der Daten aus dem Import aktualisiert. Andernfalls wird ein neuer Mitarbeiter angelegt.
- uniqueId (sofern angegeben, siehe oben) aus derselben Quelle
- Suche nach Benutzername
- Suche nach E-Mail-Adresse
Für Schritte 2+3: Falls der „globale Modus“ aktiv ist wird über alle Accounts hinweg gesucht. Andernfalls (der Normalfall) nur innerhalb desselben Accounts. Der „globale Modus“ bezieht sich NUR auf Installationen, in denen das Feld „planerioAccountId“ und der unter Verfügbare Accounts für Import abrufen beschriebene „availableAccounts“-Endpunkt genutzt wird.
Push-Datenfluss – Authentifizierung¶
Als Grundvoraussetzung benötigen Sie ein technisches Login, bestehend aus Benutzername und Passwort, sowie den ermittelten Platzhalter <host>. Mit diesen technischen Zugangsdaten können Sie ein Session Token abrufen, wie in der generellen Dokumentation beschrieben.
Push-Datenfluss – Endpunkte¶
Benutzer importieren (anlegen + aktualisieren)¶
| Information | Wert |
|---|---|
| Verfügbar in Planerio-Versionen | 1.x / 2.0 |
| Verfügbar über Technisches Login | ja |
| Verfügbar über Browser | nein |
| Endpunkt-Pfad | /integrations/v1/import/user |
Status-Code im Erfolgsfall: 204
Request-Aufbau: gemäß UserContainerDTO-Schema (siehe oben).
Verfügbare Accounts für Import abrufen¶
| Information | Wert |
|---|---|
| Verfügbar in Planerio-Versionen | 1.x / 2.0 |
| Verfügbar über Technisches Login | ja |
| Verfügbar über Browser | ja |
| Endpunkt-Pfad | /integrations/v1/import/availableAccounts |
Dieser Endpunkt ist nur relevant, falls Sie mehrere getrennte Kunden-Accounts in Planerio mit Daten versorgen möchten. Bitte halten Sie hierzu Rücksprache mit unserem Account- oder Projekt-Manager.
GET https://<host>/integrations/v1/import/availableAccounts
X-Planerio-API-Gateway-Auth: SESSIONTOKEN
Beispiel-Antwort:
[
{
"id": "DUMMY-0001",
"description": "Ärzte"
},
{
"id": "DUMMY-0007",
"description": "Verwaltung"
}
]
Die id aus dieser Antwort kann anschließend beim Push (PUT import/user-Endpunkt) im Feld planerioAccountId genutzt werden, um neu importierte Benutzer einem gewünschten Account zuzuordnen.
Urlaubsbudgetkonfigurationen¶
Um die vacationBudgetConfigurationId für einen Mitarbeiter verwenden zu können, müssen wir zuvor die Urlaubsbudgetkonfiguration in Planerio gespeichert haben, bevor sie verwendet werden kann. Sie kann über eine HTTPS-Anfrage an den Planerio-Server gespeichert werden.
| Information | Wert |
|---|---|
| Verfügbar in Planerio-Versionen | nur 1.x |
| Verfügbar über Technisches Login | ja |
| Verfügbar über Browser | ja |
| Endpunkt-Pfad | /integrations/tokenapi/v2/{token}/absences/vacation-budget-configuration |
Es handelt sich um ein „Upsert“, sodass es mit demselben Endpunkt erstellt oder aktualisiert werden kann. Die Aktualisierung wird mit dem Feld budgetId identifiziert.
Pull-Datenflüsse¶
Wie oben beschrieben, besteht auch die Möglichkeit, Mitarbeiterstammdaten zeitgesteuert nach Planerio zu importieren. Es werden dabei folgende Übertragungswege unterstützt:
HTTPS, FTPS, SFTP, S3
Unterstützte Formate sind:
JSON, CSV, XML
Weitere Übertragungswege und Formate können ggf. beauftragt werden. Die in Abschnitt Datenstruktur aufgeführten Datenstrukturen und -Felder definieren auch hier den aktuell implementierten Umfang der Schnittstelle.