DSB-PlugIn/AddOn/Calender_Office365_User/Fehlzeitenimport
olaf.braun b5fd6f1b46 AddOn/Calender_Office365_User/Fehlzeitenimport/readme.md aktualisiert 2025-06-25 21:17:12 +02:00
..
readme.md AddOn/Calender_Office365_User/Fehlzeitenimport/readme.md aktualisiert 2025-06-25 21:17:12 +02:00

readme.md

Kalenderfehlzeiten aus der ZeusX Zeiterfassung übernehmen

Die Zeiterfassungssoftware ZeusX bitet eine WebAPI Schnittstelle an.

Voraussetzungen

  • PHP 7.x oder höher
  • cURL-Erweiterung
  • REST WebAPI Client für die Einrichtung
  • Webserver mit HTTPS-Unterstützung beim ZeusX
  • Softwarelizenz für den Export von Kalenderfehlzeiten über WebAPI

Installation

  1. Export in der Zeiterfassungssoftware anlegen

    • Einrichtung >> Modelle >> Datenaustausch >> Exportdefinition >> [+]Neu
    • Export-Layout hochladen
  2. (De)Aktievierung der zusätzlichen Zeitstempelverschlüsselung bei jedem Webrequest

    • Als Systemadministrator anmelden
    • Einrichtung >> Personen
    • Zum Systemsart (01.01.2000) springen
    • Systemeinstellungen >> API Web-Service >> Datenschutzeinstellung: Auf zusätzliche Client Autorisierung wird verzichtet
    • Erstellung des (Bearer) Token über https://<ZeusX WebUI URL>/Environment/Account/Token.aspx mit dem Schnittstelle webapi und dem ZeusX Login
  3. Abfrage testen

    • Abfrage aller Exporte aus der Zeiterfassungssoftware ZeusX mit einem GET Request:
    curl --request GET \
        --url https://<Server-URL>/<API-Site>/api/export/ \
        --header 'authorization: <Token>'
    

    Hier wird dann ein JSON zurückgegeben mit einer Liste aller in der Zeiterfassungssoftware ZeusX definierten Exportdefinitionen Zur Abfrage wird die ObjektId aus dem JSON benötigt.

    • Abfrage aller Organisationseinhgeiten bzw. Abteilungen per GET Request, die ine der Zeiterfassungssoftware ZeusX angelegt sind:
    curl --request GET \
        --url https://<Server-URL>/<API-Site>/api/organization/ \
        --header 'authorization: <Token>'
    

    Hier wird wieder die ObjektId aus dem zurück gegebenen JSON der jeweiligen OE benötigt.

    • Beantragung der Erstellung und zusammenfügen der Daten aus der Zeiterfassungssoftware+ ZeusX per POST Request:
    curl --request POST \
        --url https://<Server-URL>/<API-Site>/api/export \
        --header 'authorization: <Token>' \
        --header 'content-type: application/json' \
        --data '{
          "ExportDefinition":"<ObjektId vom ersten Request>",
          "organizationUnit":"<ObjektId vom zweiten Request>",
          "DateFrom":"<Startdatum der Exportwerte im Format dd.mm.yyyy>",
          "DateUntil":"<Enddatum der Exportwerte im Format dd.mm.yyyy>"
        }'
    

    Hier wird ein reiner Text zurück gegeben mit einer GUID die für die Abfrage der Daten notwendig ist.

    • Abfrage der Exportdaten die beantragt worden sind per GET Request:
    curl --request GET \
        --url https://<Server-URL>/<API-Site>/api/export/<GUID Rückgabewert aus der Beantragung der Daten> \
        --header 'authorization: <Token>'
    

    Hier kann die Antwort entweder die zu erwartenden Daten sein, oder folgendses JSON, was dann bedeutet das die Erstellung der Daten aktuell noch andauert:

    {
       "Result":"JobPending",
       "Message":""
    }