Rechercher dans la documentation

Tapez pour filtrer les pages, les guides et les endpoints.

POST/api/v1/projects/{ref}/metrics

Définir des indicateurs

Crée ou met à jour les indicateurs d'un projet : leur libellé et leur explication pour le client, leur unité, leur calcul.

Crée ou met à jour des indicateurs, par leur key. Une clé absente se déduit du libellé (« Coût d'un contact » donne cout_d_un_contact).

Le libellé et l'explication sont lus par le client, dans son portail et dans le rapport par mail : écrivez « Contacts obtenus » plutôt que « Leads », et dites en une phrase ce que le chiffre veut dire.

Paramètres de chemin

ParamètreDescription
refL'id ou le slug du projet

Corps de la requête

ChampTypeRequisContraintes
metricsarrayoui1 à 50 indicateurs
metrics[].keystringa-z, 0-9, _, 48 caractères max
metrics[].labelstringoui1 à 80 caractères
metrics[].descriptionstringL'explication pour le client, 400 caractères max
metrics[].unitenumnumber (défaut), currency, percent, duration (secondes)
metrics[].currencystringCode ISO à 3 lettres, EUR par défaut
metrics[].aggregationenumSur une période : sum (défaut), avg, last
metrics[].kindenumvalue (défaut), ou ratio : calculé
metrics[].numerator_keystringPour un ratio : l'indicateur divisé
metrics[].denominator_keystringPour un ratio : l'indicateur diviseur
metrics[].good_directionenumup (défaut), down (un coût), neutral (un budget)
metrics[].targetnumberL'objectif sur la période
metrics[].visible_to_clientbooleantrue par défaut ; masqué, il sert aux calculs

Un ratio se calcule sur les totaux de la période — Σ numérateur ÷ Σ dénominateur —, multiplié par 100 en pourcentage.

Cette route accepte un en-tête Idempotency-Key.

Exemple

curl -X POST "https://www.tetikasa.app/api/v1/projects/campagne-meta-raphael/metrics" \
  -H "Authorization: Bearer $TETIKASA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"metrics":[
    {"key":"spend","label":"Budget dépensé","unit":"currency","good_direction":"neutral"},
    {"key":"leads","label":"Contacts obtenus","description":"Les personnes qui ont laissé leurs coordonnées."},
    {"key":"cost_per_lead","label":"Coût par contact","kind":"ratio","unit":"currency",
     "numerator_key":"spend","denominator_key":"leads","good_direction":"down"}
  ]}'

La réponse liste tous les indicateurs envoyés ; un seul est montré ici.

Erreurs

codeStatutQuand
invalid_request422Corps invalide, ou ratio qui cite un indicateur absent du projet
forbidden403Le reporting est inclus dans les plans payants
not_found404Projet inexistant ou d'une autre organisation
unauthorized401Clé absente, invalide, révoquée ou expirée
PrivacyTermsapp icon