Integração através de fluxo CSV ou XML

Introdução

os produtos do seu site podem ser integrados na Spartoo através de fluxo CSV ou XML.
Neste caso, o ficheiro CSV ou XML que contém todas as informações dos seus produtos deverá estar acessível na rede através do nosso robô.

O nosso robô fará o download do ficheiro a cada hora (mais ou menos) e fará a integração das informações no interior.
O ficheiro deverá ser atualizado com a maior frequência possível para evitar que os produtos esgotados apareçam ainda no site da Spartoo.

O ficheiro deve conter as informações necessárias à categorização dos seus produtos e à quantificação dos seus stocks.

Existem campos que podem ser obrigatórios, recomendados ou facultativos. Se um dos campos obrigatórios estiver vazio ou mal preenchido, o produto não será integrado.
Encontrará abaixo alguns modelos de ficheiros CSV ou XML. O modelo de ficheiro não é imposto pela Spartoo. No entanto, o seu ficheiro deve conter todas as informações obrigatórias.

De preferência, o seu ficheiro deve utilizar a codificação UTF-8. No caso de tal não acontecer, por favor avise-nos para podermos podermos configurar o tratamento do ficheiro.
Nos ficheiros CSV, o ficheiro deve utilizar o ponto e vírgula ';'. No caso de tal não acontecer, por favor avise-nos para podermos podermos configurar o tratamento do ficheiro.


Se não dispor de um servidor de compartilhamento de arquivos (servidor ftp), a Spartoo recomenda o uso do Dropbox.
mais informações

