Корзини і замовлення¶
Базова адреса для функцій роботи з даним розділом /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_products": [
{
"uuid": "86FA2FADDF74E9DA4931B749E887626D",
"name": "Фонарь боковой (габарит) MB Sprinter/VW LT 96-06 (желтый)",
"article": "304002",
"brand": "SOLGY",
"price": 1.2,
"quantity": 1,
"sum": 1.2,
"in_stocks": {
"816F000C2999A7E611E6FF21C30463AF": {
"name": "Львов",
"quantity": "15",
"sum": "18"
}
}
}
],
"total": {
"cart": 1.2,
"warehouses": {
"816F000C2999A7E611E6FF21C30463AF": "18"
}
},
"currency_name": "EUR"
}
Отримати залишки товарів з корзини¶
-
GET
/shopping/cart_products
¶ Query Parameters: - cart_uuid – ID Корзини.
- warehouse – Масив ID складів.
Приклад відповіді:
{
"cart_products": [
{
"uuid": "86FA2FADDF74E9DA4931B749E887626D",
"name": "Фонарь боковой (габарит) MB Sprinter/VW LT 96-06 (желтый)",
"article": "304002",
"brand": "SOLGY",
"price": 1.2,
"quantity": 1,
"sum": 1.2,
"in_stocks": {
"816F000C2999A7E611E6FF21C30463AF": {
"name": "Львов",
"quantity": "15",
"sum": "18"
}
}
}
],
"total": {
"cart": 1.2,
"warehouses": {
"816F000C2999A7E611E6FF21C30463AF": "18"
}
},
"currency_name": "EUR"
}
Змінити власника корзини¶
-
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 Складу. За замовчуванням - основний склад.
Приклад запиту для створення порожньої корзини з назвою “Порожня корзина”
{
"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": {
"products_count": 8,
"name": "Незарезервированый товар по корзине Корзина 7",
"owner": {
"uuid": "812D000C2999A7E611E576524555E66A",
"name": "Контрагент [000003927]"
},
"products": [
{
"product": {
"default_image": "photo\f\b\q\h\b\e10e98e2.jpeg",
"brand": {
"uuid": "812C000C2999A7E611E55EBAE141FA90",
"name": "KYB"
},
"name": "Амортизатор (передний) MB Sprinter 208-316/VW LT 28-35 96-",
"uuid": "A358000C2947F7AE11E23F6078EDBDF7",
"article": "335810"
},
"position_total": 65.42,
"quantity": 2,
"price": 32.71,
"weight": 5.8
},
{
"product": {
"default_image": "photo\o\u\a\y\m\1eae21cd.jpeg",
"brand": {
"uuid": "812C000C2999A7E611E55EBAE141FA99",
"name": "LEMFORDER"
},
"name": "Сайлентблок рычага (заднего) MB Vito (W638) 96-03",
"uuid": "A358000C2947F7AE11E23F6086AE9F14",
"article": "26593 01"
},
"position_total": 35.4,
"quantity": 10,
"price": 3.54,
"weight": 0.32
},
{
"product": {
"default_image": null,
"brand": {
"uuid": "812C000C2999A7E611E55EB9C240D5EE",
"name": "ELRING"
},
"name": "Прокладка крышки клапанов BMW 3 (E46/E90)/ 5 (E60/61) 2.0D",
"uuid": "A8700D63BDE901CC4DBBF781CBCE065B",
"article": "123.590"
},
"position_total": 10.19,
"quantity": 1,
"price": 10.19,
"weight": 0.179
},
{
"product": {
"default_image": "photo\e\u\h\g\g\50f77b67.jpeg",
"brand": {
"uuid": "812C000C2999A7E611E55EB9C240D5C6",
"name": "4-MAX"
},
"name": "Аккумуляторная батарея Ecoline 120Ah/680A",
"uuid": "AC95580C2F17F70046FF56E78B933072",
"article": "0608-03-1007Q"
},
"position_total": 451.86,
"quantity": 6,
"price": 75.31,
"weight": 33.42
},
{
"product": {
"default_image": null,
"brand": {
"uuid": "812C000C2999A7E611E55EB9C240D5C8",
"name": "AE"
},
"name": "Гидрокомпенсатор VW LT 2.4D/TD 78-93",
"uuid": "ACBB5861A3F46E444163AA765F4AA5B7",
"article": "FOL91"
},
"position_total": 3.32,
"quantity": 1,
"price": 3.32,
"weight": 0
},
{
"product": {
"default_image": "photo\e\i\n\c\k\d9b3b2e6.jpeg",
"brand": {
"uuid": "812C000C2999A7E611E55EBD672594FD",
"name": "FAE"
},
"name": "Датчик давления масла Renault Kangoo 1.4/1.9DTi/Trafic 2.0-2.2D 89- (M14x1.5) 0.35 bar",
"uuid": "BEA497742AADC0504DB00E67702DF50E",
"article": "12370"
},
"position_total": 4.06,
"quantity": 2,
"price": 2.03,
"weight": 0.039
},
{
"product": {
"default_image": null,
"brand": {
"uuid": "812C000C2999A7E611E55EB9C240D5C6",
"name": "4-MAX"
},
"name": "Термостат Peugeot Boxer 2.8HDI",
"uuid": "BFA9000C2947F7AE11E2452960F18587",
"article": "0212-02-0021"
},
"position_total": 10.02,
"quantity": 3,
"price": 3.34,
"weight": 0
},
{
"product": {
"default_image": null,
"brand": {
"uuid": "812C000C2999A7E611E55EB9C240D5C6",
"name": "4-MAX"
},
"name": "Фильтр топливный MB OM615-617",
"uuid": "BFA9000C2947F7AE11E2452960F185A0",
"article": "0218-03-0052"
},
"position_total": 9.18,
"quantity": 6,
"price": 1.53,
"weight": 0
}
],
"currency_name": "EUR",
"warehouse": {
"uuid": "ACF9000C2947F7AE11E28A2B02C4AD32",
"name": "Луцк"
},
"weight": 215.577,
"uuid": "36e6e04d-4759-4ff5-a174-825158a14e99",
"total": 589.45
}
}
Зміна корзини¶
-
POST
/shopping/cart/
(string: cart_uuid)¶
Доступні параметри запиту
Параметр | Опис |
---|---|
name | Новий заголовок корзини |
owner_uuid | Змінити власника корзини, в рамках ваших контрагентів |
У відповідь повертає оновлений обʼєкт корзини без товарів
Приклад відповіді:
{
"cart": {}
}