Comment importer un catalogue JSON dans le catalogue consolidé

Comment charger une source JSON dans le catalogue consolidé : source de données, profil, interface XML de configuration, identification, règles et transformations.

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.

Méthodes de réception d’un catalogue JSON dans Eofferix
La source définit d’où Eofferix récupère le JSON avant chaque exécution.

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.

Source JSON dans un profil de catalogue consolidé avec interface XML
Le profil utilise une source JSON, tandis que l’interface de configuration du catalogue consolidé est 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.

Champs d’identification des produits, offres et catégories depuis une source JSON
Les clés d’identification déterminent quels enregistrements seront mis à jour lors des exécutions suivantes.

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.

Règles de création, mise à jour, nettoyage et protection pour une source JSON
Les règles définissent comment chaque exécution modifie les données existantes du catalogue consolidé.

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.

Animation de configuration du snapshot XML pour une source JSON
Une valeur du snapshot préparé est associée à un champ du catalogue consolidé.

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.

Règle qui remplace un tiret dans le SKU par une valeur vide

Avant

{
  "sku": "DESK-NORD-01"
}

Après

DESKNORD01

Exemple 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%.

Transformation conditionnelle du prix selon une sous-chaîne de catégorie

Avant

{
  "category": "Meubles / Bureau / Tables",
  "price": 129.90
}

Après

price: 155.88

Exemple 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.

Transformations séquentielles pour un nom de produit composé
Le nom est assemblé depuis plusieurs valeurs du snapshot préparé.

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), Italie

Exemple 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.

  1. d’abord nettoyer la valeur ;
  2. ensuite vérifier les conditions ;
  3. ensuite utiliser un autre noeud du document, par exemple le stock, la devise ou un multiplicateur ;
  4. ensuite modifier la valeur ;
  5. ensuite arrondir ou convertir au format nécessaire.
Transformations séquentielles du prix dans l’interface XML

Dans la source

{
  "price": "129.90",
  "stock": 14,
  "markup": 1.12
}

Après transformation

146

7. 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.

Animation de création du champ Classe produit avec conditions de prix
Le nouveau champ est rempli par des règles séquentielles et n’a pas besoin d’exister dans le JSON source.

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.

Catalogue consolidé après l’import d’une source JSON via l’interface XML
Le catalogue indique quels enregistrements proviennent de la source TestPartner.