Zum Inhalt

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
email
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.
email 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:

[
  {
    "year": 2023,
    "days": 26.5,
    "expiryDate": null,
    "updatedAt": "2023-03-13T17:17:17+01:00"
  }
]

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
PUT https://<host>/integrations/v1/import/user
X-Planerio-API-Gateway-Auth: SESSIONTOKEN

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
PUT https://<host>/integrations/tokenapi/v2/{token}/absences/vacation-budget-configuration
{
  "budgetId": "unique-sap-identifier",
  "budgetName": "Planerio München 28 Tage",
  "budget": 28
}

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.