Utilisez une source JSON lorsque le catalogue fournisseur arrive sous forme de fichier .json, réponse JSON d’API, URL de fichier, URL avec autorisation, pièce jointe email, fichier FTP/FTPS/SFTP, stockage cloud ou archive ZIP contenant du JSON. Un même document JSON peut contenir des produits, des offres, des catégories, des prix, des stocks, des images, des attributs et des champs fournisseur supplémentaires.
Après le chargement du fichier, Eofferix analyse le JSON et prépare un snapshot de travail court. Les chargements vers le catalogue consolidé utilisent une interface XML unique. Cela ne signifie pas que le fournisseur doit envoyer du XML : le service affiche une structure XML compacte avec noeuds, éléments, attributs et exemples de valeurs uniques, pas tout le gros fichier complet.
1. Choisir comment Eofferix reçoit le JSON
Si la source doit être mise à jour régulièrement, créez-la d’abord dans Sources. Le JSON peut être reçu depuis un fichier téléversé, une URL ou réponse API, une URL avec autorisation, l’email, FTP/FTPS/SFTP, un stockage cloud ou un autre canal pris en charge. Pour une configuration ponctuelle, envoyez le fichier directement dans le profil d’import.

2. Connecter la source JSON au profil
Ouvrez ou créez un profil d’import, sélectionnez la source JSON et choisissez l’import vers le catalogue consolidé. L’interface du catalogue consolidé n’est pas choisie séparément : le profil utilise XML. Après l’enregistrement, la configuration de structure s’ouvre dans le snapshot XML.

3. Configurer l’identification et les règles d’import
Dans Identification des éléments, sélectionnez les champs source utilisés pour rapprocher les données entrantes des produits, offres et catégories existants. Les produits utilisent souvent id, sku, external_id ou une référence article. Les offres peuvent utiliser un ID externe de variante, une combinaison produit-variante, un code-barres ou un SKU. Les catégories peuvent utiliser un code, un ID externe ou le chemin complet.

Plus bas, configurez les règles d’import : créer ou non de nouveaux produits et offres, mettre à jour les enregistrements trouvés, gérer les valeurs vides, les prix nuls et le stock nul, traiter les éléments absents du JSON actuel et arrêter l’import lorsque les conditions de protection sont atteintes.

4. Fonctionnement du snapshot
Après l’enregistrement du profil, le snapshot XML s’ouvre à l’étape suivante. Il affiche la structure préparée : éléments répétés, noeuds imbriqués, attributs et exemples de valeurs. C’est ici que vous choisissez quel noeud représente un produit, où se trouvent les offres et catégories, puis associez les valeurs aux champs du catalogue consolidé.
Marquez d’abord le noeud produit répété avec le rôle Produit. Si la source contient des variantes séparées, attribuez le rôle Offre au noeud de variante. Cliquez ensuite sur les valeurs du noeud et choisissez le champ du catalogue : nom, SKU, prix, stock, catégorie, description, image ou attribut.

5. Ce qui peut être transformé
Les transformations adaptent les données fournisseur à la structure du catalogue consolidé. Dans l’interface, vous pouvez :
- renommer des champs avant le chargement ;
- modifier l’imbrication ou l’ordre ;
- supprimer les données inutiles ;
- filtrer des produits, offres ou catégories ;
- nettoyer le texte et supprimer les espaces en trop ;
- remplacer des valeurs ;
- convertir des nombres et des dates ;
- arrondir les prix ;
- calculer une marge ou une remise ;
- utiliser des noeuds voisins dans les calculs ;
- créer de nouveaux champs ou valeurs auxiliaires ;
- traiter les images : enregistrer, convertir en JPG, PNG ou WebP, redimensionner et appliquer un filigrane ;
- charger le résultat dans le catalogue consolidé ou dans une application prise en charge.
6. Exemples de transformations
L’outil de transformations peut modifier fortement l’import final : nettoyer les données source, construire une nouvelle structure, créer des champs supplémentaires, filtrer les produits, calculer des valeurs et préparer le résultat pour le format ou l’application nécessaire.
Exemple simple : supprimer les tirets du SKU
Si le fournisseur envoie des SKU avec des tirets, mais que le catalogue doit recevoir un code compact, configurez une transformation pour le noeud sku : remplacer - par une valeur vide.

Avant
{
"sku": "DESK-NORD-01"
}Après
DESKNORD01Exemple avec condition : augmenter le prix des tables
Le champ Prix peut vérifier un noeud voisin de catégorie. Si category contient Tables, la règle augmente le prix de 20%.

Avant
{
"category": "Meubles / Bureau / Tables",
"price": 129.90
}Après
price: 155.88Exemple avec nouvelle valeur : construire un nom produit
Si le nom, le SKU, la matière et le pays arrivent séparément, le champ Nom peut être assemblé à partir de plusieurs valeurs. Les règles s’exécutent de haut en bas et ajoutent uniquement les parties non vides.

Dans la source
{
"name": "Bureau Nordic",
"sku": "DESK-NORD-01",
"material": "chêne massif",
"country": "Italie"
}Après transformation
Bureau Nordic DESK-NORD-01 (chêne massif), ItalieExemple séquentiel : préparer un prix
Exemple de transformations séquentielles pour le champ Prix. Les transformations peuvent utiliser non seulement la valeur actuelle, mais aussi d’autres noeuds du document pour les calculs.
- d’abord nettoyer la valeur ;
- ensuite vérifier les conditions ;
- ensuite utiliser un autre noeud du document, par exemple le stock, la devise ou un multiplicateur ;
- ensuite modifier la valeur ;
- ensuite arrondir ou convertir au format nécessaire.

Dans la source
{
"price": "129.90",
"stock": 14,
"markup": 1.12
}Après transformation
1467. Nouveaux champs
Un nouveau champ est nécessaire lorsque le résultat doit contenir une valeur absente du JSON source, ou lorsque les données source doivent être organisées autrement. Il peut être rempli par une valeur d’un autre endroit de la source, une valeur système, une expression ou un calcul intermédiaire.
Par exemple, créez un champ Classe produit. Définissez d’abord la valeur par défaut Prix moyen, puis vérifiez le prix : s’il est inférieur à 3000, remplacez la valeur par Economiques ; s’il est supérieur à 10000, remplacez-la par Premium.

8. Variables
Une variable stocke un résultat intermédiaire et aide à réutiliser une valeur calculée dans plusieurs règles. Les variables ne sont pas incluses dans l’import final ; elles servent uniquement aux autres transformations.
Par exemple, une variable peut stocker un prix de base avec un coefficient fournisseur : calculez-le une fois, puis réutilisez-le pour le prix de vente, la remise et les conditions d’export.
9. Ce qui se passe après l’import
Après l’exécution, le profil crée ou met à jour les produits, offres, catégories, attributs, prix, stocks et images dans le catalogue consolidé. Le lien avec la source est conservé, ce qui permet aux exécutions suivantes de mettre à jour les enregistrements correspondants selon les clés choisies au lieu de créer des doublons.
Si un produit, une offre, un attribut ou une catégorie manque dans la source, l’action finale dépend des règles d’import : le laisser inchangé, le dépublier, mettre le stock à zéro, le supprimer ou limiter le nettoyage à la source actuelle uniquement.
