Déclencheur Fichier
Le type Fichier (File à l'écran) lance un flux lorsqu'un fichier est envoyé à Ecosystem. Le flux lit et traite le contenu du fichier, dont les données sont exposées dans data et context :
{
"data": { "filename": "commandes-2026-07-20.csv" },
"context": { "source": "FTP_SFTP" }
}
Paramètres
| Paramètre | Type | Obligatoire | Défaut | Description |
|---|---|---|---|---|
| Nom | Chaîne | ✅ | — | Libellé du déclencheur dans les listes. |
| Chemin (slug) | Chaîne | ✅ | — | Identifiant de l'URL, généré depuis le nom. |
| Tags | Liste | ❌ | — | Étiquettes pour la recherche et les filtres. |
| Description | Chaîne | ✅ | — | Précise le rôle du déclencheur pour l'équipe. |
| Source | DIRECT_UPLOAD / FTP_SFTP / EMAIL | ✅ | — | Mode de réception du fichier. |
| Format du fichier | CSV / XLS / XML / JSON / RAW | ✅ | — | Format de parsing appliqué au fichier. |
Précisez les extensions de fichiers attendues pour éviter de déclencher le flux sur des fichiers non pertinents.
Sources d'envoi
Téléversement direct
Envoyez le fichier depuis l'onglet Envoyer des fichiers du déclencheur. Chaque fichier téléversé déclenche le flux.
FTP / SFTP
Le déclencheur surveille un répertoire distant. La connexion se configure avec :
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| Hôte | Chaîne | ✅ | Adresse IP ou nom de domaine du serveur FTP. |
| Port | Nombre | ✅ | Port d'écoute des connexions FTP. |
| Identifiants FTP/SFTP | PASSWORD / PRIVATE_KEY | ✅ | PASSWORD (username/password) ou PRIVATE_KEY (username/privateKey/passphrase). |
Répertoire de travail (workingPath) | Chaîne | ✅ | Dossier surveillé. |
Répertoire d'archivage (archivePath) | Chaîne | ✅ | Dossier de destination après lecture. |
Horodatage dans l'archive (archiveWithTimestamp) | Booléen | ❌ | Ajoute un horodatage au nom du fichier archivé. |
Écrasement dans l'archive (overwriteArchive) | Booléen | ❌ | Autorise l'écrasement dans l'archive. |
| Tester la connexion | Bouton | ❌ | Teste la connexion avec les accès configurés sur un environnement choisi. |
| Intervalle de vérification (CRON) | Chaîne | ❌ | Intervalle sur lequel la récupération des fichiers s'effectue (valeur par défaut : toutes les minutes). |
Planification (cronConfig) | Chaîne | ❌ | Planification de récupération des fichiers. |
Fuseau horaire (timezone) | Chaîne | ❌ | Fuseau horaire appliqué à la planification CRON. |
Pour construire la planification de récupération, utilisez le générateur ci-dessous puis reportez l'expression dans le champ correspondant :
0 9 * * *Par e-mail
Envoyez un e-mail avec des fichiers joints : Ecosystem analyse les pièces jointes pour extraire les données. Il est conseillé de renseigner une liste blanche d'expéditeurs : Ecosystem ne prend en compte les fichiers que s'ils proviennent d'adresses inscrites dans cette liste. L'adresse e-mail du déclencheur est communiquée après déploiement : cliquez sur le tag portant le nom de l'environnement, l'adresse s'affiche dans une pop-in.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
Liste blanche des expéditeurs (sendersEmailsWhiteList) | Liste | ❌ | Liste blanche des expéditeurs autorisés. |
Autoriser l'envoi sans pièce jointe (noFilesAllowed) | Booléen | ❌ | Autorise l'envoi sans pièce jointe. |
Options par format
CSV
| Paramètre | Description |
|---|---|
Délimiteur (delimiter) | Caractère séparateur (défaut : ,). |
Suppression des espaces (trim) | Retire les espaces blancs des noms de colonnes. |
Ignorer les lignes vides (skipEmptyLines) | Ignore les lignes vides. |
Nombre de lignes à ignorer (skipNumberOfLines) | Nombre de lignes à ignorer avant lecture. |
En-têtes forcés (headers) | En-têtes forcés pour remplacer ceux du fichier. |
Clé de regroupement des données (dataGroupByKey) | Clé de regroupement logique des données lues. |
Mode de traitement (processingMode) | PROCESS_FILE_PER_LINE ou PROCESS_WHOLE_FILE (défaut : PROCESS_WHOLE_FILE). |
Intervalle de traitement par ligne (processingIntervalInLinesMode) | Délai en millisecondes entre chaque ligne en mode ligne-à-ligne. |
XLS
| Paramètre | Description |
|---|---|
Nom de la feuille (sheetName) | Nom de la feuille à lire (première feuille par défaut). |
Ignorer les lignes vides (skipEmptyLines) | Ignore les lignes vides. |
Nombre de lignes à ignorer (skipNumberOfLines) | Nombre de lignes à ignorer avant lecture. |
En-têtes forcés (headers) | En-têtes forcés pour remplacer ceux du fichier. |
Clé de regroupement des données (dataGroupByKey) | Clé de regroupement logique des données lues. |
Mode de traitement (processingMode) | PROCESS_FILE_PER_LINE ou PROCESS_WHOLE_FILE (défaut : PROCESS_WHOLE_FILE). |
Intervalle de traitement par ligne (processingIntervalInLinesMode) | Délai en millisecondes entre chaque ligne en mode ligne-à-ligne. |
XML
Le flux reçoit une conversion automatique en JSON du fichier XML reçu.
| Paramètre | Description |
|---|---|
Chemin d'extraction (dataExtractionPath) | Chemin d'extraction (format jsonPath). En mode complet (PROCESS_WHOLE_FILE), $ pour traiter tout le fichier depuis le début, ou le nom d'une section particulière. En mode lignes (PROCESS_FILE_PER_LINE), le nom des lignes — ex. orders.order pour des balises order dans un tableau orders. |
Mode de traitement (processingMode) | PROCESS_FILE_PER_LINE ou PROCESS_WHOLE_FILE. |
Intervalle de traitement par ligne (processingIntervalInLinesMode) | Délai en millisecondes entre chaque ligne en mode ligne-à-ligne. |
Mode de parsing (parsingMode) | NATIVE (défaut) ou DETAILED. |
Ignorer les lignes vides (skipEmptyLines) | Ignore les lignes vides. |
Nombre de lignes à ignorer (skipNumberOfLines) | Nombre de lignes à ignorer avant lecture. |
JSON
| Paramètre | Description |
|---|---|
Ignorer les lignes vides (skipEmptyLines) | Ignore les lignes vides. |
Chemin d'extraction (dataExtractionPath) | Chemin d'extraction des données JSON. |
Mode de traitement (processingMode) | PROCESS_FILE_PER_LINE ou PROCESS_WHOLE_FILE. |
Intervalle de traitement par ligne (processingIntervalInLinesMode) | Délai en millisecondes entre chaque ligne en mode ligne-à-ligne. |
RAW
Pour les données issues d'un fichier texte brut, le contenu du fichier est transmis tel quel ; si le fichier est ASCII ou binaire, il est envoyé en base64. Aucune option de parsing.
Mode de traitement
Quel que soit le format d'entrée, deux modes de traitement sont possibles :
- Fichier en entier : une seule exécution, avec le fichier dans sa totalité.
- Fichier par ligne : une exécution par ligne du fichier ; les données d'entrée de chaque exécution représentent la ligne correspondante.
L'intervalle de traitement par ligne ajoute un temps d'attente entre deux lignes, utile quand le destinataire des lignes (base de données, API…) ne peut pas absorber les lignes à vitesse maximale.
Entrée
Le déclencheur reçoit un fichier depuis l'une des sources configurées (téléversement, répertoire FTP/SFTP surveillé, pièce jointe e-mail). Le contenu est parsé selon le Format du fichier configuré — par exemple, un CSV :
orderId,status
CMD-4821,new
CMD-4822,new
Sortie
Le flux reçoit le contenu parsé du fichier dans data — le fichier complet (mode fichier en entier) ou la ligne courante (mode fichier par ligne) — avec les métadonnées dans context :
| Propriété | Description |
|---|---|
data | Contenu parsé du fichier (objet JSON) ou ligne courante selon le mode de traitement. |
data.filename | Nom du fichier source. |
context.source | Source d'envoi (DIRECT_UPLOAD, FTP_SFTP, EMAIL). |
{
"data": { "orderId": "CMD-4821", "status": "new" },
"context": { "source": "FTP_SFTP" }
}
Erreurs
- Échec de parsing — un fichier qui ne correspond pas au format configuré fait échouer l'exécution ; l'échec est géré par le nœud On Error connecté.
- Double traitement — le déclencheur surveille en continu le répertoire configuré, détecte les nouveaux fichiers et évite de traiter deux fois le même fichier.
Limites
- Par e-mail : 5 fichiers maximum par e-mail, 10 Mo par fichier maximum. Chaque fichier envoyé génère une trace distincte.
- Mode ligne par ligne : l'intervalle de traitement par ligne (
processingIntervalInLinesMode) ajoute un délai configurable entre chaque ligne.
Exemple
Traitement de fichiers CSV depuis un SFTP : créez un déclencheur de type Fichier avec une source FTP_SFTP pointant vers /uploads/commandes, associez un flux qui lit, parse et traite chaque ligne, puis archive le fichier traité. Après déploiement, le déclencheur surveille automatiquement le répertoire.
Voir aussi
- Nœud Déclencheur — données reçues pour un déclencheur Fichier
- Nœud FTP — opérations fichier dans les flux
- Créer un déclencheur
- Déployer un déclencheur