FR  EN

Utiliser l'API REST de Jorani

Jorani offre une interface REST sécurisée par le protocole OAuth2 (lien vers la documentation de la bibliothèque). Veuillez noter que l'API n'accepte que des requêtes avec le verbe POST et qu'elle retournera systématiquement des données encodées en JSON.

Il est préconisé d'utiliser des dates au format AAAA-MM-JJ, par exemple 2014-12-31.

Un exemple en PHP est fourni dans le répertoire tests/rest/ Il suffit de décommenter les lignes qui correspondent aux cas que vous souhaitez utiliser.

Prérequis

Pour l'utiliser, vous devez au préalable créer un compte dans une table spéciale de la base de données (c.-à-d. qu'on ne peut pas utiliser un compte applicatif de la table users pour se connecter à l'API). Si la table est vide, il est impossible d'utiliser l'API.

INSERT INTO oauth_clients (client_id, client_secret, redirect_uri) VALUES ("testclient", "testpass", "url");

Exemple d'interaction

Après avoir appliqué les prérequis, vous pourrez interagir avec l'API de Jorani.

Exemple de dialogue avec une installation sur votre ordinateur et une URL de base http://localhost/jorani/

Étape Endpoint Description
1 api/token Autentification avec le compte et le mot de passe que vous avez inséré dans la table oauth_clients. Par exemple "testclient" et "testpass". Vous recevez en retour une chaîne JSON contenant un jeton (token de durée limitée), le nom de la variable est access_token.
2 api/leavetypes Interroger l'API avec une méthode HTTP POST la méthode retournant la liste des types d'absence. Dans le formulaire POST, on ajoute la variable access_token avec la valeur du token. On reçoit en retour un tableau en JSON contenant la liste des types d'absence.
3 /api/contracts Interroger l'API avec une méthode HTTP POST la méthode retournant la liste de tous les contrats. Dans le formulaire POST, on ajoute la variable access_token avec la valeur du token. On reçoit en retour un tableau en JSON contenant la liste des contrats.
4 /api/contracts/1 Interroger l'API avec une méthode HTTP POST la méthode retournant d'un contrat avec l'identifiant 1. Dans le formulaire POST, on ajoute la variable access_token avec la valeur du token. On reçoit en retour les données du contrat encodées en JSON.

Le jeton a une durée limitée, aussi il faut que le temps qui s'écoule entre l'obtention du token et la première requête soit inférieur à la durée de vie du jeton.

Fonctions de l'interface REST

contracts

Retourne la liste des contrats ou un seul contrat.

Paramètres GET int identifiant du contrat (option)
Paramètres POST string access_token jeton OAuth2

entitleddayscontract

Retourne la liste des crédits de congés affectés sur un contrat.

Paramètres GET int identifiant du contrat
Paramètres POST string access_token jeton OAuth2

addentitleddayscontract

Ajouter une ligne de crédit de congés sur un contrat (peut être un nombre négatif).

Paramètres GET int identifiant du contrat
Paramètres POST string access_token jeton OAuth2
date startdate date de fin
date enddate date de début
int days nombre de jours
int type type d'absence
string description description

entitleddaysemployee

Retourne la liste des crédits de congés affectés sur un employé.

Paramètres GET int identifiant de l'employé
Paramètres POST string access_token jeton OAuth2

addentitleddaysemployee

Ajouter une ligne de crédit de congés sur un employé (peut être un nombre négatif).

Paramètres GET int identifiant de l'employé
Paramètres POST string access_token jeton OAuth2
date startdate date de fin
date enddate date de début
int days nombre de jours
int type type d'absence
string description description

leavessummary

Retourne le compteur des congés d'un employé.

Paramètres GET int identifiant de l'employé
int date de référence sous la forme d'un timestamp (option)
Paramètres POST string access_token jeton OAuth2

leaves

Retourne toutes les demandes de congé entre deux dates (tous les employés, tous les statuts).

Paramètres GET int date de début sous la forme d'un timestamp
int date de fin sous la forme d'un timestamp
Paramètres POST string access_token jeton OAuth2

leavetypes

Retourne la liste des types de congé.

Paramètres GET  
Paramètres POST string access_token jeton OAuth2

positions

Retourne la liste des postes (types d'emploi).

Paramètres GET  
Paramètres POST string access_token jeton OAuth2

userdepartment

Retourne les informations sur l'entité d'appartenance d'un employé.

Paramètres GET int identifiant de l'employé
Paramètres POST string access_token jeton OAuth2

users

Retourne la liste des employés ou un seul employé.

Paramètres GET int identifiant de l'employé (option)
Paramètres POST string access_token jeton OAuth2

userextras

Retourne la liste des demandes d'heure supplémentaire d'un employé.

Paramètres GET int identifiant de l'employé
Paramètres POST string access_token jeton OAuth2

userleaves

Retourne la liste des demandes de congé d'un employé.

Paramètres GET int identifiant de l'employé
Paramètres POST string access_token jeton OAuth2
 
 
Étiquettes :    developper 

Nous vous conseillons également de lire ces articles

Comment enregistrer les arrêts maladie?

Comment gérer les absences imprévues des employés? Par exemple, les les arrêts pour maladie. Comment les lister, les exporter, etc.   Lire »

Page de rapport de présence mensuelle

Il est possible de connaitre le nombre de jours réellement travaillés par un employé durant un mois en particulier.   Lire »

Validation des demandes de congés des collaborateurs

Si vous êtes le supérieur hiérarchique d'un employé ou plus, cette page vous permet de lister toutes les demandes de congés ou seulement celles en attente.   Lire »

Page mon calendrier

Jorani permet d'afficher les demandes de congés sous la forme d'un calendrier. Dans ce cas, toutes vos absences quelque soit le statut.   Lire »

Page de liste des utilisateurs

Description de la page technique permettant de gérer les utilisateurs de Jorani (mot de passe, rôle, etc.)   Lire »

comments powered by Disqus