Synchronisation des absences HTTP

Avant de commencer

Cet article concerne la synchronisation HTTP, qui est le mode générique de synchronisation offert par le web-service de Figgo. Le principe de cette synchronisation est de vous permettre d'envoyer les absences de Figgo vers un outil externe, si nous ne proposons pas de connecteur dédié (voir la liste des connecteurs disponibles).

Format du message envoyé

Le message sera envoyé ainsi:

Verb: POST

URl: vous devez fournir l'URL à appeler à chaque création ou suppression d'absence
Header:
- Authorization
- X-Version
- X-Resource-Type
- X-Event

Body : le payload

Evénements synchronisés

Vous pouvez paramétrer les événements qui seront envoyés par le web-service :

  • tous les événements (absences créées en attente de validation, absences validées, absences supprimées)
  • événements validés uniquement (absences validées, absences supprimées)

Décomposition du header

Le header contient un les champs suivants :

  • Authorization, qui contient la clé d'autorisation que vous fournissez.
    Exemple : Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l

  • X-Version : version du format du payload (fourni par Figgo)
  • X-Resource-Type : type d'objet envoyé (leave uniquement dans la version actuelle)
  • X-Event : événement ayant généré l'appel (created, approved, deleted)

Format du payload

Les absences sont envoyées par demi journées, appelées leaves. Pour une absence de 2 jours, le payload contiendra donc 4 leaves.

Exemple de 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": "Congés payés 2018",
        "categoryId": 1,
        "categoryName": "Congés payés"
    },
    "isConfirmed": true,
    "confirmationDate": "2018-04-04T22:34:47.797",
    "isCancelled": true,
    "cancellationDate": "2018-04-04T22:34:47.797"
}

 Détail des valeurs du payload 

  • id : identifiant unique de la leave

  • date : date de la leave

  • isAM : demi journée (AM: true, PM: false)

  • leaveAccount : compte d'absence

    • id : identifiant du compte dans Figgo
    • name : nom du compte
    • categoryId : identifiant de la catégorie du compte, dans le cas des comptes millésimés
    • categoryName : nom de la catégorie du compte, dans le cas des comptes millésimés
  • value : durée en heures (si compte en heures uniquement)

  • isConfirmed : état de validation de l'absence
  • creationDate : date de création

  • isCancelled : état d'annulation
  • cancellationDate : date d'annulation

Etats des demandes

Voici un schéma décrivant les différents états possibles des demandes selon les actions faites dans Figgo.

Figgo_Events_-_SYNC_1_.jpg

Interface de suivi

Les événements envoyés peuvent être suivis dans l'interface du web-service de synchronisation dans Figgo.

Pour chaque événement, on peut voir le détail du message envoyé, et en cas d'erreur, rejouer l'événement manuellement, ou le marqué comme traité. Dans ce cas il ne sera plus considéré en erreur.

Les erreurs de synchronisation sont remontées sur le tableau de bord des actions à réaliser de l'administrateur.

Politique de rejeu

En cas d'échec de l'appel, l'événement est envoyée dans une queue pour rejeu. Il y a 4 queues en cascade, à 5 minutes, 15 minutes, 1h, 24h.

Contenu de la page

Cet article vous a-t-il été utile ?
Utilisateurs qui ont trouvé cela utile : 0 sur 0