Integration by CSV or XML stream

Introduction

The products available on your website can be uploaded on Spartoo either by CSV or XLM flux.
In this case, the CSV or XLM file containing all of your product information must be available on the internet and accessible by our processor.

Every hour, our processor will download the file and it will integrate the information contained within the file.
The file must be as up to date as possible to prevent unavailable items from appearing as in stock on Spartoo.

The file must contain all the information necessary to categorise your products and quantify your stock.

Each field can be either obligatory, recommended, or optional. If one of the obligatory fields is empty or incorrectly filled in, the product will not be uploaded.
At the end you will find a few example CSV and XML file models. The file example is not used by Spartoo. However, your file must contain all of the obligatory information.

Ideally, your file should use UTF-8 encoding. If this isn't the case, please let us know so that we can configure the uploading of your file.
For CSV files, the file should use the semicolon ';'. If this is not the case, please let us know so that we can configure the uploading of your file.


If you do not have a file sharing server (ftp server) Spartoo advises you to use Dropbox.
more information

Definition

  • Product or Parent product : For Spartoo, a product refers to a style and a colour.
    So, for a style that comes in two colours, there will be two products (and two different product identification codes)
    However, a product can have multiple sizes.

  • Child product: For Spartoo, a child product refers to a product and a specific size.
    So, for a style that comes in one colour and two sizes, there will be two "child products"(one product identification code and two child product identification codes)
    The stock must be associated with a child product. This is the only required information for child products. Other information essentially concerns parent products and it may be omitted for child products.

Information List

Field Name Field Description
SKU / Product code Required The SKU identifies each parent product.
It can contain alphanumeric characters as well as the following characters: - (hyphen); _ (underscore); and . (full stop).
A code may be provided for each child product (the code EAN for example), but it is not required.
Parent / Child Required for CSV This field is required if the file contains one line per product and one line per child product.
In this case, you must give us a way to determine if the line is a parent product or a child product.
For example, this field can contain the word "Parent" for parent products and "Child" for child products.
Parent SKU Required for CSV This field is required if the file contains one line per product and one line per child product.
For each child product, you must give us a way to determine which parent product corresponds to which child product.
This field must contact the product code of the parent product.
Style name Recommended This field must only contain the style name, it must not contain any other information (category, colour, brand)
Brand name Required
Gender Required The product gender. Please use the following codes:
  • H : Men
  • F : Women
  • M : Unisex adult
  • B : Boys
  • G : Girls
  • K : Unisex children
Product price Required Must be in the following currency'USD'.
The price only applies to the parent product. It is not possible to have different prices for child products.
Category Required Contains the category code of the product.
If you cannot provide the Spartoo code, you can put the category name. In this case, you must use the category matching tool to make your categories correspond with Spartoo's categories.

See the list of all category codes
Discount Recommended May contain the desired discount rate or the discounted price.
All discounts are rounded down by Spartoo in increments of 5%. For example, a discount rate of 27% will be rounded down to 25%.
Sale dates Optional Sales may be configured with a start date and an end date.
If the dates are not specified, the sale will start immediately.
During the sale period, it is useful to indicate the start of the sale date so that the discounts will start at the right time without you having to wait until the next file is uploaded.
Size Required Contains the size name of the product.
If this field is not present or it is empty, the product will be considered as having one size.
In the case of US clothing sizes, we must have a way to distinguish whether the sizes are EU or US sizes: either indicate "US" in the size name, or add a field that indicates if the size is a US size or not.
Stock Quantity Required For each size, the stock must be specified.
To deactivate a product, you must put the stock at 0.
When the stock is 0, the product is disactivated and it will no longer appear on Spartoo.
Photos Required At least one photo is required.
We would recommend a minimum of 3 photographs. We can integrate a maximum of 8 photos.
You must provide us with a link to the photo. The photo will only be uploaded once and it will then be saved on our server. Once it is on our server, we will resize it to the dimensions shown on Spartoo.
The photos must be jpg format, square, and a minimum of 350x350 pixels. If the size is equal to or larger than 800x800 pixels, there will be a zoom view on the website.
Product description Recommended Text description of the product.
The product description allows the user to add a maximum amount of information regarding the products, for the benefit of the customer prior to their purchase.
The product description should be detailed and specific to the product. To achieve this, you can mention the name of the product, the brand, colour, style, la material, etc.
HTML cannot be inserted except for a full stop '
'. Javascript is not authorised.
It will be visible on the product page.
Colour filter Recommend Spartoo colour code. Used for the menu filters.
If this code is not provided, you may use the colour matching tool to match your colour names with Spartoo colours.

