Popular

↑↓ move ↵ open All results →

Storefront API · Cart

Add a product

POSThttps://{store}/api/v1/cart/lines

Adds a variant to the cart (purchasable_id is the variant id: offers[].id in the Integration API, or the variant on the product page). Adding the same variant again increases its quantity.

Cart token from POST /carts: X-Cart-Token: {token}.

Request body application/json

purchasable_idintegerrequired
Variant id.
quantityintegerrequired
From 1 to 100.
input_optionsobject
Options the shopper fills in, by key (the product's input_options in the Integration API): text, a choice value, true for a tick, a date as YYYY-MM-DD. A required option must be filled; the surcharge is the store's.

Example

{
    "purchasable_id": 15,
    "quantity": 1,
    "input_options": {
        "hraviiuvannia": "Для Ані"
    }
}

Responses

200The cart.
{
    "data": {
        "id": "42",
        "currency": "UAH",
        "lines": [
            {
                "id": "7",
                "purchasable_id": "15",
                "quantity": 1,
                "unit_price": 599900,
                "total": 599900
            }
        ],
        "totals": {
            "subtotal": 599900,
            "shipping": 0,
            "tax": 0,
            "discount": 0,
            "total": 599900
        },
        "shipping_option": "NOVA_POSHTA",
        "shipping_paid_by": "customer",
        "shipping_delivery": {
            "shipping_method_id": 1,
            "shipping_method_code": "NOVA_POSHTA",
            "shipping_method_name": "Нова пошта",
            "carrier": "nova_poshta",
            "carrier_name": "Нова пошта",
            "service_type": "branch",
            "city_ref": "8d5a980d-391c-11dd-90d9-001a92567626",
            "delivery_point_ref": "1ec09d88-e1c2-11e3-8c4a-0050568002cf",
            "city_name": "Київ",
            "delivery_point_name": "Відділення №12"
        }
    }
}
422Unknown variant, a quantity out of range or a required option not filled.
{
    "message": "The selected purchasable id is invalid.",
    "errors": {
        "purchasable_id": [
            "The selected purchasable id is invalid."
        ]
    }
}
401No X-Cart-Token, an expired token, or a cart that is already ordered.
{
    "message": "A valid X-Cart-Token header is required.",
    "errors": {
        "cart_token": [
            "Кошик не знайдено, строк доступу минув або його вже оформлено."
        ]
    }
}
429Too many requests (cart creation 20/min per IP, cart calls 120/min, checkout 10/min).
{
    "message": "Too Many Attempts."
}