addCartItems

Adds new items to an existing shopping cart. This mutation resets selected shipping method of updated stores, and user will need to select shipping method again

📘

This mutation only adds non-existing products to the cart, skipping items that are already in the cart. To update quantity use updateCartItems.


Arguments

input : CartItemsAddInput!

The input object contains the unique identifier (ID) for the cart and the items that need to be added.


Returns

CartResponse.*: CartResponse

Any requested field from the CartResponse object.


Examples

{
    "input": {
        "id": "{{cartId}}",
        "items": {
            "amazonCartItemsInput": [{
                "quantity": 1,
                "productId": "{{productId}}"
            }],
            "shopifyCartItemsInput": [{
                "quantity": 1,
                "variantId": "{{variantId}}"
            }]
        }
    }
}
mutation ($input: CartItemsAddInput!) {
    addCartItems(input: $input) {
        cart {
            cost {
                isEstimated
                subtotal {
                    value
                    displayValue
                    currency
                }
                tax {
                    value
                    displayValue
                    currency
                }
                shipping {
                    value
                    displayValue
                    currency
                }
                total {
                    value
                    displayValue
                    currency
                }
            }
            id
            buyerIdentity {
                firstName
                lastName
                address1
                address2
                city
                provinceCode
                countryCode
                postalCode
                email
                phone
            }
            stores {
                ... on AmazonStore {
                    errors {
                        code
                        message
                        details {
                            productIds
                        }
                    }
                    store
                    cartLines {
                        quantity
                        product {
                            id
                        }
                    }
                    offer {
                        errors {
                            code
                            message
                            details {
                                ... on AmazonOfferErrorDetails {
                                productIds
                            }
                            }
                        }
                        subtotal {
                            value
                            displayValue
                            currency
                        }
                        margin {
                            value
                            displayValue
                            currency
                        }
                        notAvailableIds
                        shippingMethods {
                            id
                            label
                            price {
                                value
                                displayValue
                                currency
                            }
                            taxes {
                                value
                                displayValue
                                currency
                            }
                            total {
                                value
                                displayValue
                                currency
                            }
                        }

                        selectedShippingMethod {
                            id
                            label
                            price {
                                value
                                displayValue
                                currency
                            }
                            taxes {
                                value
                                displayValue
                                currency
                            }
                            total {
                                value
                                displayValue
                                currency
                            }
                        }
                    }
                }
                ... on ShopifyStore {
                    errors {
                        code
                        message
                        details {
                            variantIds
                        }
                    }
                    store
                    cartLines {
                        quantity
                        variant {
                            id
                        }
                    }
                    offer {
                        errors {
                            code
                            message
                            details {
                                ... on ShopifyOfferErrorDetails {
                                variantIds
                            }
                            }
                        }
                        subtotal {
                            value
                            displayValue
                            currency
                        }
                        margin {
                            value
                            displayValue
                            currency
                        }
                        notAvailableIds
                        shippingMethods {
                            id
                            label
                            price {
                                value
                                displayValue
                                currency
                            }
                            taxes {
                                value
                                displayValue
                                currency
                            }
                            total {
                                value
                                displayValue
                                currency
                            }
                        }

                        selectedShippingMethod {
                            id
                            label
                            price {
                                value
                                displayValue
                                currency
                            }
                            taxes {
                                value
                                displayValue
                                currency
                            }
                            total {
                                value
                                displayValue
                                currency
                            }
                        }
                    }
                }
            }
        }
        errors {
            code
            message
        }
    }
}
{
    "data": {
        "addCartItems": {
            "cart": {
                "id": "KVER2EJJ1kqrjI4H1fbi",
                "stores": [
                    {
                        "errors": [],
                        "store": "rye-test-store.myshopify.com",
                        "cartLines": [
                            {
                                "quantity": 1,
                                "variant": {
                                    "id": "39943631962199"
                                }
                            }
                        ],
                        "offer": {
                            "errors": [],
                            "subtotal": {
                                "value": 10000,
                                "displayValue": "$100.00",
                                "currency": "USD"
                            },
                            "margin": {
                                "value": 0,
                                "displayValue": "$0.00",
                                "currency": "USD"
                            },
                            "notAvailableIds": [],
                            "shippingMethods": [
                                {
                                    "id": "0-Economy",
                                    "label": "Economy",
                                    "price": {
                                        "value": 0,
                                        "displayValue": "$0.00",
                                        "currency": "USD"
                                    },
                                    "taxes": {
                                        "value": 0,
                                        "displayValue": "$0.00",
                                        "currency": "USD"
                                    },
                                    "total": {
                                        "value": 10000,
                                        "displayValue": "$100.00",
                                        "currency": "USD"
                                    }
                                },
                                {
                                    "id": "3-SonicSound",
                                    "label": "SonicSound",
                                    "price": {
                                        "value": 300,
                                        "displayValue": "$3.00",
                                        "currency": "USD"
                                    },
                                    "taxes": {
                                        "value": 0,
                                        "displayValue": "$0.00",
                                        "currency": "USD"
                                    },
                                    "total": {
                                        "value": 10300,
                                        "displayValue": "$103.00",
                                        "currency": "USD"
                                    }
                                }
                            ]
                        }
                    },
                    {
                        "errors": [],
                        "store": "amazon",
                        "cartLines": [
                            {
                                "quantity": 1,
                                "product": {
                                    "id": "B00A2KD8NY"
                                }
                            }
                        ],
                        "offer": {
                            "errors": [],
                            "subtotal": {
                                "value": 795,
                                "displayValue": "$7.95",
                                "currency": "USD"
                            },
                            "margin": {
                                "value": 0,
                                "displayValue": "$0.00",
                                "currency": "USD"
                            },
                            "notAvailableIds": [],
                            "shippingMethods": [
                                {
                                    "id": "3.99-Default shipping method",
                                    "label": "Default shipping method",
                                    "price": {
                                        "value": 399,
                                        "displayValue": "$3.99",
                                        "currency": "USD"
                                    },
                                    "taxes": {
                                        "value": 0,
                                        "displayValue": "$0.00",
                                        "currency": "USD"
                                    },
                                    "total": {
                                        "value": 1194,
                                        "displayValue": "$11.94",
                                        "currency": "USD"
                                    }
                                }
                            ]
                        }
                    }
                ]
            },
            "errors": []
        }
    }
}

