Intégration par flux CSV ou XML

Introduction

Les produits de votre site peuvent être intégrés sur Spartoo par flux CSV ou XML.
Dans ce cas, le fichier CSV ou XML contenant les informations de tous vos produits devra être accessible sur le web par notre robot.

Notre robot viendra télécharger environ toutes les heures le fichier et intégrera les informations qui sont dedans.
Le fichier devra être le plus à jour possible pour éviter que des produits épuisés apparaissent encore sur Spartoo.

Le fichier doit contenir toutes les informations nécessaires à la catégorisation de vos produits et à la quantification de vos stocks.

Chaque champ peut être obligatoire, recommandé ou facultatif. Si un des champs obligatoire est vide ou mal rempli, le produit ne sera pas intégré.
Vous trouverez plus bas, quelques modèles de fichier CSV ou XML. Le modèle de fichier n'est pas imposé par Spartoo. Toutefois, votre fichier doit contenir toutes les informations obligatoires.

Idéalement, votre fichier doit utiliser l'encodage UTF-8. Dans le cas contraire, merci de nous prévenir pour configurer le traitement du fichier.
Pour les fichiers CSV, le fichier doit utiliser le point-virgule ';'. Dans le cas contraire, merci de nous prévenir pour configurer le traitement du fichier.


Si vous ne disposez pas d'un serveur de partage de fichier (serveur ftp) Spartoo vous conseille l'utilisation de Dropbox.
plus d'information

Définition

  • Produit ou Produit parent : Pour Spartoo, un produit correspond à un modèle et une couleur.
    Donc pour modèle qui a deux couleurs, il y aura deux produits ( donc deux identifiants produits différents )
    Par contre, un produit peut avoir plusieurs tailles.

  • Produit enfant : Pour Spartoo, un produit enfant correspond à un produit et une taille distincte.
    Donc pour modèle qui a une couleur et deux taille, il y aura deux "produits enfant" ( donc un seul identifiant produit et deux identifiants produit enfant )
    Le stock doit obligatoirement être associé au produit enfant. c'est d'ailleurs la seule information obligatoire pour les produits enfants. Les autres informations concernent essentiellement les produits parents et peuvent être omises pour les enfants

Liste des informations pour flux CSV

Nom du champ Champ Description
SKU / Identifiant produit Obligatoire Ce champ contient la valeur "parent SKU" pour les lignes parent et "sku child" pour les lignes child.
Les "sku parent" doivent contenir uniquement des caractères alphanumériques (a-Z 0-9 . _ -). Les espaces ne sont pas admis.
Le "sku child" peut contenir n'importe quel type de caractère.
Parent / Child Obligatoire pour CSV Ce champ est obligatoire dans le cas où le fichier contient une ligne par produit et une ligne par produit enfant
Il faut dans ce cas nous fournir un moyen didentifier si une ligne est un produit ou un produit enfant
Ce champ peut par exemple contenir "Parent" pour les produits parents et "Child" pour les produits enfants
Parent SKU Obligatoire pour CSV Ce champ est obligatoire dans le cas où le fichier contient une ligne par produit et une ligne par produit enfant
Pour chaque produit enfant, il faut qu'on puisse savoir à quel produit parent correspond le produit enfant.
Ce champ doit donc contenir l'identifiant produit du produit parent.
Nom du modèle Recommandé Ce champ doit contenir uniquement le nom du modèle, il ne doit pas contenir autres informations (catégorie, couleur, marque)
Nom de la marque Obligatoire
Code IDU Recommandé Ce champ contient le code IDU du produit (voir loi AGEC)
Genre Obligatoire Genre du produit. Il faut utiliser les codes suivants :
  • H : Homme
  • F : Femme
  • M : Mixte adulte
  • B : Garçon
  • G : Fille
  • K : Mixte enfant
Prix du produit Obligatoire Doit obligatoirement être en monnaie 'EUR'.
Le prix ne s'applique qu'au produit parent. Il n'est pas possible d'avoir des prix différents pour les produits enfants.
Catégorie Obligatoire Contient le code de la catégorie du produit. Merci d’éviter les macro-catégories (en rouge) et de privilégier les autres, plus précises.
Dans le cas où vous ne pouvez pas nous fournir le code Spartoo, vous pouvez mettre le nom de la catégorie. Il faudra alors utiliser l'outil de matching des catégories pour faire correspondre vos catégories avec les catégories Spartoo.

