API биржи

Глоссарий

  • Биржа - это сервис, для обмена заказами, как между организациями такси, так и организациями смежных направлений.

    • Обмен на бирже подразумевает операцию купли-продажи заказов. Продажа может быть с нулевой стоимостью.
    • Не накладывает территориальных ограничений. Можно использовать в любой стране.
  • Участник биржи - организация, выразившая согласие с условиями сервиса и предоставившая информацию о себе достаточную для заполнения биржевого профиля.

  • API биржи - http://api.exchange.cloudtaxi.ru. Набор HTTP методов и HTTP уведомлений реализующих схему обмена заказами.

  • Контрольная панель, Панель управления биржи - веб-приложение, для контроля и наблюдения, участником биржи за процессами, связанными с обменом заказов. Доступ к панели управления возможен только для зарегистрированных участников биржи с персональным сертификатом доступа.

  • Биржевой профиль, Профиль участника биржи - формальное представление участника биржи во внутренней структуре. Профиль участника заполняется технической поддержкой компании СКАТ если участник заранее предоставил достаточную информацию, либо самим участником биржи в контрольной панели.

  • Баланс участника биржи - участник биржи должен иметь внутренний счет в той валюте, в которой, происходит обмен. Покупка заказов возможна только при положительном балансе. Продажа возможна независимо от состояния баланса.

  • Продавец заказа - Организация, Участник биржи, Биржевой профиль, Служба - все эти сущности могут быть названы продавцами заказов в зависимости от контекста.
    Роль продавца - установка стоимости заказов, настройка распределения по участникам, отправка заказа на биржу. После исполнения заказа баланс соответствующего биржевого профиля будет пополнен на указанную стоимость.

  • Исполнитель заказа - Организация, Участник биржи, Биржевой профиль, Служба, Водитель - все эти сущности могут быть названы исполнителями заказов в зависимости от контекста. Роль исполнителя - установка условий покупки, указание доверенных источников, покупка и исполнение заказа.

  • Сервер - Сервис способный общаться с биржей согласно API биржи в двухстороннем формате.

  • Служба - Логическая единица сервера, позволяющая группировать и таргетировать заказы. Заказ на бирже может быть передан только от имени какой-то службы в другую службу.

  • Комиссия биржи - Биржа забирает определенный размер комиссии за каждую операцию покупки/продажи между её участниками. Размер комиссии не регулируется данным документом.

  • Персональный сертификат доступа - PKCS#12 сертификат для установки в браузер. Служит для идентификации участника биржи в контрольной панели. Выдается технической поддержкой компании СКАТ. Биржа доверяет только сертификатам издателя "SKAT root certification authority (CA)" и его промежуточным центрам сертификации.


Сценарии

Условные обозначения

>>> - направление запроса

Server >>> Exchange - Сервер оправляет запрос на биржу

Server <<< Exchange - Биржа отправлет запрос на сервер

Авторизация

Server >>> Exchange : POST /session

В ответ биржа вернет токен, который не имеет срока действия, но привязан к серверу, для которого он выдан. На другом сервере этот токен использовать невозможно.

Продажа заказа

Регистрация заказа на бирже

После авторизации, сервер продавца может отправлять заказ на биржу. У заказа обязательно должны быть указаны координаты начала маршрута.

Server >>> Exchange : POST /order

Биржа в ответ вернет внутренний ID заказа и поставит его в очередь обработки. Если с заказом "всё хорошо", то биржа отправит
уведомление на сервер, о том, что заказ успешно зарегистрирован:

Server <<< Exchange : POST /on/order/registered

иначе, она отправит уведомление о невозможности регистрации данного заказа

Server <<< Exchange : POST /on/order/refused

О заказе уведомлены другие участники

После успешной регистрации заказа, биржа начнет уведомлять всех заинтересованных участников рассылая им уведомления на /on/order/received. После того как она
завершит этот процесс на сервер продавца придет новое уведомление

Server <<< Exchange : POST /on/order/accepted

Теперь остается ждать, когда один из водителей не примет заказ

Заказ в исполнении

Когда кто-то берёт заказ на бирже в исполнение, она отправляет уведомление:

Server <<< Exchange : POST /on/order/taken

Внутри уведомления будут переданы данные о водителе. Продавец должен уведомить(СМС, телефония, push...) пассажира, что на его заказ назначен водитель.
Дальше биржа будет присылать изменения статуса заказа

Server <<< Exchange : POST /on/order/updated

И в заключении, когда заказ будет выполнен, биржа отправит:

Server <<< Exchange : POST /on/order/completed



Статусы заказов

  • 0 - NOT_REGISTERED - Заказ сохранен в базе данных, но еще не обработан сервером;

  • 1 - SENT_TO_DRIVER - Заказ был отправлен водителю;

  • 2 - CONFIRMED - Водитель подтвердил заказ;

  • 3 - AWAITING_CLIENT - Водитель ожидает клиента;

  • 4 - IN_PROCESS - Заказ в исполнении;

  • 5 - RECEIVED_BY_DRIVER - Водитель получил заказ;

  • 7 - AWAITING_CLIENT_LONG - Водитель ожидает клиента. Время бесплатного ожидания уже истекло;

  • 8 - FREE_LONG - Заказ остается свободным (не был взят в исполнение ни одним водителем) слишком долго;

  • 9 - FREE - Свободный заказ. Любой водитель может взять его в исполнение;

  • 10 - CONFIRMED_CLIENT_NOTIFIED - Клиент был уведомлен что заказ взят водителем;

  • 11 - AWAITING_CLIENT_NOTIFIED - Клиент был уведомлен что его ожидает водитель;

  • 16 - NO_REPLY - Клиент не отвечает на звонки. Требуется действие диспетчера;

  • 19 - CANCELLED_BY_CLIENT - Заказ был отменен клиентом. Требуется действие диспетчера;

  • 51 - PREORDER_ATTACHED - Предварительный заказ закреплен за водителем;

  • 87 - AWAITING_PAYMENT - Поездка завершена, но платеж еще не поступил. (Безналичная оплата);

  • 88 - REJECTED_BY_DRIVER Заказ был отклонен водителем. Требуется действите диспетчера;

  • 89 - AWAITING_COMPLETION - Поездка завершена. Требуется действие диспетчера;

  • 91 - DONE_REMOVED - Заказ был удален из обработки;

  • 92 - DONE_NOT_PAID - Заказ был удален из обработки с причиной "Клиент не оплатил";

  • 93 - DONE_NO_CARS - Заказ был удален из обработки с причиной "Нет машин";

  • 94 - DONE_CALL_FAILED - Заказ был удален из обработки с причиной "Клиент не отвечает на звонки";

  • 95 - DONE_CANCELLED - Заказ был удален из обработки с причиной "Клиент отказался";

  • 95 - DONE_OPERATOR_REJECTED - Заказ был удален из обработки с причиной "Диспетчер отменил заказ";

  • 99 - DONE_DRIVER_REJECTED - Заказ был удален из обработки с причиной "Водитель отменил заказ";

  • 100 - DONE_SUCCESSFUL - Заказ завершен успешно и удален из обработки;