Definição

  • Produto ou Produto "parent": Para a Spartoo, um produto corresponde a um modelo e a uma cor.
    Ou seja, para um modelo que existe em duas cores, terá de assinalar dois produtos (e portanto dois ID's principais diferentes)
    Por outro lado, um produto pode ter diferentes tamanhos.

  • Produto "child": Para a Spartoo, um produto "child" corresponde a um produto e um tamanho diferente.
    Ou seja, para um modelo que tem uma cor e dois tamanhos, terá de assinalar dois "produtos child" (e portanto um ID principal e dois ID's de produto "child")
    O stock deve estar associado obrigatoriamente ao produto "child" e esta é a única informação obrigatória para os produtos "child". As outras informações dizem respeito essencialmente aos produtos "parent" e podem ser omitidas para os produtos "child".

Lista das informações

Contém a percentagem do desconto desejada.
Todas as reduções serão arredondadas (a baixo) pela Spartoo no máximo de 5%. Por exemplo, uma percentagem de desconto de 27% será arredondada a 25%.
Nome do campo Campo Descrição
SKU / Identificação do produto Obrigatório O SKU identifica cada produto "parent".
Só pode conter caracteres alfanuméricos e - (hífen) _ (underscore) ou . (ponto).
Pode ser indicada uma identificação para cada produto "child" (por exemplo, o código EAN), mas não é obrigatório.
Parent / Child Obrigatório para o CSV Este campo é obrigatório nos casos em que o ficheiro contém uma linha por produto e uma linha por produto "child".
Nesses caso é necessário fornecer-nos uma forma de identificar se uma linha corresponde a um produto ou a um produto "child".
Este campo pode conter por exemplo "Parent" para os produtos "parent" e "Child" para os produtos "child".
Parent SKU Obrigatório para o CSV Este campo é obrigatório nos casos em que o ficheiro contém uma linha por produto e uma linha por produto "child".
Para cada produto "child", é necessário que possamos saber a que produto "parent" corresponde o produto "child".
Este campo deve conter a identificação do produto "parent".
Nome do modelo Recomendado Este campo deve conter apenas o nome do modelo. Não pode conter outras informações (categoria, cor, marca)
Nome da marca Obrigatório
Género Obrigatório Género do produto. De preferência, utilize os seguintes códigos:
  • H : Homem
  • F : Mulher
  • M : Misto adulto
  • B : Rapaz
  • G : Rapariga
  • K : Misto criança
Preço do produto Obrigatório Deve ser indicado obrigatoriamente em 'EUR'.
O preço só se aplica ao produto "parent". Não é possível ter preços diferentes para os produtos "child".
Categoria Obrigatório Contém o código da categoria do produto. Você deve evitar as categorias macro (em vermelho) e usar as outras que são mais precisas
Caso não consiga indicar o código da Spartoo, pode colocar o nome da categoria. Será necessário utilizar então a ferramenta de matching das categorias para associar as suas categorias às categorias da Spartoo.

<Ver a lista de todos os códigos de categorias
Seleções Opcional Permite especificar os contextos de utilização do produto através de uma lista de id.
O conjunto dos contextos disponíveis está aqui
Preço baixo Recomendado Contém o preço com desconto do produto.
Se a percentagem do desconto estiver indicada e não corresponder ao preço com desconto, então é o preço anunciado com desconto que é válido.
Percentagem do desconto Recomendado
Tipo de desconto Recomendado Se uma promoção for do tipo saldos, é preciso indicar neste espaço.
Datas das promoções Opcional As promoções podem ser configuradas com uma data de início e uma data de fim.
Caso as datas não sejam indicadas, a promoção começará de imediato.
Esta ferramenta pode ser muito útil para os saldos, pois ao indicar a data de início e fim, os descontos começarão diretamente na hora certa, sem esperar pela próxima integração de ficheiro.
Tamanho Obrigatório Contém o tamanho do produto.
Se o campo não for indicado ou estiver vazio, o produto será considerado como tendo um tamanho único.
No caso dos tamanhos de vestuário US, é necessário obter uma forma de saber se o tamanho indicado é EU ou US : pode indicar US no tamanho ou adicionar um campo que diga se o tamanho é US ou não.
Quantidade em stock Obrigatório Para cada tamanho, deve indicar o stock disponível.
Para desativar um produto, deve colocar o stock a 0.
Quando o stock está a 0, o produto fica desativado e não aparece no site da Spartoo.
EAN Obrigatório Código standard internacional que identifica cada produto e que permite estar presente no Google Shopping e outros comparadores de preço.
Fotos Obrigatório É obrigatório colocar pelo menos uma foto.
Recomendamos que coloque pelo menos 3 fotos, mas podemos integrar até 8 fotos no máximo.
Deve fornecer-nos um link para a foto. O nome do ficheiro deve conter apenas caracteres alfanuméricos, bem como os caracteres "-" (hífen), "_" (underscore) e "." (ponto). Letras acentuadas (por exemplo, é, à e õ) não são permitidas.
O download da foto será feito uma única vez e a mesma será armazenada nos nossos servidores depois de ter sido redimensionada de acordo com as dimensões da Spartoo.
As fotos devem estar no formto jpg, ser quadradas e no mínimo com 350x350 pixeis. Se forem superiores ou iguais a 800x800 pixeis, existirá a possibilidade de fazer zoom no site.
Descrição do produto Recomendado Descrição textual do produto.
Não é possível de inserir em HTML. O javascript não é permitido.
Esta descrição será visível unicamente na página do produto.
Cor do filtro Recomendado Identificação Spartoo da cor. Utilizada para os filtros dos menus.
Se esta identificação não for indicada, pode utilizar a ferramenta de matching de cores para associar o nome das suas cores às cores da Spartoo.

Ver a lista de todos os códigos de cor
Cor Recomendado Campo para indicar a cor. Será apresentado na página do produto.
Composição Facultativo Apenas para o calçado.
É possível integrar 4 composições diferentes:
  • Composição do cano
  • Composição do forro
  • Composição da palmilha
  • Composição da sola
Não temos nenhuma ferramenta de matching para as composições, por isso deverá utilizar obrigatoriamente os códigos da Spartoo.

Ver a lista de todos os códigos de composição
Altura do tacão Facultativo Apenas para o calçado feminino ( escarpins, botas, etc ... )
Altura do tacão em cm.
País de origem Opcional O país de origem do país
Voir les valeurs possibles
Código HS Opcional O código HS do produto para fins aduaneiros
Informações adicionais Opcional Lista de códigos de informação separados por vírgulas (ex: '120,521')
Estação Obrigatório para MPO Época do produto, constituída por o código "AI" (Outono-Inverno) ou "PV" (Primavera-Verão) seguido do ano.
(ex: AI21, PV22)

Lista de informações para fluxo XML

Obrigatório para o serviço logístico
Baliza Descrição Obrigatória
reference_partenaire Identificação do produto parceiro
A identificação do produto só pode conter caracteres alfanuméricos e os caracteres - (hífen) _ (underscore) e . (ponto).
Sim
product_name Nome do modelo
Não deve conter a categoria, a cor ou a marca do produto
Não
manufacturers_name Nome da marca do produto Sim
product_sex Género do produto
> Ver os valores possíveis
Sim
product_price Preço do produto em euros (não obrigatório para preços de tamanho) Sim Não
color_id Cor destinada aos filtros dos menus
Se não for indicada, o produto não aparecerá se o cliente utilizar o filtro por cor
> Ver os valores possíveis
Não
product_style Categoria
> Ver os valores possíveis
Sim
product_description Descrição do produto. Aparece na página do produto. Não
product_color Campo de texto livre para a cor. Aparece na página do produto. Não
product_quantity Stock total de um produto
Ignorado se for detetada uma ou mais tags size_quantity para o produto.
Para produtos de tamanho único, será necessária uma etiqueta product_quantity se a etiqueta size_quantity não for especificada.
Não
size Lista dos tamanhos e respetivo stock.
Facultativo para os produtos sem tamanho ( Bolsas / Acessórios). Caso contrário é Obrigatório.
Oui / Non
size_name Nome do tamanho
> Ver os valores possíveis
Sim
size_quantity Para cada tamanho deve ser especificado o stock.
Para desativar um produto, deve definir o stock para 0.
Quando o stock chega a 0, o produto é desativado e deixa de aparecer em Spartoo.
Sim
size_reference Referência do produto por tamanho.
Este campo serve apenas para ser enviado nas exportações de encomendas ou devoluções. Uma boa solução será de gerar esta referência ligando os campos reference_partenaire e size_name através de um underscore "_".
Não
ean EAN do produto por tamanho Não / Sim
fotos Lista das fotos e respetivos URL.
É obrigatória pelo menos uma foto.
Recomendamos ter pelo menos 3 fotos. Podemos integrar no máximo 8 fotos.
A foto será baixada apenas uma vez, será em seguida armazenada nos nossos servidores depois de redimensionada para as dimensões Spartoo
As fotos devem estar no formato jpg, quadradas e com pelo menos 350x350 pixeis. Se elas forem superiores ou iguais a 800x800 pixeis, haverá um possível zoom no site.
Sim
url1, url2 ... url8 Links para as fotos
Deve fornecer um link para cada foto. O nome do arquivo deve conter apenas caracteres alfanuméricos e caracteres "-" (hífens), "_" (underscore) e "." (pontos). Espaços, bem como letras acentuadas (por ex. é, à e ã) não são autorizados.
Sim
country_origin País de origem do produto
> Ver os valores possíveis
heel_height Altura do tacão em centímetro (cm). Unicamente para os calçados femininos. Deve ser um múltiplo de 0,5. No
product_composition Composição do cano do produto. Apenas para o calçado.
> Ver os valores possíveis
Não
voering_composition Composição do forro do produto. Apenas para o calçado.
> Ver os valores possíveis
Não
first_composition Composição da palmilha do produto. Apenas para o calçado.
> Ver os valores possíveis
Não
zool_composition Composição da sola do produto. Apenas para o calçado.
> Ver os valores possíveis
Não
discount Permite aplicar uma promoção no produto ou no tamanho.
O campo ratedo campo discountdiz respeito à redução do preço em percentagem em relação ao campo product_price.
O campo price_discount do campo discount diz respeito à redução em preço fixo. A percentagem de redução apresentada será calculada.
Se os dois campos estiverem presentes, o campo price_discount é prioritário em relação ao campo rate.
Se o desconto é imediato, não será necessário indicar o campo startdate. Se a baliza sales for indicada, a promoção será uma promoção de saldos. Caso contrário, será uma promoção clássica. Indicar este parâmetro permite que os produtos estejam presentes na página de saldos durante o período de saldos.
Não
extra_infos Permite especificar informações complementares dependentes do tipo de produto.
Cada informação tem um ID ( Ver os valores ) e de um valor no formato numérico.
Não
seleções Permite especificar os contextos de utilização do produto através de uma lista de ID.
O conjunto dos contextos está aqui.
Não


Formato do parâmetro xml


Os campos de texto devem estar protegidos por balizas CDATA caso contenham caracteres especiais que possam tornar o XML inválido.

Formato mono país

<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>
					<product_price>float</product_price>
					<discount>
						<startdate>timestamp</startdate>
						<stopdate>timestamp</stopdate>
						<price_discount>float</price_discount>
						<rate>int</rate>
						<sales/>
					</discount>
				</size>
				<!-- ... Várias balizas "size" possíveis ... -->
			</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>
				<!-- ... Várias balizas "info" possíveis ... -->
			</extra_infos>
			<selections>
				<selection>int</selection>
				<!-- ... Várias balizas "selection" possíveis ... -->
			</selections>
	   </product>
	   <!-- ... Várias balizas "product" possíveis ... -->
   </products>
</root>


Formato multi país

<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>
				<!-- ... Várias balizas "language" possíveis ... -->
			</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>
					<languages>
						<language>
							<code>string</code>
							<product_price>float</product_price>
							<discount>
								<startdate>timestamp</startdate>
								<stopdate>timestamp</stopdate>
								<price_discount>float</price_discount>
								<rate>int</rate>
								<sales/>
							</discount>
						</language>
						<!-- ... Várias balizas "language" possíveis ... -->
					</languages>
				</size>
				<!-- ... Várias balizas "size" possíveis ... -->
			</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>
				<!-- ... Várias balizas "info" possíveis ... -->
			</extra_infos>
			 <selections>
				<selection>int</selection>
				<!-- ... Várias balizas "selection" possíveis ... -->
			</selections>
	   </product>
	   <!-- ... Várias balizas "product" possíveis ... -->
   </products>
</root>


Exemplos de ficheiros

Ficheiros CSV

Ficheiro CSV com produto "parent" / produto "child" clássico

Ficheiros XML

Exemplo de ficheiro XML Mono país

Exemplo de ficheiros XML Multi país

Lista dos códigos de erros dos produtos


Code Nível Descrição
1 Fatal A referência do parceiro é demasiado curta
2 Fatal A referência do parceiro não é válida. A referência só pode ter caracteres alfanuméricos
3 Warning O nome do produto não foi especificado
4 Fatal A marca não foi especificada
5 Fatal O género não é válido. Os únicos valores possíveis são: H, F, M, K, G, B
6 Fatal O preço deve ser um número
7 Fatal O preço deve ser positivo
8 Warning O preço é demasiado elevado ( > 1000€ )
9 Fatal A quantidade deve ser um número inteiro
10 Fatal A quantidade deve ser positiva
11 Warning A cor xxx não existe: o produto não estará disponível através dos filtros de cor
13 Fatal A categoria xxx não existe
14 Warning A descrição do produto está vazia
15 Warning A descrição da cor está vazia
16 Warning Não há lista de tamanhos: utilização do tamanho único
17 Warning A composição foi especificada, mas não é válida
18 Fatal A imagem 1 é obrigatória
19 Warning Esta promoção não é válida. A taxa de desconto da promoção deve ser entre 0 e 100.
20 Warning O tamanho xxx não existe
200 Fatal O tamanho xxx não existe para a marca xxx.
201 Fatal O código EAN é obrigatório
202 Fatal O código EAN xxx na referência xxx no tamanho xxx já está a ser utilizado.
203 Warning O código EAN é demasiado curto ou termina com '000'.
204 Warning O código EAN xxx existe em várias cópias no fluxo.
205 Fatal Referência parceiro demasiado comprida
23 Warning A imagem xxx é inferior a 350x350: esta imagem terá uma má qualidade no site
24 Warning A imagem xxx é inferior a 350x350: esta imagem não será apresentada no site
25 Fatal Tamanho xxx: Impossível regular o stock
26 Fatal Não há stock: o produto não será criado
27 Fatal Impossível aceder à imagem 1 ( url xxx )
28 Warning Impossível aceder à imagem xxx ( url xxx )
281 Fatal Fotografia demasiado grande (xxx)
30 Fatal A quantidade do tamanho xxx é demasiada elevada (Quantité max : xxx)
31 Warning A sua conta não está ativa no site xxx
32 Fatal Não foram encontradas informações sobre produtos para este país.
33 Fatal Um produto de género xxx não pode pertencer a categoria xxx
34 Fatal A palavra xxx está bloqueada e não deve aparecer no nome do produto.
35 Fatal Nome do produto muito comprido, deve conter apenas o nome do modelo. Erro(s) no(s) país(es): xxx
341 Fatal A palavra xxx está bloqueada e não deve aparecer na descrição do produto.
36 Fatal Impossível importar o produto: o produto possui uma duplicação do par tamanho/cor.
38 Fatal O tamanho xxx só pode ser definido uma vez para a referência xxx
39 Warning A referência parceira está presente várias vezes, as duplicações foram ignoradas
42 Warning A estação é inválida.
43 Warning A informação do produto xxx corresponde a um product_type = xxx e não xxx.
44 Warning A categoria xxx não corresponde a um tipo de produto xxx mas xxx.
451 Fatal Não há preço para o tamanho xxx no país xxx. (necessário para um desconto)
452 Warning Data final do desconto excedida para o tamanho xxx do país xxx.
453 Fatal "taxa" (xxx) invalido para o tamanho xxx do país xxx.
454 Fatal "taxa" (xxx) > 85% para o tamanho xxx do país xxx.
455 Warning O tamanho xxx tem um preço num país (xxx) não definido para o produto.
456 Warning O tamanho xxx tem um preço de xxx idêntico ao preço global neste país.