Оглавление

Базовые правила. 1

Запросы..1

Заказы..1

Запись заказов. 1

Удаление заказа. 1

Удаление заказов. 1

Список заказов. 1

Список нераспределенных заказов.1

Список распределенных заказов.1

Информация о заказе по номеру.1

Информация о заказе по Id.1

Получение файла с фото. 1

Курьеры..1

Список курьеров. 1

Склады..1

Список складов. 1

Маршруты..1

Получение маршрута. 1

Очистка маршрута курьера.1

Добавление заказов в маршрут.1

Расчет маршрутов. 1

Пересчет маршрута курьера.1

Запрос работающих в день курьеров.1

Сохранение работающих в день курьеров.1

Отчёты..1

Маршрутные листы.. 1

Отчет о доставке. 1

Базовые типы данных. 1

Заказ.1

Габариты груза. 1

Расширенный заказ. 1

Доставка.1

Идентификатор.1

Геокоордината.1

Курьер.1

Склад.1

Маршрут.1

Маршрутная точка. 1

Данные о маршрутной точке.1

Базовые правила


URL Запроса выглядит следующим образом:

https://www.quickrun.ru/api/1.0/{запрос}

Возвращаемый запросом результат в случае успешного выполнения выглядит следующим образом:

{
success: true,
result: {результат
запроса }
}

В случае возникновения ошибки возвращается:

{
success: false,
error: ”Текст
ошибки
}

Все данные запроса, если не указано иначе, передаются в теле запроса в формате JSON.
В любом запросе, ключ аутентификации передается в заголовке запроса (
http header) или в Cookie как “Authorization”:”Ключ”.

Запросы

Заказы

Запись заказов.

POST : / client/orders/{date}?warehouse={warehouseIdOrName}
Где {date} – дата в формате год-месяц-день (например, 2018-08-20)
{
warehouseIdOrName} – необязательный параметр, число или строка, id или название склада
Тело запроса: массив заказов или одиночный заказ
Сохраняет или обновляет заказы.

Пример:

POST: https://www.quickrun.ru/api/1.0/client/orders/2018-08-20

Тело запроса:
[

{

"timeFrom":"9:00",

"timeTo":"11:00",

"address": "1-й Кожуховский проезд, 1/7" ,

"buyerName": "Иван Андреевич" ,

"goods": "Красные розы, 25 шт." ,

"number":91,

"additionalInfo": "Код домофона: 13" ,

"price":4800,

"phone":"+792212*****"

},

{

"timeFrom":"10:00",

"timeTo":"13:00",

"address": "Автозаводская улица, 8сД" ,

"buyerName": "Людмила Сергеевна" ,

"goods": "Гвоздики, 11 шт." ,

"number":92,

"additionalInfo": "Код домофона: 28" ,

"price":1000,

"phone":"+792212*****",

"dimensions": {

"weight":10,

"height":10,

"length":10

}

}

]

 

Удаление заказа

DELETE : /client/orders/{date}/{number}

Где { date} – дата в формате год-месяц-день (например, 2018-08-20)
{
number} – номер заказа
Удаляет заказ по дате и номеру

Пример:
DELETE : https://www.quickrun.ru/api/1.0/client/orders/2018-08-20/128

Удаление заказов

DELETE : /client/orders/{date}

Где { date} – дата в формате год-месяц-день (например, 2018-08-20)
Тело запроса: список номеров заказов

Удаляет заказы по дате и списку номеров заказов

Пример:
DELETE : https://www.quickrun.ru/api/1.0/client/orders/2018-08-20
Тело запроса:
[

"128",

"124"

]

 

Список заказов

GET:/ client/orders/{date}?skip={skip}&take={take}&warehouse={warehouseIdOrName}
Где {date} – дата в формате год-месяц-день (например, 2018-08-20)
{
take} – необязательный параметр, число, кол-во возвращаемых заказов, не больше 50.
{skip} – необязательный параметр, число, сколько заказов пропустить.
{
warehouseIdOrName} – необязательный параметр, число или строка, id или название склада
Возвращает массив расширенных заказов

Пример:
GET : https://www.quickrun.ru/api/1.0/client/orders/2018-08-20

Список нераспределенных заказов

GET : / client/ orders/{date}/noroute?skip={skip}&take={take}&warehouse={ warehouseIdOrName }
Где {date} – дата в формате год-месяц-день (например,
2018-08-20)
{
take} – необязательный параметр, число, кол-во возвращаемых заказов, не больше 50.
{skip} – необязательный параметр, число, сколько заказов пропустить.
{
warehouseIdOrName} – необязательный параметр, число или строка, id или название склада
Возвращает массив расширенных заказов