Разрешенные переходы статусов

Псевдостатусы

NOT_DONE = [0..89]
DONE = [90..100]
DONE_NOT_SUCCESSFUL = [90..99]

Разрешенные переходы

Например: заказ из статуса 0 (NOT_REGISTERED) может перейти в SENT_TO_DRIVER, ORDER_ON_RADIO, PREORDER_FREE а также во FREE, DONE_REMOVED, DONE_NOT_PAID, DONE_NO_CARS, DONE_CALL_FAILED, DONE_CANCELLED, DONE_OPERATOR_REJECTED, DONE_DRIVER_REJECTED, DONE_SUCCESSFUL как псевдостатус NOT_DONE

NOT_REGISTERED: [],
SENT_TO_DRIVER: [NOT_REGISTERED, FREE, FREE_LONG, REJECTED_BY_DRIVER],
CONFIRMED: [SENT_TO_DRIVER, RECEIVED_BY_DRIVER],
AWAITING_CLIENT: [
    CONFIRMED, BOUND, CONFIRMED_CLIENT_NOTIFIED, PREORDER_ATTACHED, PREORDER_ATTACHED_NOTIFIED,
    PREORDER_CONFIRM_SUCCESSFUL
],
IN_PROCESS: [
    AWAITING_CLIENT, AWAITING_CLIENT_NOTIFIED, AWAITING_CLIENT_LONG, CONFIRMED, BOUND,
    CONFIRMED_CLIENT_NOTIFIED
],
RECEIVED_BY_DRIVER: [SENT_TO_DRIVER],
AWAITING_CLIENT_LONG: [AWAITING_CLIENT_NOTIFIED],
FREE_LONG: [FREE],
FREE: NOT_DONE,
CONFIRMED_CLIENT_NOTIFIED: [CONFIRMED],
AWAITING_CLIENT_NOTIFIED: [AWAITING_CLIENT],
ORDER_ON_RADIO: [NOT_REGISTERED, FREE, FREE_LONG],
PREORDER_FREE: [NOT_REGISTERED, PREORDER_ATTACHED, PREORDER_ATTACHED_NOTIFIED, PREORDER_CONFIRM_REQUESTED,
                PREORDER_CONFIRM_SUCCESSFUL, PREORDER_CLIENT_CANCELLED, PREORDER_CONFIRM_REJECTED,
                PREORDER_CONFIRM_TIMEOUT],
PREORDER_ATTACHED: [PREORDER_FREE],
PREORDER_ATTACHED_NOTIFIED: [PREORDER_ATTACHED],
PREORDER_CLIENT_CANCELLED: [PREORDER_FREE, PREORDER_ATTACHED, PREORDER_ATTACHED_NOTIFIED, PREORDER_CONFIRM_SUCCESSFUL,
                            PREORDER_CONFIRM_REQUESTED, PREORDER_CONFIRM_REJECTED, PREORDER_CONFIRM_TIMEOUT],
PREORDER_CONFIRM_REJECTED: [PREORDER_CONFIRM_REQUESTED],
PREORDER_CONFIRM_TIMEOUT: [PREORDER_CONFIRM_REQUESTED],
PREORDER_CONFIRM_SUCCESSFUL: [PREORDER_CONFIRM_REQUESTED],
PREORDER_CONFIRM_REQUESTED: [PREORDER_ATTACHED, PREORDER_ATTACHED_NOTIFIED],
BOUND: [FREE, FREE_LONG],
AWAITING_PAYMENT: [IN_PROCESS],
DONE_REMOVED: NOT_DONE,
DONE_NOT_PAID: NOT_DONE,
DONE_NO_CARS: NOT_DONE,
DONE_CALL_FAILED: NOT_DONE,
DONE_CANCELLED: NOT_DONE,
DONE_OPERATOR_REJECTED: NOT_DONE,
DONE_DRIVER_REJECTED: NOT_DONE,
DONE_SUCCESSFUL: NOT_DONE

Info

get /drivers/:id

Данные о водителе

Parameters

  • String id: Уникальный идентификатор водителя (id)

Response

  • Object data:
  • Object data.driver: Данные водителя
  • String data.driver.id: Уникальный идентификатор водителя (id)
  • String data.driver.callSign: Позывной (уникален внутри одногосервера)
  • String data.driver.name: Полное имя (имя, отчество, фамилия)
  • String data.driver.phone: Телефон
  • String data.driver.registrationNumber: Регистрационный номер автомобиля
  • String data.driver.brand: Марка автомобиля
  • String data.driver.model: Модель автомобиля
  • String data.driver.modelCode: Код модели автомобиля
  • String data.driver.color: Цвет автомобиля
  • String data.driver.colorCode: Код цвета автомобиля
  • String data.driver.carage: Год выпуска автомобиля
  • String data.driver.connectBy: Метод подключения водителя
  • Integer data.driver.carClass: Класс автомобиля
  • Integer[] data.driver.options: Список опций

get /drivers/classes

Классы автомобилей

Response

  • Object data:
  • Object[] data.classes: Классы автомобилей
  • String data.classes.id: Уникальный идентификатор класса
  • Object data.classes.name: Название класса(ключ - язык, значение - текст)
  • Object[] data.classes.cars: Информация об автомобилях данного класса
  • Object[] data.classes.cars.brand: Марка автомобиля
  • Object[] data.classes.cars.model: Модель автомобиля
  • Object[] data.classes.cars.year: Год выпуска автомобиля

get /drivers/options

Опции автомобиля

Response

  • Object data:
  • Object[] data.options: Опции автомобиля
  • String data.options.id: Уникальный идентификатор опции
  • String data.options.name: Название опции
  • String data.options.type: Тип опции('general', 'extra')
  • String data.options.access: Доступ(Набор значений через '|': 'all', 'driver', 'admin', 'operator')

post /drivers

Список водителей

Parameters

Response

  • Object data:
  • Object[] data.drivers: Список водителей
  • String data.drivers.id: Уникальный идентификатор водителя (id)
  • String data.drivers.callSign: Позывной (уникален внутри одногосервера)
  • String data.drivers.name: Полное имя (имя, отчество, фамилия)
  • String data.drivers.phone: Телефон
  • String data.drivers.registrationNumber: Регистрационный номер автомобиля
  • String data.drivers.brand: Марка автомобиля
  • String data.drivers.model: Модель автомобиля
  • String data.drivers.modelCode: Код модели автомобиля
  • String data.drivers.color: Цвет автомобиля
  • String data.drivers.colorCode: Код цвета автомобиля
  • String data.drivers.carage: Год выпуска автомобиля
  • String data.drivers.connectBy: Метод подключения водителя
  • Integer data.drivers.carClass: Класс автомобиля
  • Integer[] data.drivers.options: Список опций

get /profiles

Список участников биржи

