awavi awavi - 3 months ago 30
reST (reStructuredText) Question

How to add an Item to a quote/cart via API on Magento2

I have tried calling

[POST] /carts/mine/items
, headers with correct bearer, and body:

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


and I get the folowing response:

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


Two things, I do not understand what to put in cart_item (but it is required) and I do not why it keeps telling me qty is null?

Answer

First of all empty cart should be created using request with empty body:

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

In response you will get ID of your cart/quote.

Now you can add items to your cart using:

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

In response you should get your cart item data:

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

Be careful since you may accidentally update existing cart item quantity with POST request, if execute the same request several times.