Налаштування доставки та перевізники

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

Список складів або вулиць по перевізнику

GET /delivery/carriers/warehouses
Параметр Опис
city ID Міста.
carrier ID Перевізника.
q Фільтр по назві складу перевізника або вулиці.
filter Фільтр по акціям може приймати значення warehouses, streets, all. За замовчуванням, warehouses.
page Сторінка видачі.
per_page К-сть елементів у видачі

Примітка

Якщо параметр city або carrier вказано невірно - буде повернуто відповідь 422 Unprocessable Entity

Отримати список міст для перевізника

GET /delivery/carrier/cities
Query Parameters:
 
  • region – ID Області (Обов’язковий).
  • carrier – ID перевізника (Обов’язковий).
  • is_address – Адресна доставка. За замовчуванням - False.

Приклад отримання міст Волинської області для перевізника Автолюкс:

https://api.bm.parts/delivery/carrier/cities?region=92AF000C2947F7AE11E2D3FE8D64FA92&carrier=831E363AB41B7A4E4BFDE7409AF354DD

Відповідь:

{
  "cities": [
    {
      "uuid": "92AF000C2947F7AE11E2D3FFF549A193",
      "name": "Дніпро"
    },
    {
      "uuid": "92AF000C2947F7AE11E2D3FFF549A19B",
      "name": "Кам'янське"
    },
    {
      "uuid": "92AF000C2947F7AE11E2D3FFF549A19E",
      "name": "Кривий Ріг"
    },
    {
      "uuid": "92AF000C2947F7AE11E2D3FFF549A1AD",
      "name": "Нікополь"
    },
    {
      "uuid": "92AF000C2947F7AE11E2D3FFF549A1B0",
      "name": "Новомосковськ"
    },
    {
      "uuid": "92AF000C2947F7AE11E2D3FFF549A1B4",
      "name": "Павлоград"
    }
  ]
}

Підтвердження створення налаштування доставки

POST /delivery/config/confirm
Query Parameters:
 
  • code – Код підтвердження з повідомлення

У випадку вдалого підтвердження вертається статус 201

{
    "success": true
}

Встановити налаштування доставки за замовчуванням

POST /delivery/config/default
Query Parameters:
 
  • config_uuid – ID налаштування доставки

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

{
    "success": true
}

Отримати назву вулиці міста

GET /delivery/city/streets
Query Parameters:
 
  • street – Часткова назва вулиці.
  • city – ID Міста.

Приклад запиту:

https://api.bm.parts/delivery/city/streets?street=вул&city=92AF000C2947F7AE11E2D4000A5E5D45

Приклад відповіді для запиту з параметрами - street=вул, city=92AF000C2947F7AE11E2D4000A5E5D45

{
    "streets": [
        "вул. 1-го Травня",
        "вул. 17-го вересня"
    ]
}

Отримати таблицю виїздів

GET /delivery/departures
Query Parameters:
 
  • warehouse – ID складу. За замовчуванням основний склад
  • city – ID міста доставки. За замовчуванням основне місто

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

[
    {
      "uuid": "831E363AB41B7A4E4BFDE7409AF354DD",
      "name": "Автолюкс",
      "discount_delivery": 0.00,
      "discount_money": 0.00,
      "departures": [
        {
          "receipt_date": "2018-07-28T12:00:00Z",
          "departure_date": "2018-07-28T12:30:00Z"
        }
      ]
    },
    {
      "uuid": "B7E343EA4512F2BC41960C93EF5A7C7D",
      "name": "Гюнсел",
      "discount_delivery": 10.00,
      "discount_money": 0.00,
      "departures": [
        {
          "receipt_date": "2018-07-27T17:00:00Z",
          "departure_date": "2018-07-27T18:00:00Z"
        }
      ]
    }
]

Список отримувачів

GET /delivery/receivers

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

{
  "receivers": [
    {
      "full_name": "Фамилия Имя Отчество",
      "uuid": "81C9005056AC66D611E86E83DDAEDE97"
    }
  ]
}

Створити отримувача

POST /delivery/receivers
Query Parameters:
 
  • surname – Прізвище
  • name – Ім’я
  • middle_name – По батькові
  • phone – Телефон в форматі 380966477711 або +380956477711

Метод вертає статус 201 Created при вдалому створенні контактного лиця.

Список перевізників

