La documentación de la API REST dice que PUT /V1/products/{sku}
crea en lugar de actualizaciones.
¿Es eso un error en los documentos porque habría asumido que es un método de actualización y POST es el método para crear?
La documentación de la API REST dice que PUT /V1/products/{sku}
crea en lugar de actualizaciones.
¿Es eso un error en los documentos porque habría asumido que es un método de actualización y POST es el método para crear?
Respuestas:
POST y PUT ruta al mismo método de guardar, pero con POST no puede pasar sku
<route url="/V1/products" method="POST">
<service class="Magento\Catalog\Api\ProductRepositoryInterface" method="save"/>
<resources>
<resource ref="Magento_Catalog::products" />
</resources>
</route>
<route url="/V1/products/:sku" method="PUT">
<service class="Magento\Catalog\Api\ProductRepositoryInterface" method="save" />
<resources>
<resource ref="Magento_Catalog::products" />
</resources>
</route>
Mirando esta página: http://devdocs.magento.com/guides/m1x/api/rest/Resources/Products/products.html#RESTAPI-Resource-Products-HTTPMethod-PUT-products--id
Puedo ver para PUT:
Descripción: le permite actualizar un producto existente.
Tengo un problema similar, pero en mi caso, PUT no funciona correctamente porque:
1) Encuentra todos los productos del carrito:
GET: http://my_host.dev/index.php/rest/V1/carts/8/items
(Todavía no sé cómo encontrar el cliente cartId ) Encontré el número correcto aumentando el número de 1.
2) la respuesta fue:
[ { "item_id": 11, "sku": "MH07-M-Green", "qty": 1, "name": "Hero Hoodie", "price": 54, "product_type": "configurable", "quote_id": "8", "product_option":{ "extension_attributes":{ "configurable_item_options":[{"option_id": "90", "option_value": 53 }, {"option_id": "138",…] } } } ]
2) Actualizar el precio del artículo del carrito por:
{ "cartItem": { "itemId": 11, "sku": "MH07-M-Green", "qty": 2, "name": "Hero Hoodie", "price": 1000, "productType": "configurable ", "quoteId": "8" } }
3) No recibo el precio del artículo actualizado en el carrito (Mi respuesta es la misma que en el punto 1). Tengo que decir también que puedo eliminar artículos del carrito. ¿Alguna solución para esto?
Gracias