Gestion des variables
Pendant l'exécution du flux, les données d'entrée et les données intermédiaires sont situées dans des variables.
Types de variables
Ecosystem propose différents types de variables :
- Variables d'entrée : Pour accéder aux données envoyées par le déclencheur
- Variables de contexte : Pour accéder aux données entre les nœuds d'un flux
- Variables de dictionnaire : Pour accéder aux données différentes en fonction de l'environnement
Variables d'entrée
Certains déclencheurs permettent de transmettre des données en entrée, et d'y accéder pendant l'exécution du flux :
- Déclencheur par fichier : Accéder aux données du fichier qui a déclenché l'exécution
- Déclencheur par requête HTTP : En envoyant la requête, passez des informations en les écrivant dans le body
Accéder à une variable d'entrée
Il est possible d'accéder aux données transmises par le déclencheur depuis n'importe quel nœud d'un flux. Les valeurs sont contenues dans l'objet data.
Exemple :
Un flux est déclenché par appel API, avec dans le body les informations suivantes :
curl --location --request POST 'https://apizr.io/test' \
--header 'Content-Type: application/json' \
--data '{
"start_date":"2025-09-01",
"end_date":"2025-09-30"
}'
Pour récupérer la valeur de start_date dans un nœud code de votre flux, utilisez la syntaxe suivante :
data.start_date
En dehors des nœuds acceptant du code, l'utilisation des doubles accolades {{ }} est nécessaire :
{{data.start_date}}
Si votre donnée d'entrée n'est pas en JSON, elle sera automatiquement parsée ! Vous pouvez donc traiter directement vos données en JSON dans vos nœuds sans avoir à faire de conversion manuelle.
Variables de contexte
Enregistrer les variables dans le contexte permet d'accéder à leur valeur dans d'autres nœuds.
Les variables de contexte sont similaires à la déclaration de variables dans du code traditionnel :
- Code classique :
const myVar = 'toto' - Dans Ecosystem :
context.myVar = 'toto'
Déclarer une variable
Pour déclarer une variable de contexte, dans un nœud code, utiliser la syntaxe context.myVar = 'toto' pour déclarer une variable.
// exemple de déclaration de variable
context.myVar = 'toto'
Utilisez la syntaxe classique const myVar = 'toto' si vous n'avez pas besoin d'accéder à la variable dans d'autres nœuds. Cela améliore les performances en évitant de stocker des variables inutiles dans le contexte global.
Accéder à une variable de contexte
Dans un nœud acceptant du code
Il est possible de lire une variable de contexte dans le nœud code où elle a été déclarée, et dans tous les nœuds suivants.
// exemple dans un nœud de condition
return context.myVar === 'titi'
En dehors des nœuds acceptant du code
En dehors des nœuds acceptant du code, l'utilisation des doubles accolades {{ }} est nécessaire.
Exemple d'utilisation dans un nœud d'appel HTTP :
https://api.example.com/users/{{context.userId}}
Modifier la valeur d'une variable
La modification de valeur d'une variable est identique à la déclaration.
// déclaration de la variable
context.myVar = 'toto'
// modification de la variable, plus loin dans le code ou dans un autre nœud
context.myVar = 'titi'
// myVar vaudra alors 'titi'
Variables de dictionnaire
Les variables de dictionnaire permettent d'accéder à des valeurs dynamisées selon l'environnement d'exécution (dev, staging, production). Elles sont particulièrement utiles pour les appels vers des API externes ou l'utilisation de serveurs (SFTP, etc.).
Format : une valeur de dictionnaire s'exprime au format {{dictionaries.nomDuDico.cleDuDico}}, ce qui permet d'adapter la valeur à l'environnement sans modifier le flux.
Déclarer une variable
Pour créer et renseigner des variables de dictionnaire, consultez le module Dictionnaires.
Accéder à une variable
Vous pouvez accéder à la valeur d'une variable de dictionnaire depuis n'importe quel nœud d'un flux.
Dans un nœud acceptant du code
// exemple dans un nœud de condition
return dictionaries.my_service.my_variable === 'titi'
En dehors des nœuds acceptant du code
En dehors des nœuds acceptant du code, l'utilisation des doubles accolades est nécessaire :
{{dictionaries.my_service.my_variable}}