API V2 🆕

Concept

Quand on utilise l'API de GLPI, la conversation se fait dans une langue universelle appelée le JSON (un format de texte trÚs simple à lire) et s'appuie sur le réseau web classique (HTTP), avec 4 grandes actions principales :

  • GET (Lire) : Donne-moi la liste des ordinateurs du site de Lyon.

  • POST (CrĂ©er) : CrĂ©e un nouveau ticket avec le titre 'Panne internet'.

  • PUT/PATCH (Mettre Ă  jour) : Change le statut de l'ordinateur #45 en 'En rĂ©paration'.

  • DELETE (Supprimer) : Supprime le ticket #1234.

Chaque demande est envoyée à une adresse URL spécifique, appelée un Endpoint (par exemple : https://mon-glpi.com/api.php/Ticket).


À quoi ça sert ?

L'API permet, entre autres, d'automatiser des tùches chronophages et de simplifier certaines actions répétitives :

  • Supervision (Monitoring) : Au lieu d'envoyer un simple email, l'API pour crĂ©er automatiquement un ticket critique et l'assigner Ă  l'Ă©quipe rĂ©seau dans GLPI.

  • Ressources Humaines : Quand le service RH ajoute un employĂ© dans son logiciel, celui-ci transmet automatiquement les donnĂ©es Ă  GLPI via l’API pour crĂ©er un compte utilisateur, gĂ©nĂ©rer un ticket de prĂ©paration de PC, et attribuer une licence logicielle.

  • Reporting externe : Un script Python qui interroge l'API tous les soirs pour rĂ©cupĂ©rer le nombre de tickets ouverts et l'afficher sur un Ă©cran dans l'open-space.


Création d'un client Oauth

Pour utiliser l'API, GLPI a besoin qu'un client OAuth soit configuré. Celui-ci va permettre de générer un ID client et un Client secret indispensable pour autoriser l'utilisation de l'API.

  • Depuis Configuration > OAuth clients, cliquez sur + Ajouter

  • Indiquez

    • Un nom

    • Le ou les scopes concernĂ©s : email, user, api, inventory, status, graphql

    • Le type d'autorisation (grants) : Password, Clients credentials, Authorization code

  • Sauvegarder votre client OAuth

  • Cliquez sur votre client Oauth, et relevez les 2 valeurs :

    • Client ID

    • Client secret

Création Client OAuth

Méthode 1 - API Endpoints

La méthode recommandée est de passer par API Endpoints présent nativement dans GLPI. Vous retrouverez l'URL depuis :

1

Connectez le client OAuth

  • Depuis Configuration > GĂ©nĂ©rale > API > API Endpoints, cliquez sur Autoriser

  • Entrez l'ID client et le client secret relevĂ© Ă  l'Ă©tape prĂ©cĂ©dente

  • SĂ©lectionnez les scopes souhaitĂ©s

  • cliquez sur Authoriser

  • Valider l'Ă©cran de consentement

Autorisations disponibles
2

Utilisation

Liste objets API
  • Dans notre exemple, nous afficherons le ticket avec l'id 60

  • Depuis Administration, sĂ©lectionnez GET /Assistance/Ticket/{id}

  • Cliquez sur Try it out

  • Indiquez le numĂ©ro du ticket

  • Cliquez sur Execute

Entrer les paramĂštres de la requĂȘte API

Réponse :

RĂ©ponse de la requĂȘte
  • Dans ce 1er encart apparait :

  1. Curl : La requĂȘte utilisĂ©e

  2. La requĂȘte URL

  3. la rĂ©ponse de la requĂȘte : le contenu de notre ticket

  4. la rĂ©ponse du hearder : liste de paramĂštres sous la forme "ClĂ©: Valeur" (le poids de la requĂȘte, l'horodatage, le formatage, etc.).

  • Dans un autre encart se trouve les valeurs brutes de la requĂȘte, c'est a dire le schĂ©ma utilisĂ©.

Exemple de valeur
  • Il est d'ailleurs possible de voir le schĂ©ma et le type de valeur attendue en mode liste en cliquant sur Schema


MĂ©thode 2 - Via requĂȘtes curl

1

Initialisation d'un token

Entrez cette commande dans un terminal :

Un résultat similaire vous sera renvoyé :

l'access token est l'information importante qui vous sera demandé à chaque commande que vous taperez


Exemples de commandes

Tickets

Créer un ticket :

Récupérer le contenu d'un ticket :

RĂ©cupĂ©rer la solution d’un ticket :

RĂ©cupĂ©rer les documents d’un ticket :

Utilisateur

Créer un utilisateur :

Supprimer un utilisateur

Profil

Lister les profils

Entité

Lister les entités

Voir les dĂ©tails d’une entitĂ©s

Status

Voir le statut des services GLPI

Mis Ă  jour