Français
Transformer
Définit des champs dans les données de travail à partir de textes qui acceptent des expressions {{ }}, avec quelques mises en forme.
Le nœud Transformer pose des champs dans les données de travail. Chaque ligne a un nom de champ, une valeur templatable et une mise en forme facultative (espaces retirés, MAJUSCULES, minuscules). Utilisez-le pour donner un nom court et stable à une valeur construite à partir de plusieurs sources, pour normaliser une valeur avant de la comparer, ou pour préparer les champs qu’un nœud suivant, une table ou un workflow appelé liront.
Il ne calcule rien au-delà des expressions : la valeur est d’abord rendue, puis la mise en forme s’applique. Les mises en forme sont les mêmes que les filtres trim, upper et lower : {{ email.subject | upper }} dans une valeur donne le même résultat. Pour calculer une date, utilisez Calculer une date.
En bref
- Type :
data.transform· version 1 - Catégorie : Données
- Nature : Étape — s’exécute pendant une exécution
- Effet : Sans effet externe (
none) — rien n’est écrit hors de Mankomail ; rejouable sans risque - Exige un mail porteur : Non
- Connexion : Aucune
- Entrées :
main - Sorties :
main
Paramètres
assignments
Champs — Chaque ligne pose un champ dans les données de travail, réutilisable en aval avec {{ data.… }}.
- Type : Liste d’éléments (
collection) - Requis : Non
- De 1 à 50 éléments
- Chaque élément a :
key— Nom du champ- Type : Texte (
string) - Requis : Oui
- 200 caractères au plus
- Exemple :
commande.numero - Expressions :
{{ }}refusé
- Type : Texte (
value— Valeur- Type : Texte (
string) - Requis : Non
- Défaut :
""(vide) - 10000 caractères au plus
- Type : Texte (
operation— Mise en forme- Type : Un choix (
options) - Requis : Non
- Défaut :
none - Options :
none— Aucunetrim— Espaces retirésupper— MAJUSCULESlower— minuscules
- Type : Un choix (
Sorties
main
Données produites
Ce que ce nœud ajoute aux données de l’exécution, et comment le lire dans une expression. <step> désigne la clé de l’étape : le nom du nœud ramené à un identifiant (voir Données et expressions).
{{ data.<step>.<field> }}—string. Un champ par ligne, au nom donné par « Nom du champ », qui contient la valeur rendue après mise en forme. Les valeurs sont toujours du texte.{{ data.<step>.<a>.<b> }}—object. Un nom de champ pointé construit des objets imbriqués :commande.numerose lit{{ data.<step>.commande.numero }}, et{{ data.<step>.commande }}est l’objet qui le contient.
Example
Préparer les champs d’une fiche CRM à partir d’une étape Extraire nommée Extraire. Nommez le nœud Transformer Fiche et ajoutez les lignes :
key: client.email value: {{ email.from.email }} operation: lower
key: client.nom value: {{ data.extraire.nom }} operation: trim
key: reference value: {{ data.extraire.reference }} operation: upper
key: source value: email operation: noneEn aval, {{ data.fiche.client.email }} contient l’adresse de l’expéditeur en minuscules et {{ data.fiche.reference }} la référence en majuscules.
Tips
- Les valeurs sont du texte. Le nœud enregistre la chaîne rendue ; un nombre ou une liste issus d’une expression arrivent sous forme de texte (listes et objets en JSON).
- Noms de champs. Chaque segment entre deux points doit commencer par une lettre,
_ou$et ne contenir que des lettres, des chiffres,_et$, ou bien être un nombre.__proto__,prototypeetconstructorsont refusés. Un seul nom inutilisable fait échouer toute l’étape avecnode_invalid_param, et rien n’est écrit. Les lettres accentuées ne sont pas acceptées dans les noms de champs. - Le nom de champ ne peut pas contenir d’expression
{{ }}: les nœuds en aval doivent savoir quels champs existent. - L’ordre des lignes compte. Quand deux lignes écrivent le même chemin, la dernière l’emporte :
client = xaprèsclient.email = yremplace l’objet par le textex, et l’inverse remplacexpar un objet. - Une ligne sans nom de champ est ignorée.