Voir la liste de tous les codes catégories
Selections Facultatif Permet de spécifier les contextes d'utilisations du produit au moyen d'une liste d'id.
L'ensemble des contexte disponibles est fourni ici
Prix discount Recommandé Contient le prix discounté du produit.
Si le taux de discount est rempli est qu'il ne correspond pas au prix discounté, alors c'est le prix discounté qui est pris.
Taux de discount Recommandé Contient le taux de discount désiré.
Toutes les réductions seront arrondies ( au dessous ) par Spartoo par pas de 5%. Par exemple, un taux de discount de 27% sera arrondi à 25%.
Type de discount Recommandé Si une promotion est de type soldes, il faut le préciser dans ce champ.
Dates promotions Facultatif Les promotions peuvent être configurées avec une date de début et une date de fin.
Dans le cas où ces dates ne sont pas précisées, la promotion démarre immédiatemment.
Cela peut être intéressant pour les soldes d'indiquer la date de début de la promotion, les discounts démarrreront ainsi directement à la bonne heure, sans avoir à attendre la prochaine intégration du fichier.
Taille Obligatoire Contient le nom de la taille du produit.
Si le champ n’est pas présent ou s’il est vide, le produit sera considéré comme ayant une taille unique.
Dans le cas des tailles textiles US, il faut que l'on ait un moyen de savoir si la taille est EU ou US : soit indiquer US dans le nom de la taille, soit ajouter un champ qui indique si la taille est US ou non.
Quantité en stock Obligatoire Pour chaque taille, le stock doit être précisé.
Pour désactiver un produit, il faut mettre le stock à 0.
Quand le stock est à 0, le produit est désactivé et n'apparaît plus sur Spartoo.
EAN Obligatoire Code standard international qui identifie chaque produit et qui permet d’être présent sur google shopping et d’autres comparateurs de prix.
Photos Obligatoire Au moins une photo est obligatoire.
Nous recommandons d'avoir au minimum 3 photos. Nous pouvons intégrer au maximum 8 photos.
Il faut nous fournir le lien vers la photo. Le nom de fichier doit contenir uniquement des caractères alphanumérique ainsi que les caractères "-" (tiret), "_" (tiret bas) et "." (point). Attention: les espaces dans le nom du fichier ne sont pas autorisés, ainsi que lettres accentuées (par ex. é, à et ñ).
La photo ne sera téléchargée qu'une seule fois, puis sera stockée sur nos serveurs, après avoir été redimensionnée aux dimensions Spartoo.
Les photos doivent être au format jpg, carrées et au minimum en 350x350 pixels. Si elles sont supérieures ou égales à 800x800 pixels, il y aura un zoom possible sur le site.
Descriptif produit Recommandé Description texte du produit.
La description produit permet d’ajouter un maximum d’informations sur les produits, susceptibles d’aider le client à prendre sa décision d’achat.
Une bonne description produit est détaillée et spécifique pour chaque produit. Pour cela, elle peut contenir le nom du modèle, la marque, la couleur, le style du produit, la matière, etc.
Il n'est pas possible d'y insérer de l'HTML, à l’exception du saut à la ligne: <br>, ainsi que <b>, <i> et <u>. Le javascript n'est pas autorisé.
Elle sera visible uniquement sur la fiche produit.
Couleur filtre Recommandé Identifiant Spartoo pour la couleur. Utilisé pour les filtres des menus.
Si cet identifiant n'est pas fournir, il est possible d'utiliser l'outil de matching couleurs pour faire correspondre les noms de vos couleurs avec les couleurs Spartoo.

Voir la liste de tous les codes couleur
Couleur Recommandé Champ texte pour la couleur. Sera affiché sur la fiche produit
Compositions Facultatif Uniquement pour les chaussures.
Nous pouvons intégrer 4 compositions différentes :
  • Composition de la tige
  • Composition de la doublure
  • Composition de la semelle intérieure
  • Composition de la semelle extérieure
Nous n'avons pas d'outil de matching pour les compositions, il faut donc obligatoirement utiliser les codes Spartoo.

Voir la liste de tous les codes composition
Hauteur de talon Facultatif Uniquement pour les produits chaussures femmes ( escarpins, bottes, etc ... )
Hauteur du talon en centimètres. Il faut indiquer uniquement le chiffre et utiliser un point pour séparer l'unité des décimaux (exemple: 1.7)
Pays d'origine Facultatif Le pays d'origine du pays
Voir les valeurs possibles
Code HS Facultatif Le code HS du produit pour la douane
Informations additionnelles Facultatif Liste des codes d'informations séparés d'une virgule (ex: '120,521')
Voir les valeurs possibles
Saison Obligatoire pour MPO Saison du produit, composé d'un code "AH" (Automne-Hiver) ou "PE" (Printemps-Été ) suivi de l'année.
(ex: AH21, PE22)

