Storefront API · Кошик
Додати товар
POSThttps://{store}/api/v1/cart/lines
Додає варіант у кошик (purchasable_id — це id варіанта: offers[].id в Integration API або варіант на сторінці товару). Повторне додавання того самого варіанта збільшує кількість.
Токен кошика з
POST /carts: X-Cart-Token: {token}.
Тіло запиту application/json
purchasable_idintegerобов'язковеId варіанта.
quantityintegerобов'язковеВід 1 до 100.
input_optionsobjectОпції, які заповнює покупець, за ключем (
input_options товару в Integration API): текст, значення вибору, true для галочки, дата у форматі YYYY-MM-DD. Обовʼязкову опцію треба заповнити; доплату визначає магазин.Приклад
{
"purchasable_id": 15,
"quantity": 1,
"input_options": {
"hraviiuvannia": "Для Ані"
}
}
Відповіді
200Кошик.
{
"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"
}
}
} 422Невідомий варіант, кількість поза межами або не заповнена обовʼязкова опція.
{
"message": "The selected purchasable id is invalid.",
"errors": {
"purchasable_id": [
"The selected purchasable id is invalid."
]
}
} 401Немає X-Cart-Token, токен прострочений або кошик уже оформлено.
{
"message": "A valid X-Cart-Token header is required.",
"errors": {
"cart_token": [
"Кошик не знайдено, строк доступу минув або його вже оформлено."
]
}
} 429Забагато запитів (створення кошика 20/хв з IP, запити кошика 120/хв, оформлення 10/хв).
{
"message": "Too Many Attempts."
}