2015-11-13 68 views
7
添加到报价/车

我已经打过电话[POST] /carts/mine/items,用正确的承载标题和正文:如何将项目通过API上Magento2

{ 
    "cart_item": 1, 
    "sku": "MY_SKU", 
    "qty": 1 
} 

,我得到了如下因素响应:

{ 
    "message": "Invalid value of \"%value\" provided for the %fieldName field.", 
    "parameters": { 
     "fieldName": "qty", 
     "value": null 
    } 
} 

有两件事,我不明白把什么放在cart_item(但它是必需的),我不知道它为什么告诉我qty为null?

回答

9

所有空购物车首先应要求使用空正文创建:

[POST] {base URL}/rest/V1/carts/mine 

对此你会得到你的车的ID /报价。

现在你可以使用项目添加到您的购物车:

[POST] {base URL}/rest/V1/carts/mine/items 
{ 
    "cart_item": { 
    "quote_id": <cart ID received from previous call>, 
    "sku": "product_sku", 
    "qty": 10 
    } 
} 

对此你应该让你的购物车项目数据:

{ 
    "item_id": 1, 
    "sku": "product_sku", 
    "qty": 10, 
    "name": "Simple Product", 
    "price": 123, 
    "product_type": "simple", 
    "quote_id": "1" 
} 

要小心,因为你可能会意外地更新现有的购物车项目数量POST请求,如果多次执行相同的请求。

+0

如何传递多个一个API调用项目? –

0

这是对@Alex Palirush的答案的补充,这要归功于解释清楚。

报价编号必须是整数,否则将通过错误未知字段cartId。

{ “消息”: “没有这样的实体%的fieldName =%fieldValue方法”, “参数”:{ “fieldName的”: “cartId”, “fieldValue方法”: “0”}}

+0

好的,我会编辑亚历克斯的回答来表达这一点! – awavi

相关问题