Aller au contenu
Documentation
Documentation provisoire. Les relectures et certaines vérifications de bout en bout restent en cours. Consulte les limites de chaque guide avant de suivre une procédure.
Parcourir la documentation

Vérifié le 09/09/2026

Importer un catalogue CSV ou XML

Résultat attendu et prérequis

Vous obtenez un rapport d’import puis retrouvez les produits acceptés dans le catalogue utilisé pour composer les sélections. Un import ne publie pas une boutique.

Choisissez le bon projet avant d’importer. Pour un essai, utilisez un projet de démonstration dédié : Test et Live ne séparent pas automatiquement le catalogue. Les mutations demandent un projet actif, un rôle autorisé et les droits Commerce de l’abonnement. Admin, Manager, Developer et Éditeur du projet sont admis par la garde générale d’import ; les accès d’organisation peuvent aussi s’appliquer. Cela ne donne pas nécessairement le droit de créer un produit natif.

Si « Mode aperçu » ou « La configuration Commerce doit être finalisée avant le premier import » apparaît, faites finaliser la configuration du projet avant de poursuivre.

Choisir la bonne origine

Ouvrez Commerce → Catalogue. Dans « Nom de la source », saisissez Documentation — Atelier Démo (200 caractères maximum), puis choisissez « Origine » :

OrigineUsage
Catalogue connectéImporter un catalogue géré à l’extérieur ; choix utilisé dans l’exercice ci-dessous
Catalogue vitrineImporter une offre présentée comme vitrine ; ce choix ne suffit pas à rendre un achat possible
Commerce natifValeur proposée par le formulaire d’import ; elle ne transforme pas les lignes importées en brouillons de l’éditeur natif

Pour rédiger manuellement une fiche modifiable dans l’éditeur, utilisez Créer et modifier un brouillon.

Préparer un fichier accepté

Choisissez « Mode : Fichier » et « Format : CSV » ou « XML ». « Détection automatique » reconnaît le CSV et les flux XML commençant par une déclaration XML, <rss ou <feed. Pour un autre conteneur XML, sélectionnez XML explicitement. Le contenu doit porter des produits <item> ou <entry> ; ce n’est pas un import de XML arbitraire. Les DTD et déclarations d’entités sont refusées. JSON sert au mapping, pas au fichier catalogue.

Pour l’import fichier, restez à 5 000 000 octets et 5 000 lignes de données maximum. Ces limites ne décrivent pas la taille totale que peut avoir votre catalogue. Les feeds URL ont des limites et une fréquence dépendant de l’abonnement ; ne leur appliquer ni une capacité illimitée ni les plafonds d’un autre compte.

Enregistrez ce bloc en UTF-8 sous catalogue-demo.csv :

id,item_group_id,title,description,price,currency,stock_quantity,sku,color,brand,collection,category
DEMO-SAC-BLEU,DEMO-SAC,Sac Atelier Démo,Sac fictif pour exercice documentaire,24.90,EUR,12,DEMO-SAC-BLEU,Bleu,Atelier Démo,Documentation,Accessoires
DEMO-SAC-ECRU,DEMO-SAC,Sac Atelier Démo,Sac fictif pour exercice documentaire,24.90,EUR,8,DEMO-SAC-ECRU,Ecru,Atelier Démo,Documentation,Accessoires
DEMO-CARNET,DEMO-CARNET,Carnet Atelier Démo,Carnet fictif pour exercice documentaire,9.50,EUR,0,DEMO-CARNET,Vert,Atelier Démo,Documentation,Papeterie

Résultat du parsing attendu : 3 lignes acceptées, 0 rejetée, 2 produits, 3 variantes, une devise EUR, un stock à zéro. Les deux lignes Sac partagent item_group_id ; leur id et leur SKU restent distincts. Gardez les données communes cohérentes : le premier membre du groupe fournit les données principales de la fiche. Ce jeu est volontairement sans image : il sert à l’import et à la recherche, pas à certifier une publication marchande.

Le CSV accepte virgule, point-virgule ou tabulation. Gardez un séparateur constant, des en-têtes non vides et uniques. Entourez de guillemets une valeur contenant le séparateur ; doublez un guillemet littéral. Préférez 24.90 avec EUR séparé ou 24.90 EUR, sans séparateur de milliers. Pour ces exemples, utilisez EUR : le traitement des décimales d’autres devises doit être vérifié avant un import marchand.

