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 
Soutenez le projet !




Vous aimerez aussi

Comment gérer la liste de ses demandes d'heures supplémentaires ?

Jorani permet de gérer la liste de ses demandes d'heures supplémentaires avec la possibilité de les modifier du moment qu’elles sont encore au statut Planifié.

Page calendrier annuel

Jorani permet d'afficher les demandes de congés sous la forme d'un calendrier. Dans ce cas, toutes les absences d'un employé sur l'année.

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.

Page du rapport de liste des congés pris

Comment obtenir la liste des congés acceptés durant un mois et pour un groupe d'employés de votre organisation, puis l'exporter vers Excel.

Amélioration des performances dans la version 0.4.2

Nous avons optimisé le code applicatif et beaucoup travaillé sur la compatibilité avec PHP7 afin d'offrir des performances explosives.

comments powered by Disqus