Оглавление

Базовые правила. 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

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

Callbacks (Webhook) 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

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

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/ 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 - доставка

Доставка

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данные о маршрутной точке

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

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

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

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

Зона

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

Город

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