Корзини і замовлення¶
Базова адреса для функцій роботи з даним розділом /shopping/
.
- Отримати деталізовану інформацію про товари зі списку резервів
- Отримати незарезервовані товари в Excel
- Отримати товари зі списку резервів
- Зарезервувати замовлення
- Зберегти невідвантажені товари в корзину
- Шаблони імпорту
- Отримати налаштування імпорту
- Зберегти налаштування імпорту
- Видалити налаштування імпорту
- Отримати файл з необробленими рядками при імпорті.
- Вернути розпізнаний файл.
- Імпорт замовлень з excel або csv
- Кількість корзин
- Об’єднати корзини
- Замінити один товар в корзині на інший
- Отримати залишки товарів з корзини
- Отримати залишки товарів з корзини
- Змінити власника корзини
- Отримати список резервів
- Видалити резерви
- Отримати інформацію про товар при швидкому відвантаженні
- Список корзин
- Створити корзину
- Додати товар в корзину
- Додати товар в корзину
- Видалити товар з корзини
- Видалити корзину
- Отримати корзину з товарами
- Зміна корзини
Отримати деталізовану інформацію про товари зі списку резервів¶
-
POST
/shopping/reserve/products/detailed
¶ Query Parameters: - reserves_uuid – Масив резервів.
Приклад даних запиту:
{
"reserves_uuid": ["8166005056A44C2211EA23055666E5EA"]
}
Приклад відповіді:
{
"reserved_products": [
{
"uuid": "81C8005756BA39E8xxxE6131F90FC2D6",
"number": "ДГ008379xxx",
"date": "2023-10-02T17:42:56Z",
"sum": 260.28,
"shipping_date": "0001-01-01T00:00:00Z",
"currency": "ГРН",
"comment": "",
"status": "В резерві",
"carrier": "Самовивіз",
"delivery_date": "0001-01-01T00:00:00Z",
"delivery_setting": "Самовывоз, XXXX XXX XXX, Луцьк",
"route": "",
"route_date": "0001-01-01T00:00:00Z",
"warehouse": {
"name": "Луцьк",
"uuid": "ACF9000C2947F7AxxxE28A2B02C4AD32"
},
"owner": {
"uuid": "92E4005056BAAxxx11ED029410150D0B",
"name": "XXXXX XXXXX [0000xxxxx]",
"f": 1
},
"products": [
{
"uuid": "A153ED96C522A33F42B1A3xxxx6515E5",
"code": "00011xxxx",
"article": "302011",
"brand": "SOLGY",
"name": "Скло дзеркала (з рамкою) MB Vito (W638) 96-",
"default_image": "photo\j\u\t\d\a\961caa0d.jpeg",
"count": 1,
"price": 260.28,
"sum": 260.28
}
]
}
]
}
Отримати незарезервовані товари в Excel¶
-
GET
/shopping/download/unreserved
¶
Отримати товари зі списку резервів¶
-
POST
/shopping/reserve/products
¶ Query Parameters: - reserves_uuid – Масив резервів.
Приклад даних запиту:
{
"reserves_uuid": ["8166005056A44C2211EA23055666E5EA"]
}
Приклад відповіді:
{
"reserved_products": [
{
"uuid": "81C8005756BA39E8xxxE6131F90FC2D6",
"number": "ДГ008379xxx",
"date": "2023-10-02T17:42:56Z",
"sum": 260.28,
"shipping_date": "0001-01-01T00:00:00Z",
"currency": "ГРН",
"comment": "",
"status": "В резерві",
"carrier": "Самовивіз",
"delivery_date": "0001-01-01T00:00:00Z",
"delivery_setting": "Самовывоз, XXXX XXX XXX, Луцьк",
"route": "",
"route_date": "0001-01-01T00:00:00Z",
"warehouse": {
"name": "Луцьк",
"uuid": "ACF9000C2947F7AxxxE28A2B02C4AD32"
},
"owner": {
"uuid": "92E4005056BAAxxx11ED029410150D0B",
"name": "XXXXX XXXXX [0000xxxxx]",
"f": 1
},
"products": [
{
"uuid": "A153ED96C522A33F42B1A3xxxx6515E5",
"code": "00011xxxx",
"article": "302011",
"brand": "SOLGY",
"name": "Скло дзеркала (з рамкою) MB Vito (W638) 96-",
"default_image": "photo\j\u\t\d\a\961caa0d.jpeg",
"count": 1,
"price": 260.28,
"sum": 260.28
}
]
}
]
}
Попередження
Увага! Даний метод є застарілим і буде видалений 19.10.2023.
Зарезервувати замовлення¶
-
POST
/shopping/reserve/process
¶ Query Parameters: - order_uuid – ID замовлення.
- comment – Текст коментаря.
- warehouse_uuid – ID складу.
{
"result": true,
"error": null,
"uuid": "5e9ec625-753c-11e8-8124-005056ac1ea9",
"analysis": [
{
"uuid": "42a29ed4-b44b-457c-bd39-999894ee1ed4",
"code": "000056032",
"article": "12635",
"name": "Датчик давления масла Renault Kangoo 1.2-1.9 97- (0.9 bar) (серый) ",
"brand_code": 330,
"brand_name": "FAE",
"planned": 4,
"reserved": 0
}
],
"saved_unshipped": {
"name": "Незарезервированый товар по корзине 124",
"position_quantity": 1,
"sum": 7.56,
"currency_name": "EUR",
"uuid": "9506a6e0-fd9a-4a22-bc61-6af89842c75c"
}
}
Зберегти невідвантажені товари в корзину¶
-
POST
/shopping/create/unshipped
¶ Query Parameters: - products – Список невідвантажених товарів. Приклад: [{“uuid”: “”, “quantity”: 2}]
- cart_name – Назва корзини (опціонально)
Попередження
Увага! Даний метод є застарілим і буде видалений в найближчих релізах. Використовуйте Створити корзину.
Приклад відповіді:
{
"cart": {
"uuid": "86b2a08541f94974a9fd200ba189b2df",
"warehouse": {
"uuid": "ACF9000C2947F7AE11E28A2B02C4AD32",
"name": "Луцк"
},
"products_count": 1,
"weight": 23.2,
"total": 144.0,
"products": [
{
"price": 36.0,
"position_total": 144.0,
"product": {
"brand": {
"uuid": "812C000C2999A7E611E55EBAE141FA90",
"name": "KYB"
},
"uuid": "A358000C2947F7AE11E23F6078EDBDF7",
"article": "335810",
"default_image": "photo/f/b/q/h/b/e10e98e2.jpeg",
"name": "Амортизатор (передний) MB Sprinter 208-316/VW LT 28-35 96-"
},
"quantity": 4.0,
"weight": 5.8
}
],
"name": "Неотгруженные_14_19__22_06_2018"
}
}
Примітка
Метод вертає створену корзину з товарами.
Шаблони імпорту¶
-
GET
/shopping/import/template
¶
Приклад відповіді:
{
"import_types": [
{
"import_type": "article",
"name": "Артикул-Бренд-Количество",
"columns": [
"article",
"brand",
"quantity"
]
},
{
"import_type": "code",
"name": "Код-Количество",
"columns": [
"code",
"quantity"
]
},
{
"import_type": "uuid",
"name": "ID товара-Количество",
"columns": [
"uuid",
"quantity"
]
}
]
}
Отримати налаштування імпорту¶
-
GET
/shopping/import/settings
¶
Зберегти налаштування імпорту¶
-
POST
/shopping/import/settings
¶ Query Parameters: - import_type – Артикул, бренд, к-сть.
- name – Назва налаштування.
- article – Якщо задано тип - Артикул
- brand – Якщо задано тип - Бренд
- code – Якщо задано тип - Код
- UUID – Якщо задано тип - UUID
- quantity – Колонка кількість
Приклад відповіді:
Успix:
Статус: 201;
Повідомлення:
{
message: "Конфігурація успішно створена"
}
Невдача:
Статус: 422;
Повідомлення:
{
message: "Параметри задані неправильно"
}
Видалити налаштування імпорту¶
-
DELETE
/shopping/import/settings
¶
query setting_uuid: | |
---|---|
UUID налаштування імпорту. |
Отримати файл з необробленими рядками при імпорті.¶
-
GET
/shopping/table/err_file
¶
query type: | Тип файлу csv, xls. За замовчуванням xls |
---|
Вернути розпізнаний файл.¶
-
POST
/shopping/table/preload
¶ Query Parameters: - file – Файл для імпорту.
- extension – CSV, XLSX, XLS.
- separator – Опціонально, якщо CSV.
Приклад відповіді:
{
"table": [
[1.0, "", "", 5.0, 7.0,""],
["", "", "", "", "", ""],
[123.0, 123.0, 123.0, "", "", ""],
["", "", "", "", "sdfsdf", ""],
["", "", "qwe", "", "", 8.0],
[234.0, "", 545.0, "", "", ""]
]
}
Імпорт замовлень з excel або csv¶
-
POST
/shopping/table/import
¶
query import_type: | |
---|---|
Доступні значення article , code |
|
query article_column: | |
Номер колонки з артикулом | |
query brand_column: | |
Номер колонки з брендом | |
query code_column: | |
Номер колонки з кодом | |
query quantity_column: | |
Номер колонки з кількістю | |
query uuid_column: | |
Номер колонки с ID товару | |
query cart_uuid: | |
ID замовлення. Якщо не передано, то буде створено нове замовлення | |
query separator: | |
Розділювач | |
query name: |
Об’єднати корзини¶
-
POST
/shopping/carts/union
¶
Запит:
query carts_array: Масив ID корзин. Приклад: carts_array = ["36eee850af3...", "da6006444f..."]
Приклад відповіді:
{
"cart": {
"uuid": "aeab8fe48c1348ffb26085cc9a78a4ed",
"warehouse": {
"name": "Луцк",
"uuid": "ACF9000C2947F7AE11E28A2B02C4AD32"
},
"weight": 0.948,
"total": 18.63,
"name": "Корзина 2",
"products_count": 3
}
}
Замінити один товар в корзині на інший¶
-
POST
/shopping/change_product
¶ Query Parameters: - cart_uuid – ID корзини
- from – UUID товару котрий заміняємо
- to – UUID товару на котрий заміняємо
Приклад тіла запиту для заміни товару в корзині
{
"cart_uuid": "A358000C2947F7AE11E23F5617780B16",
"from": "81F4005056AC66D611EAD7173350C7AA",
"to": "81F4005056AC66D611EAD7173350C7AV"
}
Приклад відповіді:
{
"success": True,
"cart": {
"weight": 39.500,
"products_count": 2,
"total": 8005.62,
"name": "Корзина 1001",
"uuid": "f96ccd8e69a84fb19ef346238b977bf9",
"currency_name": "ГРН",
"owner": {
"uuid": "812D000C2999A7E611E576524555E66A",
"name": "ПП | ...",
"f": 2
},
"warehouse": {
"name": "Луцк",
"uuid": "ACF9000C2947F7AE11E28A2B02C4AD32"
}
}
}
Отримати залишки товарів з корзини¶
-
POST
/shopping/cart_products
¶ Query Parameters: - cart_uuid – ID Корзини.
- warehouse – Масив ID складів.
Приклад відповіді:
{
"cart": {
"weight": 68.700,
"uuid": "2fe8cf13d75d43298df613508fa63705",
"products": [
{
"weight": 68.700,
"quantity": 1.000,
"position_total": 14065.38,
"price": 14065.38,
"product": {
"article": "818304",
"uuid": "82339E5CAE8D74EF4E96D400EB83E646",
"brand": {
"uuid": "812C000C2999A7E611E55EBAE141FAAB",
"name": "MOTUL"
},
"name": "Антифриз (синій) G11 (60L) Auto Cool Expert Ultra (MB325.0/325.2) 109127",
"default_image": "photo\u\p\w\y\c\9a6500a4.jpeg"
},
"in_stocks": [
{
"name": "Луцьк",
"short_name": "Лцк",
"uuid": "ACF9000C2947F7AE11E28A2B02C4AD32",
"quantity": "1",
"contract_quantities": [
{
"f": 1,
"quantity": "1"
}
]
}
],
"in_waiting": {
"uuid": "-",
"name": "Очікується",
"quantity": "-"
},
"in_others": {
"uuid": "-",
"name": "На інших",
"quantity": "1"
}
}
],
"total": 14065.38,
"name": "Корзина 1",
"warehouse": {
"uuid": "ACF9000C2947F7AE11E28A2B02C4AD32",
"name": "Луцьк"
},
"products_count": 1,
"currency_name": "ГРН"
}
},
"headers": [
{
"warehouse": "Луцьк",
"short_name": "Лцк",
"labels": [
"Все",
"ДАГ"
]
}
]
}
Отримати залишки товарів з корзини¶
-
GET
/shopping/cart_products
¶ Query Parameters: - cart_uuid – ID Корзини.
- warehouse – Масив ID складів.
Приклад відповіді:
{
"cart": {
"weight": 68.700,
"uuid": "2fe8cf13d75d43298df613508fa63705",
"products": [
{
"weight": 68.700,
"quantity": 1.000,
"position_total": 14065.38,
"price": 14065.38,
"product": {
"article": "818304",
"uuid": "82339E5CAE8D74EF4E96D400EB83E646",
"brand": {
"uuid": "812C000C2999A7E611E55EBAE141FAAB",
"name": "MOTUL"
},
"name": "Антифриз (синій) G11 (60L) Auto Cool Expert Ultra (MB325.0/325.2) 109127",
"default_image": "photo\u\p\w\y\c\9a6500a4.jpeg"
},
"in_stocks": [
{
"name": "Луцьк",
"short_name": "Лцк",
"uuid": "ACF9000C2947F7AE11E28A2B02C4AD32",
"quantity": "1",
"contract_quantities": [
{
"f": 1,
"quantity": "1"
}
]
}
],
"in_waiting": {
"uuid": "-",
"name": "Очікується",
"quantity": "-"
},
"in_others": {
"uuid": "-",
"name": "На інших",
"quantity": "1"
}
}
],
"total": 14065.38,
"name": "Корзина 1",
"warehouse": {
"uuid": "ACF9000C2947F7AE11E28A2B02C4AD32",
"name": "Луцьк"
},
"products_count": 1,
"currency_name": "ГРН"
}
},
"headers": [
{
"warehouse": "Луцьк",
"short_name": "Лцк",
"labels": [
"Все",
"ДАГ"
]
}
]
}
Змінити власника корзини¶
-
POST
/shopping/change_owner
¶ Query Parameters: - cart_uuid – ID корзини
- client_uuid – ID нового власника (тільки пов’язані контрагенти)
Приклад відповіді:
{
"success": true,
}
Отримати список резервів¶
-
GET
/shopping/reserves
¶ Query Parameters: - response_fields – Повертаються наступні значення ‘reserves, picking, all’, за замовчуванням ‘all’. ‘reserves’ поверне резерви, ‘picking’ - замовлення в обробці, ‘all’ - резерви та замовлення в обробці.
Приклад відповіді:
{
"reserves": [
{
"warehouse_code": "000000005",
"warehouse_name": "Луцк",
"orders": [
{
"uuid": "6e58fa9d-374a-11e8-8118-005056ac1ea9",
"number": "ВХ000716236",
"date": "2018-04-03T17:22:27Z",
"sum": 3.95,
"shipping_date": "0001-01-01T00:00:00Z",
"currency": "EUR",
"comment": "dfssf",
"countrecord": 2,
"automatically": true
}
]
}
]
}
Видалити резерви¶
-
DELETE
/shopping/reserves
¶ Query Parameters: - orders – ID резерву. В запиті може бути передано декілька резервів.
Приклад запиту:
curl -X DELETE https://api.bm.parts/shopping/reserves?orders=6e58fa9d-374a-11e8-8118-005056ac1ea9
Отримати інформацію про товар при швидкому відвантаженні¶
-
POST
/shopping/product
¶
Потрібно передати параметри в json форматі в body запиту, наприклад:
{
"product": {
"uuid": "B016705373F7E15D424EEEB59F193565",
"quantity": 1
},
"cart_uuid": "20860179ca934ef68058a18da4a80e1c"
}
Параметр cart_uuid необов’язковий. Якщо його не передавати, то замість нього потрібно передавати параметр shipment_type зі значенням single_product. Наприклад:
{
"product": {
"uuid": "B016705373F7E15D424EEEB59F193565",
"quantity": 1
},
"shipment_type": "single_product"
}
Приклад відповіді:
{
"data": {
"product": {
"uuid": "B01670537XXXXE15D424EEEB59F193565",
"article": "2 000 000 000",
"name": "Реле стартера втягуюче Citroen Berlingo/C4/C5/Peugeot 206/306 1.8-2.2 -15 замінено на 1986SE1683",
"default_image": "photo077.jpeg",
"brand": {
"uuid": "812C000C2999A7XXXXE55EB9C240D5DB",
"name": "BOSCH"
}
},
"currency_name": "ГРН",
"quantity": 1,
"price": "000.00",
"position_total": "000.00",
"in_cart": {
"cart_name": "Корзина 1",
"brand_name": "KAPIMSAN",
"article": "08-01750K",
"quantity": 1
},
"weight": null
}
}
Список корзин¶
-
GET
/shopping/carts
¶
Приклад відповіді:
{
"carts": [
{
"warehouse": {
"uuid": "816D000C2999A7E611E6EC6B4A1915AF",
"name": "Киев"
},
"total": 1004.50,
"weight": 110.650,
"uuid": "35ff5f1d4576467385364541564461bc",
"name": "Корзина 1",
"currency_name": "ГРН",
"products_count": 3,
"owner": {
"uuid": "812D000C2999A7E611E576524555E66A",
"name": "Контрагент [000003927]"
},
}
]
}
Створити корзину¶
-
POST
/shopping/carts
¶ Query Parameters: - id_type – (опціональний) ID Тип для пошуку товару. За замовчуванням - uuid.
Потрібно передати наступні параметри в body запиту:
name
(опціональний): Назва корзини
products
(опціональний): Список товарів та їх кількість.- Кожен товар має містити наступні параметри:
uuid
або`code
,qnt
- кількість товару.id_type
(опціональний): ID Тип для розпізнавання товаруwarehouse
(опціональний): ID Складу. За замовчуванням - основний склад.client_uuid
(опціональний): UUID власника корзини. За замовчуванням - поточний користувач.
Приклад запиту для створення порожньої корзини з назвою “Порожня корзина”
{
"name": "Порожня корзина"
}
Створення корзини з назвою “Моє замовлення” і товаром:
{
"name": "Моє замовлення",
"products": [
{"uuid": "B89C933344A18DA245B89E3FD635AA59", "qnt": 5}
]
}
Створення корзини з назвою “Моє замовлення” і тим же товаром за кодом ?id_type=code
:
{
"name": "Моє замовлення",
"products": [
{"code": "000048619", "qnt": 5}
]
}
Метод повертає статус 201 CREATED
в разі успішного створення корзини.
Додати товар в корзину¶
-
POST
/shopping/cart/
(string: cart_uuid)/product/
(string: product_uuid)/
(int: quantity)¶ Query Parameters: - cart_uuid – ID корзини
- product_uuid – ID Товару або код в форматі
000042915
- quantity – Кількість
- id_type – Вказує на пошук товару по ID або по коду. Допустимі значення
uuid
таcode
. За замовчуваннямuuid
Якщо використовується метод POST
кількість буде встановлено на передане значення. Якщо необхідно додати кількість до тих, що уже є в корзині, використовуйте метод PUT
.
Додати товар в корзину¶
-
PUT
/shopping/cart/
(string: cart_uuid)/product/
(string: product_uuid)/
(int: quantity)¶ Query Parameters: - cart_uuid – ID корзини
- product_uuid – ID Товару або код в форматі
000042915
- quantity – Кількість
- id_type – Вказує на пошук товару по ID або по коду. Допустимі значення
uuid
таcode
. За замовчуваннямuuid
Якщо використовується метод POST
кількість буде встановлено на передане значення. Якщо необхідно додати кількість до тих, що уже є в корзині, використовуйте метод PUT
.
Видалити товар з корзини¶
-
DELETE
/shopping/cart/
(string: cart_uuid)/product/
(string: product_uuid)¶
query cart_uuid: | |
---|---|
ID корзини | |
query product_uuid: | |
ID Товару |
Видалити корзину¶
-
DELETE
/shopping/cart/
(string: cart_uuid)¶ Query Parameters: - cart_uuid – ID корзини
При успішному виконанні метод верне 200 Success
. У випадку, якщо параметр ID корзини вказано невірно, метод верне 404 Not Found
.
Отримати корзину з товарами¶
-
GET
/shopping/cart/
(string: cart_uuid)¶
Приклад відповіді:
{
"cart": {
"total": 14065.38,
"weight": 68.700,
"uuid": "2fe8cf13d75d43298df613508fa63705",
"currency_name": "ГРН",
"name": "Корзина 1",
"products_count": 1,
"warehouse": {
"uuid": "ACF9000C2947F7AE11E28A2B02C4AD32",
"name": "Луцьк"
},
"products": [
{
"position_total": 14065.38,
"weight": 68.700,
"price": 14065.38,
"quantity": 1.000,
"product": {
"article": "818304",
"default_image": "photo\u\p\w\y\c\9a6500a4.jpeg",
"brand": {
"uuid": "812C000C2999A7E611E55EBAE141FAAB",
"name": "MOTUL"
},
"uuid": "82339E5CAE8D74EF4E96D400EB83E646",
"name": "Антифриз (синій) G11 (60L) Auto Cool Expert Ultra (MB325.0/325.2) 109127"
},
"in_stocks": [
{
"name": "Луцьк",
"short_name": "Лцк",
"uuid": "ACF9000C2947F7AE11E28A2B02C4AD32",
"quantity": "1",
"contract_quantities": [
{
"f": 1,
"quantity": "1"
}
]
}
],
"in_waiting": {
"uuid": "-",
"name": "Очікується",
"quantity": "-"
},
"in_others": {
"uuid": "-",
"name": "На інших",
"quantity": "1"
}
}
]
},
"headers": [
{
"warehouse": "Луцьк",
"short_name": "Лцк",
"labels": [
"ДАГ"
]
}
]
}
Зміна корзини¶
-
POST
/shopping/cart/
(string: cart_uuid)¶
Доступні параметри запиту
Параметр | Опис |
---|---|
name | Новий заголовок корзини |
owner_uuid | Змінити власника корзини, в рамках ваших контрагентів |
У відповідь повертає оновлений обʼєкт корзини без товарів
Приклад відповіді:
{
"cart": {}
}