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+ AjouterIndiquez
Un nom
Le ou les
scopesconcernés : email, user, api, inventory, status, graphqlLe type d'autorisation (grants) : Password, Clients credentials, Authorization code
Sauvegarder votre client OAuth
Cliquez sur votre client Oauth, et relevez les 2 valeurs :
Client IDClient secret

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 :
Configuration>Générale>API>API EndpointsOu à l'adresse https://mon_instance/api.php/v2.2/doc
Utilisation
Depuis
Configuration>Générale>API>API Endpointsou https://mon_instance/api.php/v2.2/doc, sélectionnez le module qui vous convient

Dans notre exemple, nous afficherons le ticket avec l'
id 60Depuis
Administration, sélectionnez GET /Assistance/Ticket/{id}Cliquez sur
Try it outIndiquez le numéro du ticket
Cliquez sur
Execute

Réponse :

Dans ce 1er encart apparait :
Curl : La requête utilisée
La requête URL
la réponse de la requête : le contenu de notre ticket
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é.

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
Exemples de commandes
Si vous ne souhaitez pas remplir certains champs de vos requêtes, vous pouvez soit indiquer la valeur "null" (par exemple "sla_ttr": null) soit les supprimer de votre requête. L'essentiel est que votre json soit correctement structuré. Toutes valeurs contenant un "id": 0 doivent également être remplacées par la valeur null
Tickets
Créer un ticket :
Limitation :
Le format attendu pour les dates est "AAAA-MM-JJ HH:MM:SS". La variable $date-time n'est pas applicable à ce jour (en cours de correction par les équipes techniques)
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
