Les trois points d’entrée de la collecte embarquable, tels qu’ils répondent aujourd’hui. Ils vivent hors du préfixe /v1 : ce sont des surfaces machine, appelées depuis vos pages ou depuis votre serveur.
/v1
https://messagerie.inovertix.com/api/inocampagne/public
Format d’erreur : { "statusCode", "name", "message" } — identique dans tous les modules de CONTROL.
{ "statusCode", "name", "message" }
Pour le pas-à-pas d’installation, voir Le formulaire d’inscription en 5 minutes.
Contrairement à INOTRACK et INODESK où la clé désigne un site, ici elle désigne une marque — c’est la marque qui porte le consentement, et une même personne peut être inscrite chez l’une et pas chez l’autre.
INOCMP_PUB_…
INOCMP_SEC_…
Authorization
Authorization: Bearer INOCMP_SEC_votre_cle_secrete
X-Inocampagne-Key: INOCMP_PUB_votre_cle_publique
?k=INOCMP_PUB_votre_cle_publique
Le contrôle d’origine se fait par marque : le domaine appelant doit figurer dans CONTROL → INOCAMPAGNE → Collecte.
GET /ping
Le test d’installation. Ne renvoie que le nom de la marque : de quoi confirmer qu’on a branché la bonne clé, rien de plus.
curl -sS "https://messagerie.inovertix.com/api/inocampagne/public/ping?k=INOCMP_PUB_votre_cle_publique"
{ "ok": true, "brand": "Ma marque", "double_opt_in": true }
Débit : 120 requêtes/min par marque.
GET /config
L’habillage du formulaire embarqué : nom, logo, couleur, libellés, mention de consentement, réglages de la popup. Rien de sensible — tout est déjà visible sur votre site.
{ "brand": { "name": "…", "slug": "…", "logo_url": "…", "primary_color": "#2563eb", "double_opt_in": true }, "form": { "title": "Recevez nos nouveautés", "first_name_label": "Prénom", "email_label": "Adresse email", "submit_label": "Je m’inscris", "consent_notice": "En vous inscrivant, vous acceptez de recevoir les emails de …", "success": "Merci ! Vérifiez votre boîte mail : un lien de confirmation vient de vous être envoyé.", "honeypot": "inocampagne_website" }, "popup": { "enabled": false, "scroll_percent": 60, "frequency_days": 30, "title": "…", "message": "…" } }
POST /subscribe
L’inscription. C’est la seule route qui écrit dans la base de profils.
email
first_name
phone
source_url
curl -sS -X POST "https://messagerie.inovertix.com/api/inocampagne/public/subscribe?k=INOCMP_PUB_votre_cle_publique" \ -H "Content-Type: application/json" \ -d '{"email":"awa@exemple.com","first_name":"Awa","source_url":"https://exemple.com/blog"}'
Réponse 202 :
202
{ "accepted": true, "double_opt_in": true, "message": "Merci ! Vérifiez votre boîte mail : un lien de confirmation vient de vous être envoyé." }
Seul un email absent ou syntaxiquement invalide produit un 422 : c’est une information sur la saisie du visiteur, pas sur notre base.
422
Débit : 20 requêtes/min par marque et par IP. La double portée est volontaire : borner la marque seule laisserait un robot unique inonder toute sa base ; borner l’IP seule pénaliserait un site derrière un NAT partagé.
name
401
missing_api_key
malformed_api_key
wrong_module_key
invalid_api_key
revoked_api_key
secret_key_in_url
?k=
403
site_inactive
secret_key_required
origin_not_allowed
429
rate_limit_exceeded