fullmetrixDocs

API publique

Créez une clé API puis récupérez vos indicateurs de ventes au format JSON, ventilés par date, boutique, pays, type de client ou statut.

L'API publique de Fullmetrix renvoie vos indicateurs de ventes sous forme de tableau, au format JSON. Elle sert à alimenter un outil interne, un tableur automatisé, un entrepôt de données ou un tableau de bord maison. C'est elle qu'utilise le connecteur Looker Studio.

Une API est une adresse web que l'on interroge depuis un programme plutôt que depuis un navigateur. Vous envoyez une requête qui précise ce que vous voulez, par exemple le chiffre d'affaires par jour du mois dernier, et Fullmetrix répond avec les chiffres.

L'API est en lecture seule. Elle ne peut rien modifier dans Fullmetrix ni dans votre boutique.

Créer une clé API

Chaque requête doit être accompagnée d'une clé API. La clé identifie l'organisation dont vous lisez les données. Il n'y a rien d'autre à configurer.

Ouvrir les clés API

Dans Fullmetrix, ouvrez Paramètres, puis l'onglet Clés API.

Créer la clé

Cliquez sur Créer une clé. Dans Nom de la clé, écrivez à quoi elle va servir, par exemple « Entrepôt de données » ou « Script de reporting ». Cliquez sur Créer une clé pour valider.

Copier la clé

La fenêtre affiche la clé complète, qui commence par fmx_. Cliquez sur l'icône de copie, puis rangez la clé dans un endroit sûr, comme un gestionnaire de mots de passe. Cliquez sur Terminé.

Fenêtre Créer une clé API affichant une clé fmx_ masquée en partie, avec l'icône de copie et l'avertissement Copiez cette clé maintenant encadrés

La clé n'est affichée qu'une fois

Après fermeture de la fenêtre, Fullmetrix ne montre plus que le début de la clé, dans la colonne Préfixe. Si vous l'avez perdue, créez-en une nouvelle et révoquez l'ancienne.

La liste des clés affiche pour chacune son Nom, son Préfixe, sa date de création dans Créée le et sa Dernière utilisation. Cette dernière colonne vous permet de repérer une clé qui ne sert plus. Pour couper une clé, cliquez sur Révoquer, puis confirmez. Toute intégration qui l'utilise cesse de fonctionner immédiatement. Le détail de cet écran est dans Clés API.

Créez une clé par outil. Si vous devez en couper une, les autres continuent de fonctionner.

S'authentifier

L'adresse de base de l'API est https://app.fullmetrix.com. Chaque requête porte la clé dans l'en-tête Authorization, précédée du mot Bearer.

curl https://app.fullmetrix.com/api/reports/catalog \
  -H "Authorization: Bearer fmx_VOTRE_CLE"

Les clés fonctionnent pendant l'essai gratuit et pendant l'abonnement. Si l'abonnement de l'organisation s'arrête, les requêtes sont refusées jusqu'à sa reprise.

Ne placez jamais la clé dans une page web

Une clé écrite dans le code d'un site est lisible par tous ses visiteurs. Appelez l'API depuis un serveur, un script ou un outil qui garde la clé secrète.

Lister les champs disponibles

GET /api/reports/catalog renvoie la liste des dimensions et des métriques que vous pouvez demander. Une dimension est un axe de découpage, comme la date ou le pays. Une métrique est un chiffre calculé, comme le nombre de commandes.

curl https://app.fullmetrix.com/api/reports/catalog \
  -H "Authorization: Bearer fmx_VOTRE_CLE"
{
  "dimensions": [
    { "id": "date", "label": "Date", "type": "date" },
    { "id": "store", "label": "Boutique", "type": "string" },
    { "id": "country", "label": "Pays", "type": "string" },
    { "id": "customer_type", "label": "Type client", "type": "string" },
    { "id": "status", "label": "Statut commande", "type": "string" }
  ],
  "metrics": [
    { "id": "orders", "label": "Commandes", "type": "number" },
    { "id": "items_sold", "label": "Produits vendus", "type": "number" },
    { "id": "gross_sales", "label": "CA brut", "type": "currency" },
    { "id": "net_revenue", "label": "CA net", "type": "currency" },
    { "id": "average_order_value", "label": "Panier moyen", "type": "currency" },
    { "id": "taxes", "label": "Taxes", "type": "currency" },
    { "id": "shipping", "label": "Livraison", "type": "currency" },
    { "id": "unique_customers", "label": "Clients uniques", "type": "number" },
    { "id": "new_customers", "label": "Nouveaux clients", "type": "number" },
    { "id": "returning_customers", "label": "Clients récurrents", "type": "number" }
  ]
}

Cet appel sert aussi à vérifier qu'une clé fonctionne. Il répond avec le code 200 si la clé est valide.

Les dimensions

IdentifiantContenu
dateLe jour de la commande, au format AAAA-MM-JJ
storeL'adresse de la boutique
countryLe pays de facturation, ou Unknown s'il est absent
customer_typenew pour une première commande du client sur la période, returning pour un client déjà venu, anonymous pour une commande sans adresse e-mail exploitable
statusLe statut de la commande, tel que votre boutique le transmet

Les métriques

