Відвантаження корзин та замовлень

Базова адреса для функцій роботи з даним розділом /processing/.

Перевірити доступність відвантаження резерву

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. Після успішного створення документу це відразу відобразиться на вашому боргу і кредитній лінії.

Схему запитів можна побачити на малюнку. В зеленій зоні показані дані, які можуть бути внесені в константи.

_images/processing_sync.png

Примітка

Для спрощеного відвантаження опустіть параметри 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/(string: product_uuid)/(string: quantity)/pre_check
Параметр Опис
product_uuid ID Товару
quantity Кількість товару

Приклад відповіді:

{
    "allowed": false,
    "error": true,
    "message": "Не дозволено відвантажувати у зв'язку з боргом"
}

Попередження

Зверніть увагу, що даний метод є застарілим! 28.01.2024 його буде видалено.