Brancher un connecteur
Plutôt que de déposer un fichier à la main, votre application, un scénario n8n ou Make peut envoyer les journaux directement à Conforms. Une fois branché, l'envoi est automatique et rejouable sans risque de doublon.
Deux prérequis, une validation.
Il vous faut une clé d'API (créée par un administrateur dans Paramètres → « Surveillance continue » — elle n'est affichée qu'une seule fois) et un système IA déclaré dans l'application. Au premier envoi d’une nouvelle structure, Conforms vous propose la correspondance des colonnes. Vous la vérifiez, pouvez la corriger, puis la confirmez avant toute utilisation automatisée. Seule exception : les enregistrements de la passerelle Hermes, envoyés tels quels mais sans leurs en-têtes request.headers, sont un format reconnu d’office. Ils n’ont pas de correspondance à confirmer et sont validés automatiquement lorsqu’aucune ligne n’a échoué. N’envoyez que les nouveaux enregistrements : un même envoi rejoué n’est pas compté deux fois, mais un fichier renvoyé avec des lignes en plus l’est.
Depuis votre agent. Le branchement peut aussi être fait par votre agent : un administrateur copie le prompt du bloc « Connecter votre agent » (Paramètres → « Surveillance continue ») et le donne à Claude Code, Cursor, Hermes, n8n ou à l'assistant qui développe votre application. L'agent suit alors le guide technique pour agents : il installe un export. Le prompt ne contient pas votre clé, et l'agent a pour consigne de ne jamais la lire ni de faire passer vos journaux par la conversation.
Le contrat
- Point d'entrée
POST https://conforms.fr/api/ingest - Authentificationen-tête
Authorization: Bearer VOTRE_CLE - Corpsvos journaux au format attendu (objet plat ; seule exception, les enregistrements de la passerelle Hermes, sans mélange avec d'autres formats — les exports bruts des autres fournisseurs sont refusés et se déposent par le téléversement dans l'application) : JSONL — un objet par ligne — ou tableau JSON.
timestampRFC 3339 obligatoire. Tout enregistrement qui porterequest.headersest refusé. - Système cible
?systeme=<id>— facultatif si votre organisation n'a qu'un système IA déclaré. - Bornes25 Mo par envoi, 4 Mo par ligne, 60 envois par heure.
- Rejeu sans doublonrenvoyer exactement le même corps ne crée rien : la réponse redonne le même identifiant d'envoi. Votre scénario peut réessayer sur erreur réseau sans précaution.
- Réponses
202accepté ·200déjà reçu ·400corps refusé (le message dit quoi corriger) ·401clé invalide ou révoquée ·429débit dépassé. - Suivi
GET https://conforms.fr/api/ingest/<uploadId>(même clé) : statut, nombre de lignes lues, message d'erreur éventuel.
Exemple de corps (tableau JSON) :
[
{"timestamp":"2026-05-02T08:15:23+02:00","agentId":"assistant-sav","eventType":"question","input":"Où en est ma commande 48721 ?","output":"Votre commande a été expédiée hier.","model":"gpt-4o-mini"},
{"timestamp":"2026-05-02T08:17:41+02:00","agentId":"assistant-sav","eventType":"action","input":"Annule ma commande 48722","output":"Commande annulée.","model":"gpt-4o-mini"}
]Préréglage n8n — nœud « HTTP Request »
Dans votre scénario, ajoutez un nœud HTTP Request après l'étape qui produit vos enregistrements, et réglez-le ainsi :
- Method
POST - URL
https://conforms.fr/api/ingest - Authentication
Generic Credential Type→Header Auth. Dans la credential :Name=Authorization,Value=Bearer VOTRE_CLE. - Send Bodyactivé,
Body Content Type=JSON; le corps est votre tableau d'objets plats (une expression n8n peut le construire depuis les items du scénario).
Alternative si vous produisez déjà du JSONL : Body Content Type = Raw et Content Type = application/x-ndjson.
Préréglage Make — module « HTTP », action « Make a request »
- URL
https://conforms.fr/api/ingest - Method
POST - Headersajouter un en-tête :
Name=Authorization,Value=Bearer VOTRE_CLE. - Body content type
application/JSON, corps = votre tableau d'objets plats (saisieJSON string). - Parse response
Yes
Depuis un script — curl
curl -X POST "https://conforms.fr/api/ingest" \ -H "Authorization: Bearer VOTRE_CLE" \ -H "Content-Type: application/x-ndjson" \ --data-binary @journaux.jsonl
Cadence : envoyez par lots, de préférence une fois par jour, plutôt qu'un appel par échange — chaque envoi crée un upload et, si le système est en parcours automatique, une analyse ; la limite de 60 envois par heure est faite pour des lots. En cas de refus 400, le message d'erreur est écrit pour être transmis tel quel à la personne qui a configuré le scénario.
Les libellés d'interface n8n et Make ci-dessus ont été relevés dans les documentations officielles le 2026-08-14 (n8n : nœud « HTTP Request » et credential « Header Auth », docs.n8n.io ; Make : module « HTTP », apps.make.com). Ces produits évoluent : en cas de divergence, la documentation de l'éditeur fait foi.