API Tutoriel 2 : création et récupération de tickets
Prérequis
une plateforme Spinalcore fonctionnelle
un jumeau numérique initialisé avec un contexte géographique paramétré (voir Créer un contexte géographique )
un contexte de workflow de ticket paramétré (voir Gestion de Workflow - Tickets )
le serveur d'API Spinalcore déployé
avoir réalisé API Tutoriel 1 : description du bâtiment
Objectifs
Nous avons trois objectifs dans ce tutoriel :
récupérer une liste de ticket sur une salle spécifique
récupérer la liste globale des tickets de maintenance avec leur catégorie et leur état
déclarer un nouveau ticket associé à une catégorie et une salle
Récupérer la liste des tickets associés à une pièce
Requêtes utiles
GET api/v1/geographicContext/tree
GET api/v1/room/{dynamic_id}/tickets-list
GET api/v1/ticket/{dynamic_id}/read
Démarche
Récupérer l'arborescence géographique du bâtiment, comme dans le premier tutoriel :
identifiez-vous sur le serveur d'API (sur les versions "sandbox" cette étape n'est pas nécessaire pour tester l'API)
appelez la requête de récupération de l'arborescence géographique au format json
GET "http://adresse_de_votre_serveur/api/v1/geographicContext/tree"
recherchez votre pièce dans l'arborescence, récupérez sa "dynamic_id" puis appelez la requête de récupération des tickets
GET "http://adresse_de_votre_serveur/api/v1/room/{dynamic_id}/tickets-list"
Vous pouvez ensuite récupérer le détail du ticket et modifier le ticket via l'ensemble des requêtes de l'API ticket par exemple
GET "http://adresse_de_votre_serveur/api/v1/Ticket/{dynamic_id}/read"
Récupérer la liste des tickets associés à un Workflow
Requêtes utiles
GET api/v1/Workflow/list
GET api/v1/Workflow/{dynamic_id}/tree
GET api/v1/ticket/{dynamic_id}/read
Démarche
Via les requêtes sur les workflow, vous pouvez accéder à l'organisation globale d'une arborescence de ticket. Tout les workflow sont organisés de la même manière (workflow/process/step/ticket). Un workflow de maintenance par exemple :
Maintenance (workflow) :
Plomberie (process)
Électricité
déclaré (step)
ticket 1
validé
ticket 2
ticket 3
...
en cours
...
Pour accéder aux tickets via son workflow, vous pouvez suivre la démarche suivante :
identifiez-vous sur le serveur d'API (sur les versions "sandbox" cette étape n'est pas nécessaire pour tester l'API)
appelez la requête de récupération de la liste des Workflow de ticket auxquels vous avez accès
GET "http://adresse_de_votre_serveur/api/v1/Workflow/list"
appelez la requête de récupération de l'arborescence d'un workflow en particulier
GET "http://adresse_de_votre_serveur/api/v1/Workflow/{id}/tree"
recherchez votre ticket dans l'arborescence, récupérez sa "dynamic_id" puis appelez la requête de récupération des tickets
GET "http://adresse_de_votre_serveur/api/v1/Ticket/{dynamic_id}/read"
Créer un nouveau ticket
Requêtes utiles
GET api/v1/Workflow/list
GET api/v1/Workflow/{dynamic_id}/tree
GET api/v1/geographicContext/tree
POST api/v1/ticket/create_ticket
Démarche
Un ticket, ou un incident, est toujours associé à :
un objet particulier (pièce, équipement...)
un workflow (maintenance, IT, Nettoyage...)
un process dans un workflow (plomberie, électricité...)
Pour créer un ticket, il faut donc donner 3 identifiants en paramètre : node_id ; workflow_id ; process_id.
Dans cet exemple nous créons, dans la pièce 8, un ticket de maintenance/plomberie. Nous supposons que l'organisation du workflow de ticket maintenance a été paramétré en amont via le studio Spinalcore en suivant la procédure d'intégration du centre de ressources intégrateur (Gestion de Workflow - Tickets )
Pour créer un nouveau ticket vous pouvez suivre la démarche suivante :
identifiez-vous sur le serveur d'API (sur les versions "sandbox" cette étape n'est pas nécessaire pour tester l'API)
appelez la requête de récupération de la liste des Workflow de ticket auxquels vous avez accès
GET "http://adresse_de_votre_serveur/api/v1/Workflow/list"
appelez la requête de récupération de l'arborescence d'un workflow en particulier
GET "http://adresse_de_votre_serveur/api/v1/Workflow/{id}/tree"
appelez la requête de récupération de l'arborescence géographique
GET "http://adresse_de_votre_serveur/api/v1/geographicContext/tree"
À partir de ces trois requêtes vous pouvez récupérer les trois identifiants nécessaires à la création d'un nouveau ticket : room_id ; workflow_id ; process_id.
vous pouvez maintenant créer votre ticket
POST "http://adresse_de_votre_serveur/api/v1/Ticket/create_ticket"
Vérifiez que votre ticket a bien été créé, soit dans le studio, soit en utilisant les deux méthodes cités précédemment.