Відвантаження корзин та замовлень¶
Базова адреса для функцій роботи з даним розділом /processing/
.
- Перевірити доступність відвантаження резерву
- Перевірити доступність відвантаження резерву
- Відвантажити зарезервовані замовлення (синхронно)
- Змінити налаштування доставки в замовлення
- Відмінити замовлення
- Отримати список доступних виїздів
- Перевірити доступність відвантаження товарів
- Відвантажити корзину (синхронно)
- Excel з невідвантаженими товарами
- Зменшити кількість товару в замовленні
- Видалити товар з замовлення
- Перевірити доступність відвантаження корзини
- Перевірити доступність відвантаження корзини
- Перевірка результатів асинхронного відвантаження
- Перевірити доступність відвантаження товару
Перевірити доступність відвантаження резерву¶
-
POST
/processing/reserves/pre_check
¶
Параметр | Опис |
---|---|
order_uuid | ID зарезервованого замовлення |
Приклад відповіді:
{
"allowed": false,
"error": true,
"message": "Не дозволено відвантажувати у зв'язку з боргом"
}
Перевірити доступність відвантаження резерву¶
-
GET
/processing/reserves/pre_check
¶
Параметр | Опис |
---|---|
order_uuid | ID зарезервованого замовлення |
Приклад відповіді:
{
"allowed": false,
"error": true,
"message": "Не дозволено відвантажувати у зв'язку з боргом"
}
Відвантажити зарезервовані замовлення (синхронно)¶
-
POST
/processing/reserve/process
¶
Параметр | Опис |
---|---|
orders_array | Масив замовлень |
delivery_config | ID налаштування доставки |
warehouse | ID складу з якого відвантажувати корзину |
key | Ключ |
expired_at | Час життя ключа |
route_code | Код рейсу |
route_at | Дата і час рейсу |
departure_at | Час виїзду кур’єра зі складу |
comment | Коментар до відвантаження |
Примітка
Метод виконує синхронне відвантаження резерву, таймаут по цьому запиту може складати до 30 сек.
Змінити налаштування доставки в замовлення¶
-
POST
/processing/order/change_delivery_settings
¶ Параметр Опис order_uuid ID замовлення в обробці delivery_config ID налаштування доставки warehouse ID складу з якого відвантажувати замовлення key Ключ expired_at Час життя ключа route_code Код рейсу route_at Дата і час рейсу departure_at Час виїзду кур’єра зі складу
Приклад відповіді:
{
"result": true,
"message": null
}
Відмінити замовлення¶
-
POST
/processing/cancel_orders
¶ Query Parameters: - orders_array – Масив замовлень в обробці
Приклад відповіді:
{
"orders": [
{
"canceled": false,
"message": "Не знайдено документ в ВМС",
"number": "ДГ001464930",
"uuid": "81BF005056BA39E811ED329CE23DD2F5"
},
{
"canceled": true,
"message": "Відмінено",
"number": "ДГ001464931",
"uuid": "81BF005056BA39E811ED327993FB7204"
}
],
"error": '',
"result": true
}
Отримати список доступних виїздів¶
-
GET
/processing/departures
¶
Параметр | Опис |
---|---|
delivery_config | ID налаштування доставки |
warehouse | ID складу |
Приклад відповіді:
{
"departures": [
{
"name": "Доставка - По городу - Луцк - 16.03.2018 14:00:00",
"route_at": "2018-03-16T14:00:00Z",
"route_code": "000000001",
"departure_at": "2018-03-16T14:00:00Z",
"key": "d75c1f132d62aa76ad0563b004ed29da"
"expired_at": "2018-03-16T13:00:00Z",
"is_working_time": True,
"message": None
}
]
}
Ключ | Опис |
---|---|
name | Назва виїзду |
departure_at | Час виїзду кур’єра зі складу |
key | Ключ виїзду |
expired_at | Дата і час поки ключ виїзду валідний |
route_at | Дата і час виїзду рейсу. Наприклад, з автостанції |
route_code | Код рейсу |
Перевірити доступність відвантаження товарів¶
-
POST
/processing/pre_check
¶
query client_uuid: | |
---|---|
uuid користувача для перевірки доступності відвантаження (необов’язковий) | |
query products: | Масив об’єктів з кількістю та uuid-ами товарів для перевірки |
Приклад тіла запиту:
{
"client_uuid": "A2D9EC97246EEB0B46877CB5803BFD99"
"products": [
{
"uuid": "B1D9EC97246AEB0B46877CB5803BDD87",
"quantity": 1
}
]
}
Приклад відповіді:
{
"allowed": false,
"error": true,
"message": "Не дозволено відвантажувати у зв'язку з боргом"
}
Відвантажити корзину (синхронно)¶
-
POST
/processing/sync
¶
Параметр | Опис |
---|---|
cart | Обов’язковий ID корзини |
delivery_config | ID налаштування доставки |
warehouse | ID складу з якого відвантажувати корзину |
key | Ключ |
expired_at | Час життя ключа |
route_code | Код рейсу |
route_at | Дата і час рейсу |
departure_at | Час виїзду кур’єра зі складу |
comment | Коментар до відвантаження |
save_unprocessed | Зберігати невідвантажені товари. За замовчуванням, так |
Даний метод дозволяє сформувати реалізацію з корзини і передати документ в обробку працівникам складу і логістам BM Parts. Після успішного створення документу це відразу відобразиться на вашому боргу і кредитній лінії.
Схему запитів можна побачити на малюнку. В зеленій зоні показані дані, які можуть бути внесені в константи.
Примітка
Для спрощеного відвантаження опустіть параметри key, departure_at, expired_at, route_at.
Примітка
Метод виконує синхронне відвантаження замовлення, таймаут по даному запиту може складати до 30 сек.
У випадку, якщо змінилась ціна товару під час роботи з корзиною, буде повернуто наступну відповідь:
{
"result": false,
"error": "price_error",
"document": null,
"processing_report": null,
"changed_prices": [
{
"code": "000027828",
"article": "5303 988 7004",
"name": "Турбина MB Sprinter 313 2.2CDI OM611 (без картонной коробки)",
"brand_code": 182,
"brand_name": "3K",
"count": 1,
"price_old": 500,
"price_new": 290
}
],
"saved_unshipped": null,
"download_unshipped": null
}
Приклад, якщо не вдалось відвантажити жоден товар:
{
"result": false,
"error": "По вашему заказу не отгружен ни один товар. Причина: отсутствие товара на складе.",
"document": null,
"processing_report": null,
"changed_prices": null,
"saved_unshipped": null,
"download_unshipped": null
}
Приклад відповіді, коли документ замовлення покупця створений успішно:
{
"result": true,
"error": null,
"document": {
"uuid": "8191005056BA39E811EBC9F072221C0D",
"number": "ПП001325988",
"date": "2021-06-10T16:33:32Z",
"sum": 951.42,
"currency": "ГРН",
"document_type": "ЗаказПокупателя",
"type": "000000CC",
"url": "https://api.bm.parts/documents/000000CC/8191005056BA39E811EBC9F072221C0D"
},
"processing_report": [
{
"uuid": "B18D1CF3FFE6B43B403C1948B8611EAF",
"article": "RAC630",
"name": "Компрессор автомобильный 12V/120W/5.5 BAR (авто откл./фонарь/цифровой манометр PSI)",
"brand_code": 741,
"brand_name": "RING",
"planned": 1,
"shipped": 1,
"left_until": 0,
"reserve": 0,
"ordered": 0,
"count": 0
}
],
"changed_prices": null,
"saved_unshipped": null,
"download_unshipped": null
}
Блок processing_report
Ключ | Опис |
---|---|
planned | Заплановано відвантажити (штук) |
shipped | Фактично відвантажено |
left_until | Невідвантажено |
reserve | Зарезервовано, завжди вертається 0 |
ordered | В розміщенні, завжди вертається 0 |
count | Залишок, завжди вертається 0 |
Excel з невідвантаженими товарами¶
-
GET
/processing/download/unshipped
¶
-
GET
/processing/download/unshipped/
(task_id)¶
Зменшити кількість товару в замовленні¶
-
POST
/processing/order/
(string: order_uuid)/product/
(string: product_uuid)/
(quantity)¶ Query Parameters: - order_uuid – ID замовлення в обробці
- product_uuid – ID товару
- quantity – Бажана кількість товару
Приклад відповіді:
{
"order_canceled": false,
"result": true,
"message": null,
"order": {
"carrier": "Доставка",
"comment": "",
"currency": "ГРН",
"date": "2022-11-28T15:47:49Z",
"delivery_date": "2022-11-28T16:20:00Z",
"delivery_setting": "Доставка, Клієнт, Луцьк - 3, Ковельська ",
"number": "ДГ005030528",
"owner": {
"f": 1,
"name": "Контрагент [000034040]",
"uuid": "81ED005056AC66D611EA474924EF8D35"
},
"products": [
{
"article": "81-51109-20",
"brand": "REINZ",
"code": "000037593",
"count": 1,
"default_image": "photo\t\n\n\l\h\2e0fe7fd.jpeg",
"name": "Сальник колінвалу (передній) Ford Transit "
"2.0 (42x56x7)",
"price": 89.7,
"sum": 89.7,
"uuid": "A64C450BCCFD361B47E3B6A1DFE3DE65"
}
],
"route": "",
"route_date": "2022-11-28T16:20:00Z",
"shipping_date": "0001-01-01T00:00:00Z",
"status": "Очікує на відбір",
"sum": 89.7,
"uuid": "81C2005056BA39E811ED6F233E4C0E89",
"warehouse": {
"name": "Луцьк",
"uuid": "ACF9000C2947F7AE11E28A2B02C4AD32"
}
}
}
{
"result": true,
"message": "Відмінено. Створено нову корзину",
"order": null,
"order_canceled": true
}
{
"result": false,
"message": "Документ ще не доступний для редагування. Повторіть дії через декілька хвилин.",
"order": null,
"order_canceled": false
}
Видалити товар з замовлення¶
-
DELETE
/processing/order/
(string: order_uuid)/product/
(string: product_uuid)¶ Query Parameters: - order_uuid – ID замовлення в обробці
- product_uuid – ID товару
Приклад відповіді:
{
"order_canceled": false,
"result": true,
"message": null,
"order": {
"carrier": "Доставка",
"comment": "",
"currency": "ГРН",
"date": "2022-11-28T15:47:49Z",
"delivery_date": "2022-11-28T16:20:00Z",
"delivery_setting": "Доставка, Клієнт, Луцьк - 3, Ковельська ",
"number": "ДГ005030528",
"owner": {
"f": 1,
"name": "Контрагент [000034040]",
"uuid": "81ED005056AC66D611EA474924EF8D35"
},
"products": [
{
"article": "81-51109-20",
"brand": "REINZ",
"code": "000037593",
"count": 1,
"default_image": "photo\t\n\n\l\h\2e0fe7fd.jpeg",
"name": "Сальник колінвалу (передній) Ford Transit "
"2.0 (42x56x7)",
"price": 89.7,
"sum": 89.7,
"uuid": "A64C450BCCFD361B47E3B6A1DFE3DE65"
}
],
"route": "",
"route_date": "2022-11-28T16:20:00Z",
"shipping_date": "0001-01-01T00:00:00Z",
"status": "Очікує на відбір",
"sum": 89.7,
"uuid": "81C2005056BA39E811ED6F233E4C0E89",
"warehouse": {
"name": "Луцьк",
"uuid": "ACF9000C2947F7AE11E28A2B02C4AD32"
}
}
}
{
"result": true,
"message": "Відмінено. Створено нову корзину",
"order": null,
"order_canceled": true
}
{
"result": false,
"message": "Документ ще не доступний для редагування. Повторіть дії через декілька хвилин.",
"order": null,
"order_canceled": false
}
Перевірити доступність відвантаження корзини¶
-
POST
/processing/cart/
(string: cart_uuid)/pre_check
¶
Параметр | Опис |
---|---|
cart_uuid | ID Корзини |
Приклад відповіді:
{
"allowed": false,
"error": true,
"message": "Не можна відвантажувати пусту корзину"
}
У випадку, якщо ID корзини не передано вернеться відповідь 404 NOT FOUND
.
Перевірити доступність відвантаження корзини¶
-
GET
/processing/cart/
(string: cart_uuid)/pre_check
¶
Параметр | Опис |
---|---|
cart_uuid | ID Корзини |
Приклад відповіді:
{
"allowed": false,
"error": true,
"message": "Не можна відвантажувати пусту корзину"
}
У випадку, якщо ID корзини не передано вернеться відповідь 404 NOT FOUND
.
Перевірка результатів асинхронного відвантаження¶
-
GET
/processing/shipment/
(task_id)¶
Перевірити доступність відвантаження товару¶
-
GET
/processing/
(string: product_uuid)/
(string: quantity)/pre_check
¶
Параметр | Опис |
---|---|
product_uuid | ID Товару |
quantity | Кількість товару |
Приклад відповіді:
{
"allowed": false,
"error": true,
"message": "Не дозволено відвантажувати у зв'язку з боргом"
}
Попередження
Зверніть увагу, що даний метод є застарілим! 28.01.2024 його буде видалено.