Jump to content

Actualizar stock vía Webservice en Multi-Tienda


setecg

Recommended Posts

Buenas...

Llevo tiempo intentando actualizar el stock de los productos a través de la API/webservice. Puedo actualizar sin problema el stock de un producto cuando solo hay una tienda en Prestashop, pero si hay más de una tienda no puedo actualizar el stock. Puedo modificar cualquier otro dato, pero no el stock.

Lo explico mejor con un ejemplo concreto...

Hay dos tiendas, una con ID=1 y otra con ID=4.

El webservice me devuelve la información del producto si accedo a:

https://mitienda.com/api/products/999

En la información que me devuelve, obtengo el nodo stock_svailables con esta información:

id = 12345

id_product_attribute = 0

id_shop_default = 4

 

Si ahora voy a esta URL para consultar el stock de este artículo, obtengo esto:

https://mitienda.com/api/stock_availables/12345

id_shop: 0

quantity: 4

etc...

No entiendo muy bien por qué el id_shop_default es 4 pero cuando consulto el stock en stocks_available me devuelve id_shop 0, pero bueno, yo sigo...

Por lo tanto, supuestamente si quiero modificar a través de la API el stock de ese artículo, tengo que enviarle esto:

<?xml version="1.0" encoding="UTF-8"?>
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink">
<stock_available>
	<id>12345</id>
	<id_product>999</id_product>
	<id_product_attribute>0</id_product_attribute>
	<id_shop>0</id_shop>
	<id_shop_group></id_shop_group>
	<quantity>8</quantity>
	<depends_on_stock>0</depends_on_stock>
	<out_of_stock>2</out_of_stock>
	<location></location>
</stock_available>
</prestashop>

He probado a especificar el id_shop, el id_group, a dejarlos en blanco ambos, etc. pero no lo consigo.

No me devuelve ningún error. La petición se ejecuta correctamente, pero el stock en Prestashop queda intacto. Si obtengo de nuevo lo que hay en stocks_available, me dice que no hay stocks_available para este artículo en la tienda especificada, y el webservice ahora me devuelve stocks_available en blanco.

No entiendo si el problema está en que mi cliente tiene algo mal configurado en su Prestashop, o que tiene productos creados en una tienda pero el stock está en la otra (no sé si esto es posible). Lo cierto es que si yo intento replicarlo en un Prestashop que tengo para pruebas, puedo modificar el stock sin problema.

¿Alguien sabe si cuando se trata de Multi-Tienda, hay que hacer algo diferente?

Gracias

Link to comment
Share on other sites

  • 2 weeks later...

por url consulto asi
stock_availables?filter[id_product_attribute]=[12345]&display=[id,quantity]&output_format=JSON&id_shop=4

usando el parametro de id_shop=4 para consultar el stock solo de esa tienda

para enviar lo hago asi agregando el parametro de id_shop igual

                                $updatedXml = $webService->edit([

                                    'resource' => 'stock_availables',

                                    'id_shop' => $id_shop,

                                    'id' => $attridsa,

                                    'putXml' => $xmlc->asXML(),

                                ]);

               

                                $resourcexsc = $updatedXml;

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...