Actualización de productos

URL del Webservice : https://sws.spartoo.es/mp/xml_maj_stock_batch.php

Este webservice sirve para actualizar el stock de productos en el site de Spartoo.
Para cada producto enviado, el webservice devolverá un código que indica si todo salió bien o no.

Este webservice se utiliza para actualizar el stock de productos. Se puede utilizar para enviar todo el catálogo o solo algunos productos.

Este webservice funciona en modo "Actualizacion" y no en modo "Overwrite". Por ello, los productos que no se envíen en XML no se eliminarán.
Para eliminar un producto de la página, hay que enviarlo con stock 0.

Lista de parámetros

Los parámetros de este servicio web deben pasarse en POST

parámetros Descripción
partenaire Debe contener su identificador único:
xml Cadena de caracteres XML que contiene la lista de elementos para actualizar


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.

<catalogue>
	<products>
		<product>
			<reference_partenaire>string</reference_partenaire>
			<size_list>
				<size>
					<size_reference>string</size_reference>
					<size_quantity>int</size_quantity>
					<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>
					<!-- ... Varias etiquetas "languages" posibles ... -->
				</size>
				<size>
					<size_reference>string</size_reference>
					<size_quantity>int</size_quantity>
				</size>
			</size_list>
		</product>
		<product>
			<reference_partenaire>string</reference_partenaire>
			<size_list>
				<size>
					<size_reference>string</size_reference>
					<size_quantity>int</size_quantity>
				</size>
				<size>
					<size_reference>string</size_reference>
					<size_quantity>int</size_quantity>
				</size>
			</size_list>
		</product>
	</products>
</catalogue>


Descripción de los campos de XML de entrada


Etiqueta Descripción Obligatorio
reference_partenaire Referencia que identifica un modelo de una marca en un color preciso
El identificador del producto solo puede contener caracteres alfanuméricos, así como los caracteres - (guión medio) _ (guión bajo) y . (punto).
product_quantity Stock total de un producto
Se ignora si se detectan una o más etiquetas size_quantity para el producto.
Para productos de talla única, es obligatorio incluir una etiqueta product_quantity si la etiqueta size_quantity no está completada.
No
Size Lista de tallas y su stock.
Obligatorio para productos con tallas. Opcional para productos sin tallas ( Bolsos/ Accesorios ).
/ No
size_quantity Para cada talla, se debe especificar el stock.
Para desactivar un producto, se debe poner el stock en 0.
Cuando el stock es 0, el producto se desactiva y ya no aparece en Spartoo.
size_reference Referencia que identifica la talla de un producto.
product_price Precio para la talla No
discount Permite publicar un precio con descuento. Se puede indicar de dos maneras.
El campo rate del campo discount indica el porcentaje de descuento sobre el precio de referencia, que se indica en el campo product_price.
El campo price_discount del campo discount indica el precio final con el descuento ya aplicado. El porcentaje de descuento sobre el precio inicial sera calculado automáticamente y se mostrará en la ficha producto.
Si los dos campos estan presentes, el campo price_discount es prioritario sobre el campo rate.
Si el descuento es inmediato, no es necesario precisar la startdate. Si el campo stopdate no esta completado, la promocion durara por defecto un mes. Si el campo sales esta completado con el valor 1, la promoción sera considerada Rebajas. Si no, sera una promocion ordinaria. Indicar este parámetro permite que los productos con descuento aparezcan en la sección de Rebajas del site francés.
No


Ejemplo de parámetro xml

<catalogue>
	<products>
		<product>
			<reference_partenaire>98</reference_partenaire>
			<size_list>
				<size>
					<size_reference>98_38</size_reference>
					<size_quantity>5</size_quantity>
					<languages>
						<language>
							<code>FR</code>
							<product_price>100.00</product_price>
							<discount>
								<startdate>1199170800</startdate>
								<stopdate>1204354800</stopdate>
								<price_discount>90.00</price_discount>
								<rate>10</rate>
								<sales/>
							</discount>
						</language>
						<!-- ... Varias etiquetas "language" posibles ... -->
					</languages>
					<!-- ... Varias etiquetas "languages" posibles ... -->
				</size>
				<size>
					<size_reference>98_39</size_reference>
					<size_quantity>7</size_quantity>
				</size>
			</size_list>
		</product>
		<product>
			<reference_partenaire>158_tailor</reference_partenaire>
			<size_list>
				<size>
					<size_reference>158_37</size_reference>
					<size_quantity>2</size_quantity>
				</size>
				<size>
					<size_reference>158_36</size_reference>
					<size_quantity>0</size_quantity>
				</size>
			</size_list>
		</product>
	</products>
</catalogue>

Formato XML devuelto


<catalogue>
	<products>
		<product>
			<reference_partenaire>string</reference_partenaire>
			<size_list>
				<size>
					<size_reference>string</size_reference>
					<errors>int</errors>
				</size>
			</size_list>
		</product>
		<!-- ... Varias etiquetas "product" posibles ... -->
	</products>
</catalogue>


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
-13 El parámetro products_size_reference no ha pasado a parámetro o está vacio
-15 Error de síntesis XML, verifica tu fichero XML
-18 El stock es el mismo que en la base de datos y por eso no ha sido actualizado
-20 Imposible actualizar el stock. La talla no es válida para este producto, el stock para este producto y esta talla es 0.
-31 Esta talla_referencia no existe
-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



Ejemplo de devolución XML


Ejemplo de respuesta para una llamada servicio web KO :

<catalogue>
	<products></products>
	<errors>-1</errors>
</catalogue>

Ejemplo de respuesta para una llamada servicio web OK :

<catalogue>
	<products>
		<product>
			<reference_partenaire>EEAJBCC</reference_partenaire>
			<size_list>
				<size>
					<size_reference>EEAJBCC_38</size_reference>
					<errors>1</errors>
				</size>
			</size_list>
		</product>
		<product>
			<reference_partenaire>KJHGFDS</reference_partenaire>
			<size_list>
				<size>
					<size_reference></size_reference>
					<errors>-13</errors>
				</size>
			</size_list>
		</product>
	</products>
</catalogue>