Plateforme
API REST
Authentifiez-vous avec une clé API et interrogez tous les rapports, les données en direct et les exports en HTTP.
L’API REST est celle qu’utilise le tableau de bord : tous les rapports, les données en direct, les sessions, la configuration et les exports, en JSON. Les requêtes ne sont pas décomptées sur un serveur auto-hébergé.
Sur Cloud, les clés API et l’API REST sont incluses dans Pro et Business (voir Offres et limites) ; un appel qui nécessite une offre supérieure répond 402 avec le code plan_required.
Authentification
Créez une clé dans Settings → API keys. Elle commence par glb_ et ne s’affiche qu’une fois : Globatics n’en conserve que l’empreinte. Envoyez-la comme jeton Bearer. Une clé agit au nom de son propriétaire, sur les sites qu’il possède.
export GLOBATICS_KEY=glb_YOUR_KEY
curl https://globatics.live/api/sites \
-H "Authorization: Bearer $GLOBATICS_KEY"Les jetons de partage publics fonctionnent aussi pour les points d’accès en lecture seule (rapports, direct, sessions), avec ?share=TOKEN ou un en-tête x-share-token. Les identités sont retirées de ces réponses.
Paramètres de requête
Chaque rapport accepte les mêmes paramètres que l’URL du tableau de bord.
| Paramètre | Valeurs |
|---|---|
period | today, yesterday, 24h, 7d (par défaut), 30d, 90d, mtd, lastmonth, ytd, 12mo, all, custom |
from, to | YYYY-MM-DD dans le fuseau horaire du site, bornes incluses, avec period=custom |
compare | previous (par défaut), year, none |
interval | minute, hour, day, week, month (choisi pour vous s’il est omis) |
f | Filtre répétable dim:op:value, où op vaut is, is_not, contains ou not_contains. Exemple : f=country:is:FR |
Dimensions de filtre : page, entry_page, exit_page, hostname, referrer, channel, utm_source, utm_medium, utm_campaign, utm_term, utm_content, country, region, city, device, browser, os, screen, language, event, goal.
Rapports
| Rapport | Paramètres supplémentaires | Renvoie |
|---|---|---|
overview | Indicateurs clés, période précédente, série temporelle, visiteurs en ligne | |
timeseries | Visiteurs, visites, pages vues, rebond, durée, conversions, revenu par intervalle | |
breakdown | dim, limit, page, search | Lignes d’une dimension avec part et évolution |
heatmap | Visiteurs par jour de la semaine × heure | |
events | event, prop | Événements, ou propriétés d’un événement |
goals | Conversions par objectif | |
funnel | id, ou steps (JSON), window, dim | Étapes, abandons, durées médianes, nombre de personnes en direct à chaque étape |
retention | interval, cohorts | Grille de cohortes |
paths | start, goal ou end, depth | Parcours (liens du diagramme de Sankey) |
vitals | p75 et répartition par note pour chaque métrique, score, pages | |
errors | Erreurs JavaScript regroupées | |
engagement | path | Profondeur de défilement, clics de rage, clics morts, clics les plus fréquents, liens sortants |
revenue | Revenu par canal, source, campagne, pays, page | |
ai | Trafic des assistants IA par assistant, visiteurs IA comparés aux autres |
# les 10 pages les plus vues depuis la France ce mois-ci
curl -G https://globatics.live/api/sites/SITE_ID/stats/breakdown \
-H "Authorization: Bearer $GLOBATICS_KEY" \
--data-urlencode "dim=page" --data-urlencode "limit=10" \
--data-urlencode "period=mtd" --data-urlencode "f=country:is:FR"
# pourquoi le nombre de visiteurs a-t-il changé cette semaine ?
curl -G https://globatics.live/api/sites/SITE_ID/explain \
-H "Authorization: Bearer $GLOBATICS_KEY" \
--data-urlencode "metric=visitors" --data-urlencode "period=7d"Données en direct
curl -N https://globatics.live/api/sites/SITE_ID/live/stream \
-H "Authorization: Bearer $GLOBATICS_KEY"
# event: snapshot data: {"type":"snapshot","snapshot":{…}}
# event: event data: {"type":"event","event":{…}}
# event: counters data: {"type":"counters","counters":{…}} toutes les 5 sTypes de messages : snapshot, visitor.upsert, visitor.leave, event, counters, moment, narration. Les filtres (f=) s’appliquent côté serveur. Un commentaire : ping est envoyé toutes les 15 secondes.
Sessions et visiteurs
Configuration
| Ressource | Points d’accès |
|---|---|
| Sites | GET/POST /api/sites · GET/PATCH/DELETE /api/sites/:siteId |
| Objectifs | GET/POST /api/sites/:siteId/goals · PATCH/DELETE …/goals/:goalId |
| Entonnoirs | GET/POST /api/sites/:siteId/funnels · PATCH/DELETE …/funnels/:funnelId |
| Alertes | GET/POST /api/sites/:siteId/alerts · PATCH/DELETE …/alerts/:alertId · POST …/test |
| Annotations | GET/POST /api/sites/:siteId/annotations · PATCH/DELETE …/:annotationId |
| Partage | POST (enable or rotate) / DELETE /api/sites/:siteId/share |
| État du suivi | GET /api/sites/:siteId/tracking-health |
Pour interroger vos statistiques depuis un agent IA (Claude, ChatGPT, Cursor…), utilisez le serveur MCP.
Export
curl -G https://globatics.live/api/sites/SITE_ID/export \
-H "Authorization: Bearer $GLOBATICS_KEY" \
--data-urlencode "format=jsonl" --data-urlencode "period=30d" -o events.jsonlErreurs
Les erreurs utilisent les codes de statut HTTP et un format JSON unique :
{ "error": { "code": "not_found", "message": "Site not found" } }| Statut | Signification |
|---|---|
| 400 | Paramètre invalide (le message le nomme) |
| 401 | Clé absente ou invalide |
| 403 | Action non autorisée (par exemple une écriture avec un jeton de partage) |
| 404 | Site inconnu, ou site dont vous n’êtes pas propriétaire |
| 429 | Trop de requêtes ; réessayez après le délai indiqué par l’en-tête Retry-After |