See the list of all colour codes
Colour Recommended Text field for the colour. Will be shown on the product page.
Material Optional Only for shoes.
We can include 4 different compositions:
  • Upper material
  • Lining material
  • Insole material
  • Outer sole material
We do not have a matching tool for materials, you are required to use the Spartoo codes.

See the list of composition codes
Heel height Optional Only for women's shoes (heels, boots, etc...)
Heel height in centimetres.

List of information for XML feeds

Tag Description Required
reference_partenaire Merchant product code. It is the sku that identifies a product of a brand in a precise color
The product code may only contain alphanumeric characters as well as the following symbols: - (hyphen); _ (underscore); and . (full stop).
Yes
product_name Style name
Must not contain the category, colour, or brand of the product
No
manufacturers_name Name of the product brand Yes
product_sex Product gender
> See all possible values
Yes
product_price Price of product in Euro Yes
color_id Colour for menu filters
If the colour is not specified, the product will not show up if a customer uses the filter by colour
> See all possible values
No
product_style Product category
> See all possible values
Yes
product_description Product description. Appears on the product page. No
product_color Text field for the colour. Appears on the product page. No
product_quantity Total stock of a product
Ignore if one or more size_quantity markers are detected for the product.
For one-size products, a product_quantity marker is necessary when the size_quantity is not given.
No
size List of sizes and their stock.
Optional for products with sizes (Bags/Accessories). Otherwise required.
Non / Oui
size_name Size name
> See all possible values
Yes
size_quantity For each size, the number in stock must be specified.
To deactivate a product, set the stock at 0.
The product will then no longer appear on Spartoo.
Yes
size_reference Reference of product size.
This field is only used for the exporting of orders and returns. A good idea is to generate this reference by combining the fields reference_partenaire and size_name with an underscore "_".
No
ean EAN of product size No
photos List of photos and their url.
At least one photo is needed.
However, we recommend a minimum of 3 photos. A maximum of 8 photos can be included.
The photo will only be uploaded once, then stored on our servers once it has been resized to fit Spartoo dimensions.
Photos must be in jpg format, square and a minimum of 350x350 pixels. If they are above or equal to 800x800 pixels, a zoom will be available on the site.
Yes
url1, url2 ... url8 Links to the photos
You must provide one link per photo. Only alphanumeric characters and the characters "-" (dash), "_" (underscore) and"." (full stop) can be included in the file name. Spaces and accented letters (e.g. é, à, ñ) are not allowed.
Yes
heel_height Heel height in centimetres (cm). Only for women's shoes. Must be a multiple of 0,5. No
product_composition Material of the product upper. Only for shoes.
> See all possible values
No
voering_composition Material of the product lining. Only for shoes.
> See all possible values
No
first_composition Material of the product insole. Only for shoes.
> See all possible values
No
zool_composition Material of the product outer sole. Only for shoes.
> See all possible values
No
discount Allows you to apply a discount to a product.
The field rate in the discount field applies to the discount by percentage with regards to the field product_price.
The field price_discount in the discount concerns the discounted price of the fixed product. The discount percentage displayed will be calculated.
If both fields are present, the price_discount field takes precedence over the rate field.
If the discount is to start immediately, there's no need to fill in the field start date. If the stopdate field is not specified, the promotion will have a default duration of one month. If the field sales is specified, the offer will be a sales discount. Otherwise, it will be a standard offer. By defining this parameter, the item will appear on the sale page during the sales.
No
extra_infos Specify additional information depending on the type of product.
Each information is constituted by an id ( > See values ) and a numerical value.
No
selections Specify the context of use thanks to a id list
All the possible id are available here.
No