Liste des informations pour flux XML

Balise Description Obligatoire
reference_partenaire Identifiant produit du marchand. C'est le sku qu'identifie un produit d’une marque dans une couleur précise
L'identifiant du produit ne peut contenir que des caractères alphanumérique ainsi que les caractères - (tiret) _ (tiret bas) et . (point).
Oui
product_name Nom du modèle
Il ne doit pas contenir la catégorie, la couleur ou la marque du produit
Il ne doit pas contenir non plus de caractères ou de balises html
Non
manufacturers_name Nom de la marque du produit Oui
code_idu Code IDU du produit (voir loi AGEC) Non
product_sex Sexe du produit
> Voir les valeurs possibles
Oui
product_price Prix du produit en euro Oui
color_id Couleur destinée aux filtres des menus
Si elle n'est pas précisée, le produit ne ressortira pas si un client utilise un filtre sur la couleur
> Voir les valeurs possibles
Non
product_style Catégorie du produit
> Voir les valeurs possibles
Oui
product_description Descriptif du produit. Apparait sur la fiche produit. Non
product_color Champ texte libre pour la couleur. Apparaît sur la fiche produit. Non
product_quantity Stock total d'un produit
Ignoré si un ou plusieurs balises size_quantity sont détectés pour le produit.
Pour les produits de taille unique il faut obligatoirement une balise product_quantity si la balise size_quantity n'est pas renseigné.
Non
size Liste des tailles et leur stock.
Facultatif pour les produits sans tailles ( Sacs / Accessoires ). Obligatoire Sinon.
Oui / Non
size_name Nom de la taille
> Voir les valeurs possibles
Oui
size_quantity Pour chaque taille, le stock doit être précisé.
Pour désactiver un produit, il faut mettre le stock à 0.
Quand le stock est à 0, le produit est désactivé et n'apparaît plus sur Spartoo.
Oui
size_reference Référence du produit à la taille.
Ce champ sert uniquement à être renvoyé dans les exports des commandes ou retours. Une bonne pratique est de générer cette référence en concaténant les champs reference_partenaire et size_name à l'aide d'un tiret bas "_".
Non
ean EAN du produit à la taille
Obligatoire pour la prestation logistique
Non / Oui
photos Liste des photos et leur url.
Au moins une photo est obligatoire.
Nous recommandons d'avoir au minimum 3 photos. Nous pouvons intégrer au maximum 8 photos.
La photo ne sera téléchargée qu'une seule fois, puis sera stockée sur nos serveurs, après avoir été redimensionnée aux dimensions Spartoo.
Les photos doivent être au format jpg, carrées et au minimum en 350x350 pixels. Si elles sont supérieures ou égales à 800x800 pixels, il y aura un zoom possible sur le site.
Oui
url1, url2 ... url8 Liens vers les photos
Il faut nous fournir un lien vers chaque photo. Le nom de fichier doit contenir uniquement des caractères alphanumérique ainsi que les caractères "-" (tiret), "_" (tiret bas) et "." (point). Les espaces, ainsi que les lettres accentués (par ex. é, à et ñ) ne sont pas autorisés.
Oui
country_origin Pays d'origine du produit
> Voir les valeurs possibles
Non
code_hs Code douane du produit Non
heel_height Hauteur talon en centimètre (cm). Uniquement pour les chaussures femme. Il faut utiliser un point pour séparer l'unité des décimaux (par exemple: 1.5). No
product_composition Composition de la tige du produit. Uniquement pour les chaussures et les sacs
> Voir les valeurs possibles
Non
voering_composition Composition de la doublure du produit. Uniquement pour les chaussures et les sacs
> Voir les valeurs possibles
Non
first_composition Composition de la semelle intérieure du produit. Uniquement pour les chaussures
> Voir les valeurs possibles
Non
zool_composition Composition de la semelle extérieure du produit. Uniquement pour les chaussures
> Voir les valeurs possibles
Non
discount Permet d'appliquer une promotion sur le produit.
Le champ rate du champ discount concerne la réduction du prix en pourcentage par rapport au champ product_price.
Le champ price_discount du champ discount concerne le prix discounté du produit. Le pourcentage de réduction affiché sera calculé.
Si les deux champs sont présents, le champ price_discount est prioritaire sur le champ rate.
Si le discount est immédiat, il n'y a pas besoin de préciser le champ startdate. Si le champ stopdate n'est pas précisé, la promotion aura une durée par défaut d'un mois. Si la balise sales est précisée, la promotion sera une promotion de soldes. Sinon, ce sera une promotion classique. Indiquer ce paramètre permet aux produits d'être présent sur la page des soldes pendant les périodes de soldes.
Non
extra_infos Permet de spécifier des informations complémentaires dépendantes du type de produit.
Chaque information est constitué d'un id ( > Voir les valeurs ) et d'une valeur sous forme numérique.
Non
selections Permet de spécifier les contextes d'utilisations du produit au moyen d'une liste d'id.
L'ensemble des contexte disponibles est fourni ici.
Non