Response

  • Object data:
  • Object[] data.profiles: Список профилей
  • String data.profiles.id: Уникальный идентификатор участника
  • String data.profiles.name: Имя участника
  • String data.profiles.details: Информация об участнике
  • String data.profiles.email: Адрес электронной почты компании
  • String data.profiles.phone: Номер телефона диспетчерской таксопарка
  • Object data.profiles.country: Страна
  • Object data.profiles.country.name: Название
  • String data.profiles.country.name.en: Название на русском
  • String data.profiles.country.name.ru: Название на английском языке
  • Object data.profiles.location: Местоположение
  • Object data.profiles.location.name: Название
  • String data.profiles.location.name.en: Название на русском
  • String data.profiles.location.name.ru: Название на английском языке
  • Float data.profiles.location.lat: Широта
  • Float data.profiles.location.lon: Долгота
  • Object data.profiles.currency: Валюта
  • Object data.profiles.code: Код по стандарту ISO 4217 (например RUB)

post /driver/update

Обновить состояние водителя на бирже

Parameters

  • Object meta:
  • String meta.token: авторизационный билет
  • Object data:
  • String data.id: Биржевой идентификатор водителя-исполнителя заказа
  • Object data.attributes: данные о водителе
  • Object data.attributes.callSign: позывной
  • Object data.attributes.latitude: текущая координата - широта
  • Object data.attributes.longitude: текущая координата - долгота
  • Object data.attributes.status: статус исполняемого заказа
  • Object data.attributes.speed: текущая скорость
  • Object data.attributes.bearing: азимут

Error

  • BadRequest:
    • Запрос сформирован с ошибками. Возможно вы пытаетесь обновить поля не разрешенные для модификации.
  • Unauthorized: Неавторизированный доступ
  • NoRequiredFieldSet: В теле запроса отсутствует обязательный параметр

Main

post session

Регистрация сессии

Parameters

  • Object data:
  • String data.key:
    • ключ клиента биржи

Response

  • Object data:
  • String data.token: сессионный билет доступа к бирже
  • String data.slaves: вторичные адреса биржи, к ним тоже можно отправлять запросы
  • String data.trusted: список адресов которым должно быть обеспечено доверие со стороны клиента, участника биржи

Error

  • 461: Not Acceptable HTTP Method - метод HTTP запроса не применим для текущей операции

Order

post order/cancel

Отменить заказ

Parameters

  • Object data:
  • String data.id: Биржевой идентификатор заказа
  • Integer data.status: Статус, с которым отменился заказ
  • String data.reason: Текстовое описание причины отмены заказа

Response

  • Object data:
  • Integer data.id: Идентификатор заказа

Error

  • Unauthorized: Неавторизированный доступ
  • Forbidden: Операция недоступна
  • MethodNotAllowed: Метод HTTP запроса не применим для текущей операции
  • NoRequiredFieldSet: В теле запроса отсутствует обязательный параметр
  • TypeError: Передан параметр с неправильным типом
  • Gone: Заказ либо не зарегистрирован на бирже, либо уже отозван

post order/complete

Завершить заказ

Parameters

  • Object data:
  • String data.id: Идентификатор заказа
  • String data.attributes:
  • String data.attributes.fare: Итоговая стоимость заказа
  • String data.attributes.distance: дистанция пройденная водителем во время выполнения заказа(в метрах)
  • Object data.attributes.time:
  • Object data.attributes.time.completed: Время завершения заказа(таймстамп)
  • Object data.attributes.time.standing: Общее время стоянки водителя во время выполнения заказа
  • Object data.attributes.time.waiting: Общее время ожидания водителя во время выполнения заказа

Response

  • Object data:
  • String data.id: Биржевой идентификатор заказа

Error

  • 461: Not Acceptable HTTP Method Метод HTTP запроса не применим для текущей операции

post order/get

Получить информацию о заказе

Parameters

  • Object data:
  • String data.id: Идентификатор заказа. Если передан данный параметр, то data содержит один объект
  • String data.orders: Массив идентификаторов заказа. Если передан данный параметр, то data содержит массив объектов

Response

  • Object data: результат
  • String data.type: тип данных("order")
  • Object data.attributes: данные о заказе
  • Object data.attributes.client: данные о клиенте
  • String data.attributes.client.phone: номер телефона
  • String data.attributes.client.name: имя клиента
  • Object data.attributes.from: информация о начале маршрута
  • String data.attributes.from.street: улица
  • String data.attributes.from.house: дом
  • String data.attributes.from.porch: подъезд
  • Float data.attributes.from.latitude: координата широты
  • Float data.attributes.from.longitude: координата долготы
  • Object data.attributes.to: конечная точка маршрута
  • String data.attributes.to.street: улица
  • String data.attributes.to.house: дом
  • String data.attributes.to.porch: подъезд
  • Float data.attributes.to.latitude: координата широты
  • Float data.attributes.to.longitude: координата долготы
  • Object data.attributes.time: информация о времени
  • ISODateString data.attributes.time.registered: время регистрации заказа
  • Integer data.attributes.carClass: Идентификатор класса авто
  • Float data.attributes.fare: стоимость заказа
  • String data.attributes.note: примечание к заказу
  • Object data.attributes.tariff: правила расчета стоимости - тариф
  • String data.attributes.tariff.name: наименование тарифа
  • String data.attributes.tariff.minFare: минимальная стоимость заказа
  • String data.attributes.tariff.farePerKm: стоимоcть километра
  • String data.attributes.tariff.secondFarePerKm: стоимоcть километра - вторая
  • String data.attributes.tariff.secondFareStart: начало действия второй стоимости километра (км)
  • String data.attributes.tariff.skipFirstKm: не считать первые километры
  • String data.attributes.tariff.timeUnitSize: единица времени(в минутах)
  • String data.attributes.tariff.timeUnitFare: стоимость единицы времени
  • String data.attributes.tariff.freeTime: не считать первые единицы времени
  • String data.attributes.tariff.markupRatio: наценочный коэффициент в процентах
  • String data.attributes.tariff.stationaryFare: стоимость одной минуты стоянки
  • String data.attributes.tariff.freeStationaryTime: не считать первые минуты стоянки
  • String data.attributes.tariff.enableAutoStationaryFare: автоматически включать стоянку
  • String data.attributes.tariff.freeWaitingTime: время бесплатного ожидания (мин)
  • String data.attributes.tariff.waitingRate: стоимость ожидания (стоимость одной минуты)
  • String data.attributes.tariff.changeoverSpeed: порог стоянки (км/ч)
  • String data.attributes.tariff.trafficLightPause: светофорная пауза
  • String data.attributes.tariff.roundTo: округлять до
  • Integer data.attributes.tariff.roundType: тип округления(-1 - всегда вниз, 0 - по правилам арифметики, 1 - всегда вверх)
  • String data.attributes.tariff.pickUp: посадка
  • String data.attributes.tariff.roundFareRealtime: округлять цену сразу
  • String data.attributes.tariff.showMinFare: показывать минималку
  • Object data.attributes.service: Информация о службе-авторе заказа
  • Object data.attributes.service.id: Идентификатор службы в системе автора
  • Array data.attributes.service.extras: Доп услуги
  • String data.attributes.service.extras.name: Имя услуги
  • String data.attributes.service.extras.shortName: Сокращение для водителя
  • Float data.attributes.service.extras.price: Стоимость услуги
  • Array data.attributes.service.extras.options: Список опций, привязанных к данной услуге
  • Array data.attributes.service.extras.count: Количество. Если не передано - 1
  • Array data.attributes.waypoints: Промежуточные точки заказа
  • String data.attributes.waypoints.publicPlace: Название публичного места промежуточной точки
  • String data.attributes.waypoints.house: Номер дома промежуточной точки
  • String data.attributes.waypoints.street: Название улицы промежуточной точки
  • String data.attributes.waypoints.lat: Широта промежуточной точки
  • String data.attributes.waypoints.lon: Долгота промежуточной точки
  • String data.id: Биржевой идентификатор заказа

