Comment importer du XML dans le catalogue consolidé

Le catalogue consolidé réunit les données fournisseurs dans une structure produit unique. XML et YML sont courants chez les fournisseurs et les ERP.

Le catalogue consolidé Eofferix réunit produits, offres, catégories, attributs, prix, stocks et images de différentes sources dans un seul catalogue de travail. Les fournisseurs envoient souvent leurs catalogues en XML ; des ERP comme SAP ERP, Oracle NetSuite, Microsoft Dynamics 365, Odoo, 1C/CommerceML et d’autres peuvent exporter les données dans le même format. YML est aussi du XML : il utilise la syntaxe XML et une structure de flux produit.

La source peut être envoyée depuis votre ordinateur ou reçue automatiquement selon une planification :

  • depuis une URL directe ou une URL avec autorisation ;
  • depuis un email ;
  • via FTP, FTPS ou SFTP ;
  • depuis un stockage cloud ;
  • depuis CommerceML, une API fournisseur ou un autre module de source pris en charge ;
  • depuis une archive ZIP si elle contient un fichier XML/YML.

Après la sélection de la source, Eofferix analyse le fichier et crée un snapshot XML. Le snapshot affiche une version compacte des données source : noeuds, éléments, attributs uniques et exemples de valeurs, pas tout le fichier complet.

1. Créer un profil d’import vers le Catalogue consolidé

Ouvrez app.eofferix.com/profiles, cliquez sur "Nouveau profil", saisissez un nom de profil et ajoutez une brève description de la source. Le nom identifie généralement le fournisseur ou le canal, par exemple Partner1. Choisissez ensuite le chargement dans le catalogue consolidé.

Création d’un profil d’import vers le catalogue consolidé
Créez d’abord le profil d’import, puis configurez sa source de données.

Si le fichier XML est sur votre ordinateur, choisissez "Téléverser un nouveau fichier" lors de la création du profil d’import. Après l’envoi, le profil détecte le format, prépare le XML de travail et ouvre les paramètres d’import vers le catalogue consolidé.

Envoi d’un fichier XML lors de la création d’un profil d’import vers le catalogue consolidé
Le fichier XML peut être envoyé directement dans le profil d’import.

Si le XML doit être reçu régulièrement depuis une URL, un email, FTP/FTPS/SFTP, un stockage cloud ou CommerceML, créez d’abord une source dans Sources, puis sélectionnez-la dans le profil d’import. La source peut être actualisée séparément des paramètres d’association.

2. Configurer les clés utilisées par le service pour identifier le produit

Sélectionnez les champs d’identification du produit et de l’offre. Utilisez des valeurs uniques et stables, comme id, SKU, ID externe ou une combinaison de champs. Ces clés indiquent au profil quel enregistrement créer et quel enregistrement mettre à jour lors des imports suivants.

Sélection des champs d’identification du produit et de l’offre pour l’import XML
Choisissez les champs utilisés pour rapprocher les données de la source avec les produits et les offres.

Configurez ensuite les règles d’import : créer ou non les nouveaux produits et offres, mettre à jour ou non les enregistrements trouvés, et quoi faire avec les valeurs vides, le prix nul et le stock nul. Ces paramètres sont importants pour un flux XML régulier, car ils définissent comment chaque nouveau fichier modifie le catalogue existant.

Règles de création, de mise à jour et de valeurs vides pendant l’import XML
Les règles d’import contrôlent la création, la mise à jour et le comportement des valeurs vides.

Les paramètres de nettoyage définissent ce qui arrive aux enregistrements déjà présents dans le catalogue mais absents du XML actuel : les laisser inchangés, les supprimer, les dépublier ou mettre le stock à zéro. Le périmètre se choisit séparément : source actuelle, enregistrements de la source actuelle sans autres liens, ou tout le catalogue.

Paramètres de nettoyage des enregistrements absents après l’import XML
Le nettoyage s’applique au périmètre de catalogue choisi après le traitement de la source.

3. Configurer le snapshot XML

Après l’enregistrement du profil, le snapshot XML s’ouvre : une version compacte du fichier source où vous configurez la structure finale et les transformations.

