Passer au contenu principal

Gestion des modèles de métriques (templates)

Mis à jour il y a plus de 2 semaines

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

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

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

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

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

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.

Avez-vous trouvé la réponse à votre question ?