Error

  • 461: Not Acceptable HTTP Method Метод HTTP запроса не применим для текущей операции

post order

Зарегистрировать заказ

Parameters

  • Object meta:
  • String meta.token: авторизационный билет
  • Object data:
  • String data.id: исходный идентификатор существующего заказа
  • String data.type: тип данных("order")
  • Object data.attributes: данные о заказе
  • Object data.attributes.client: данные о клиенте
  • String data.attributes.client.phone: номер телефона
  • String data.attributes.client.name: имя клиента
  • Object data.attributes.from: информация о начале маршрута
  • String data.attributes.from.street: улица
  • String data.attributes.from.house: дом
  • String data.attributes.from.porch: подъезд
  • Float data.attributes.from.latitude: координата широты
  • Float data.attributes.from.longitude: координата долготы
  • Object data.attributes.to: конечная точка маршрута
  • String data.attributes.to.street: улица
  • String data.attributes.to.house: дом
  • String data.attributes.to.porch: подъезд
  • Float data.attributes.to.latitude: координата широты
  • Float data.attributes.to.longitude: координата долготы
  • Object data.attributes.time: информация о времени
  • ISODateString data.attributes.time.registered: время регистрации заказа
  • Integer data.attributes.carClass: Идентификатор класса авто
  • Float data.attributes.fare: стоимость заказа
  • String data.attributes.note: примечание к заказу
  • Object data.attributes.tariff: правила расчета стоимости - тариф
  • String data.attributes.tariff.name: наименование тарифа
  • String data.attributes.tariff.minFare: минимальная стоимость заказа
  • String data.attributes.tariff.farePerKm: стоимоcть километра
  • String data.attributes.tariff.secondFarePerKm: стоимоcть километра - вторая
  • String data.attributes.tariff.secondFareStart: начало действия второй стоимости километра (км)
  • String data.attributes.tariff.skipFirstKm: не считать первые километры
  • String data.attributes.tariff.timeUnitSize: единица времени(в минутах)
  • String data.attributes.tariff.timeUnitFare: стоимость единицы времени
  • String data.attributes.tariff.freeTime: не считать первые единицы времени
  • String data.attributes.tariff.markupRatio: наценочный коэффициент в процентах
  • String data.attributes.tariff.stationaryFare: стоимость одной минуты стоянки
  • String data.attributes.tariff.freeStationaryTime: не считать первые минуты стоянки
  • String data.attributes.tariff.enableAutoStationaryFare: автоматически включать стоянку
  • String data.attributes.tariff.freeWaitingTime: время бесплатного ожидания (мин)
  • String data.attributes.tariff.waitingRate: стоимость ожидания (стоимость одной минуты)
  • String data.attributes.tariff.changeoverSpeed: порог стоянки (км/ч)
  • String data.attributes.tariff.trafficLightPause: светофорная пауза
  • String data.attributes.tariff.roundTo: округлять до
  • Integer data.attributes.tariff.roundType: тип округления(-1 - всегда вниз, 0 - по правилам арифметики, 1 - всегда вверх)
  • String data.attributes.tariff.pickUp: посадка
  • String data.attributes.tariff.roundFareRealtime: округлять цену сразу
  • String data.attributes.tariff.showMinFare: показывать минималку
  • Object data.attributes.service: Информация о службе-авторе заказа
  • Object data.attributes.service.id: Идентификатор службы в системе автора
  • Array data.attributes.service.extras: Доп услуги
  • String data.attributes.service.extras.name: Имя услуги
  • String data.attributes.service.extras.shortName: Сокращение для водителя
  • Float data.attributes.service.extras.price: Стоимость услуги
  • Array data.attributes.service.extras.options: Список опций, привязанных к данной услуге
  • Array data.attributes.service.extras.count: Количество. Если не передано - 1
  • Array data.attributes.waypoints: Промежуточные точки заказа
  • String data.attributes.waypoints.publicPlace: Название публичного места промежуточной точки
  • String data.attributes.waypoints.house: Номер дома промежуточной точки
  • String data.attributes.waypoints.street: Название улицы промежуточной точки
  • String data.attributes.waypoints.lat: Широта промежуточной точки
  • String data.attributes.waypoints.lon: Долгота промежуточной точки

Response

  • Object data:
  • String data.id: присвоенный идентификатор заказа в системе биржи
  • String data.orderId: исходный идентификатор заказа в системе СКАТ

Error

  • 401: Unauthorized - неавторизированный доступ
  • 461: Method not allowed - когда метод HTTP запроса не применим для текущей операции
  • 462: Empty request - пустой запрос
  • 465: Type error - тип значения не соответсвует ожидаемому

post order/revoke

Отозвать заказ

Parameters

  • Object data:
  • String data.id: Биржевой идентификатор заказа

Response

  • Object data:
  • Integer data.id: Идентификатор заказа

Error

  • Unauthorized: Неавторизированный доступ
  • Forbidden: Операция недоступна
  • MethodNotAllowed: Метод HTTP запроса не применим для текущей операции
  • NoRequiredFieldSet: В теле запроса отсутствует обязательный параметр
  • TypeError: Передан параметр с неправильным типом
  • Gone: Заказ либо не зарегистрирован на бирже, либо уже отозван

post order/rejectdriver

Снять водителя с заказа

Parameters

  • Object data:
  • String data.id: Биржевой идентификатор заказа
  • String data.reason: Причина отказа исполнителя от выполнения заказа. Только при вызове метода исполнителем.

Response

  • Object data:
  • Integer data.id: Идентификатор заказа

Error

  • Unauthorized: Неавторизированный доступ
  • Forbidden: Операция недоступна
  • Not: acceptable Невозможно выполнить операцию с этим заказом
  • MethodNotAllowed: Метод HTTP запроса не применим для текущей операции
  • NoRequiredFieldSet: В теле запроса отсутствует обязательный параметр
  • TypeError: Передан параметр с неправильным типом
  • Gone: Заказ либо не зарегистрирован на бирже, либо уже отозван

