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