Importación de productos
URL del Webservice : https://sws.spartoo.es/mp/xml_import_products.phpEste webservice sirve para crear y actualizar los productos en el site de Spartoo.
Este servicio web se utiliza para crear y actualizar productos en el sitio web de Spartoo.
Por cada producto enviado, el servicio web enviará un código de error indicando si todo se realizó correctamente o no. Ciertos errores bloquean (fatal), otros no bloquean (warning).
Este servicio web sirve para crear productos y actualizar tu catálogo. El puede ser utilizado para enviar la totalidad del catálogo o solamente algunos productos.
Frecuencia de llamadas:
- Cuando este servicio web de utiliza para hacer una actualización completa del catálogo, te aconsejamos utilizarlo una vez cada seis horas heures.
- Cuando este servicio web se utiliza para hacer una actualización parcial (algunos productos), aceptamos una frecuencia máxima de una llamada cada diez minutos.
Este servicio web funciona en modo "Actualización" y no en modo "Eliminación". Es decir que los productos que no son enviados en el XML no serán eliminados.
Para retira un producto del sitio, hay que dejar el stock a cero.
Lista de parámetros
Los parámetros de este webservice deben pasarse obligatoriamente en POSTParámetro | Descripción |
---|---|
partenaire | Debe de contener tu identificador único: |
xml | Cadena de caracteres XML que contiene la lista de productos que se deben crear o actualizar |
Parámetros opcionales que pueden ser pasados en POST
Parámetros | Descripción |
---|---|
force_description | Ponerlo en 1 si se desea forzar la actualización de las descripciones productos: suprimir descripciones existentes, editar la descripción de un producto de stock nulo, etc. |
force_overwrite | Ponerlo en 1 si se desea hacer una purga puntual del catalogo: suprime todo lo existente y se guarda solo lo que se envia en esa llamada. |
Formato del parámetro xml
Los campos de texto deben de estar protegidos por etiquetas CDATA si contienen carácteres especiales que harán el 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> <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> <!-- ... Varias etiquetas "size" posibles ... --> </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> <!-- ... Varias etiquetas "info" posibles ... --> </extra_infos> <selections> <selection>int</selection> <!-- ... Varias etiquetas "selection" posibles ... --> </selections> </product> <!-- ... Varias etiquetas "product" posibles ... --> </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> <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> <!-- ... Varias etiquetas "language" posibles ... --> </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> <!-- ... Varias etiquetas "language" posibles ... --> </languages> </size> <!-- ... Varias etiquetas "size" posibles ... --> </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> <!-- ... Varias etiquetas "info" posibles ... --> </extra_infos> <selections> <selection>int</selection> <!-- ... Varias etiquetas "selection" posibles ... --> </selections> </product> <!-- ... Varias etiquetas "product" posibles ... --> </products> </root>
Descripción de los campos de XML de entrada
Etiqueta | Descripción | Obligatorio | |||
---|---|---|---|---|---|
reference_partenaire | Identificador producto partner Es el sku que identifica cada modelo y color de una marca. El identificador del producto solo puede contener caracteres alfanuméricos y los caracteres - (guión medio) _ (guión bajo) y . (punto). |
Sí | |||
product_name |
Nombre comercial del modelo No debe contener otra información como la categoría, el color o la marca del producto. Tampoco debe contenter caracteres o etiquetas html. |
No | |||
manufacturers_name | Nombre de la marca del producto. | Sí | |||
code_idu | Code IDU del producto (ver la ley AGEC) | No | |||
product_sex |
Género del producto. > Ver los valores posibles |
Sí | |||
product_price | Precio del producto en euros (no obligatorio para el precio de las tallas). | Sí / No | |||
color_id |
Código del color, destinado a los filtros de los menús. Si no se precisa, el producto no aparecerá si un cliente filtra por color. > Ver valores posibles |
No | |||
product_style |
Categoría del producto > Ver los valores posibles |
Sí | |||
product_description | Descriptivo del producto. Aparece en la ficha del producto. No se admite html o javascript. | No | |||
product_color | Campo de texto libre para indicar el nombre del color. Aparece en la ficha del producto. | No | |||
product_quantity |
Stock total de un producto Se ignora cuando se detectan uno o varios campos size_quantity para el producto. Para los productos de talla única se requiere indicar el product_quantity si el size_quantity no está registrado. |
No | |||
size |
Lista de tallas y de su stock. Obligatorio para los productos con talla. Opcional para los productos sin tallas ( Bolsos / Accesorios ). |
Sí / No | |||
size_name |
Talla del producto. > Ver los valores posibles |
Sí | size_quantity | Para cada talla, se debe precisa el stock. Pour desactivar un producto, el stock debe enviarse a 0. Cuando todas las tallas de un producto llevan stock 0, el producto se desactiva y no aparece en Spartoo. |
Sí |
size_reference | Referencia de la talla de un producto.No | ||||
ean | EAN del producto al nivel de la talla. | No | |||
photos |
Lista de fotos y sus url. Es obligatorio tener al menos una foto. Recomendamos tener 3 fotos. Podemos integrar un máximo de 8 fotos. La foto será descargada una sola vez, luego será guardada en nuestro servidor, tras haberla redimensionado para adaptarla al standard Spartoo. Las fotos deben tener formato jpg, ser cuadradas y tener al menos 350x350 píxeles. Si las fotos son superiores o iguales a 800x800 píxeles, el cliente podrá hacer zoom. |
Sí | |||
url1, url2 ... url8 |
Enlaces de las fotos. Hay que proporcionar un enlace para cada foto. El nombre del archivo debe contener solo caracteres alfanuméricos y caracteres como "-" (guión), "_" (guión bajo) y "." (punto). Los espacios, así como las letras acentuadas (por ejemplo: é, à y ñ) no son autorizadas. |
Sí | |||
heel_height | Altura del tacón en centímetros (cm). Únicamente para los zapatos de mujer. Debe ser múltiplo de 0,5. | No | |||
product_composition |
Composición del corte del producto. Únicamente para los zapatos. > Ver los valores posibles |
No | |||
voering_composition |
Composición del forro del productos. Únicamente para los zapatos > Ver los valores posibles |
No | |||
first_composition |
Composición de la plantilla del producto. Únicamente para los zapatos > Ver los valores posibles |
No | |||
zool_composition |
Composición de la suela del producto. Únicamente para los zapatos > Ver los valores posibles |
No | |||
discount |
Permite aplicar una promoción a un producto o una talla. El campo rate del campo discount concierne a la reducción del precio en porcentaje con respecto al campo product_price. El campo price_discount del campo discount concierne al precio final con descuento del producto. El porcentaje de descuento mostrado será calculado. Si los dos campos están presentes, el campo price_discount es prioritario sobre el campo rate. Si el descuento es inmediato, no es necesario precisar el campo startdate. Si la etiqueta sales se precisa, la promoción será una promoción de Rebajas. Si no, se tratará de una promoción clásica. Indicar este parámetro permite a los productos aparecer en la página de Rebajas durante el periodo de Rebajas. |
No | |||
extra_infos |
Permite especificar informaciones complementarias dependientes del tipo de producto. Cada información está formada por un id ( > Ver los valores ) y de un valor en forma numérica. |
No |
Ejemplo de parámetro xml
<root> <products> <product> <reference_partenaire>98</reference_partenaire> <product_name><![CDATA[ALL STAR HI]]></product_name> <manufacturers_name><![CDATA[Converse]]></manufacturers_name> <product_sex>M</product_sex> <product_price>64.99</product_price> <product_quantity>5</product_quantity> <color_id>8</color_id> <product_style>10010</product_style> <product_description><![CDATA[Míticas entre las míticas, la Chuck Taylor All Star de Converse son imprescindibles. ¡Aquí te presentamos la versión bota con un estampado clásico! ]]></product_description> <product_color><![CDATA[Rojo]]></product_color> <country_origin>73</country_origin> <code_hs>64059090</code_hs> <size_list> <size> <size_name>38</size_name> <size_quantity>4</size_quantity> <size_reference>98_38</size_reference> <ean>123456789011></ean> </size> <size> <size_name>39</size_name> <size_quantity>1</size_quantity> <size_reference>98_39</size_reference> <ean>123456789012></ean> </size> </size_list> <product_composition>4</product_composition> <photos> <url1>https://imgext.spartoo.com/photos/98/98/98_350_A.jpg</url1> <url2>https://imgext.spartoo.com/photos/98/98/98_350_B.jpg</url2> <url3>https://imgext.spartoo.com/photos/98/98/98_350_C.jpg</url3> <url4>https://imgext.spartoo.com/photos/98/98/98_350_D.jpg</url4> <url5>https://imgext.spartoo.com/photos/98/98/98_350_E.jpg</url5> <url6>https://imgext.spartoo.com/photos/98/98/98_350_F.jpg</url6> <url7>https://imgext.spartoo.com/photos/98/98/98_350_G.jpg</url7> <url8>https://imgext.spartoo.com/photos/98/98/98_350_H.jpg</url8> </photos> <discount> <startdate>1199170800</startdate> <stopdate>1204354800</stopdate> <rate>20</rate> </discount> </product> </products> </root>
Formato XML devuelto
<root> <products> <product> <reference_partenaire>string</reference_partenaire> <status>string</status> <action>string</action> <errors> <error> <id>int</id> <description>string</description> <level>string</level> </error> <!-- ... Varias etiquetas "error" posibles ... --> </errors> </product> <!-- ... Varias etiquetas "product" posibles ... --> </products> <errors>int</errors> </root>
Lista de los códigos de error de la webservice
Código | Descripción |
---|---|
1 | Sin error de parámetros |
-1 | El parámetro partenaire no ha pasado a parámetro o está vacio |
-2 | El parámetro partenaire no existe |
-11 | El parámetro xml no ha pasado a parámetro o está vacio |
-15 | Error de síntesis XML, verifica tu fichero XML |
-428 | Tu cuenta ha sido desactivada. Ya no puede realizar llamadas a servicios web |
-429 | Has realizado demasiadas llamadas a este servicio web durante esta hora |
Descripción de campos de la respuesta XML
Balise | Descripción |
---|---|
reference_partenaire | Identificador producto del partner |
status | OK si el producto es insertado en la base de datos KO si el producto no ha podido ser insertado |
action |
Listado de acciones posibles :
|
errors |
Lista de errores de procesamiento:
|
Lista de códigos de error de producto
Código | Nivel | Descripción |
---|---|---|
1 | Fatal | La referencia asociada no es suficientemente larga |
2 | Fatal | La referencia asociada no es válida , sólo puede contener caracteres alfanuméricos |
3 | Warning | El nombre del producto no está especificado |
4 | Fatal | La marca no está especificada |
5 | Fatal | El género XXX no es válido, los únicos valores posibles son: H , F , H, K , G , B |
6 | Fatal | El precio debe ser un número |
7 | Fatal | El precio debe ser positivo |
8 | Warning | El precio nos parece demasiado elevado ( > 1.000 €) |
81 | Fatal | El precio no puede ser superior a 180 € |
9 | Fatal | La cantidad debe ser un número entero |
10 | Fatal | La cantidad debe ser positiva |
11 | Warning | El color xxx no existe : el producto no estará disponible a través de los filtros de color |
13 | Fatal | La categoría xxx no existe |
14 | Warning | La descripción del producto está vacía |
15 | Warning | El color a mostrar está vacío |
16 | Warning | No hay lista de tallas : utilizar la talla única |
17 | Warning | La composición está especificada pero no es válida |
18 | Fatal | La fotografía 1 es obligatoria |
19 | Warning | La tasa de descuento de la promoción debe ser entre 0 y 100 , la promoción no se tendrá en cuenta |
20 | Warning | La talla xxx no existe |
201 | Fatal | Se requiere el código EAN |
202 | Fatal | El código EAN xxx de la referencia xxx en la talla xxx ya está utilizado. |
205 | Fatal | Referencia Partner demasiado larga |
23 | Warning | La foto xxx es más pequeña que 350x350 : se verá de mala calidad en el sitio |
24 | Warning | La foto xxx es más pequeña que 350x350 : no se mostrará en el sitio |
25 | Fatal | Talla xxx : Imposible regular el stock |
26 | Fatal | No hay stock : el producto no será creado |
27 | Fatal | No se puede acceder a la foto 1 ( url xxx) |
28 | Warning | No se puede acceder a la foto xxx ( url xxx ) |
30 | Fatal | La cantidad xxx es muy elevada (Quantité max : xxx) |
33 | Fatal | Un producto de genero xxx no puede pertenecer a la categoría xxx |
34 | Fatal | La palabra xxx ha sido blacklistada y no debería aparecer. |
35 | Fatal | Nombre del producto es demasiado largo, solo debe contener el nombre del modelo. Error(es) en el/los país/es xxx |
341 | Fatal | La palabra xxx ha sido blacklistada y no debería aparecer en la descripción del producto. |
36 | Fatal | No se puede importar el producto: el producto tiene una duplicación del par tamaño / color. |
37 | Fatal | Este producto no contiene información alguna para el sitio. |
38 | Fatal | la talla xxx solo se puede configurar una vez como referencia xxx |
39 | Warning | La referencia del partner está presente varias veces en el flujo, los duplicados han sido ignorados |
451 | Fatal | No hay precio para la talla xxx del país xxx. (necesario para un descuento) |
452 | Warning | Fecha de finalización del descuento expirada para la talla xxx del país xxx. |
453 | Fatal | "ratio" (xxx) inválido para la talla xxx del país xxx. |
454 | Fatal | "ratio" (xxx) > 85% para la talla xxx del país xxx. |
455 | Warning | La talla xxx tiene un precio en un país (xxx) no definido por el producto. |
456 | Warning | La talla xxx tiene un precio en xxx idéntico al precio global en ese país |
Ejemplo de devolución XML
Ejemplo de respuesta para una llamada servicio web KO :
<root> <products></products> <errors>-1</errors> </root>
Ejemplo de respuesta para una llamada servicio web OK :
<root> <products> <product> <reference_partenaire>EEAJBCC</reference_partenaire> <status>KO</status> <action>not created</action> <errors> <error> <id>14</id> <description>La descripción del producto está vacía</description> <level>warning</level> </error> <error> <id>4</id> <description>La marca no está especificada</description> <level>fatal</level> </error> </errors> </product> <product> <reference_partenaire>KJHGFDS</reference_partenaire> <status>OK</status> <action>created</action> </product> </products> <errors>1</errors> </root>