post order/take

Взять заказ в исполнение

Parameters

  • Object data:
  • String data.id: Идентификатор заказа
  • String data.orderId: Идентификатор заказа в системе исполнителя
  • Object data.attributes:
  • Object data.attributes.time:
  • Integer data.attributes.time.arrival: Время подъезда установленное водителем(в минутах)
  • Object data.attributes.executor: Исполнитель заказа
  • String data.attributes.executor.callSign: Позывной водителя
  • String data.attributes.executor.phone: номер телефона водителя
  • String data.attributes.executor.registrationNumber: Регистрационный номер автомобиля
  • String data.attributes.executor.brand: Марка автомобиля
  • String data.attributes.executor.model: Модель автомобиля
  • String data.attributes.executor.color: Цвет автомобиля
  • String data.attributes.executor.autoAge: Год выпуска автомобиля
  • String data.attributes.executor.modelCode: Код модели автомобиля(имя файла с названием авто в СКАТ)
  • String data.attributes.executor.colorCode: Код цвета автомобиля(имя файла с цветом авто в СКАТ)
  • String data.attributes.executor.serviceName: Служба, к которой привязан водитель
  • String data.attributes.executor.latitude: Текущая координата: широта
  • String data.attributes.executor.longitude: Текущая координата: долгота
  • String data.attributes.executor.speed: Текущая скорость
  • String data.attributes.executor.bearing: Азимут

Response

  • Object data:
  • Integer data.id: идентификатор заказа

Error

  • Unauthorized: Неавторизированный доступ
  • Forbidden: Операция недоступна
  • MethodNotAllowed: Метод HTTP запроса не применим для текущей операции
  • NoRequiredFieldSet: В теле запроса отсутствует обязательный параметр
  • TypeError: Передан параметр с неправильным типом
  • Gone: На заказе уже установлен исполнитель

post order/update

Обновить заказ

Parameters

  • Object data:
  • String data.id: Идентификатор заказа
  • Object data.attributes: данные о заказе
  • Integer data.attributes.status: Новый статус заказа
  • Object data.attributes.client: данные о клиенте
  • String data.attributes.client.phone: номер телефона
  • String data.attributes.client.name: имя клиента
  • Object data.attributes.from: информация о начале маршрута
  • String data.attributes.from.street: улица
  • String data.attributes.from.house: дом
  • String data.attributes.from.porch: подъезд
  • Float data.attributes.from.latitude: координата широты
  • Float data.attributes.from.longitude: координата долготы
  • Object data.attributes.to: конечная точка маршрута
  • String data.attributes.to.street: улица
  • String data.attributes.to.house: дом
  • String data.attributes.to.porch: подъезд
  • Float data.attributes.to.latitude: координата широты
  • Float data.attributes.to.longitude: координата долготы
  • Object data.attributes.time: информация о времени
  • ISODateString data.attributes.time.registered: время регистрации заказа
  • Integer data.attributes.carClass: Идентификатор класса авто
  • Float data.attributes.fare: стоимость заказа
  • String data.attributes.note: примечание к заказу
  • Object data.attributes.tariff: правила расчета стоимости - тариф
  • String data.attributes.tariff.name: наименование тарифа
  • String data.attributes.tariff.minFare: минимальная стоимость заказа
  • String data.attributes.tariff.farePerKm: стоимоcть километра
  • String data.attributes.tariff.secondFarePerKm: стоимоcть километра - вторая
  • String data.attributes.tariff.secondFareStart: начало действия второй стоимости километра (км)
  • String data.attributes.tariff.skipFirstKm: не считать первые километры
  • String data.attributes.tariff.timeUnitSize: единица времени(в минутах)
  • String data.attributes.tariff.timeUnitFare: стоимость единицы времени
  • String data.attributes.tariff.freeTime: не считать первые единицы времени
  • String data.attributes.tariff.markupRatio: наценочный коэффициент в процентах
  • String data.attributes.tariff.stationaryFare: стоимость одной минуты стоянки
  • String data.attributes.tariff.freeStationaryTime: не считать первые минуты стоянки
  • String data.attributes.tariff.enableAutoStationaryFare: автоматически включать стоянку
  • String data.attributes.tariff.freeWaitingTime: время бесплатного ожидания (мин)
  • String data.attributes.tariff.waitingRate: стоимость ожидания (стоимость одной минуты)
  • String data.attributes.tariff.changeoverSpeed: порог стоянки (км/ч)
  • String data.attributes.tariff.trafficLightPause: светофорная пауза
  • String data.attributes.tariff.roundTo: округлять до
  • Integer data.attributes.tariff.roundType: тип округления(-1 - всегда вниз, 0 - по правилам арифметики, 1 - всегда вверх)
  • String data.attributes.tariff.pickUp: посадка
  • String data.attributes.tariff.roundFareRealtime: округлять цену сразу
  • String data.attributes.tariff.showMinFare: показывать минималку
  • Object data.attributes.service: Информация о службе-авторе заказа
  • Object data.attributes.service.id: Идентификатор службы в системе автора
  • Array data.attributes.service.extras: Доп услуги
  • String data.attributes.service.extras.name: Имя услуги
  • String data.attributes.service.extras.shortName: Сокращение для водителя
  • Float data.attributes.service.extras.price: Стоимость услуги
  • Array data.attributes.service.extras.options: Список опций, привязанных к данной услуге
  • Array data.attributes.service.extras.count: Количество. Если не передано - 1
  • Array data.attributes.waypoints: Промежуточные точки заказа
  • String data.attributes.waypoints.publicPlace: Название публичного места промежуточной точки
  • String data.attributes.waypoints.house: Номер дома промежуточной точки
  • String data.attributes.waypoints.street: Название улицы промежуточной точки
  • String data.attributes.waypoints.lat: Широта промежуточной точки
  • String data.attributes.waypoints.lon: Долгота промежуточной точки

Response

  • Object order: обновленный заказ

Error

  • 461: Not Acceptable HTTP Method - метод HTTP запроса не применим для текущей операции
  • 400: BadRequest - Запрос сформирован с ошибками. Возможно вы пытаетесь обновить поля не разрешенные для модификации.

Server

get /

Проверка соединения

Response

  • Object meta:
  • String meta.vendor: Идентификатор автора сервера
  • Integer meta.status: HTTP-Статус ответа

Error

  • Unauthorized: Неавторизированный доступ
  • Forbidden: Операция недоступна
  • MethodNotAllowed: Метод HTTP запроса не применим для текущей операции
  • NoRequiredFieldSet: В теле запроса отсутствует обязательный параметр
  • TypeError: Передан параметр с неправильным типом
  • Gone: На заказе уже установлен исполнитель

get /driver

Водитель

Parameters

  • String callsign: Позывной запрашиваемого водителя

