In this article, we will learn about how to add products to the cart using GraphQL.
To add a product in Magento 2 using GraphQL, first, ensure you have the necessary GraphQL endpoint and authentication tokens.
GraphQL Endpoint: BASE_URL/graphql
Example: http://example.com/graphql
Step 1: Create an empty cart.
First off, we need to create an empty cart to add products in Magento 2 .
We have created an empty cart for the guest user using the following mutation, token is not required for the guest user.
Request:
mutation { createEmptyCart }
Response:
{ "data": { "createEmptyCart": "HGtFTrWohKAg9o9uXL8HRzl9JCIp8btn" } }
This mutation creates an empty cart for the guest user. The unique shopping cart_id: HGtFTrWohKAg9o9uXL8HRzl9JCIp8btn.
Step 2: Add a simple product.
The following mutation adds a simple product to the shopping cart.
We will add the simple product “Test (test)” to the cart. The SKU identifies the product to be added.
Request:
mutation { addSimpleProductsToCart( input: { cart_id: "HGtFTrWohKAg9o9uXL8HRzl9JCIp8btn" cart_items: [ { data: { quantity: 1 sku: "test" } } ] } ) { cart { items { id product { sku stock_status } quantity } } } }
Response:
{ "data": { "addSimpleProductsToCart": { "cart": { "items": [ { "id": "484", "product": { "sku": "test", "stock_status": "IN_STOCK" }, "quantity": 1 } ] } } } }
Execute the mutation through your GraphQL client, and the simple product will be added to your Magento store.
Step 3: Add a simple product with customizable options.
The following mutation adds a simple product with customizable options to the shopping cart.
We will add the simple product with the customizable option “Simple (simple)” to the cart. The SKU identifies the product to be added.
Request:
mutation { addSimpleProductsToCart( input: { cart_id: "HGtFTrWohKAg9o9uXL8HRzl9JCIp8btn" cart_items: [{ data: { quantity: 1, sku: "simple" } customizable_options: [ { id: 64 value_string: 128 } ] }] } ) { cart { items { id product { name sku } quantity } } } }
Response:
{ "data": { "addSimpleProductsToCart": { "cart": { "items": [ { "id": "484", "product": { "name": "test", "sku": "test" }, "quantity": 1 }, { "id": "485", "product": { "name": "simple", "sku": "simple" }, "quantity": 1 } ] } } } }
The response lists all items currently in the cart.
Hope this will help you.
Thanks 🙂
You can check the following blogs related to GraphQl:
GraphQl implementation in Magento 2
GraphQL Mutation
Be the first to comment.