Authentification
L’API REST de Statnive utilise l’authentification WordPress REST standard. Vous pouvez vous authentifier avec des mots de passe d’application, l’authentification par Cookie (pour les utilisateurs connectés), ou tout Plugin d’authentification compatible avec l’API REST WordPress. Les endpoints de lecture requièrent la capacité manage_options ; les endpoints publics de collecte (/hit, /event, /engagement) sont ouverts aux visiteurs non authentifiés afin que le tracker puisse poster.
URL de base
Tous les endpoints sont enregistrés sous le namespace statnive/v1 :
https://yoursite.com/wp-json/statnive/v1/
Endpoints disponibles
Reporting (requièrent manage_options)
GET /summary
Retourne un résumé des indicateurs clés pour une plage de dates donnée.
Paramètres :
from(string, obligatoire) — Date de début au formatYYYY-MM-DD.to(string, obligatoire) — Date de fin au formatYYYY-MM-DD.
GET /sources
Retourne la répartition des sources de trafic par canal.
GET /pages
Retourne les analyses au niveau des pages, triées par nombre de pages vues.
GET /pages/entry
Retourne les principales pages d’entrée (landing) pour une plage de dates.
GET /pages/exit
Retourne les principales pages de sortie pour une plage de dates.
GET /realtime
Retourne le nombre actuel de visiteurs actifs et le flux récent des pages vues.
GET /utm
Retourne les répartitions agrégées des paramètres UTM pour une plage de dates.
GET /events
Retourne les comptages agrégés des événements personnalisés pour une plage de dates.
GET /events/{name}
Retourne le détail d’un événement nommé.
GET /dimensions/{type}
Retourne les répartitions agrégées pour une dimension unique ({type} est l’un des types de dimensions pris en charge, par exemple country, device, browser, language).
Chiffre d’affaires WooCommerce (v1.0.0+, requièrent manage_options)
Tous les endpoints de chiffre d’affaires acceptent une plage de dates from + to (YYYY-MM-DD). Les endpoints paginés acceptent en plus un paramètre limit (1 à 200, par défaut 25 ; products est à 10 par défaut, max 100).
GET /revenue/wc-status
Retourne l’état d’activation de WooCommerce, le statut HPOS, le statut d’attribution et la progression du remplissage rétroactif.
POST /revenue/backfill
Déclenche l’import asynchrone des commandes historiques via Action Scheduler (ou repli WP-cron).
GET /revenue/summary
Retourne les 5 KPI : commandes, chiffre d’affaires brut, chiffre d’affaires net, panier moyen, total des remboursements + taux, taxes + livraison. Le découpage des dates utilise COALESCE(date_paid_gmt, date_created_gmt) (v1.1.0+) afin que les renouvellements d’abonnement et les commandes à paiement différé tombent le jour où le paiement a été encaissé.
GET /revenue/timeseries
Retourne le chiffre d’affaires quotidien et les nombres de commandes pour la plage de dates.
GET /revenue/by-channel
Retourne les commandes, le chiffre d’affaires et le panier moyen ventilés par les 8 canaux de trafic de Statnive (Direct, Assistants IA, Recherche organique, Réseaux sociaux, E-mail, Référent, Recherche payante, Social payant).
GET /revenue/by-utm
Retourne le chiffre d’affaires ventilé par utm_source, utm_medium et utm_campaign (paginé).
GET /revenue/by-landing
Retourne le chiffre d’affaires ventilé par page d’atterrissage d’entrée (paginé).
GET /revenue/products
Retourne les meilleurs produits par unités vendues et chiffre d’affaires, remboursements appliqués, variations regroupées sous le parent (paginé ; limit=10 par défaut).
GET /revenue/funnel
Retourne l’entonnoir Panier → Achat en 4 étapes (Produit vu → Ajouté au panier → Commande commencée → Achat finalisé). La v1.1.0+ affiche le % de conversion par étape, le « % global » étant calculé sur le dénominateur de l’étape la plus large.
GET /revenue/refunds
Retourne la tendance du taux de remboursement et les produits les plus remboursés.
GET /revenue/coupons
Retourne les utilisations de codes promo : code, nombre, montant de remise et chiffre d’affaires net après remise (paginé).
Conseiller Ask me! (v1.1.0+, requièrent manage_options)
GET /advisor/questions
Retourne l’inventaire complet des questions Ask me! (116 questions × 10 catégories) avec les libellés de catégorie traduits, les marqueurs d’offre (free / paid), viz_hint et un tableau searchable[] bilingue.
POST /advisor/answers
Résout un lot d’identifiants de questions sur les données du site courant. Corps : { "ids": ["q2","q41",…], "from": "YYYY-MM-DD", "to": "YYYY-MM-DD" }. Retourne une enveloppe de réponse par identifiant (statut ok avec une charge utile viz, coming_soon ou error).
GET /advisor/preferences
Retourne les identifiants de questions épinglées par l’utilisateur courant depuis wp_usermeta (5 épinglages par défaut si aucun n’est défini : q2, q41, q23, q72, q81).
PUT /advisor/preferences
Met à jour les identifiants de questions épinglées par l’utilisateur courant. Ignore les identifiants inconnus et applique le plafond MAX_PINS = 10.
Configuration (requièrent manage_options)
GET /settings
Retourne la configuration actuelle du Plugin.
PUT /settings
Met à jour la configuration du Plugin. Accepte un corps JSON limité aux clés autorisées (tracking_enabled, respect_dnt, respect_gpc, consent_mode, retention_days, retention_mode, excluded_ips, excluded_roles, geoip_enabled, maxmind_license_key).
GET /diagnostics
Retourne un instantané de l’état du Plugin (tables BDD, statut GeoIP, planification cron, environnement).
POST /self-test
Exécute la suite d’auto-tests in-process.
POST /cron/run
Déclenche manuellement les tâches cron planifiées de Statnive.
POST /diagnostics/enable-dbip-city
Active le repli DB-IP City pour les recherches GeoIP.
GET /privacy-audit
Retourne un résumé d’audit de confidentialité.
Collecte du tracker (publics)
Ces endpoints reçoivent les écritures du tracker fourni avec le Plugin et sont volontairement ouverts pour que les visiteurs non authentifiés puissent poster pages vues et événements :
POST /hit
Enregistre un hit de page vue.
POST /event
Enregistre un événement personnalisé.
POST /engagement
Enregistre une mise à jour d’engagement de session (profondeur de défilement, temps passé sur la page).
Limitation du débit
Les endpoints de collecte du tracker (/hit, /event, /engagement) sont protégés par un throttling au niveau de l’application contre les clients abusifs. Les endpoints de reporting s’appuient sur le comportement standard de l’API REST WordPress — encadrez tout polling automatisé intensif d’une couche de cache de votre côté.