DSB-PlugIn/AddOn/Datenexport_Zeiterfassung
olaf.braun e321dc2d4a AddOn/Datenexport_Zeiterfassung/test.html aktualisiert 2025-06-25 22:13:34 +02:00
..
TimeTrackingAPI.php Rename Folder 2025-06-25 21:57:00 +02:00
index.php Rename Folder 2025-06-25 21:57:00 +02:00
readme.md Rename Folder 2025-06-25 21:57:00 +02:00
test.html AddOn/Datenexport_Zeiterfassung/test.html aktualisiert 2025-06-25 22:13:34 +02:00

readme.md

Daten aus der Zeiterfassung übernehmen

Die Zeiterfassungssoftware bietet eine WebAPI-Schnittstelle zur automatisierten Datenabfrage, z.B. für Kalenderfehlzeiten.


Voraussetzungen

  • PHP 7.x oder höher
  • cURL-Erweiterung für PHP
  • REST WebAPI Client zur Einrichtung
  • 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 → (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://<WebUI-URL>/Environment/Account/Token.aspx

    Mit folgenden Angaben:

    • Schnittstelle: webapi
    • Login: Ein zugelassenes Benutzerkonto

API-Anfragen

3. Verfügbare Exporte abfragen

curl --request GET \
     --url https://<Server-URL>/<API-Site>/api/export/ \
     --header 'authorization: <Token>'

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

curl --request GET \
     --url https://<Server-URL>/<API-Site>/api/organization/ \
     --header 'authorization: <Token>'

Liefert alle in Zeiterfassungssoftware angelegten Organisationseinheiten (Abteilungen) mit zugehörigen ObjectIds.


5. Export beantragen

curl --request POST \
     --url https://<Server-URL>/<API-Site>/api/export \
     --header 'authorization: <Token>' \
     --header 'content-type: application/json' \
     --data '{
       "ExportDefinition": "<ObjectId aus Schritt 3>",
       "organizationUnit": "<ObjectId aus Schritt 4>",
       "DateFrom": "01.01.2024",
       "DateUntil": "31.01.2024"
     }'

Gibt eine GUID zurück, die zur Abfrage der generierten Daten verwendet wird.


6. Exportdaten abrufen

curl --request GET \
     --url https://<Server-URL>/<API-Site>/api/export/<GUID> \
     --header 'authorization: <Token>'

Mögliche Antworten:

  • Daten liegen vor:
    Die Antwort enthält die exportierten Daten.

  • Export läuft noch:
    Rückgabe folgender JSON-Statusmeldung: { "Result": "JobPending", "Message": "" }