# 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 ;;;;;;;;;; 10;Musterfrau;Max;01.06.2025;Max.Musterfrau@kunde.tld;;;;;2;Sonntag; 10;Musterfrau;Max;02.06.2025;Max.Musterfrau@kunde.tld;85;85;Mob.Arb.;Mob.Arb.;3;Montag; 10;Musterfrau;Max;03.06.2025;Max.Musterfrau@kunde.tld;85;85;Mob.Arb.;Mob.Arb.;4;Dienstag; 10;Musterfrau;Max;04.06.2025;Max.Musterfrau@kunde.tld;85;85;Mob.Arb.;Mob.Arb.;5;Mittwoch; 10;Musterfrau;Max;05.06.2025;Max.Musterfrau@kunde.tld;85;85;Mob.Arb.;Mob.Arb.;6;Donnerstag; 10;Musterfrau;Max;06.06.2025;Max.Musterfrau@kunde.tld;;;;;7;Freitag; 10;Musterfrau;Max;07.06.2025;Max.Musterfrau@kunde.tld;;;;;8;Samstag; 10;Musterfrau;Max;08.06.2025;Max.Musterfrau@kunde.tld;;;;;48;Pfingstsonntag; 10;Musterfrau;Max;09.06.2025;Max.Musterfrau@kunde.tld;;;;;49;Pfingstmontag; 10;Musterfrau;Max;10.06.2025;Max.Musterfrau@kunde.tld;81;81;GLZ;GLZ;4;Dienstag; 10;Musterfrau;Max;11.06.2025;Max.Musterfrau@kunde.tld;85;85;Mob.Arb.;Mob.Arb.;5;Mittwoch; 10;Musterfrau;Max;12.06.2025;Max.Musterfrau@kunde.tld;85;85;Mob.Arb.;Mob.Arb.;6;Donnerstag; 10;Musterfrau;Max;13.06.2025;Max.Musterfrau@kunde.tld;;;;;7;Freitag; 10;Musterfrau;Max;14.06.2025;Max.Musterfrau@kunde.tld;;;;;8;Samstag; 10;Musterfrau;Max;15.06.2025;Max.Musterfrau@kunde.tld;;;;;2;Sonntag; 10;Musterfrau;Max;16.06.2025;Max.Musterfrau@kunde.tld;1;1;Urlaubbez;Urlaubbez;3;Montag; 10;Musterfrau;Max;17.06.2025;Max.Musterfrau@kunde.tld;1;1;Urlaubbez;Urlaubbez;4;Dienstag; 10;Musterfrau;Max;18.06.2025;Max.Musterfrau@kunde.tld;1;1;Urlaubbez;Urlaubbez;5;Mittwoch; 10;Musterfrau;Max;19.06.2025;Max.Musterfrau@kunde.tld;;;;;50;Fronleichnam; 10;Musterfrau;Max;20.06.2025;Max.Musterfrau@kunde.tld;;;;;7;Freitag; 10;Musterfrau;Max;21.06.2025;Max.Musterfrau@kunde.tld;;;;;8;Samstag; 10;Musterfrau;Max;22.06.2025;Max.Musterfrau@kunde.tld;;;;;2;Sonntag; 10;Musterfrau;Max;23.06.2025;Max.Musterfrau@kunde.tld;85;85;Mob.Arb.;Mob.Arb.;3;Montag; 10;Musterfrau;Max;24.06.2025;Max.Musterfrau@kunde.tld;85;85;Mob.Arb.;Mob.Arb.;4;Dienstag; 10;Musterfrau;Max;25.06.2025;Max.Musterfrau@kunde.tld;;;;;5;Mittwoch; 10;Musterfrau;Max;26.06.2025;Max.Musterfrau@kunde.tld;;;;;6;Donnerstag; 10;Musterfrau;Max;27.06.2025;Max.Musterfrau@kunde.tld;;;;;7;Freitag; 10;Musterfrau;Max;28.06.2025;Max.Musterfrau@kunde.tld;;;;;8;Samstag; 10;Musterfrau;Max;29.06.2025;Max.Musterfrau@kunde.tld;;;;;2;Sonntag; 10;Musterfrau;Max;30.06.2025;Max.Musterfrau@kunde.tld;;;;;3;Montag; 33;Musterman;Hans;01.06.2025;Hans.Musterman@kunde.tld;;;;;2;Sonntag; 33;Musterman;Hans;02.06.2025;Hans.Musterman@kunde.tld;;;;;3;Montag; 33;Musterman;Hans;03.06.2025;Hans.Musterman@kunde.tld;;;;;4;Dienstag; 33;Musterman;Hans;04.06.2025;Hans.Musterman@kunde.tld;;;;;5;Mittwoch; 33;Musterman;Hans;05.06.2025;Hans.Musterman@kunde.tld;;;;;6;Donnerstag; 33;Musterman;Hans;06.06.2025;Hans.Musterman@kunde.tld;;;;;7;Freitag; 33;Musterman;Hans;07.06.2025;Hans.Musterman@kunde.tld;;;;;8;Samstag; 33;Musterman;Hans;08.06.2025;Hans.Musterman@kunde.tld;;;;;48;Pfingstsonntag; 33;Musterman;Hans;09.06.2025;Hans.Musterman@kunde.tld;;;;;49;Pfingstmontag; 33;Musterman;Hans;10.06.2025;Hans.Musterman@kunde.tld;81;81;GLZ;GLZ;4;Dienstag; 33;Musterman;Hans;11.06.2025;Hans.Musterman@kunde.tld;81;81;GLZ;GLZ;5;Mittwoch; 33;Musterman;Hans;12.06.2025;Hans.Musterman@kunde.tld;1;1;Urlaubbez;Urlaubbez;6;Donnerstag; 33;Musterman;Hans;13.06.2025;Hans.Musterman@kunde.tld;1;1;Urlaubbez;Urlaubbez;7;Freitag; 33;Musterman;Hans;14.06.2025;Hans.Musterman@kunde.tld;;;;;8;Samstag; 33;Musterman;Hans;15.06.2025;Hans.Musterman@kunde.tld;;;;;2;Sonntag; 33;Musterman;Hans;16.06.2025;Hans.Musterman@kunde.tld;1;1;Urlaubbez;Urlaubbez;3;Montag; 33;Musterman;Hans;17.06.2025;Hans.Musterman@kunde.tld;1;1;Urlaubbez;Urlaubbez;4;Dienstag; 33;Musterman;Hans;18.06.2025;Hans.Musterman@kunde.tld;81;81;GLZ;GLZ;5;Mittwoch; 33;Musterman;Hans;19.06.2025;Hans.Musterman@kunde.tld;;;;;50;Fronleichnam; 33;Musterman;Hans;20.06.2025;Hans.Musterman@kunde.tld;81;81;GLZ;GLZ;7;Freitag; 33;Musterman;Hans;21.06.2025;Hans.Musterman@kunde.tld;;;;;8;Samstag; 33;Musterman;Hans;22.06.2025;Hans.Musterman@kunde.tld;;;;;2;Sonntag; 33;Musterman;Hans;23.06.2025;Hans.Musterman@kunde.tld;;;;;3;Montag; 33;Musterman;Hans;24.06.2025;Hans.Musterman@kunde.tld;;;;;4;Dienstag; 33;Musterman;Hans;25.06.2025;Hans.Musterman@kunde.tld;;;;;5;Mittwoch; 33;Musterman;Hans;26.06.2025;Hans.Musterman@kunde.tld;;;;;6;Donnerstag; 33;Musterman;Hans;27.06.2025;Hans.Musterman@kunde.tld;;;;;7;Freitag; 33;Musterman;Hans;28.06.2025;Hans.Musterman@kunde.tld;;;;;8;Samstag; 33;Musterman;Hans;29.06.2025;Hans.Musterman@kunde.tld;;;;;2;Sonntag; 33;Musterman;Hans;30.06.2025;Hans.Musterman@kunde.tld;;;;;3;Montag; ``` - **Export läuft noch:** Rückgabe folgender JSON-Statusmeldung: `{ "Result": "JobPending", "Message": "" } `