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_idintegerrequiredVariant id.
quantityintegerrequiredFrom 1 to 100.
input_optionsobjectOptions 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."
}