GET /delivery/carriers
{
  "carriers": [
    {
      "address_delivery": false,
      "warehouses_url": "https://api.bm.parts/delivery/carriers/warehouses?carrier=831E363AB41B7A4E4BFDE7409AF354DD",
      "discount_delivery": 0.0,
      "discount_money": 0.0,
      "warehouses_count": 167,
      "name": "Автолюкс",
      "uuid": "831E363AB41B7A4E4BFDE7409AF354DD"
    },
    {
      "address_delivery": false,
      "warehouses_url": "https://api.bm.parts/delivery/carriers/warehouses?carrier=A1D5CECB05F23C9D430E95281E004524",
      "discount_delivery": 0.0,
      "discount_money": 0.0,
      "warehouses_count": 0,
      "name": "Автостанція",
      "uuid": "A1D5CECB05F23C9D430E95281E004524"
    },
    {
      "address_delivery": false,
      "warehouses_url": "https://api.bm.parts/delivery/carriers/warehouses?carrier=B7E343EA4512F2BC41960C93EF5A7C7D",
      "discount_delivery": 10.0,
      "discount_money": 0.0,
      "warehouses_count": 133,
      "name": "Гюнсел",
      "uuid": "B7E343EA4512F2BC41960C93EF5A7C7D"
    }
  ]
}

Список областей

GET /delivery/regions

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

{
  "regions": [
    {
      "cities_url": "https://api.bm.parts/delivery/region/92AF000C2947F7AE11E2D3FE8D64FA90/cities",
      "name": "Вінницька область",
      "uuid": "92AF000C2947F7AE11E2D3FE8D64FA90"
    },
    {
      "cities_url": "https://api.bm.parts/delivery/region/92AF000C2947F7AE11E2D3FE8D64FA91/cities",
      "name": "Волинська область",
      "uuid": "92AF000C2947F7AE11E2D3FE8D64FA91"
    }
  ]
}

Налаштування доставки

GET /delivery/configs

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

{
  "configs": [
    {
      "return_money": false,
      "address_delivery": false,
      "name": "Автостанція, Фамилия Имя Отчество, Дніпро, Минимальная страховка",
      "uuid": "D84ED7B2695E4779906BA945C1DA7ACE",
      "city": {
        "region": {
          "name": "Дніпропетровська область"
        },
        "name": "Дніпро"
      },
      "receiver": {
        "full_name": "Имя Фамилия Отчество"
      },
      "carrier_warehouse": null,
      "full_insurance": false,
      "is_default": false,
      "carrier": {
        "name": "Автостанція",
        "uuid": "A1D5CECB05F23C9D430E95281E004524"
      },
      "flat": "",
      "address": "",
      "house": ""
    }
  ]
}

Створити налаштування доставки

POST /delivery/configs
Query Parameters:
 
  • receiver – ID контактної особи
  • city – ID міста
  • carrier – ID перевізника
  • carrier_warehouse – ID складу перевізника
  • full_insurance – Повна страховка. За замовчуванням, false
  • is_default – Налаштування за замовчуванням
  • note – Примітка.
  • building – Номер будинку.
  • apartment – Номер офісу або квартири.

Метод вертає статус 201 CREATED при вдалому створенні налаштування доставки.

Відслідкувати ТТН

GET /delivery/track
query tracking_number:
 Номер ТТН перевізника, або внутрішній номер ТТН документа

Список міст області

GET /delivery/region/(string: region_uuid)/cities
Query Parameters:
 

Примітка

Якщо параметр region_uuid вказано невірно - буде повернуто відповідь 422 Unprocessable Entity

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

{
  "cities": [
    {
      "name": "Антонівка",
      "uuid": "811D000C2999A7E611E502A4D17BAAC3"
    },
    {
      "name": "Березовичі",
      "uuid": "811D000C2999A7E611E502A4D17BAACF"
    },
    {
      "name": "Берестечко",
      "uuid": "92AF000C2947F7AE11E2D3FFF549A155"
    },
    {
      "name": "Боголюби",
      "uuid": "812C000C2999A7E611E572730F1DD38A"
    }
  ]
}

Видалити контактну особу

DELETE /delivery/receiver/(string: receiver_uuid)
Query Parameters:
 
  • receiver_uuid – ID отримувача (Обов’язковий).

У випадку успішного виконання - вертає 200 Ok

Інформація про перевізника

GET /delivery/carrier/(string: carrier_uuid)
Query Parameters:
 
  • carrier_uuid – ID перевізника

Вертає детальну інформацію про перевізника і дані для повернення товару цим перевізником.

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

{
  "discount_delivery": 15.0,
  "discount_money": 0.0,
  "edrpou": "3xxx",
  "name": "Нова пошта",
  "passport_number": "",
  "passport_series": "",
  "phone_number": "095xxx",
  "receiver_name": "Фамилия Имя Отчество",
  "return_warehouse": None,
  "uuid": "B4466E1779A2E30B435620CEA0330826",
  "warehouse_address": "с.Струмівка, Відділення №1: вул. Рівненська, 74а"
}

Видалити налаштування доставки

DELETE /delivery/config/(string: config_uuid)
Query Parameters:
 
  • config_uuid – ID налаштування доставки

У випадку успішного виконання вертає 200 Success