如何在 Magento2 上通过 API 添加项目到 quote/cart
How to add an Item to a quote/cart via API on Magento2
我试过用正确的承载呼叫 [POST] /carts/mine/items
、headers 和 body:
{
"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 中放什么(但这是必需的)而且我不明白为什么它一直告诉我数量为空?
首先应该使用带有空主体的请求创建空购物车:
[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 请求更新现有的购物车商品数量。
这是对@Alex Palirush 回答的补充,感谢您解释清楚。
报价 ID 必须是整数,否则将通过错误未知字段 cartId。
{
"message": "No such entity with %fieldName = %fieldValue",
"parameters": {
"fieldName": "cartId",
"fieldValue": "0"
}
}
我试过用正确的承载呼叫 [POST] /carts/mine/items
、headers 和 body:
{
"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 中放什么(但这是必需的)而且我不明白为什么它一直告诉我数量为空?
首先应该使用带有空主体的请求创建空购物车:
[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 请求更新现有的购物车商品数量。
这是对@Alex Palirush 回答的补充,感谢您解释清楚。
报价 ID 必须是整数,否则将通过错误未知字段 cartId。
{
"message": "No such entity with %fieldName = %fieldValue",
"parameters": {
"fieldName": "cartId",
"fieldValue": "0"
}
}