Magento 2 How to createEmptyCart, updateCartItems and removeCartItems using GraphQL

We all know that added cart items are stored in the quote table, here we will show you how to update cart items, remove cart items and how to create an empty cart using GraphQL in Magento 2.

Create an empty cart

The createEmptyCart mutation allows create an empty cart for a guest or logged in customer, must include the customer's authorization token in the header of the request for login customer.

Syntax

mutation {createEmptyCart}: String

The following request returns create an empty cart.

Request

saveCopyzoom_out_map
mutation { createEmptyCart }

Response

saveCopyzoom_out_map
{ "data": { "createEmptyCart": "OlljFSsHfQ4P6I4loBnjBEGJdlanD0D3" } }

Update an empty cart

The updateCartItems mutation allows you to replace the current quantity of one or more cart items with the specified quantities. Note: If we will set quantity to 0 (zero) removes as item from cart.

Syntax

mutation: {
 updateCartItems(
  input: UpdateCartItemsInput
 ) {
  UpdateCartItemsOutput
 }
}

In the following query change the quantity of cart item.

Request

saveCopyzoom_out_map
mutation { updateCartItems( input: { cart_id: "0v1WorIkx7tdcZIvymRMdPx4HaOYAXQN" cart_items: [{ cart_item_id: 19, quantity: 2 }] } ) { cart { items { id quantity product { id sku name } prices { row_total { value currency } } } } } }

Response

saveCopyzoom_out_map
{ "data": { "updateCartItems": { "cart": { "items": [ { "id": "19", "quantity": 2, "product": { "id": 14, "sku": "24-WB04", "name": "Push It Messenger Bag" }, "prices": { "row_total": { "value": 90, "currency": "USD" } } } ] } } } }

Remove Items from cart

The removeItemFromCart mutation deletes the entire quantity of a specific item. You can remove all items from cart.

Syntax

mutation {
  removeItemFromCart(
    input: RemoveItemFromCartInput
  ) {
    RemoveItemFromCartOutput
  }
}

The following example removes cart item from cart.

Request

saveCopyzoom_out_map
mutation { removeItemFromCart( input: { cart_id: "0v1WorIkx7tdcZIvymRMdPx4HaOYAXQN" cart_item_id: 20 } ) { cart { items { id quantity product { id sku name } prices { price{ value currency } } } } } }

Response

saveCopyzoom_out_map
{ "data": { "removeItemFromCart": { "cart": { "items": [] } } } }

That's it!!

If you are looking for more GraphQL solutions then check out our another article which is List of GraphQL Queries and Mutations for Magento 2.

I hope this article helps you to find what you were looking for.

Bookmark it for your future reference. Do comment below if you have any other questions on that.

P.S. Do share this article with your team.




Recent Articles
Tags
Newsletter
Chrome Extension
Copyright © 2024 devhooks.in All rights reserved.
Ads OFF toggle_off
wifi_off