XML parameter format


The text fields must be protected by CDATA tags if they contain special characters that would make the XML invalid.

Format single country

<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>
				<!-- ... Multiple "size" tags possible ... -->
			</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>
				<!-- ... Multiple "info" tags possible ... -->
			</extra_infos>
			<selections>
				<selection>int</selection>
				<!-- ... Multiple "selection" tags possible ... -->
			</selections>
	   </product>
	   <!-- ... Multiple "product" tags possible ... -->
   </products>
</root>


Format multi country

<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>
				<!-- ... Multiple "language" tags possible ... -->
			</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>
				<!-- ... Multiple "size" tags possible ... -->
			</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>
				<!-- ... Multiple "info" tags possible ... -->
			</extra_infos>
			 <selections>
				<selection>int</selection>
				<!-- ... Multiple "selection" tags possible ... -->
			</selections>
	   </product>
	   <!-- ... Multiple "product" tags possible ... -->
   </products>
</root>


File Examples

CSV files

CSV file with classic parent / child product

XML files

XML file example

Exemple de fichier XML Multi pays

Fichiers XSD

Fichier XSD Multi pays

List of product error codes


Code Level Description
1 Fatal The partner reference is not long enough
2 Fatal The partner reference is not valid, it can only contain alphanumeric characters
3 Warning Product name is not specified
4 Fatal The brand is not specified
5 Fatal The type XXX is not valid, the only possible values ​​are: H , F , M, K , G , B
6 Fatal The price must be a number
7 Fatal the price is negative or not indicated
8 Warning The price seems very large ( > 1000€ )
9 Fatal The amount must be a whole number
10 Fatal The amount must be positive
11 Warning The colour xxx does not exist: the product will not be available through the colour filters
13 Fatal The category xxx does not exist
14 Warning The product description is empty
15 Warning The colour description is empty
16 Warning No size list: use a single size
17 Warning The composition is specified, but is invalid
18 Fatal Photo 1 is required
19 Warning The rate of discount must be between 0 and 100, the discount will not be taken into account
20 Warning The size xxx does not exist
200 Fatal Size xxx does not exist for the brand xxx
201 Fatal EAN code is required
202 Fatal The EAN code xxx on the reference xxx in size xxx is already used by the reference: xxx
203 Warning The EAN code is too short or ends with '000'
204 Warning The EAN code xxx exists in several copies in the flow.
23 Warning The photo xxx is smaller than 350x350: it will be of poor quality on the website
24 Warning The photo xxx is smaller than 350x350: it will not be displayed on the website
25 Fatal Size xxx: Unable to regulate stock
26 Fatal Not in stock: Product will not be created
27 Fatal Unable to access photo 1 (url xxx)
28 Warning Unable to access photo xxx (url xxx)
281 Fatal Photo too large (xxxo)
30 Fatal The amount of the size xxx is too large (Max amount: xxx)
31 Warning Your account is not activated on the xxx website
32 Fatal no product information found for this country
33 Fatal A xxx product cannot be put under the category xxx
34 Fatal The word xxx is blacklisted and it should not appear in the product name, nor in the product description.
35 Fatal The name of the product is too long. It must only feature the name of the model.
341 Fatal The word xxx is blacklisted and should not appear in the product description.
36 Fatal Unable to upload the product: the size/colour couple of the product has been duplicated
38 Fatal The size xxx can only be set once for the reference xxx
39 Warning The partner reference is present several times in the flow, duplicates have been ignored
42 Warning The season is not valid.
43 Warning The product information xxx corresponds to a product_type = xxx and not xxx.
44 Warning The xxx category does not correspond to a product type xxx but rather xxx.
451 Fatal No price for size xxx in country xxx. (required for a discount)
452 Warning End date of the discount exceeded for the size xxx of the country xxx.
453 Fatal "rate" (xxx) invalid for the size xxx of the country xxx.
454 Fatal "rate" (xxx) > 85% for the size xxx of the country xxx.
455 Warning The size xxx has a price on a country (xxx) not defined for the product.
456 Warning Size xxx has a price on xxx identical to the global price on this country.