[ad_1]
In this article, We will learn about how to add configurable products to the cart using Graphql in Magento 2.
In the previous blog, We learned about how to add simple products to cart using GraphQl How to add simple products to cart using GraphQl
Follow the below step to add configurable products to the cart using Graphql in Magento 2.
GraphQL Endpoint: BASE_URL/graphql
Example:
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.
Add a configurable product.
Use the addConfigurableProductsToCart
mutation to add configurable products to the shopping cart.
In the following example add one product with configuration options color is red.
Request:
mutation { addConfigurableProductsToCart( input: cart_id: "SPBJroclB7zT45lgY0stDJmpPnvcsGx2" cart_items: [ parent_sku: "configurable" data: quantity: 1, sku: "configurable-red" ] ) { cart items id product name sku options_container quantity ... on ConfigurableCartItem configurable_options id option_label value_label value_id } }
Response:
Execute the mutation through your GraphQL client, and the configurable product will be added to the cart.
{ "data": { "addConfigurableProductsToCart": "cart": "items": [ "id": "732", "product": "name": "configurable", "sku": "configurable", "options_container": "container2" , "quantity": 1, "configurable_options": [ "id": 93, "option_label": "Color", "value_label": "red", "value_id": 4 ] ] } }
Add a downloadable product to a cart
Use the addDownloadableProductsToCart
mutation to add downloadable products to the shopping cart.
A downloadable product can be anything that you can download as a file, such as an eBook, music or video.
Request:
mutation { addDownloadableProductsToCart( input: cart_id: "SPBJroclB7zT45lgY0stDJmpPnvcsGx2" cart_items: data: sku: "downlodableProdc" quantity: 1 downloadable_product_links: [ link_id: 2 link_id: 5 ] ) { cart items product id sku name quantity ... on DownloadableCartItem links title price samples title sample_url } }
Response:
Execute the mutation through your GraphQL client, and the downloadable product will be added to the cart.
{ "data": { "addDownloadableProductsToCart": "cart": "items": [ "product": "id": 76, "sku": "downlodableProdc", "name": "downlodableProdc" , "quantity": 1, "links": [ "title": "sampleAudio", "price": 21 , "title": "Sample 2", "price": 32 ], "samples": [ "title": "tre", "sample_url": " ] ] } }
Add a bundle product to a cart
Use the addBundleProductsToCart
mutation to add bundle products to the shopping cart.
This example adds one bundle product to the shopping cart. The SKU of this product bundleProduct
Request:
mutation { addBundleProductsToCart( input: cart_id: "SPBJroclB7zT45lgY0stDJmpPnvcsGx2" cart_items: [ data: sku: "bundleProduct" quantity: 1 bundle_options: [ id: 2 quantity: 1 value: [ "4" ] ] , ] ) { cart { items id quantity product sku name ... on BundleCartItem bundle_options id label type values id label price quantity } } }
Response:
Execute the mutation through your GraphQL client, and the bundle product will be added to the cart.
{ "data": { "addBundleProductsToCart": { "cart": "items": [ "id": "114", "quantity": 1, "product": "sku": "bundleProduct", "name": "bundleProduct" , "bundle_options": [ "id": 2, "label": "Simple", "type": "select", "values": [ "id": 4, "label": "simple", "price": 10, "quantity": 1 ] ] ] } } }
Add VirtualProduct to a cart
Use the addVirtualProductsToCart
mutation to add virtual products to the shopping cart.
A virtual product represents a saleable item that is not physical, such as a membership, service, warranty, or subscription. Virtual products do not need to be shipped or downloaded, nor do they require stock management.
Request:
mutation { addVirtualProductsToCart( input: cart_id: "pIRMnP9PtmZ7lu3b22mb7niTMnFhu0Nw", cart_items: [ data: quantity: 1 sku: "virtualProduct" ] ) cart items product name quantity prices grand_total value currency }
Response:
Execute the mutation through your GraphQL client, and the virtual product will be added to the cart.
{ "data": { "addVirtualProductsToCart": "cart": "items": [ "product": "name": "virtualProduct" , "quantity": 1 ], "prices": "grand_total": "value": 100, "currency": "USD" } }
Hope this will help you.
Thanks 🙂
You can check the following blogs related to GraphQl:
Product Types in Magento 2
How to add simple products to cart using GraphQL
GraphQl implementation in Magento 2
GraphQL Mutation
[ad_2]
Source link