Errors

If the cart is not found then a corresponding error is returned

{
    "errors": [
        {
            "message": "Cart not found: someInvalidCartId",
            "path": [
                "getCart"
            ]
        }
    ],
    "data": null
}

If the provided items are not found in the inventory PRODUCT_NOT_FOUND error is returned

{
    "data": {
        "addCartItems": {
            "cart": {
                "id": "4KkkP5uoug23WtiyoZ5c",
            },
            "errors": [
                {
                    "code": "PRODUCT_NOT_FOUND",
                    "message": "Shopify product not found. Variant Id: 1"
                },
                {
                    "code": "PRODUCT_NOT_FOUND",
                    "message": "Amazon product not found. ASIN: 1"
                }
            ]
        }
    }
}

If the provided product/variant quantity is less or equal to zero then ADD_PRODUCTS_FAILED error is returned

{
    "data": {
        "addCartItems": {
            "cart": {
                "id": "2wAoSo7cBTAwFKjnhYnb",
                "stores": [
                    {
                        "errors": [
                            {
                                "code": "ADD_PRODUCTS_FAILED",
                                "message": "Product quantity must be greater than zero",
                                "details": {
                                    "variantIds": [
                                        "39943631962199"
                                    ]
                                }
                            }
                        ],
                        "isSubmitted": false,
                        "store": "rye-test-store.myshopify.com",
                        "cartLines": [],
                        "offer": {
                            "errors": [
                                {
                                    "code": "PRODUCTS_EMPTY",
                                    "message": "product list is empty",
                                    "details": null
                                }
                            ],
                            "subtotal": null,
                            "margin": null,
                            "notAvailableIds": [],
                            "shippingMethods": []
                        }
                    }
                ]
            },
            "errors": []
        }
    }
}

📘

If the store has no items added to it then after attempting to get an offer for this store PRODUCTS_EMPTYerror is returned for AmazonOffer/ShopifyOffer object as in the example above.


Related mutations

Recipes