Оглавление

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

Запросы.. 4

Заказы.. 4

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

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

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

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

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

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

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

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

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

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

Курьеры.. 10

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

Запись курьера. 10

Удаление курьера. 10

Список зон курьера. 11

Сохранение зон курьера. 11

Склады.. 11

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

Запись склада. 11

Удаление склада. 12

Маршруты.. 12

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

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

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

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

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

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

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

Поставщики. 15

Запрос всех поставщиков. 15

Запрос поставщиков по городу. 15

Запись поставщика. 16

Удаление поставщика. 16

Города. 16

Список всех городов. 16

Зоны.. 16

Запрос зон. 16

Отчёты.. 16

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

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

Сообщения. 17

Отправка сообщения. 17

Callbacks (Webhook) 18

Сообщение доставки. 18

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

Заказ. 18

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

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

Доставка. 20

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

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

Адрес. 20

Курьер. 20

Склад. 21

Маршрут. 21

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

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

Расширенная маршрутная точка. 22

Поставщик. 22

Зона. 23

Город. 23

 



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


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} – строка, id файла из доставки
Возвращает файл.

Пример:
GET: https://www.quickrun.ru/api/1.0/client/orders/file?id=300000:1000000:DFCC5975-702E-429E-BF6A-EA216C74DD22.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

Запись курьера

POST: /client/ couriers
Тело запроса: Курьер
Возвращает целое число –
Id курьера. Добавляет или обновляет склад.
Пример:
POST : https:// quickrun.ru/api/1.0/client/ couriers
Тело запроса:
{

    "id": 1,

    "name": "Василий",

    "workStartTime": "9:00",

    "workEndTime": "21:00",

    "phone": "+7900000000",

    "transport": "auto",

    "city": {

        "id": 1

    },

    "maxWeight": 1000,

    "qualifications": [

        "двери",

        "карнизы"

    ]

}

Ответ: 1

 

Удаление курьера

DELETE: /client/couriers/{id}
где id – число , Id курьера

Список зон курьера

GET: /client/couriers/{courierId}/zones
Где {courierId} – id или имя курьера .
Возвращает массив зон

Пример:
GET : https://www.quickrun.ru/api/1.0/client/couriers/1/ zones
Ответ: [{"id": 1,"name": "ВДНХ"}]

Сохранение зон курьера

POST: /client/couriers/{courierId}/ zones
Где { courierId} id или имя курьера.
Тело запроса: массив id или имен зон.

Пример:
POST : https://www.quickrun.ru/api/1.0/client/couriers/1/ zones
Тело запроса: [1,"ВДНХ"]

Склады

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

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

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

Запись склада

POST: /client/ warehouses
Возвращает целое число – Id склада. Тело запроса - Склад. Добавляет или обновляет склад.

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

DELETE: /client/warehouses/{ id}
Где idId склада.

Маршруты

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

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/ suppliers/
Возвращает список всех поставщиков

Запрос поставщиков по городу

GET: /client/suppliers/{ cityId}
где cityId – число, id города. Возвращает список всех поставщиков в городе.

Запись поставщика

POST: /client/ suppliers
Тело запроса: поставщик
Обновляет или добавляет поставщика

Удаление поставщика

DELETE: /client/suppliers/{ supplierId}
где supplierId – число, id поставщика.

Города

Список всех городов

GET: /client/ cities
Запрос списка городов. Возвращает список городов. Если нужного города нет в списке, пожалуйста, напишите в техподдержку, мы добавим город.

Зоны

Запрос зон

GET: /client/zones/{ cityId}
Где { cityId} id города.
Запрос возвращает список зон.

Отчёты

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

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=Москва

Сообщения

Отправка сообщений в мобильное приложение.

Отправка сообщения

POST: /client/messages/ send
Тело запроса:
{
user: строка или число, имя или id пользователя ,
title: строка, заголовок сообщения,
text: строка, текст сообщения, обязательное поле,
html: Html код для сообщения
}

Callbacks (Webhook)

Callback – это отправка данных на ваш сервер при возникновении событий на стороне Бегунка. Например, если курьер отметил доставку, мы отправляем вам данные о доставке через Callback.

Настроить урл для Callback нужно в Интеграции-RestAPI .

Формат отправляемых данных следующий:

{
type”: string,
message”: {само сообщение }
}

Значения type могут быть следующими: “Test” – тестовое сообщение, “ Delivery– сообщение доставки.

Сообщение доставки

  deliveryДоставка
  pointРасширенные данные о маршрутной точке
  distanceFromOrder – число, расстояние от отметки о доставке до заказа в метрах

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

Заказ

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

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

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

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

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

Доставка

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

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

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

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

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

Адрес

Наследует все поля из Геокоордината плюс
address – строка, адрес в произвольном формате
precision – строка, точность геокодирования. Возможные значения: Exact, Near, Street, Other
postalCode – строка, почтовый код адреса.

Курьер

name – строка, имя курьера
workStartTime – строка, время начала работы в формате часы:минуты (например, 12:40)
workEndTime – строка, время окончания работы в формате часы:минуты (например, 23:20)
transport – строка, тип транспортного средства. Возможные значения: “Auto”, “Public
id – число, id курьера,
phone – строка, номер телефона,
city – город,
maxWeight – число, максимальный вес,
maxHeight – число, максимальная высота,
maxLength – число, максимальная длина,
maxWidth – число, максимальная ширина,
qualifications – массив строк, список квалификаций курьера,
color – строка, цвет курьера на карте,
startадрес, точка старта для курьера,
endадрес, расширенная геокоордината, точка конца для курьера,
trackingPrecision – строка, точность определения местоположения. Доступные значения: Default, HighPrecision, MediumPrecision, LowPrecision, None

Склад

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

Маршрут

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

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

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

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

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

Расширенная маршрутная точка

Содержит все поля из маршрутной точки и дополнительные поля:
courierидентификатор, id курьера, которому принадлежит маршрут
warehouseидентификатор, id склада, к которому относится маршрут курьера
routeDate – дата

Поставщик

id – число, id поставщика
name – строка, название поставщика
address – строка, адрес поставщика
cityгород
startTime – строка, время в формате чч:мм, время начала работы
endTime – строка, время в формате чч:мм, время окончания работы
coordinateкоордината
contact – строка, контактное лицо
phone – строка, номер телефона
duration – число, минуты, продолжительность погрузки в минутах
additionalInfo – строка, дополнительная информация
externalId – строка, внешний Id (для интеграций)

Зона

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

Город

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