Cette section détaille les endpoints de l'API permettant de créer, lister, modifier et supprimer les modèles de métriques (templates) au sein d'une arborescence.
Rappel : Si vous n'êtes pas familiers avec cette fonctionnalité, consultez la documentation relative aux modèles de métriques.
Récupérer les modèles de métriques de l'arborescence
Description
Cette requête renvoie une liste avec les différents modèles de métriques génériques (templates) présents dans l'arborescence.
GET /v2/data-structures/{data_structure_id}/templates
Scope
Pour effectuer cette requête, vous devez posséder le scope suivant : metadata:read.
Paramètres
data_structure_id (string, obligatoire) : ID attribué à l'arborescence.
Cet ID peut être récupéré via la requête
GET v2/data-structures
ou lors de la création d'une nouvelle arborescence avecPOST v2/data-structures
.
Ce paramètre doit être ajouté à l'URL pour construire la chaîne de requête :
.../data-structures/{data_structure_id}/templates
Exemple de requête
# Commande pour lister les métriques génériques d'une structure de données
curl -X 'GET' \
'https://xxx.indaba.api.indasuite.io-base.com/v2/data-structures/67337415-6bcb-4c21-b0f5-8253d68b6e80/templates' \
# ----- En-têtes -----
-H 'accept: application/json' \
-H 'Authorization: Bearer VOTRE_JETON_JWT'
Réponses
exemple de réponse valide (200 OK) :
{
"data": [
{
"id": "80ac9889-dc78-4ecc-9680-3f9ea79697a2",
"label": "ID_MOY",
"metricTemplate": "main@cip_int_{code_site}",
"metricTypeId": "0b3f2349-9b17-45d9-b7c4-0b47d0f39960",
"options": "Custom",
"version": 1
}
],
"resultCode": 2010,
"message": "OK"
}
Erreurs courantes
Veuillez vous référer à la liste des erreurs courantes.
Récupérer la liste des modèles de métriques contenus dans un type
Cette requête renvoie une liste avec les différents modèles de métriques présents au sein d'un type de l'arborescence.
Get /v2/data-structures/{data_structure_id}/types/{type_id}/
templates
Scope
Cette requête nécessite d'avoir le scope metadata:read.
Paramètres
data_structure_id (string, obligatoire) : ID attribué à l'arborescence.
Cet ID peut être récupéré via la requête
GET v2/data-structures
ou lors de la création d'une nouvelle arborescence avecPOST v2/data-structures
.
type_id (string, obligatoire) : ID attribué au type d'élément.
Cet ID peut être récupéré via la requête
GET /v2/data-structures/{data_structure_id}/types
ou suite à la création d'un nouveau type avecPost v2/data-structures/{data_structure_id}/types
.
Ces paramètres doivent être ajoutés à l'URL pour construire la chaîne de requête :
.../data-structures/{data_structure_id}/types/{type_id}/templates
Exemple de requête
# Commande pour lister les modèles de métrique d'un type
curl -X 'GET' \
'https://xxx.indaba.api.indasuite.io-base.com/v2/data-structures/67337415-6bcb-4c21-b0f5-8253d68b6e80/types/e9910c2b-83e9-4954-a1dd-abca2d833999/templates' \
# ----- En-têtes -----
-H 'accept: application/json' \
-H 'Authorization: Bearer VOTRE_JETON_JWT'
Réponses
exemple de réponse valide (200 OK) :
{
"data": [
{
"id": "80ac9889-dc78-4ecc-9680-3f9ea79697a2",
"label": "ID_MOY",
"metricTemplate": "main@cip_int_{code_site}",
"metricTypeId": "0b3f2349-9b17-45d9-b7c4-0b47d0f39960",
"options": "Custom",
"version": 1
}
],
"resultCode": 2010,
"message": "OK"
}
Erreurs courantes
Veuillez vous référer à la liste des erreurs courantes.
Créer un modèle de métriques génériques
Description
Cette requête vous permet d'ajouter un nouveau modèle de métriques à un type donné dans votre arborescence.
Post /v2/data-structures/{data_structure_id}/types/{type_id}/templates
Scope
Pour effectuer cette requête, vous devez posséder le scope suivant : metadata:admin.
Paramètres
data_structure_id (string, obligatoire) : ID attribué à l'arborescence.
Cet ID peut être récupéré via la requête
GET v2/data-structures
ou lors de la création d'une nouvelle arborescence avecPOST v2/data-structures
.
type_id (string, obligatoire) : ID attribué au type d'élément.
Cet ID peut être récupéré via la requête
GET /v2/data-structures/{data_structure_id}/types
ou suite à la création d'un nouveau type avecPost v2/data-structures/{data_structure_id}/types
.
Ces paramètres doivent être ajoutés à l'URL pour construire la chaîne de requête :
/v2/data-structures/{data_structure_id}/types/{type_id}/template
Corps de la requête
{
"label": "Pression",
"metricTemplate": "{datasource}@{metricId}.{territoire.libelle_court}.{name}.val",
"metricTypeId": "b63f4f26-2103-460f-bb89-727c341ccfb6",
"options": "Name"
}
label : label du modèle de métrique
metric template : nom générique des formules (métriques calculées) générées par le modèle.
Attention, ici il est important d'indiquer la base de données dans laquelle vont être stockées les formules.
On a donc la syntaxe suivante :
[base de données]@{propriete_arbo}.documentation
metricTypeId : ID du type "métrique" souhaité présent dans l'arborescence. Les formules (métriques calculées) générées seront ajoutées dans l'arborescence avec le type "métrique" défini ici.
options : permet d'indiquer comment vous souhaitez faire apparaître les métriques générées par le modèle dans l'arborescence.
Label : les métriques apparaîtront avec le label du modèle défini précédemment
Custom : permet de personnaliser l'affichage du nom des métriques générées dans l'arborescence
Name : les métriques apparaîtront avec leur nom Indaba
Exemple de requête
# Commande pour créer un nouveau modèle de métrique
curl -X 'POST' \
'https://xxx.indaba.api.indasuite.io-base.com/v2/data-structures/67337415-6bcb-4c21-b0f5-8253d68b6e80/types/e9910c2b-83e9-4954-a1dd-abca2d833999/templates' \
# ----- En-têtes -----
-H 'accept: application/json' \
-H 'Authorization: Bearer VOTRE_JETON_JWT' \
-H 'Content-Type: application/json' \
# ----- Corps de la requête -----
-d '
{
"label": "Pression",
"metricTemplate": "main@{code_site}.doc",
"metricTypeId": "0b3f2349-9b17-45d9-b7c4-0b47d0f39960",
"options": "Name"
}
'
Réponses
exemple de réponse valide (200 ok) :
{
"data": {
"id": "90cf735d-02fd-4c75-a845-9b118b1b6130",
"label": "Pression",
"metricTemplate": "main@{code_site}.doc",
"metricTypeId": "0b3f2349-9b17-45d9-b7c4-0b47d0f39960",
"options": "Name",
"version": 1
},
"resultCode": 2010,
"message": "OK"
}
Erreurs courantes
Veuillez vous référer à la liste des erreurs courantes.
Mettre à jour un modèle de métriques
Description
Cette requête vous permet d'ajouter un nouveau modèle de formules à un type donné dans votre arborescence.
Put /v2/data-structures/{data_structure_id}/types/{type_id}/templates/{template_id}
Scope
Pour effectuer cette requête, vous devez posséder le scope suivant : metadata:admin.
Paramètres
data_structure_id (string, obligatoire) : ID attribué à l'arborescence.
Cet ID peut être récupéré via la requête
GET v2/data-structures
ou lors de la création d'une nouvelle arborescence avecPOST v2/data-structures
.
type_id (string, obligatoire) : ID attribué au type d'élément.
Cet ID peut être récupéré via la requête
GET /v2/data-structures/{data_structure_id}/types
ou suite à la création d'un nouveau type avecPost v2/data-structures/{data_structure_id}/types
.
template_id (string, obligatoire) : ID attribué au modèle de métriques que vous souhaitez éditer.
Cet ID peut être récupéré via la requête
Get v2/data-structures/{data_structure_id}/types/{type_id}/templates
ou lors de la création du template.
Ces paramètres doivent être ajoutés à l'URL pour construire la chaîne de requête :
/v2/data-structures/{data_structure_id}/types/{type_id}/templates/{template_id}
Corps de la requête
Le corps de la requête est identique à celui de la création d'un nouveau modèle de métriques.
{
"label": "Pression",
"metricTemplate": "{datasource}@{metricId}.{territoire.libelle_court}.{name}.val",
"metricTypeId": "b63f4f26-2103-460f-bb89-727c341ccfb6",
"options": "Name"
}
Remarque : Il n'est pas possible modifier le champ "metricTemplate", représentant le nom générique des métriques générées par le modèle.
Exemple de requête
# Commande pour mettre à jour un modèle de métrique
curl -X 'PUT' \
'https://xxx.indaba.api.indasuite.io-base.com/v2/data-structures/67337415-6bcb-4c21-b0f5-8253d68b6e80/types/e9910c2b-83e9-4954-a1dd-abca2d833999/templates/90cf735d-02fd-4c75-a845-9b118b1b6130' \
# ----- En-têtes -----
-H 'accept: application/json' \
-H 'Authorization: Bearer VOTRE_JETON_JWT' \
-H 'Content-Type: application/json' \
# ----- Corps de la requête -----
-d '
{
"label": "Pression_modif",
"metricTemplate": "main@{code_site}.doc",
"metricTypeId": "0b3f2349-9b17-45d9-b7c4-0b47d0f39960",
"options": "name"
}
'
Réponses
exemple de réponse valide (200 OK) :
{
"data": {
"id": "90cf735d-02fd-4c75-a845-9b118b1b6130",
"label": "Pression_modif",
"metricTemplate": "main@{code_site}.doc",
"metricTypeId": "0b3f2349-9b17-45d9-b7c4-0b47d0f39960",
"options": "Name",
"version": 1
},
"resultCode": 2010,
"message": "OK"
}
Erreurs courantes
Veuillez vous référer à la liste des erreurs courantes.
Supprimer un modèle de métriques
Delete /v2/data-structures/{data_structure_id}/types/{type_id}/templates/{template_id}
Scope
Pour effectuer cette requête, vous devez posséder le scope suivant : metadata:admin.
Paramètres
data_structure_id (string, obligatoire) : ID attribué à l'arborescence.
Cet ID peut être récupéré via la requête
GET v2/data-structures
ou lors de la création d'une nouvelle arborescence avecPOST v2/data-structures
.
type_id (string, obligatoire) : ID attribué au type d'élément.
Cet ID peut être récupéré via la requête
GET /v2/data-structures/{data_structure_id}/types
ou suite à la création d'un nouveau type avecPost v2/data-structures/{data_structure_id}/types
.
template_id (string, obligatoire) : ID attribué au modèle de métriques que vous souhaitez éditer.
Cet ID peut être récupéré via la requête
Get v2/data-structures/{data_structure_id}/types/{type_id}/templates
ou lors de la création du template.delete_metrics (boolean, optionnel) : permet d'indiquer si vous souhaitez supprimer les métriques associées au modèle de l'arborescence. Ce champ peut prendre deux valeurs :
true : les métriques associées au modèle seront supprimées de l'arborescence
false (valeur par défaut) : les métriques associées au modèle seront conservées dans l'arborescence.
Ces paramètres doivent être ajoutés à l'URL pour construire la chaîne de requête :
/v2/data-structures/{data_structure_id}/types/{type_id}/templates/{template_id}?delete_metrics=[true or false]
Exemple de requête :
# Commande pour supprimer un modèle de métrique spécifique
curl -X 'DELETE' \
'https://xxx.indaba.api.indasuite.io-base.com/v2/data-structures/67337415-6bcb-4c21-b0f5-8253d68b6e80/types/e9910c2b-83e9-4954-a1dd-abca2d833999/templates/90cf735d-02fd-4c75-a845-9b118b1b6130?delete_metrics=true' \
# ----- En-têtes -----
-H 'accept: application/json' \
-H 'Authorization: Bearer VOTRE_JETON_JWT'
Réponses
exemple de réponse valide (200 OK) :
{
"resultCode": 2010,
"message": "OK"
}
Erreurs courantes
Veuillez vous référer à la liste des erreurs courantes.
Erreurs courantes
Vous rencontrerez principalement les codes d'erreur HTTP suivants :
400 Bad Request : Votre requête est malformée. Cela peut être dû à un paramètre manquant, un type de donnée incorrect ou un JSON invalide. Le corps de la réponse contiendra un tableau errors détaillant le problème.
{
"errors": [
{
"error": "Type_De_L_Erreur",
"message": "Description détaillée de l'erreur spécifique."
}
],
"statusCode": 1050,
"message": "Invalid request"
}
401 Unauthorized : Votre jeton d'authentification (JWT) est manquant, invalide ou expiré. Vous devez obtenir un nouveau jeton valide.
403 Forbidden : Votre jeton d'authentification est valide, mais vous n'avez pas les droits nécessaires pour cette action.
Votre jeton n'a pas les droits (scope) nécessaires (par exemple, vous tentez de créer une arborescence sans avoir le scope metrics:admin).
404 Not Found : La ressource que vous essayez d'atteindre n'existe pas. Cela se produit typiquement si vous utilisez un ID incorrect ou si vous demandez une métrique qui n'existe pas.