Préambule
Les API permettent d'interfacer votre SI avec Abraxio pour automatiser des processus, récupérer des données d'Abraxio ou intégrer des données dans Abraxio.
Les appels API sont sécurisés selon le protocole OAuth2.
Présentation des scopes
Au moment de créer vos accès API, vous pouvez choisir d'inclure dans votre accès tout ou partie du périmètre auquel votre souscription vous donne droit. La création d'un nouvel accès passe donc nécessairement par le choix de scopes associés.
Voici un récapitulatif des scopes disponibles par souscription.
NB: l'indication "/*" sur une route API désigne "toutes les routes qui commencent par"
Souscription | Scope | Routes API | Description |
API reportings | dataset.finance.read | - datasets/budgets/*
- datasets/timesheets | Liste des exercices budgétaires, lignes budgétaires, archives et arrêtés, commandes, factures |
API reportings | dataset.portfolios.read | - datasets/projects/* | Liste des projets et de leur signalétique |
API transactionnelles | management.read | - collaborators/absences
- timesheets | Liste des absences prévisionnelles et détail des feuilles de temps saisies |
API transactionnelles | management.write | - collaborators/absences | Import des absences prévisionnelles pour un mois donné |
API transactionnelles | finance.read | - orders/import | Etat d'avancement de l'import des commandes |
API transactionnelles | finance.write | - orders/import | Import des commandes |
Création d'un accès API
- Etape 1 : Accéder à Admin > Intégrations > API
- Etape 2 : cliquer sur "+ Ajouter un accès API" et renseigner le libellé de l'accès ainsi que le scope souhaité.
- Etape 3 : cliquer sur "Enregistrer". L'enregistrement génère automatiquement un jeton d'accès, constitué du couple de paramètres (clientId, clientSecret) :
- Le clientId (assimilable à un compte utilisateur) est un identifiant partagé entre le client et Abraxio.
- Le clientSecret (assimilable à un mot de passe) est connu uniquement du client.
- Etape 4 : copier le secret et garder le précieusement dans un espace sécurisé. Dès que vous aurez quitté la page, vous ne pourrez plus le récupérer.
- Etape 5 : tester les appels API en cliquant sur "Accéder à l'interface de test". Vous serez redirigé sur un espace Swagger vous permettant de tester la chaine de connexion, les API disponibles et la documentation associée :
- Cliquer sur Authorize, copier le ClientID et le Client Secret et cocher le(s) scope(s) souhaité(s)
- Cliquer sur l'API /v1/echo pour vérifier la validation de l'authentification
- Cliquer sur une API et renseigner les paramètres d'entrée pour examiner les flux JSON échangés
- Etape 6 : implémenter les appels API dans vos applicatifs.
Gestion des clés API
Vous pouvez créer plusieurs clés si vos règles d'architecture et d'urbanisme le nécessitent.
La désactivation suspend temporairement la validité de l'accès.
La suppression suspend définitivement la validité de l'accès.
Gestion des rappels
- Superviseur accès API : utilisateur Abraxio en charge de la supervision des accès API
- Autre destinataire : champs supplémentaire dans lequel vous pouvez renseigner une adresse email en complément du superviseur
- Délai de rappel des expirations : nombre de mois avant expiration à partir desquels Abraxio envoie un email par semaine au superviseur et à l'autre destinataire. Afin d'annuler le rappel, désactivez l'accès API concerné
Un accès API a une durée de validité limitée à 12 mois. Au terme, il faudra générer un nouvel accès et l'utiliser dans vos appels API.
Management
Absences
Liste des absences prévisionnelles
GET /v1/collaborators/absences/{year}/{month}
Cette API permet de lire les absences prévisionnelles pour un mois donné.
Paramètres :
- Année (obligatoire)
- Mois (obligatoire)
- ref (optionnel) : permet de filtrer sur un collaborateur par sa référence
- email (optionnel) : permet de filtrer sur un collaborateur par son email
Si aucun filtre sur un collaborateur n'est passé en paramètre, cette méthode renvoie la liste des collaborateurs présents sur le mois avec pour chacun la liste des absences prévisionnelles du mois.
Mise à jour de absences prévisionnelles
PUT /v1/collaborators/absences/{year}/{month}
Cette API permet de mettre à jour les absences prévisionnelles d'un collaborateur pour un mois.
Paramètres :
- Année (obligatoire)
- Mois (obligatoire)
Le corps de la requête contient un collaborateur identifié par sa référence ou son email et ses absences prévisionnelles pour le mois. L'API attend une valeur d'absence (au maximum 1 pour une absence sur la journée complète) par jour du mois.
Chaque jour doit être unique, si le corps de la requête contient plusieurs fois le même jour, c'est la dernière valeur qui sera retenue
Cette route fonctionne par "annule et remplace", c'est-à-dire qu'elle s'attend à recevoir la situation d'absences prévisionnelles complète du collaborateur pour le mois afin de remplacer ce qui est actuellement connu dans Abraxio.
Feuilles de temps
Liste des feuilles de temps
GET /v1/timesheets/{year}/{month}
Cette API permet la récupération du détail des feuilles de temps Abraxio.
Paramètres d'entrée :
- Année (obligatoire)
- Mois (obligatoire)
- Etat (facultatif) : si non renseigné, retourne toutes les feuilles de temps
Finance
Commandes
Import d'un lot de commandes à intégrer
POST /v1/orders/import
Cette API permet d'importer un lot de commandes à intégrer.
Paramètre :
- allowDirectIntegration (booléen) : si ce paramètre est à true, les commandes dont toutes les lignes sont reconnues seront directement intégrées au budget
Le corps de la requête contient une liste de commandes à importer et retourne un identifiant du lot d'import.
Limitations : Une requête peut contenir au maximum 100 commandes et une commande a au maximum 10 lignes
GET /v1/orders/import/{id}
Cette API permet d'obtenir l'état d'avancement de l'import d'un lot. Elle prend en paramètre un identifiant de lot retourné par la requête POST d'import.
Pour chaque commande du lot, elle retourne :
- Le contenu de la requête d'import
- Le statut d'import de la commande :
- Rejetée
- A intégrer
- Intégrée
- Une liste de messages d'erreurs et d'avertissements issus de l'import