Response

  • Object data:
  • Object[] data.drivers: Список водителе
  • String data.driver.id: Уникальный идентификатор водителя (id)
  • String data.driver.callSign: Позывной (уникален внутри одногосервера)
  • String data.driver.name: Полное имя (имя, отчество, фамилия)
  • String data.driver.phone: Телефон
  • String data.driver.registrationNumber: Регистрационный номер автомобиля
  • String data.driver.brand: Марка автомобиля
  • String data.driver.model: Модель автомобиля
  • String data.driver.modelCode: Код модели автомобиля
  • String data.driver.color: Цвет автомобиля
  • String data.driver.colorCode: Код цвета автомобиля
  • String data.driver.carage: Год выпуска автомобиля
  • String data.driver.connectBy: Метод подключения водителя
  • Integer data.driver.carClass: Класс автомобиля
  • Integer[] data.driver.options: Список опций

Error

  • Unauthorized: Неавторизированный доступ
  • Forbidden: Операция недоступна
  • MethodNotAllowed: Метод HTTP запроса не применим для текущей операции
  • NoRequiredFieldSet: В теле запроса отсутствует обязательный параметр
  • TypeError: Передан параметр с неправильным типом
  • Gone: На заказе уже установлен исполнитель

post /drivers

Список водителей

Parameters

  • Integer limit: Максимальное кол-во водителей, которое будет получено(по-умолчанию: 100)
  • Integer skip: Кол-во пропущенных водителей
  • Boolean all: Вернуть всех водителей

Response

  • Object data:
  • Object[] data.drivers: Список водителей
  • String data.drivers.id: Уникальный идентификатор водителя (id)
  • String data.drivers.callSign: Позывной (уникален внутри одногосервера)
  • String data.drivers.name: Полное имя (имя, отчество, фамилия)
  • String data.drivers.phone: Телефон
  • String data.drivers.registrationNumber: Регистрационный номер автомобиля
  • String data.drivers.brand: Марка автомобиля
  • String data.drivers.model: Модель автомобиля
  • String data.drivers.modelCode: Код модели автомобиля
  • String data.drivers.color: Цвет автомобиля
  • String data.drivers.colorCode: Код цвета автомобиля
  • String data.drivers.carage: Год выпуска автомобиля
  • String data.drivers.connectBy: Метод подключения водителя
  • Integer data.drivers.carClass: Класс автомобиля
  • Integer[] data.drivers.options: Список опций

Error

  • Unauthorized: Неавторизированный доступ
  • Forbidden: Операция недоступна
  • MethodNotAllowed: Метод HTTP запроса не применим для текущей операции
  • NoRequiredFieldSet: В теле запроса отсутствует обязательный параметр
  • TypeError: Передан параметр с неправильным типом
  • Gone: На заказе уже установлен исполнитель

post /on/order/accepted

Заказ отправлен участникам

Parameters

  • Object data:
  • Integer data.orderId: Локальный идентификатор заказа

Response

  • Object meta:
  • String meta.vendor: Идентификатор автора сервера
  • Integer meta.status: HTTP-Статус ответа

Error

  • Unauthorized: Неавторизированный доступ
  • Forbidden: Операция недоступна
  • MethodNotAllowed: Метод HTTP запроса не применим для текущей операции
  • NoRequiredFieldSet: В теле запроса отсутствует обязательный параметр
  • TypeError: Передан параметр с неправильным типом

post /on/order/cancelled

Отмена заказа

Parameters

  • Object data:
  • String data.id: Биржевой идентификатор заказа
  • String data.status: Статус, с которым был отменен заказ(см. статусы заказов СКАТ)
  • String data.reason: Текстовое описание причины отмены заказа

Response

  • Object meta:
  • String meta.vendor: Идентификатор автора сервера
  • Integer meta.status: HTTP-Статус ответа

Error

  • Unauthorized: Неавторизированный доступ
  • Forbidden: Операция недоступна
  • MethodNotAllowed: Метод HTTP запроса не применим для текущей операции
  • NoRequiredFieldSet: В теле запроса отсутствует обязательный параметр
  • TypeError: Передан параметр с неправильным типом
  • Gone: На заказе уже установлен исполнитель

post /on/order/completed

Завершение заказа биржевым водителем

Parameters

  • Object data:
  • String data.id: Идентификатор заказа
  • String data.attributes:
  • String data.attributes.fare: Итоговая стоимость заказа
  • String data.attributes.distance: дистанция пройденная водителем во время выполнения заказа(в метрах)
  • Object data.attributes.time:
  • Object data.attributes.time.completed: Время завершения заказа(таймстамп)
  • Object data.attributes.time.standing: Общее время стоянки водителя во время выполнения заказа
  • Object data.attributes.time.waiting: Общее время ожидания водителя во время выполнения заказа

Response

  • Object meta:
  • String meta.vendor: Идентификатор автора сервера
  • Integer meta.status: HTTP-Статус ответа

Error

  • Unauthorized: Неавторизированный доступ
  • Forbidden: Операция недоступна
  • MethodNotAllowed: Метод HTTP запроса не применим для текущей операции
  • NoRequiredFieldSet: В теле запроса отсутствует обязательный параметр
  • TypeError: Передан параметр с неправильным типом
  • Gone: На заказе уже установлен исполнитель

post /on/order/received

Получение нового заказа от биржи

