Comment utiliser les fonctions pour le mapping des attributs ?
Lors de l’exportation de données produit vers un webshop, il arrive que les attributs bruts du PIM ne correspondent pas au format requis. Pour y remédier, vous pouvez utiliser des fonctions afin de transformer vos données avant qu’elles ne soient mappées.
Cet article explique comment fonctionnent ces fonctions, comment les créer, et fournit des exemples pratiques que vous pouvez copier et utiliser directement.
Qu’est-ce qu’une fonction ?
Les fonctions vous permettent d’appliquer des transformations à vos données afin qu’elles répondent aux exigences du webshop. Vous pouvez nettoyer du texte, fusionner des champs, appliquer de la logique, convertir des unités, et bien plus encore.
Voici les fonctions actuellement prises en charge :
CONCAT
— Fusionne plusieurs attributs en une seule chaîneFILTER
— Filtre une liste selon une conditionIF
— Renvoie la valeur A si une condition est vraie, sinon la valeur BIFBLANK
— Renvoie une valeur par défaut si un attribut est videJOIN
— Joint des attributs avec un séparateur (comme une virgule)NOT
— Renvoie l’opposé d’une conditionOR
— Renvoie vrai si au moins une condition est vraieAND
— Renvoie vrai uniquement si toutes les conditions sont vraiesREPLACE
— Remplace une partie d’une chaîne de texteSUBSTITUTE
— Remplace toutes les occurrences d’une sous-chaîneSEARCH
— Renvoie la position d’une sous-chaîne dans un texteCONTAINS
— Vérifie si une chaîne contient un mot-cléConvertMassUnit
— Convertit d’une unité de masse à une autreConvertMetricUnit
— Convertit d’une unité métrique à une autreGreaterThan
— Vérifie si une valeur est supérieure à une autreIFEXISTS
— Vérifie si une valeur existeNTH
— Renvoie la nième valeur d’une listeMAPKEYS
— Remappe les clés d’un objet ou d’une liste
Comment créer une fonction
Vous avez deux options :
1. Saisie manuelle
Dans le champ de fonction :
Tapez
$
pour afficher les fonctions disponiblesTapez
/
pour afficher les attributs disponibles
Vous pouvez imbriquer plusieurs fonctions, les combiner, et utiliser plusieurs attributs dans la même expression.
Exemples que vous pouvez utiliser :
Remplacer un texte par une autre valeur
SUBSTITUTE({composition.storageInfo}, 'Store dry and cool', 'Max. 10°C')
Vérifier si une propriété contient une valeur spécifique
CONTAINS({composition.composition}, 'milk')
Vérifier si une liste de codes contient une valeur spécifique
CONTAINS({nutrition.gdsnDietTypeCode}, 'VEGAN')
Vérifier si un allergène spécifique est présent (ex. : AP)
CONTAINS({allergy.items}, 'AP')
Vérifier si un allergène spécifique est présent (ex. : AF)
CONTAINS({allergy.items}, 'AF')
Convertir une unité de masse de grammes en kilogrammes
CONVERT-MASS-UNIT({properties.gdsnNetContent}, 'g', 'kg')
Convertir une unité métrique de millimètres en centimètres
CONVERT-METRICS-UNIT({properties.depth}, 'mm', 'cm')
Vérifier si une valeur numérique est supérieure à un seuil
GREATER-THAN({properties.gdsnNetContent}, 50)
Renvoyer une valeur alternative si l’attribut existe
IFEXISTS({composition.composition}, 'NO')
Obtenir le nième élément d’un tableau
NTH({composition.use[].code}, 2)
Mapper les clés vers une nouvelle structure (ex. : codes et textes)
MAPKEYS({composition.use}, [['code','code_new'], ['text','text_new']])
Mapper les clés pour des identifiants supplémentaires
MAPKEYS({core.additional_identification}, [['code','code_new'], ['value','value_new']])
Concaténer deux propriétés
CONCAT([{composition.composition}, {composition.countryOrigin}])
Logique IF simple
IF({core.gdsnIsOrderableUnit}, YES, NO)
Valeur par défaut si l’attribut est vide
IFBLANK({composition.nonFoodComposition}, {composition.composition})
Joindre plusieurs valeurs avec un séparateur
JOIN([{composition.gdsnUsage}, {composition.storageInfo}], '- ')
Nier une condition booléenne
NOT({core.gdsnNonSoldReturnable})
Appliquer une logique OR à plusieurs valeurs
OR([{composition.nonFoodComposition}])
Appliquer une logique AND à plusieurs valeurs
AND([{composition.composition}])
Remplacer une partie d’une chaîne de texte
REPLACE({composition.gdsnUsage}, 0, 0, 'MDH:')
2. Utiliser l’assistant IA
Si vous ne savez pas comment rédiger la fonction, cliquez simplement sur le bouton IA. Cela ouvre une zone de chat où vous pouvez décrire ce que vous voulez faire. L’IA générera la fonction correcte. Vous pourrez ensuite la vérifier et cliquer sur Appliquer.
À l’intérieur du panneau IA, vous trouverez aussi :
Réinitialiser la session — réinitialise la conversation
Fermer la session — ferme le chat
Flux pris en charge :
Flux 1 – Vous décrivez la fonction → L’IA génère un résultat → Vous l’appliquez
Flux 2 – Vous décrivez → L’IA génère un résultat → Vous demandez un changement (autre attribut, fonction ou logique) → L’IA l’adapte
Flux 3 – Vous collez une fonction existante + décrivez ce qu’il faut modifier → L’IA la réécrit
Vous pouvez combiner ces trois flux pendant une session.
⚠️ Les descriptions doivent être en anglais, français, allemand ou italien. Les autres langues retourneront un résultat vide.
Limitations connues
L’IA choisit parfois
OR
au lieu deAND
si votre description est trop vague. Soyez précis.L’IA peut ne pas détecter les attributs qui correspondent au libellé mais pas au code. Vous pouvez dire :
Ajouter aussi les attributs qui contiennent ‘arôme’ dans le libellé
JOIN et CONCAT peuvent être confondus si la demande est ambiguë.
Des sessions de chat longues peuvent consommer plus de ressources et ralentir la réponse. Utilisez “Réinitialiser la session” si cela déraille.
Conseil final
Si quelque chose ne fonctionne pas comme prévu, ne perdez pas de temps à déboguer à l’aveugle. Ouvrez le chat IA et expliquez-lui ce qu’il faut corriger. C’est souvent plus rapide et plus fiable que de décortiquer la logique manuellement.
Faites-nous savoir si vous rencontrez des cas particuliers ou si vous avez des suggestions pour de nouvelles fonctions. Cette fonctionnalité est conçue pour évoluer, et nous l’améliorons en continu grâce à vos retours.