ChampRègle utile
id, title, priceColonnes identifiables obligatoires ; identifiant, titre et prix valide sur chaque ligne
currencyCode à trois lettres si la devise n’est pas dans price ; utilisez une devise réellement prise en charge pour vendre
item_group_idIdentifiant commun pour grouper les variantes ; sinon chaque id devient un produit
stock_quantityEntier de 0 à 100 000 000 pour l’import ; une valeur absente ou invalide devient un stock non fourni, avec avertissement
availabilityExemples reconnus : in stock, out of stock, preorder ; zéro stock rend indisponible sauf indication de précommande prioritaire
sale_pricePrix promotionnel retenu seulement s’il est valide, de même devise et inférieur à price
image_linkFacultatif ; une valeur renseignée doit être une URL HTTP(S) valide. Sa validité ne prouve pas que l’image sera téléchargeable ou prête
linkLien produit facultatif ; une URL invalide peut être ignorée, contrôlez le résultat
sku, brand, collection, categoryRéférence et classement utiles à la recherche ; donnez des SKU distincts
color, size, gender, materialDimensions utilisées pour les variantes importées

Exemple XML équivalent réduit à un produit :

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><item>
<id>DEMO-CARNET-XML</id><title>Carnet Atelier Démo XML</title>
<description>Produit fictif pour exercice documentaire</description>
<price>9.50 EUR</price><stock_quantity>4</stock_quantity>
<sku>DEMO-CARNET-XML</sku><brand>Atelier Démo</brand>
</item></channel></rss>

Ce second jeu donne une ligne acceptée et un produit sans image.

Adapter les noms de colonnes

Ouvrez « Mapping avancé ». Dans « Correspondances JSON », associez les noms attendus à ceux du fichier, exactement orthographiés. Par exemple, pour des colonnes code_demo, libelle_demo, montant_demo, devise_demo, quantite_demo :

{"id":"code_demo","title":"libelle_demo","price":"montant_demo","currency":"devise_demo","stock_quantity":"quantite_demo"}

Laissez le champ vide pour le CSV standard ci-dessus. Une correspondance vers une colonne absente peut être ignorée : contrôlez « Correspondances retenues » dans le rapport. N’inversez pas les clés et les valeurs.

Importer puis contrôler

  1. Dans « Fichier catalogue », choisissez le fichier UTF-8 préparé.
  2. Cliquez sur « Analyser et importer » une seule fois et attendez le résultat.
  3. Vérifiez les totaux puis ouvrez « Voir le rapport d’import ». Pour le CSV de démonstration, attendez 3 lignes acceptées et 0 rejetée ; le compteur de lignes n’est pas le nombre de produits groupés.
  4. Suivez Retrouver ses produits pour rechercher DEMO-SAC-BLEU sans créer de sélection.

Si des lignes sont rejetées, corrigez les motifs du guide des erreurs. Relancer le formulaire d’import fichier crée une source : ce n’est pas un bouton de mise à jour de la source précédente. N’importez pas un même jeu plusieurs fois pour forcer son apparition ; vérifiez d’abord le rapport et le contexte projet.

Connecter un feed URL

  1. Choisissez « Mode : URL HTTPS » et renseignez « Adresse du feed » avec une URL publique que vous contrôlez, sans identifiant ni secret.
  2. Indiquez le format attendu. Pour une URL sans extension, évitez de déduire le format de son nom ; vérifiez le rapport réellement produit.
  3. Cliquez sur « Connecter et synchroniser ». Le message de mise en file confirme la demande, pas l’import terminé.
  4. Consultez les étapes et le dernier rapport dans Suivre ses sources. Attendez un résultat terminé avant de chercher les produits.

La synchronisation automatique, ses quotas et sa prochaine date dépendent des droits du projet. L’accès au feed, les redirections et sa taille restent contrôlés. Pour réparer une erreur, corrigez la source à la même URL puis relancez sa synchronisation lorsque le bouton est disponible. La modification de l’URL d’une source existante n’est pas proposée dans le formulaire courant.