Format du paramètre xml


Les champs texte doivent être protégés par des balises CDATA s'ils contiennent des caractères spéciaux qui rendrait le XML invalide.

Format mono pays

<root>
   <products>
	   <product>
			<reference_partenaire>string</reference_partenaire>
			<product_name>string</product_name>
			<manufacturers_name>string</manufacturers_name>
			<code_idu>string</code_idu>
			<product_sex>char</product_sex>
			<product_price>float</product_price>
			<product_quantity>int</product_quantity>
			<color_id>int</color_id>
			<product_style>int</product_style>
			<product_description>string</product_description>
			<product_color>string</product_color>
			<heel_height>float</heel_height>
			<country_origin>int</country_origin>
			<code_hs>int</code_hs>
			<size_list>
				<size>
					<size_name>string</size_name>
					<size_quantity>int</size_quantity>
					<size_reference>string</size_reference>
					<ean>string</ean>
					<code_hs>int</code_hs>
				</size>
				<!-- ... Plusieurs balises "size" possibles ... -->
			</size_list>
			<product_composition>int</product_composition>
			<voering_composition>int</voering_composition>
			<first_composition>int</first_composition>
			<zool_composition>int</zool_composition>
			<photos>
			   <url1>url</url1>
			   <url2>url</url2>
			   <url3>url</url3>
			   <url4>url</url4>
			   <url5>url</url5>
			   <url6>url</url6>
			   <url7>url</url7>
			   <url8>url</url8>
			</photos>
			<discount>
			   <startdate>timestamp</startdate>
			   <stopdate>timestamp</stopdate>
			   <price_discount>float</price_discount>
			   <rate>int</rate>
			   <sales>0/1</sales>
			</discount>
			<extra_infos>
				<info>
					<id>int</id>
					<value>float</value>
				</info>
				<!-- ... Plusieurs balises "info" possibles ... -->
			</extra_infos>
			<selections>
				<selection>int</selection>
				<!-- ... Plusieurs balises "selection" possibles ... -->
			</selections>
	   </product>
	   <!-- ... Plusieurs balises "product" possibles ... -->
   </products>
</root>


Format multi pays

<root>
   <products>
	   <product>
			<reference_partenaire>string</reference_partenaire>
			<manufacturers_name>string</manufacturers_name>
			<product_sex>char</product_sex>
			<product_quantity>int</product_quantity>
			<color_id>int</color_id>
			<product_style>int</product_style>
			<heel_height>float</heel_height>
			<country_origin>int</country_origin>
			<code_hs>int</code_hs>
			<languages>
				<language>
					<code>string</code>
					<product_name>string</product_name>
					<product_description>string</product_description>
					<code_idu>string</code_idu>
					<product_color>string</product_color>
					<product_price>float</product_price>
					<discount>
					   <startdate>timestamp</startdate>
					   <stopdate>timestamp</stopdate>
					   <price_discount>float</price_discount>
					   <rate>int</rate>
					   <sales />
					</discount>
				</language>
				<!-- ... Plusieurs balises "language" possibles ... -->
			</languages>
			<size_list>
				<size>
					<size_name>string</size_name>
					<size_quantity>int</size_quantity>
					<size_reference>string</size_reference>
					<ean>string</ean>
					<code_hs>int</code_hs>
				</size>
				<!-- ... Plusieurs balises "size" possibles ... -->
			</size_list>
			<product_composition>int</product_composition>
			<voering_composition>int</voering_composition>
			<first_composition>int</first_composition>
			<zool_composition>int</zool_composition>
			<photos>
			   <url1>url</url1>
			   <url2>url</url2>
			   <url3>url</url3>
			   <url4>url</url4>
			   <url5>url</url5>
			   <url6>url</url6>
			   <url7>url</url7>
			   <url8>url</url8>
			</photos>
			<extra_infos>
				<info>
					<id>int</id>
					<value>float</value>
				</info>
				<!-- ... Plusieurs balises "info" possibles ... -->
			</extra_infos>
			 <selections>
				<selection>int</selection>
				<!-- ... Plusieurs balises "selection" possibles ... -->
			</selections>
	   </product>
	   <!-- ... Plusieurs balises "product" possibles ... -->
   </products>