IdentifiantContenu
ordersLe nombre de commandes
items_soldLe nombre d'articles vendus
gross_salesLe chiffre d'affaires brut, total des commandes
net_revenueLe chiffre d'affaires net, calculé comme dans le rapport Revenus
average_order_valueLe panier moyen, chiffre d'affaires net divisé par le nombre de commandes
taxesLe total des taxes
shippingLe total des frais de livraison
unique_customersLe nombre de clients distincts
new_customersLes clients dont la première commande tombe dans la période
returning_customersLes clients de la période qui avaient déjà commandé avant

Les montants sont exprimés dans la devise de vos boutiques et arrondis à deux décimales. Les chiffres suivent vos Paramètres de rapports, notamment les statuts exclus et les déductions des ventes nettes.

Interroger vos indicateurs

GET /api/reports/tabular renvoie un tableau de lignes. Chaque ligne combine les dimensions demandées et les métriques calculées pour cette combinaison.

Paramètres

ParamètreObligatoireDescription
metricsOuiUne ou plusieurs métriques séparées par des virgules, par exemple orders,net_revenue
dimensionsNonUne ou plusieurs dimensions séparées par des virgules. Sans dimension, la réponse contient une seule ligne de totaux
fromNonLe premier jour, au format AAAA-MM-JJ. Par défaut, 30 jours avant to
toNonLe dernier jour inclus, au format AAAA-MM-JJ. Par défaut, aujourd'hui
timezoneNonUn fuseau horaire au format IANA, par exemple Europe/Paris. Il sert à rattacher chaque commande à son jour dans la dimension date. Par défaut, UTC
limitNonLe nombre maximal de lignes. 10 000 par défaut, 100 000 au plus

La période demandée peut couvrir jusqu'à deux ans. Au-delà, l'API la raccourcit en gardant la date de fin, et la réponse indique les dates réellement utilisées dans from et to.

Les dates from et to sont lues en temps universel, de minuit à minuit UTC. Le paramètre timezone change seulement le jour affiché pour chaque commande. Autour de minuit, quelques commandes peuvent donc différer d'un jour par rapport à vos rapports Fullmetrix.

Exemple, le chiffre d'affaires par jour

curl "https://app.fullmetrix.com/api/reports/tabular?dimensions=date&metrics=orders,net_revenue&from=2026-09-01&to=2026-09-30&timezone=Europe/Paris" \
  -H "Authorization: Bearer fmx_VOTRE_CLE"
{
  "dimensions": ["date"],
  "metrics": ["orders", "net_revenue"],
  "from": "2026-09-01",
  "to": "2026-09-30",
  "timezone": "Europe/Paris",
  "rows": [
    { "date": "2026-09-01", "orders": 42, "net_revenue": 2318.4 },
    { "date": "2026-09-02", "orders": 37, "net_revenue": 1975.1 }
  ],
  "rowCount": 30
}

Les lignes sont triées dans l'ordre des dimensions demandées. rowCount donne le nombre de lignes renvoyées.

Exemple, les ventes par pays et par type de client

curl "https://app.fullmetrix.com/api/reports/tabular?dimensions=country,customer_type&metrics=orders,net_revenue,average_order_value&from=2026-07-01&to=2026-09-30" \
  -H "Authorization: Bearer fmx_VOTRE_CLE"

Exemple, les totaux d'une période

Sans dimension, la réponse contient une seule ligne.

curl "https://app.fullmetrix.com/api/reports/tabular?metrics=orders,gross_sales,net_revenue,new_customers&from=2026-01-01&to=2026-09-30" \
  -H "Authorization: Bearer fmx_VOTRE_CLE"

Exemple, comparer vos boutiques

curl "https://app.fullmetrix.com/api/reports/tabular?dimensions=store&metrics=orders,net_revenue&from=2026-09-01&to=2026-09-30" \
  -H "Authorization: Bearer fmx_VOTRE_CLE"

Additionner les clients avec prudence

unique_customers, new_customers et returning_customers comptent des personnes distinctes. Un même client qui commande deux jours différents apparaît dans chacun des deux jours. La somme des lignes journalières peut donc dépasser le total de la période. Pour un total de clients, demandez la période sans la dimension date.

Codes de réponse et erreurs

Les erreurs renvoient un objet JSON avec un champ error qui décrit le problème.

CodeSignificationQue faire
200La requête a réussiRien
400Un paramètre est invalide, par exemple une date mal formée, aucune métrique, ou un identifiant inconnuCorrigez la requête. Pour un identifiant inconnu, la réponse liste les fautifs dans unknownDimensions et unknownMetrics
401L'en-tête Authorization manque, ou la clé est invalide, révoquée ou refuséeVérifiez la clé et l'état de l'abonnement de l'organisation
429Trop de requêtes en peu de tempsAttendez le nombre de secondes indiqué dans l'en-tête Retry-After, puis réessayez

Exemple de réponse 400 pour une métrique inconnue.

{
  "error": "Dimensions ou métriques inconnues",
  "unknownDimensions": [],
  "unknownMetrics": ["revenue"]
}

En cas de code 429, la réponse contient aussi les en-têtes X-RateLimit-Limit, X-RateLimit-Remaining et X-RateLimit-Reset. Espacez vos appels et gardez en mémoire les résultats qui ne changent pas, comme les jours passés.

Une réponse réussie peut être servie depuis un cache pendant une minute. Deux appels identiques rapprochés renvoient donc le même résultat.

L'API accepte les appels venant d'un navigateur, mais rappelez-vous que la clé ne doit jamais être exposée dans une page publique.

Questions fréquentes

Sur cette page