Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

rest

api

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?

like image 837
awavi Avatar asked Nov 13 '15 20:11

awavi


People also ask

How do I add items to my cart in Magento 2?

$_product = $this->product->load($productId); $this->cart->addProduct($_product, $params); $this->cart->save(); You can even use or customize this code as per your need to add more additional or custom options as well as configurable product code.

What is REST API in magento2?

What is REST API. The Magento 2 REST API identifies various functions which can be used to perform requests and receive responses. A developer can perform these interactions by using the HTTP protocol.


1 Answers

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 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.

like image 130
Alex Paliarush Avatar answered Nov 04 '22 12:11

Alex Paliarush