Référence

Lancer un flux par API

Le déclencheur Point d'entrée API : une adresse, une clé, des données JSON, XML, CSV, formulaire ou texte, et les champs que vous déclarez un à un.

4 min de lectureMis à jour le 17 octobre 2026

Un flux Maillon peut démarrer quand un autre logiciel l'appelle : un site de commande, un outil métier, un script. Le déclencheur Point d'entrée API donne au flux une adresse et une clé. Il lit les données reçues dans le format que vous choisissez et en extrait les champs que vous avez déclarés.

Mettre en place le point d'entrée

Choisir le déclencheur

Dans l'éditeur de flux, cliquez sur le déclencheur et choisissez Point d'entrée API, puis enregistrez le flux : son adresse apparaît.

Choisir le format

JSON, XML, CSV (avec une ligne d'en-tête, séparateur détecté ou choisi, jusqu'à 500 colonnes et 20 000 lignes) ou formulaire, ou bien du texte brut. Le corps de la requête est lu dans ce format, quel que soit son Content-Type.

Coller un exemple

Collez des données réelles dans Exemple de données reçues. Maillon s'en sert pour proposer les chemins, afficher la valeur lue pour chaque champ et lancer le bouton Tester.

Déclarer les champs

Ajoutez un à un les champs que le flux attend : leur nom, où les lire (corps de la requête, paramètre de l'adresse ou en-tête HTTP), leur chemin, leur type, s'ils sont obligatoires et leur valeur par défaut.

Créer la clé et activer le flux

Cliquez sur Créer la clé. Elle n'est affichée qu'une fois : copiez-la dans le logiciel qui appelle. Activez ensuite le flux.

Éditeur de flux de la console : le déclencheur Point d'entrée API ouvert, avec l'exemple de données reçues et la correspondance des champs déclarés.
Les champs déclarés deviennent des références utilisables dans les étapes suivantes.

Appeler le point d'entrée

curl -X POST "https://api.maillon.dev/hooks/flows/in/mfe_…" \
  -H "Authorization: Bearer mfk_…" \
  -H "Content-Type: application/json" \
  --data-binary @commande.json

La clé se transmet dans l'en-tête Authorization: Bearer ou X-Maillon-Key, jamais dans l'adresse. Le corps est limité à 1 Mo. Les fichiers exportés depuis Windows (encodage Windows-1252) sont acceptés.

Une clé par point d'entrée

Avec la clé, on peut lancer le flux : gardez-la avec vos autres secrets. En cas de doute, cliquez sur Renouveler la clé : l'ancienne cesse aussitôt de fonctionner.

Déclarer les champs

Chaque champ devient une donnée utilisable dans les étapes suivantes avec le bouton { }, sous la forme trigger.data.<nom>. Les données reçues restent aussi disponibles en entier (trigger.body), comme les paramètres de l'adresse (trigger.query).

FormatExemple de cheminCe qui est lu
JSONcommande.client.codeLa valeur de code dans client
JSONcommande.lignes.0.refLa référence de la première ligne
XMLcommande.@numeroL'attribut numero de <commande>
XMLcommande.ligne (type Liste)Toutes les lignes, même s'il n'y en a qu'une
CSV0.Code clientLa colonne « Code client » de la première ligne
CSVchemin vide (type Liste)Toutes les lignes du fichier
FormulaireclientLe champ client du formulaire
TypeValeurs acceptées
TexteTout texte ou nombre
Nombre1840.5, 1840,50, 1 840,50
Nombre entier12
Oui / nontrue, false, 1, 0, oui, non, yes, no, vrai, faux
Date2026-10-05, 05/10/2026 ou une date et heure ISO 8601
Liste, ObjetUne liste ou un objet du document reçu

Les en-têtes qui transportent la clé ou une session (Authorization, X-Maillon-Key, Cookie) ne peuvent pas être lus par un flux.

Réponses

CodeSignification
202Données acceptées, le flux s'exécute en arrière-plan : { "accepted": true, "run": "…" }
200Avec Attendre le résultat : { "run": "…", "status": "succeeded", "error": null, "result": … }, où result est le résultat de la dernière étape. Un flux en échec répond aussi 200, avec "status": "failed" et le message d'erreur. Au-delà de 25 secondes, la réponse est un 202.
400ENDPOINT_PAYLOAD_INVALID : les données ne sont pas lisibles dans le format choisi (JSON ou XML invalide, CSV mal fermé ou de plus de 500 colonnes ou 20 000 lignes, déclaration DOCTYPE).
401ENDPOINT_UNAUTHORIZED : adresse inconnue, clé absente ou invalide.
409FLOW_PAUSED : le flux est en pause.
413Corps de plus de 1 Mo.
422ENDPOINT_FIELDS_INVALID : des champs déclarés manquent ou n'ont pas le bon type. details les liste un à un (field, code : missing ou invalid, expected). Le flux ne démarre pas.
429Trop d'appels (120 par minute et par adresse IP).

Tester sans appeler

Le bouton Tester de l'éditeur lit l'exemple avec le format et les champs déclarés, comme un vrai appel. Les champs lus dans un paramètre de l'adresse ou un en-tête restent vides pendant un test.

Chaque appel crée une exécution visible dans l'onglet Exécutions du flux, avec les données reçues et le résultat de chaque étape, conservés 30 jours.