Parameters

  • Object data:
  • String data.id: Биржевой идентификатор заказа
  • String data.type: тип данных("order")
  • Object data.attributes: данные о заказе
  • Object data.attributes.client: данные о клиенте
  • String data.attributes.client.phone: номер телефона
  • String data.attributes.client.name: имя клиента
  • Object data.attributes.from: информация о начале маршрута
  • String data.attributes.from.street: улица
  • String data.attributes.from.house: дом
  • String data.attributes.from.porch: подъезд
  • Float data.attributes.from.latitude: координата широты
  • Float data.attributes.from.longitude: координата долготы
  • Object data.attributes.to: конечная точка маршрута
  • String data.attributes.to.street: улица
  • String data.attributes.to.house: дом
  • String data.attributes.to.porch: подъезд
  • Float data.attributes.to.latitude: координата широты
  • Float data.attributes.to.longitude: координата долготы
  • Object data.attributes.time: информация о времени
  • ISODateString data.attributes.time.registered: время регистрации заказа
  • Integer data.attributes.carClass: Идентификатор класса авто
  • Float data.attributes.fare: стоимость заказа
  • String data.attributes.note: примечание к заказу
  • Object data.attributes.tariff: правила расчета стоимости - тариф
  • String data.attributes.tariff.name: наименование тарифа
  • String data.attributes.tariff.minFare: минимальная стоимость заказа
  • String data.attributes.tariff.farePerKm: стоимоcть километра
  • String data.attributes.tariff.secondFarePerKm: стоимоcть километра - вторая
  • String data.attributes.tariff.secondFareStart: начало действия второй стоимости километра (км)
  • String data.attributes.tariff.skipFirstKm: не считать первые километры
  • String data.attributes.tariff.timeUnitSize: единица времени(в минутах)
  • String data.attributes.tariff.timeUnitFare: стоимость единицы времени
  • String data.attributes.tariff.freeTime: не считать первые единицы времени
  • String data.attributes.tariff.markupRatio: наценочный коэффициент в процентах
  • String data.attributes.tariff.stationaryFare: стоимость одной минуты стоянки
  • String data.attributes.tariff.freeStationaryTime: не считать первые минуты стоянки
  • String data.attributes.tariff.enableAutoStationaryFare: автоматически включать стоянку
  • String data.attributes.tariff.freeWaitingTime: время бесплатного ожидания (мин)
  • String data.attributes.tariff.waitingRate: стоимость ожидания (стоимость одной минуты)
  • String data.attributes.tariff.changeoverSpeed: порог стоянки (км/ч)
  • String data.attributes.tariff.trafficLightPause: светофорная пауза
  • String data.attributes.tariff.roundTo: округлять до
  • Integer data.attributes.tariff.roundType: тип округления(-1 - всегда вниз, 0 - по правилам арифметики, 1 - всегда вверх)
  • String data.attributes.tariff.pickUp: посадка
  • String data.attributes.tariff.roundFareRealtime: округлять цену сразу
  • String data.attributes.tariff.showMinFare: показывать минималку
  • Object data.attributes.service: Информация о службе-авторе заказа
  • Object data.attributes.service.id: Идентификатор службы в системе автора
  • Array data.attributes.service.extras: Доп услуги
  • String data.attributes.service.extras.name: Имя услуги
  • String data.attributes.service.extras.shortName: Сокращение для водителя
  • Float data.attributes.service.extras.price: Стоимость услуги
  • Array data.attributes.service.extras.options: Список опций, привязанных к данной услуге
  • Array data.attributes.service.extras.count: Количество. Если не передано - 1
  • Array data.attributes.waypoints: Промежуточные точки заказа
  • String data.attributes.waypoints.publicPlace: Название публичного места промежуточной точки
  • String data.attributes.waypoints.house: Номер дома промежуточной точки
  • String data.attributes.waypoints.street: Название улицы промежуточной точки
  • String data.attributes.waypoints.lat: Широта промежуточной точки
  • String data.attributes.waypoints.lon: Долгота промежуточной точки

Response

  • Object meta:
  • String meta.vendor: Идентификатор автора сервера
  • Integer meta.status: HTTP-Статус ответа

Error

  • Unauthorized: Неавторизированный доступ
  • Forbidden: Операция недоступна
  • MethodNotAllowed: Метод HTTP запроса не применим для текущей операции
  • NoRequiredFieldSet: В теле запроса отсутствует обязательный параметр
  • TypeError: Передан параметр с неправильным типом
  • Gone: На заказе уже установлен исполнитель

post /on/order/refused

Отказ принятия заказа в обработку

Parameters

  • Object data:
  • Integer data.orderId: Локальный идентификатор заказа

Response

  • Object meta:
  • String meta.vendor: Идентификатор автора сервера
  • Integer meta.status: HTTP-Статус ответа

Error

  • Unauthorized: Неавторизированный доступ
  • Forbidden: Операция недоступна
  • MethodNotAllowed: Метод HTTP запроса не применим для текущей операции
  • NoRequiredFieldSet: В теле запроса отсутствует обязательный параметр
  • TypeError: Передан параметр с неправильным типом
  • No: executor services found - Не найдено ни одной службы для исполнения заказа

post /on/order/registered

Принятие заказа в обработку

Parameters

  • Object data:
  • String data.id: Биржевой идентификатор заказа
  • Integer data.orderId: Локальный идентификатор заказа

Response

  • Object meta:
  • String meta.vendor: Идентификатор автора сервера
  • Integer meta.status: HTTP-Статус ответа

Error

  • Unauthorized: Неавторизированный доступ
  • Forbidden: Операция недоступна
  • MethodNotAllowed: Метод HTTP запроса не применим для текущей операции
  • NoRequiredFieldSet: В теле запроса отсутствует обязательный параметр
  • TypeError: Передан параметр с неправильным типом
  • Gone: На заказе уже установлен исполнитель

post /on/order/rejectdriver

Снятие водителя с заказа

Parameters

  • Object data:
  • String data.id: Биржевой идентификатор заказа
  • String data.reason: Текстовое описание причины отказа от заказа(только для случая 1)

Response

  • Object meta:
  • String meta.vendor: Идентификатор автора сервера
  • Integer meta.status: HTTP-Статус ответа

Error

  • Unauthorized: Неавторизированный доступ
  • Forbidden: Операция недоступна
  • MethodNotAllowed: Метод HTTP запроса не применим для текущей операции
  • NoRequiredFieldSet: В теле запроса отсутствует обязательный параметр
  • TypeError: Передан параметр с неправильным типом
  • Gone: На заказе уже установлен исполнитель

post /on/order/restore

Восстановление заказа

Parameters

  • Object data:
  • String data.id: Биржевой идентификатор заказа
  • Object data.attributes:
  • Object data.attributes.client:
  • Object data.attributes.client.phone: Номер телефона
  • Object data.attributes.client.name: Имя клиента

Response

  • Object meta:
  • String meta.vendor: Идентификатор автора сервера
  • Integer meta.status: HTTP-Статус ответа

Error

  • Unauthorized: Неавторизированный доступ
  • Forbidden: Операция недоступна
  • MethodNotAllowed: Метод HTTP запроса не применим для текущей операции
  • NoRequiredFieldSet: В теле запроса отсутствует обязательный параметр
  • TypeError: Передан параметр с неправильным типом
  • Gone: На заказе уже установлен исполнитель

post /on/order/revoked

Отзыв заказа биржей

Parameters

  • Object data:
  • Integer data.id: Биржевой идентификатор заказа

Response

  • Object meta:
  • String meta.vendor: Идентификатор автора сервера
  • Integer meta.status: HTTP-Статус ответа

Error

  • Unauthorized: Неавторизированный доступ
  • Forbidden: Операция недоступна
  • MethodNotAllowed: Метод HTTP запроса не применим для текущей операции
  • NoRequiredFieldSet: В теле запроса отсутствует обязательный параметр
  • TypeError: Передан параметр с неправильным типом
  • Gone: На заказе уже установлен исполнитель

post /on/order/taken

Взятие заказа водителем