Пример:
GET: https://www.quickrun.ru/api/1.0/client/orders/2018-08-20/noroute

Список распределенных заказов

GET : / client/ orders/{date}/routed?skip={skip}&take={take}&warehouse={ warehouseIdOrName }
Где {date} – дата в формате год-месяц-день (например,
2018-08-20)
{
take} – необязательный параметр, число, кол-во возвращаемых заказов, не больше 50.
{skip} – необязательный параметр, число, сколько заказов пропустить.
{
warehouseIdOrName} – необязательный параметр, число или строка, id или название склада
Возвращает массив расширенных заказов

Пример:
GET: https://www.quickrun.ru/api/1.0/client/orders/2018-08-20/routed

Информация о заказе по номеру

GET : / client/ orders/{date}/{ number }
Где {date} – дата в формате год-месяц-день (например, 2018-08-20)
{
number} – номер заказа
Возвращает массив расширенных заказов, информация о заказе с указанным номером, включая полную информацию о доставке и назначенном курьере.

Пример:
GET : https://www.quickrun.ru/api/1.0/client/orders/2018-08-20/128

Информация о заказе по Id

GET : / client/ orders/byId/{ id }
Где {id} – внутренний id заказа
Возвращает одиночный расширенный заказ, включая полную информацию о доставке и назначенном курьере.

Пример:
GET: https://www.quickrun.ru/api/1.0/client/orders/byId/{id}

Получение файла с фото

GET : / client/ orders/file/{ id }
Где {id} – строка, id файла из доставки
Возвращает файл.

Пример:
GET : https://www.quickrun.ru/api/1.0/client/orders/file/128.jpg


 

Курьеры

Список курьеров

GET : / client/ couriers
Возвращает массив курьеров

Пример:
GET: https://www.quickrun.ru/api/1.0/client/couriers

Склады

Список складов

GET : / client/ warehouses
Возвращает массив складов

Пример:
GET: https://www.quickrun.ru/api/1.0/client/warehouses

Маршруты

Получение маршрута

GET : / client/ routes/{date}?warehouse={warehouse}&courier={ courier }
Где {date} – дата в формате год-месяц-день (например, 2018-08-20),
{
warehouse} – необязательный параметр, число или строка, id или название склада,
{courier} – необязательный параметр, число или строка,
id или имя курьера
Возвращает массив маршрутов

Пример:
GET: https://www.quickrun.ru/api/1.0/client/routes/2018-08-20

Очистка маршрута курьера

POST : / client/ routes/{date}/{courier}/clean?warehouse={ warehouse }
Где {date} – дата в формате год-месяц-день (например, 2018-08-20),
{
courier} – число или строка, id или имя курьера,
{
warehouse} – необязательный параметр, число или строка, id или название склада.
Убирает все заказы из маршрута курьера, за исключением тех, для которых есть информация о доставке.

Пример:
POST: https://www.quickrun.ru/api/1.0/client/routes/2018-08-20/Федор/clean

Добавление заказов в маршрут

POST : / client/ routes/{date}/{courier}/append?warehouse={ warehouse }
Где {date} – дата в формате год-месяц-день (например, 2018-08-20),
{
courier} – число или строка, id или имя курьера,
{
warehouse} – необязательный параметр, число или строка, id или название склада.
Тело запроса: список номеров заказов

Добавляет в маршрут курьера заказы.

Пример:
POST : https://www.quickrun.ru/api/1.0/client/routes/2018-08-20/Федор/append
Тело запроса:
[

"128",

"124"

]

 

Расчет маршрутов

POST : / client/ routes/{date}/count?warehouse={ warehouse }
Где {date} – дата в формате год-месяц-день (например, 2018-08-20),
{
warehouse} – необязательный параметр, число или строка, id или название склада.

Заново рассчитывает все маршруты (кнопка “Построить маршруты”).

Пример:
POST : https://www.quickrun.ru/api/1.0/client/routes/2018-08-20/count

Пересчет маршрута курьера

POST : / client/ routes/{date}/{courier}/count?warehouse={ warehouse }
Где {date} – дата в формате год-месяц-день (например, 2018-08-20),
{
courier} – число или строка, id или название курьера.
{
warehouse} – необязательный параметр, число или строка, id или название склада.

Заново оптимизирует маршрут одиночного курьера. Используется для оптимизации маршрута, если вы вручную добавили заказы курьеру. Если какие-то заказы не могут быть доставлены, например, из-за непопадания во временной интервал, то они попадут в нераспределенные, то есть снимутся с курьера.

