# Daten aus der Zeiterfassung übernehmen Die Zeiterfassungssoftware bietet eine WebAPI-Schnittstelle zur automatisierten Datenabfrage, z.B. für Kalenderfehlzeiten. --- ## Voraussetzungen - REST WebAPI Client (curl, Bruno, Postman, ...) - IIS Webserver mit HTTPS-Unterstützung - Lizenz zur Nutzung der WebAPI für den Export von Daten --- ## Installation & Einrichtung ### 1. Export in der Zeiterfassungssoftware anlegen - Navigiere zu: `Einrichtung → Modelle → Datenaustausch → Exportdefinition → [+] Neu` - Lade dort das gewünschte Export-Layout hoch. --- ### 2. (De)Aktivierung der zusätzlichen Zeitstempelverschlüsselung - Als **Systemadministrator** in der Weboberfläche anmelden - Navigiere zu: `Einrichtung → Personen → Systemstart (Datum 01.01.2000) auswählen` `Systemeinstellungen → API Web-Service → Datenschutzeinstellung` - Stelle sicher, dass **„Auf zusätzliche Client-Autorisierung wird verzichtet“** aktiviert ist. - Erstelle ein Bearer-Token unter: `https:///Environment/Account/Token.aspx` Mit folgenden Angaben: - **Schnittstelle:** `webapi` - **Login:** Ein zugelassenes Benutzerkonto --- ## API-Anfragen ### 3. Verfügbare Exporte abfragen ```bash curl --request GET \ --url https:////api/export/ \ --header 'authorization: ' ``` > Gibt eine JSON-Liste aller in der Zeiterfassungssoftware definierten **Exportdefinitionen** zurück. > Die jeweilige **`ObjectId`** wird für spätere Anfragen benötigt. --- ### 4. Organisationseinheiten abfragen ```bash curl --request GET \ --url https:////api/organization/ \ --header 'authorization: ' ``` > Liefert alle in Zeiterfassungssoftware angelegten **Organisationseinheiten** (Abteilungen) mit zugehörigen `ObjectId`s. --- ### 5. Export beantragen ```bash curl --request POST \ --url https:////api/export \ --header 'authorization: ' \ --header 'content-type: application/json' \ --data '{ "ExportDefinition": "", "organizationUnit": "", "DateFrom": "01.01.2024", "DateUntil": "31.01.2024" }' ``` > Gibt eine GUID zurück, die zur Abfrage der generierten Daten verwendet wird. --- ### 6. Exportdaten abrufen ```bash curl --request GET \ --url https:////api/export/ \ --header 'authorization: ' ``` > **Mögliche Antworten:** - **Daten liegen vor:** Die Antwort enthält die exportierten Daten. Beispiel: ```csv ;;;;;;;;;; 4711;Musterfrau;Max;01.06.2025;Max.Musterfrau@kunde.tld;;;;;2;Sonntag; 4711;Musterfrau;Max;02.06.2025;Max.Musterfrau@kunde.tld;85;85;Mob.Arb.;Mob.Arb.;3;Montag; 4711;Musterfrau;Max;03.06.2025;Max.Musterfrau@kunde.tld;85;85;Mob.Arb.;Mob.Arb.;4;Dienstag; 4711;Musterfrau;Max;04.06.2025;Max.Musterfrau@kunde.tld;85;85;Mob.Arb.;Mob.Arb.;5;Mittwoch; 4711;Musterfrau;Max;05.06.2025;Max.Musterfrau@kunde.tld;90;90;GLZ;GLZ;6;Donnerstag; 4711;Musterfrau;Max;06.06.2025;Max.Musterfrau@kunde.tld;;;;;7;Freitag; 4711;Musterfrau;Max;07.06.2025;Max.Musterfrau@kunde.tld;;;;;8;Samstag; 4711;Musterfrau;Max;08.06.2025;Max.Musterfrau@kunde.tld;;;;;48;Pfingstsonntag; 4711;Musterfrau;Max;09.06.2025;Max.Musterfrau@kunde.tld;;;;;49;Pfingstmontag; ... ``` - **Export läuft noch:** Rückgabe folgender JSON-Statusmeldung: `{ "Result": "JobPending", "Message": "" } `