Оглавление

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

Запросы..3

Заказы..3

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

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

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

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

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

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

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

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

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

Получение зон заказа. 8

Курьеры..9

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

Склады..9

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

Маршруты..9

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

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

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

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

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

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

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

Отчёты..13

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

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

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

Заказ.13

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

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

Доставка.15

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

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

Курьер.15

Склад.15

Маршрут.16

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

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

Зона.16




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


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

Получение зон заказа

POST : / client/ orders/ zones
Тело запроса: массив внутренних идентификаторов (id ) заказ а.
Возвращает массив, элементы которого имеют следующий вид:
id – внутренний идентификатор (
id ) заказа
zones – массив зон заказа

Пример :
POST:
https://quickrun.ru/api/1.0/client/orders/zones
Тело запроса :
["A04A8B6F-D454-454B-B709-000020EEBE69","21A3723E-9893-49CD-851B-00002BDE7AC1"]

Результат (в поле result ):
[

{

"id":"A04A8B6F-D454-454B-B709-000020EEBE69",

"zones": [

{

"id":1,

"name":"Основная"

}

]

},

{

"id":"21A3723E-9893-49CD-851B-00002BDE7AC1",

"zones": [

{

"id":2,

"name":"Вторая"

}

]

}

]



Курьеры

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

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геокоордината
coordinatePrecision – точность определения геокоординаты:
exact, near,street, other
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 - геокоордината

Зона

id– число,id зоны
name – название зоны