HTTP-Synchronisierung der Abwesenheiten (Webhook)

Vor Beginn

In diesem Artikel geht es um die sogenannte „HTTP-Synchronisierung“, ein Webhook, mit dem die Abwesenheiten von Timmi Abwesenheiten aus an ein externes Werkzeug übertragen werden können. Dies kann zum Einsatz kommen, wenn wir keinen dedizierten Konnektor anbieten (derzeit bieten wir Integrationen mit Google Calendar, Office365/Exchange und ADP GXP).

Synchronisierte Ereignisse

Sie können parametrieren, welche Ereignisse vom Webdienst übertragen werden:

  • alle Ereignisse (erstellte Abwesenheiten, die zur Validierung anstehen, validierte Abwesenheiten, gelöschte Abwesenheiten)
  • nur validierte Ereignisse (validierte Abwesenheiten, gelöschte Abwesenheiten)

Format der versandten Nachricht

Bei jeder Erstellung wird die Nachricht so versandt:

  • Betreff: POST
  • URL: Sie müssen die URL angeben, die bei jeder Erstellung oder Löschung einer Abwesenheit aufgerufen wird
  • Header :
    - Authorization
    - X-Version
    - X-Resource-Type
    - X-Event
  • Body: der Payload in json

Header

Der Header enthält eines der folgenden Felder:

  • Authorization: enthält den von Ihnen bereitgestellten Autorisierungsschlüssel.
    Beispiel: Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l

  • X-Version: Version des Payload-Formats (bereitgestellt von Timmi Abwesenheiten)
  • X-Resource-Type: Typ des versandten Objekts (leave nur in der aktuellen Version)
  • X-Event: Ereignis, das den Aufruf ausgelöst hat (created, approved, deleted)

Format der Payload

Die Abwesenheiten werden in halben Tagen gesendet und leaves genannt. Bei einer Abwesenheit von 2 Tagen wird es also 4 Aufrufe geben, die jeweils eine Payload mit einem Leaveenthalten.

Sonderfall für Abwesenheiten in Stunden: Ein Feld wird hinzugefügt (siehe nachfolgende Beschreibung).

Beispiel für eine Payload

{
"id": "78287-20180424-PM",
"date": "2018-04-24",
"isAm": false,
"owner": {
"id": 134,
"name": "Luca Pacioli",
"email": "luca.paccioli@lucca.fr",
"employeeNumber": "00001"
},
"leaveAccount": {
"id": 1718,
"name": "Bezahlter Urlaub 2018",
"categoryId": 1,
"categoryName": "Bezahlter Urlaub"
},
"isConfirmed": true,
"confirmationDate": "2018-04-04T22:34:47.797",
"isCancelled": false,
"cancellationDate": ""
}

Beschreibung der Payload

  • id: eindeutige leave-ID

  • date: Datum des Leave

  • isAM: halber Tag (AM: true, PM: false)

  • leaveAccount: Abwesenheitskonto

    • id: Konto-ID in Timmi Abwesenheiten
    • name: Kontoname
    • categoryId: Kennungen der Kategorie des Kontos, im Falle von Jahrgangskonten
    • categoryName: Name der Kategorie des Kontos, im Falle von Jahrgangskonten
  • durationInHours: Dauer in Stunden, wenn Zählung nur in Stunden (z. B. „03:45:00“)

  • isConfirmed: Status der Validierung der Abwesenheit
  • creationDate: Datum der Erstellung

  • isCancelled: Status der Stornierung
  • cancellationDate: Datum der Stornierung

Status der Anträge

Hier ist ein Schema, das die verschiedenen möglichen Zustände der Anträge je nach den in Timmi Abwesenheiten vorgenommenen Aktionen beschreibt.

Figgo_Events_-_SYNC_-_2.png

Verfolgungs-Schnittstelle

Gesendete Ereignisse können in der Schnittstelle des Synchronisierung-Webdienstes in Timmi Abwesenheiten nachverfolgt werden.

Für jedes Ereignis wird die detaillierte gesandte Nachricht angezeigt. Bei Fehlern wird das Ereignis manuell analysiert oder als bearbeitet markiert. In diesem Fall wird es nicht mehr als Fehler betrachtet.

Fehler bei der Synchronisierung werden in das „Action to do“-Dashboard des Administrators eskaliert.

Achtung: Nur Fehler, die beim Empfang der Payload zurückgegeben werden, werden verarbeitet. Wenn Sie eine asynchrone Verarbeitung durchführen, können wir die potenziellen Fehler, die auftreten können, nicht abrufen.

Richtlinien der Wiederholung

Wenn der Abruf fehlschlägt, wird das Ereignis an eine Warteschlange zur Wiederholung gesandt. Es gibt vier aufeinanderfolgende Warteschlangen, die 5 Minuten, 15 Minuten, 1 Stunde und 24 Stunden auseinander liegen.

Contenu de la page

War dieser Beitrag hilfreich?
1 von 6 fanden dies hilfreich