Passer au contenu principal

Générer des formules

Mis à jour il y a plus de 2 semaines

Cette section détaille les endpoints permettant de générer des formules génériques au sein de l'arborescence.

Pour rappel, cette génération s'appuie sur des modèles de formules qui doivent avoir été préalablement définis sur les types de votre arborescence.

Si vous n'êtes pas familiers avec cette fonctionnalité, consultez la documentation sur les modèles de formules.


Récupérer la liste des métriques à générer

Description

Cette requête permet de lister l'ensemble des métriques à générer à partir d'un modèle.

Remarque : Il ne s'agit pas ici de générer des métriques, mais de visualiser les métriques qui peuvent être générées par un modèle.

Get /v2/data-structures/{data_structure_id}/templates/generate/formulas/{formulas_template_id}

Scope

Pour effectuer cette requête, vous devez posséder le scope suivant : metadata:read.

Paramètres

Ces paramètres doivent être ajoutés à l'URL pour construire la chaîne de requête tel que :

/v2/data-structures/{data_structure_id}/templates/generate/formulas/{formulas_template_id}

Exemple de requête

# Commande pour générer les formules d'un modèle 
curl -X 'GET' \
  'https://xxx.indaba.api.indasuite.io-base.com/v2/data-structures/67337415-6bcb-4c21-b0f5-8253d68b6e80/templates/generate/formulas/9b034dcf-0e5b-4b45-908a-1c07ff7880c1' \

  # ----- En-têtes -----
  -H 'accept: application/json' \
  -H 'Authorization: Bearer VOTRE_JETON_JWT'

Réponses

exemple de réponse valide (200 OK) :

{ 
  "data": [
    {
      "id": "5d2b5890-a3e4-482c-9ade-bff1662f5fc8",
      "dataStructureId": "67337415-6bcb-4c21-b0f5-8253d68b6e80",
      "typeId": "0b3f2349-9b17-45d9-b7c4-0b47d0f39960",
      "parentId": "_siteb",
      "label": "main@dopen_106",
      "metric": {
        "id": "main@dopen_106",
        "name": "dopen_106",
        "datasource": "main",
        "description": "formule vérifiant si la diode du site 106 est ouverte ou non.",
        "type": "Calculated"
      },
      "properties": {},
      "parents": {
        "e9910c2b-83e9-4954-a1dd-abca2d833999": [
          {
            "code_site": 106,
            "id": "_siteb",
            "label": "Site b",
            "parentid": null
          }
        ]
      },
      "options": {
        "indabaId": "main@dopen_106",
        "indabaLabel": "Name"
      },
      "isTypeMetric": true,
      "hasError": false,
      "formula": "if(main@cip_int_106>0 or main@cip_int_106>0, 1, 0)",
      "formulaTemplateId": "9b034dcf-0e5b-4b45-908a-1c07ff7880c1",
      "formulaTemplateVersion": 3,
      "hasTemplateCreated": false,
      "isLockedToTemplate": true
    }
  ],
  "resultCode": 2010,
  "message": "OK"
}

Erreurs courantes

Veuillez vous référer à la liste des erreurs courantes.


Générer des formules génériques

Description

Cette requête permet de générer des formules à partir d'un modèle.

Post /v2/data-structures/{data_structure_id}/templates/generate/formulas/{formula_template_id}

Scope

Pour effectuer cette requête, vous devez posséder le scope suivant : metadata:admin.

Paramètres

  • formula_template_id (string, obligatoire) : ID attribué au modèle de formules 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}/formulas ou lors de la création du template de formules.

  • override_manuals (string, optionnel) : permet d'indiquer si vous souhaitez écraser les métriques manuelles portant le même nom que les nouvelles formules génériques. Peut prendre deux valeurs :

    • true : les métriques manuelles seront écrasées par les formules

    • false : les métriques manuelles seront conservées

    Remarque : Par défaut, le paramètre est à "false".

Ces paramètres doivent être ajoutés à l'URL pour construire la chaîne de requête tel que :

/v2/data-structures/{data_structure_id}/templates/generate/formulas/{formula_template_id}?metric_template_id="string"

Exemple de requête

# Commande pour générer des formules à partir d'un modèle 
curl -X 'POST' \
  'https://xxx.indaba.api.indasuite.io-base.com/v2/data-structures/67337415-6bcb-4c21-b0f5-8253d68b6e80/templates/generate/formulas/9b034dcf-0e5b-4b45-908a-1c07ff7880c1?override_manuals=true' \

  # ----- En-têtes -----
  -H 'accept: application/json' \
  -H 'Authorization: Bearer VOTRE_JETON_JWT' \

  # ----- Corps de la requête (vide pour cette action) -----
  -d ''

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 metadata: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 ?