Dans le snapshot XML, commencez par trouver le noeud répété pour chaque produit. Il peut s’agir de product, offer, item ou d’un autre noeud propre au fournisseur. Identifiez visuellement le noeud produit, cliquez dessus et attribuez-lui le rôle "Produit". Si le XML contient des offres séparées, attribuez le rôle "Offre" au noeud d’offre répété.

Cliquez ensuite sur les valeurs à l’intérieur du noeud XML sélectionné et choisissez le champ du catalogue consolidé qui doit les recevoir : nom, SKU, prix, stock, catégorie, description, image ou attribut.

Animation de configuration du snapshot XML : sélection du noeud produit et association du SKU
Le noeud XML product est d’abord marqué comme produit, puis la valeur sku est associée au champ SKU du produit.

Associations courantes dans un import XML :

  • name - nom du produit ;
  • sku, vendorCode ou article - SKU ;
  • price - prix ou prix d’achat ;
  • stock ou quantity - stock ;
  • category ou chemin de catégorie - catégorie du catalogue ;
  • image ou picture - image produit ;
  • property, param ou noeuds similaires - attributs produit.

Si les attributs arrivent comme une liste répétée, où un noeud XML contient le nom de l’attribut et un noeud voisin contient la valeur, utilisez le réglage "Attributs". Sélectionnez le noeud de propriété répété, le chemin vers le nom et le chemin vers la valeur. Si un attribut arrive comme un noeud fixe séparé, vous pouvez l’associer comme champ séparé ou créer un nouvel attribut de catalogue.

4. Ce qui peut être transformé pendant l’import

L’association n’est pas obligée de copier la valeur exactement telle qu’elle arrive. Pour chaque valeur XML, vous pouvez configurer des transformations séquentielles : nettoyer le texte, supprimer les espaces en trop, remplacer des valeurs, convertir des nombres, arrondir les prix, calculer une marge ou une remise, utiliser une valeur d’un noeud XML voisin, créer un nouveau champ ou créer une variable.

Les images peuvent aussi être traitées : enregistrer le fichier dans le service, le convertir en JPG, PNG ou WebP, le redimensionner, traiter plusieurs liens et appliquer un filigrane. Associez un champ image uniquement lorsque l’image doit entrer dans le catalogue ou être traitée par ces règles du profil.

Construire un nom de produit plus long

Par exemple, le XML peut contenir des valeurs séparées pour le nom, le SKU, la matière et le pays de fabrication. Dans les paramètres du champ "Nom", prenez d’abord le nom source, puis ajoutez uniquement les valeurs non vides : SKU, matière entre parenthèses et pays.

Transformations séquentielles pour un nom de produit composé
Les règles ajoutent uniquement les valeurs XML non vides.

Avant

<name>Bureau Nordic</name>
<sku>DESK-NORD-01</sku>
<material>chêne massif</material>
<country>Italie</country>

Après

Bureau Nordic DESK-NORD-01 (chêne massif), Italie

Préparer un prix étape par étape

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 : nettoyer d’abord la valeur, vérifier les conditions, utiliser un autre noeud, modifier la valeur et arrondir le résultat.

Transformations séquentielles du prix avec un noeud XML voisin
Les règles s’exécutent de haut en bas et peuvent utiliser des noeuds XML voisins.

Avant

<price>129.00</price>
<stock>14</stock>

Après

144

5. Ce qui se passe après l’exécution

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.

Catalogue consolidé après l’exécution du profil d’import Partner1
La colonne des sources affiche le nom court du profil Partner1 pour le produit chargé.

Si le même produit arrive depuis différentes sources - XML, tableaux, JSON, CommerceML ou un autre profil - il peut rester une seule fiche produit. Les prix et stocks de différentes sources peuvent être répartis dans des groupes de prix et des groupes d’entrepôts séparés.

Fiche produit avec plusieurs groupes de prix et d’entrepôts après l’import
Un produit peut stocker les valeurs de plusieurs sources dans différents groupes de prix et d’entrepôts.