</root>


Exemples de fichiers

Fichiers CSV

Fichier CSV avec produit parent / produit enfant classique

Fichier CSV Multi pays

Fichiers XML

Exemple de fichier XML Mono pays

Exemple de fichier XML Multi pays

Fichiers XSD

Fichier XSD Multi pays

Liste des codes d'erreurs produit


Code Level Description
1 Fatal La référence partenaire n'est pas assez longue
2 Fatal La référence partenaire n'est pas valide, elle ne peut contenir que des caractères alphanumériques
3 Warning Le nom du produit n'est pas spécifié
4 Fatal La marque n'est pas spécifiée
5 Fatal Le genre n'est pas valide, les seules valeurs possibles sont : H, F, M, K, G, B
6 Fatal Le prix doit être un nombre
7 Fatal le prix est négatif ou non-renseigné
8 Warning Le prix nous semble très grand ( > 1000€ )
9 Fatal La quantité doit être un nombre entier
10 Fatal La quantité doit être positive
11 Warning La couleur xxx n'existe pas : le produit ne sera pas disponible via les filtres de couleurs
13 Fatal La catégorie xxx n'existe pas
14 Warning Le descriptif produit est vide
15 Warning La couleur d'affichage est vide
16 Warning Pas de liste de tailles : utilisation de la taille unique
17 Warning La composition est spécifiée, mais n'est pas valide
18 Fatal La photo 1 est obligatoire
19 Warning Le taux de discount de la promo doit être compris entre 0 et 100, la promo ne sera pas prise en compte
20 Warning La taille xxx n'existe pas
200 Fatal La taille xxx n'existe pas pour la marque xxx.
201 Fatal Le code EAN est obligatoire
202 Fatal Le code EAN xxx sur la référence xxx en taille xxx est déjà utilisé par la ref : xxx.
203 Warning Le code EAN est trop court ou se finit par '000'
204 Warning Le code EAN xxx existe en plusieurs exemplaires dans le flux.
23 Warning La photo xxx est plus petite que 350x350 : elle sera de mauvaise qualité sur le site
24 Warning La photo xxx est plus petite que 350x350 : elle ne sera pas affichée sur le site
25 Fatal Taille xxx : Impossible de réguler le stock
26 Fatal Pas de stock : le produit ne sera pas créé
27 Fatal Impossible d'accéder à la photo 1 ( url xxx )
28 Warning Impossible d'accéder à la photo xxx ( url xxx )
281 Fatal Photo trop volumineuse (xxxo)
30 Fatal La quantité de la taille xxx est trop grande (Quantité max : xxx)
31 Warning Votre compte n'est pas activé sur le site xxx
32 Fatal aucune information produit trouvé pour ce pays
33 Fatal Un produit de genre xxx ne peut pas appartenir à la catégorie xxx
34 Fatal Le mot xxx est blacklisté et ne devrait pas apparaître dans le nom ou la description du produit.
35 Fatal Nom produit trop long, il doit contenir seulement le nom du modèle
341 Fatal Le mot xxx est blacklisté et ne devrait pas apparaître dans la description du produit.
36 Fatal Impossible d'importer le produit : le produit a une duplication du couple taille/couleur.
38 Fatal La taille xxx ne peut être définie qu'une fois pour la référence xxx
39 Warning La référence partenaire est présente plusieurs fois dans le flux, les doublons ont été ignorés
42 Warning La saison n'est pas valide.
43 Warning L'information produit xxx correspond à un product_type = xxx et non xxx.
44 Warning La catégorie xxx ne correspond pas à un type de produit xxx mais xxx.
451 Fatal Pas de prix pour la taille xxx du pays xxx. (nécessaire pour un discount)
452 Warning Date de fin du discount dépassé pour la taille xxx du pays xxx.
453 Fatal "rate" (xxx) invalide pour la taille xxx du pays xxx.
454 Fatal "rate" (xxx) > 85% pour la taille xxx du pays xxx.
455 Warning La taille xxx à un prix sur un pays (xxx) non défini pour le produit.
456 Warning La taille xxx à un prix sur xxx identique au prix global sur ce pays.