addConfigurableProductsToCart mutation

Use the addConfigurableProductsToCart mutation to add configurable products to a specific cart.

Syntax

mutation: {addConfigurableProductsToCart(input: AddConfigurableProductsToCartInput) {AddConfigurableProductsToCartOutput}}

Example usage

The following example adds two black Teton Pullover Hoodies size extra-small to the specified shopping cart. The cart_id used in this example was generated by creating an empty cart.

Request

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
mutation {
  addConfigurableProductsToCart(
    input: {
      cart_id: "4JQaNVJokOpFxrykGVvYrjhiNv9qt31C"
      cart_items: [
        {
          parent_sku: "MH02"
          data: {
            quantity: 2
            sku: "MH02-XS-Black"
          }
        }
      ]
    }
  ) {
    cart {
      items {
        id
        quantity
        product {
          name
          sku
        }
        ... on ConfigurableCartItem {
          configurable_options {
            option_label
          }
        }
      }
    }
  }
}

Response

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
  "data": {
    "addConfigurableProductsToCart": {
      "cart": {
        "items": [
          {
            "id": "5",
            "quantity": 2,
            "product": {
              "name": "Teton Pullover Hoodie",
              "sku": "MH02"
            },
            "configurable_options": [
              {
                "option_label": "Color"
              },
              {
                "option_label": "Size"
              }
            ]
          }
        ]
      }
    }
  }
}

Input attributes

AddConfigurableProductsToCartInput object

The AddConfigurableProductsToCartInput object contains the following attributes:

Attribute Type Description
cart_id String The unique ID that identifies the customer’s cart
cart_items [ConfigurableProductCartItemInput] An array of configurable items to add to the cart

ConfigurableProductCartItemInput object

The ConfigurableProductCartItemInput object contains the following attributes:

Attribute Type Description
customizable_options CustomizableOptionInput An object that contains the ID and value of the product
data CartItemInput! An object that contains the quantity and SKU of the configurable product
parent_sku String The SKU of the simple product’s parent configurable product
variant_sku String Deprecated. Use CartItemInput.sku instead. The SKU of the simple product

CustomizableOptionInput object

The CustomizableOptionInput object contains the following attributes:

Attribute Type Description
id Int The ID of the customizable option
value String The value of the customizable option. For example, if color was the customizable option, a possible value could be black

CartItemInput object

The CartItemInput object contains the following attributes:

Attribute Type Description
quantity Float! The number of items to add to the cart
sku String! The SKU of the simple product

Output attributes

The AddConfigurableProductsToCartOutput object contains the Cart object.

Attribute Data Type Description
cart Cart! Describes the contents of the specified shopping cart

Cart object

Attribute Data Type Description
applied_coupon AppliedCoupon The AppliedCoupon object contains the code text attribute, which specifies the coupon code
applied_gift_cards [AppliedGiftCard] An array of AppliedGiftCard objects. An AppliedGiftCard object contains the code text attribute, which specifies the gift card code. applied_gift_cards is a Commerce-only attribute, defined in the GiftCardAccountGraphQl module
applied_store_credit AppliedStoreCredit Contains store credit information applied to the cart. applied_store_credit is a Commerce-only attribute, defined in the CustomerBalanceGraphQl module
available_payment_methods [AvailablePaymentMethod] Available payment methods
billing_address BillingCartAddress! Contains the billing address specified in the customer’s cart
email String The customer’s email address
items [CartItemInterface] Contains the items in the customer’s cart
prices CartPrices Contains subtotals and totals
selected_payment_method SelectedPaymentMethod Selected payment method
shipping_addresses [ShippingCartAddress]! Contains one or more shipping addresses

Cart query output provides more information about the Cart object.