Documentation API

Référence des endpoints publics pour intégrer MyCentrae à votre site : sonde, capture de formulaires, commandes injectées et analytics.

Base : https://www.mycentrae.fr Auth : Bearer MYCENTRAE_SK_… Format : JSON

Authentification

Toutes les requêtes sortantes (depuis votre site, via la sonde) utilisent une clé d'API au format MYCENTRAE_SK_…. Vous la trouvez dans Sites & Sonde du CRM.

Deux modes d'envoi sont acceptés :

// 1. Header HTTP (recommandé)
Authorization: Bearer MYCENTRAE_SK_xxxxxxxx

// 2. Query string (utile pour sendBeacon, image pixels)
?key=MYCENTRAE_SK_xxxxxxxx

Sonde MyCentrae

Tag à coller avant la balise </body> de votre site. Asynchrone, < 25 Ko, sans dépendance.

<script async src="https://www.mycentrae.fr/static/mycentrae-probe.js"
        data-mycentrae-key="MYCENTRAE_SK_xxxxxxxx"
        data-mycentrae-endpoint="https://www.mycentrae.fr/api/connect"></script>

La sonde fait :

  • Détection automatique des liens, formulaires, navbar, structure des pages.
  • Collecte de pageviews (anonymisée, RGPD).
  • Capture des soumissions de formulaires (lead → contact CRM).
  • Exécution des commandes envoyées par le CRM (widgets, bannières, redirections).

Capture de leads

La sonde envoie automatiquement chaque soumission de formulaire vers cet endpoint. Vous pouvez aussi appeler l'endpoint directement.

POST /api/connect
ChampTypeDescription
emailstringRequis. Identifie le contact.
site_urlstringOrigine du site (ex. https://exemple.fr).
first_namestringOptionnel.
last_namestringOptionnel.
phonestringOptionnel.
source_formstringID du formulaire ou nom de la source.
curl -X POST https://www.mycentrae.fr/api/connect \
  -H "Authorization: Bearer MYCENTRAE_SK_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"email":"alice@exemple.fr","site_url":"https://exemple.fr","source_form":"contact"}'

Commandes injectées

Le CRM peut envoyer des commandes (widget, bannière, redirection) que la sonde applique sur votre site. Polling automatique : 10 s pendant 2 min après chargement, puis 60 s.

GET /api/probe/commands?key=…&site_url=…

Réponse : tableau de commandes en attente ou persistantes.

[
  {
    "id": 42,
    "type": "append",            // inject | inject-prepend | append | banner | redirect
    "zone": "body",              // header | navigation | body | hero | …
    "html": "<div>…</div>",
    "meta": "blog-floating-widget",
    "persistent": true,
    "page": "*"                  // pathname or wildcard
  }
]

Confirmation d'exécution :

POST /api/probe/commands/ack — body : {"ids": [42]}

Analytics & pageviews

POST /api/analytics/collect

La sonde envoie chaque pageview avec : visitor_id, session_id, path, title, referrer, viewport, language, user_agent, timestamp.

Le CRM agrège ces évènements dans Analytics (sources, géo, conversion).

Blog & sitemaps

Chaque blog publié expose automatiquement un sitemap XML. Ajoutez-le à votre fichier robots.txt ou à un sitemap-index pour une indexation propre.

GET /{slug}/sitemap.xml

Articles publics :

GET /{slug} — page d'accueil du blog
GET /{slug}/{article-slug} — article

Erreurs & retries

Réponses standard JSON. Les codes utiles :

CodeCasConduite
200OK
401Clé invalide ou manquanteVérifier Authorization ou ?key=.
404Site introuvableVérifier que le site est connecté dans le CRM.
503DB en cours de chargement (boot)Réponse contient {"retry": true} — ré-essayer après 1 s.