我试过调用[POST] /carts/mine/items
,标题包含正确的持票人和正文:
{
"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?
答案 0 :(得分:11)
首先应使用空体请求创建空车:
[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请求更新现有的购物车项目数量。
答案 1 :(得分:0)
这是@Alex Palirush答案的补充,这要归功于它的清楚解释。
引用ID必须为整数,否则将通过错误未知字段cartId。
{
"message": "No such entity with %fieldName = %fieldValue",
"parameters": {
"fieldName": "cartId",
"fieldValue": "0"
}
}