Parameters

  • Object data:
  • String data.id: Биржевой идентификатор заказа
  • String data.orderId: Идентификатор заказа в системе исполнителя
  • Object data.attributes:
  • Object data.attributes.time:
  • Integer data.attributes.time.arrival: Время подъезда установленное водителем
  • Object data.attributes.executor: Исполнитель заказа
  • String data.attributes.executor.callSign: Позывной водителя
  • String data.attributes.executor.phone: номер телефона водителя
  • String data.attributes.executor.registrationNumber: Регистрационный номер автомобиля
  • String data.attributes.executor.brand: Марка автомобиля
  • String data.attributes.executor.model: Модель автомобиля
  • String data.attributes.executor.color: Цвет автомобиля
  • String data.attributes.executor.autoAge: Год выпуска автомобиля
  • String data.attributes.executor.modelCode: Код модели автомобиля(имя файла с названием авто в СКАТ). Полный список здесь: http://docs.exchange.cloudtaxi.ru/models
  • String data.attributes.executor.colorCode: Код цвета автомобиля(имя файла с цветом авто в СКАТ). Полный список здесь: http://docs.exchange.cloudtaxi.ru/colors
  • String data.attributes.executor.serviceName: Служба, к которой привязан водитель
  • String data.attributes.executor.latitude: Текущая координата: широта
  • String data.attributes.executor.longitude: Текущая координата: долгота
  • String data.attributes.executor.speed: Текущая скорость
  • String data.attributes.executor.bearing: Азимут

Response

  • Object meta:
  • String meta.vendor: Идентификатор автора сервера
  • Integer meta.status: HTTP-Статус ответа

Error

  • Unauthorized: Неавторизированный доступ
  • Forbidden: Операция недоступна
  • MethodNotAllowed: Метод HTTP запроса не применим для текущей операции
  • NoRequiredFieldSet: В теле запроса отсутствует обязательный параметр
  • TypeError: Передан параметр с неправильным типом
  • Gone: На заказе уже установлен исполнитель

post /on/order/updated

Обновление заказа

Parameters

  • Object data:
  • String data.id: Биржевой идентификатор заказа
  • Object data.attributes: данные о заказе
  • Integer data.attributes.status: Новый статус заказа
  • Object data.attributes.client: данные о клиенте
  • String data.attributes.client.phone: номер телефона
  • String data.attributes.client.name: имя клиента
  • Object data.attributes.from: информация о начале маршрута
  • String data.attributes.from.street: улица
  • String data.attributes.from.house: дом
  • String data.attributes.from.porch: подъезд
  • Float data.attributes.from.latitude: координата широты
  • Float data.attributes.from.longitude: координата долготы
  • Object data.attributes.to: конечная точка маршрута
  • String data.attributes.to.street: улица
  • String data.attributes.to.house: дом
  • String data.attributes.to.porch: подъезд
  • Float data.attributes.to.latitude: координата широты
  • Float data.attributes.to.longitude: координата долготы
  • Object data.attributes.time: информация о времени
  • ISODateString data.attributes.time.registered: время регистрации заказа
  • Integer data.attributes.carClass: Идентификатор класса авто
  • Float data.attributes.fare: стоимость заказа
  • String data.attributes.note: примечание к заказу
  • Object data.attributes.tariff: правила расчета стоимости - тариф
  • String data.attributes.tariff.name: наименование тарифа
  • String data.attributes.tariff.minFare: минимальная стоимость заказа
  • String data.attributes.tariff.farePerKm: стоимоcть километра
  • String data.attributes.tariff.secondFarePerKm: стоимоcть километра - вторая
  • String data.attributes.tariff.secondFareStart: начало действия второй стоимости километра (км)
  • String data.attributes.tariff.skipFirstKm: не считать первые километры
  • String data.attributes.tariff.timeUnitSize: единица времени(в минутах)
  • String data.attributes.tariff.timeUnitFare: стоимость единицы времени
  • String data.attributes.tariff.freeTime: не считать первые единицы времени
  • String data.attributes.tariff.markupRatio: наценочный коэффициент в процентах
  • String data.attributes.tariff.stationaryFare: стоимость одной минуты стоянки
  • String data.attributes.tariff.freeStationaryTime: не считать первые минуты стоянки
  • String data.attributes.tariff.enableAutoStationaryFare: автоматически включать стоянку
  • String data.attributes.tariff.freeWaitingTime: время бесплатного ожидания (мин)
  • String data.attributes.tariff.waitingRate: стоимость ожидания (стоимость одной минуты)
  • String data.attributes.tariff.changeoverSpeed: порог стоянки (км/ч)
  • String data.attributes.tariff.trafficLightPause: светофорная пауза
  • String data.attributes.tariff.roundTo: округлять до
  • Integer data.attributes.tariff.roundType: тип округления(-1 - всегда вниз, 0 - по правилам арифметики, 1 - всегда вверх)
  • String data.attributes.tariff.pickUp: посадка
  • String data.attributes.tariff.roundFareRealtime: округлять цену сразу
  • String data.attributes.tariff.showMinFare: показывать минималку
  • Object data.attributes.service: Информация о службе-авторе заказа
  • Object data.attributes.service.id: Идентификатор службы в системе автора
  • Array data.attributes.service.extras: Доп услуги
  • String data.attributes.service.extras.name: Имя услуги
  • String data.attributes.service.extras.shortName: Сокращение для водителя
  • Float data.attributes.service.extras.price: Стоимость услуги
  • Array data.attributes.service.extras.options: Список опций, привязанных к данной услуге
  • Array data.attributes.service.extras.count: Количество. Если не передано - 1
  • Array data.attributes.waypoints: Промежуточные точки заказа
  • String data.attributes.waypoints.publicPlace: Название публичного места промежуточной точки
  • String data.attributes.waypoints.house: Номер дома промежуточной точки
  • String data.attributes.waypoints.street: Название улицы промежуточной точки
  • String data.attributes.waypoints.lat: Широта промежуточной точки
  • String data.attributes.waypoints.lon: Долгота промежуточной точки

Response

  • Object meta:
  • String meta.vendor: Идентификатор автора сервера
  • Integer meta.status: HTTP-Статус ответа

Error

  • Unauthorized: Неавторизированный доступ
  • Forbidden: Операция недоступна
  • MethodNotAllowed: Метод HTTP запроса не применим для текущей операции
  • NoRequiredFieldSet: В теле запроса отсутствует обязательный параметр
  • TypeError: Передан параметр с неправильным типом
  • Gone: На заказе уже установлен исполнитель

get /services

Список служб

Response

  • Object data:
  • Array data.services:
  • Integer data.services.id: Идентификатор службы
  • String data.services.name: Имя службы
  • String data.services.description: Описание службы

Error

  • Unauthorized: Неавторизированный доступ
  • Forbidden: Операция недоступна
  • MethodNotAllowed: Метод HTTP запроса не применим для текущей операции
  • NoRequiredFieldSet: В теле запроса отсутствует обязательный параметр
  • TypeError: Передан параметр с неправильным типом
  • Gone: На заказе уже установлен исполнитель

post /on/driver/update

Состояние водителя обновлено

Parameters

  • Object data:
  • String data.id: Биржевой идентификатор водителя-исполнителя заказа
  • Object data.attributes: данные о водителе
  • Object data.attributes.callSign: позывной
  • Object data.attributes.latitude: текущая координата - широта
  • Object data.attributes.longitude: текущая координата - долгота
  • Object data.attributes.status: статус исполняемого заказа
  • Object data.attributes.speed: текущая скорость
  • Object data.attributes.bearing: азимут

Version

get version

Получить версию API

Response

  • Object jsonapi:
  • String jsonapi.version: версия API