Пример:
POST : https://www.quickrun.ru/api/1.0/client/routes/2018-08-20/1/count

Запрос работающих в день курьеров

GET : / client/ routes/{date}/couriers?warehouse={ warehouse }
Где {date} – дата в формате год-месяц-день (например, 2018-08-20),
{
warehouse} – необязательный параметр, число или строка, id или название склада.

Запрос возвращает список всех курьеров, для которых есть маршрут за указанный день и для указанного склада.

Пример:
POST : https://www.quickrun.ru/api/1.0/client/routes/2018-08-20/ couriers

Сохранение работающих в день курьеров

POST : / client/ routes/{date}/couriers?warehouse={ warehouse }
Где {date} – дата в формате год-месяц-день (например, 2018-08-20),
{
warehouse} – необязательный параметр, число или строка, id или название склада.
Тело запроса: список
Id или имен курьеров.

Пример:
POST : https://www.quickrun.ru/api/1.0/client/routes/2018-08-20/ couriers

Тело запроса:
[

"Федор",

"Петя",

"12"

]

 

 

Отчёты

Маршрутные листы

GET : / client/ reports/{date}/routeslist?warehouse={ warehouse }
Где {date} – дата в формате год-месяц-день (например, 2018-08-20),
{
warehouse} – необязательный параметр, число или строка, id или название склада.
Запрос возвращает файл с маршрутными листами.
Пример:
GET : https://www.quickrun.ru/api/1.0/client/reports/2018-08-20/routeslist?warehouse=Москва

Отчет о доставке

GET : / client/ reports/{date}/delivery?warehouse={ warehouse }
Где {date} – дата в формате год-месяц-день (например, 2018-08-20),
{
warehouse} – необязательный параметр, число или строка, id или название склада.
Запрос возвращает
файл отчета о доставке.
Пример:
GET : https://www.quickrun.ru/api/1.0/client/reports/2018-08-20/delivery?warehouse=Москва

 

Базовые типы данных

Заказ

Id – строка (гуид), внутренний идентификатор системы
timeFrom – строка, время доставки от в формате: часы:минуты (пример12:01)
timeTo – строка,время доставки до в формате:часы:минуты(пример12:01)
address – строка, адрес доставки
buyerName – строка, ФИО получателя
goods – строка, наименование товаров
number – строка, номер заказа
additionalInfo – строка, дополнительная информация
price – число, цена
phone – строка, номер телефона получателя
dimensionsгабариты груза
duration – число, время задержки курьера на заказе в минутах

Габариты груза

length – число, длина
width – число, ширина
height – число, высота
weight – число, вес

Расширенный заказ

Наследует все поля из Заказа плюс
coordinate - геокоордината
planTime – строка, плановое время доставки в формате год-месяц-деньTчас:минута (например, 2018-08-20T17:21:04.4811135), локальное время без часового пояса
courierидентификатор, назначенный курьер для заказа
warehouseидентификатор, склад, к которому относится заказ
delivery - доставка

Доставка

comment – строка, комментарий курьера к доставке
money – число, полученная сумма денег
stateидентификатор, состояние доставки
coordinateгеокоордината, где курьер отметил статус доставки
files – массив идентификаторов, список фото-файлов

Идентификатор

id – число, идентификатор объекта в программе
name – строка, название объекта в программе (например, Склад на Лермонтова)

Геокоордината

latitude – число, широта
longitude – число, долгота

Курьер

name – строка, имя курьера
workStartTime – строка, время начала работы в формате часы:минуты (например, 12:40)
workEndTime – строка, время окончания работы в формате часы:минуты (например, 23:20)
transport – строка, тип транспортного средства
id – число,
id курьера

Склад

address – строка, адрес
name – строка, название склада
coordinate – геокоордината
id – число,
id склада
city – строка, город

Маршрут

courierидентификатор, курьер
distance – число, дистанция маршрута в км
ordersCount – число, кол-во заказов
warehouseидентификатор, склад
route – массив маршрутных точек

Маршрутная точка

pointType – строка, тип маршрутной точки: order|supplier|warehouse (заказ, поставщик, склад)
arriveTime – строка, планируемое время прибытия на точку в формате год-месяц-деньTчас:минута (например, 2018-08-20T17:21:04.4811135)
pointданные о маршрутной точке

Данные о маршрутной точке

id– строка, номер заказа илиid склада
address – строка, адрес маршрутной точки
coordinate - геокоордината