setecg Posted June 21, 2022 Share Posted June 21, 2022 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 More sharing options...
brayansr Posted July 4, 2022 Share Posted July 4, 2022 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now