The Exchange is a service for the exchange of orders, both between taxi organizations and related organizations.
*Exchange involves the transaction of buy-sale orders. Sale can be at zero cost.
An exchange participant is an organization that has agreed to the terms of service and provided sufficient information about itself to fill out an exchange profile*.
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
Данные о водителе
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: Список опцийКлассы автомобилей
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: Год выпуска автомобиляОпции автомобиля
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')Список водителей
Parameters
json
.: Параметры фильтрации. JSON в виде синтаксиса waterline передается внутри тела запроса. Информация о синтаксисе: https://github.com/balderdashy/waterline-docs/blob/master/queries/query-language.mdResponse
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: Список опцийСписок участников биржи
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)Обновить состояние водителя на бирже
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
Регистрация сессии
Parameters
Object
data:String
data.key: Response
Object
data:String
data.token: сессионный билет доступа к биржеString
data.slaves: вторичные адреса биржи, к ним тоже можно отправлять запросыString
data.trusted: список адресов которым должно быть обеспечено доверие со стороны клиента, участника биржиError
Отменить заказ
Parameters
Object
data:String
data.id: Биржевой идентификатор заказаInteger
data.status: Статус, с которым отменился заказString
data.reason: Текстовое описание причины отмены заказаResponse
Object
data:Integer
data.id: Идентификатор заказаError
Завершить заказ
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
Получить информацию о заказе
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: Количество. Если не передано - 1Array
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
Зарегистрировать заказ
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: Количество. Если не передано - 1Array
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
Отозвать заказ
Parameters
Object
data:String
data.id: Биржевой идентификатор заказаResponse
Object
data:Integer
data.id: Идентификатор заказаError
Снять водителя с заказа
Parameters
Object
data:String
data.id: Биржевой идентификатор заказаString
data.reason: Причина отказа исполнителя от выполнения заказа. Только при вызове метода исполнителем.Response
Object
data:Integer
data.id: Идентификатор заказаError
Взять заказ в исполнение
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
Обновить заказ
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: Количество. Если не передано - 1Array
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
Проверка соединения
Response
Object
meta:String
meta.vendor: Идентификатор автора сервераInteger
meta.status: HTTP-Статус ответаError
Водитель
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
Список водителей
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
Заказ отправлен участникам
Parameters
Object
data:Integer
data.orderId: Локальный идентификатор заказаResponse
Object
meta:String
meta.vendor: Идентификатор автора сервераInteger
meta.status: HTTP-Статус ответаError
Отмена заказа
Parameters
Object
data:String
data.id: Биржевой идентификатор заказаString
data.status: Статус, с которым был отменен заказ(см. статусы заказов СКАТ)String
data.reason: Текстовое описание причины отмены заказаResponse
Object
meta:String
meta.vendor: Идентификатор автора сервераInteger
meta.status: HTTP-Статус ответаError
Завершение заказа биржевым водителем
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
Получение нового заказа от биржи
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: Количество. Если не передано - 1Array
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
Отказ принятия заказа в обработку
Parameters
Object
data:Integer
data.orderId: Локальный идентификатор заказаResponse
Object
meta:String
meta.vendor: Идентификатор автора сервераInteger
meta.status: HTTP-Статус ответаError
Принятие заказа в обработку
Parameters
Object
data:String
data.id: Биржевой идентификатор заказаInteger
data.orderId: Локальный идентификатор заказаResponse
Object
meta:String
meta.vendor: Идентификатор автора сервераInteger
meta.status: HTTP-Статус ответаError
Снятие водителя с заказа
Parameters
Object
data:String
data.id: Биржевой идентификатор заказаString
data.reason: Текстовое описание причины отказа от заказа(только для случая 1)Response
Object
meta:String
meta.vendor: Идентификатор автора сервераInteger
meta.status: HTTP-Статус ответаError
Восстановление заказа
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
Отзыв заказа биржей
Parameters
Object
data:Integer
data.id: Биржевой идентификатор заказаResponse
Object
meta:String
meta.vendor: Идентификатор автора сервераInteger
meta.status: HTTP-Статус ответаError
Взятие заказа водителем
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/modelsString
data.attributes.executor.colorCode: Код цвета автомобиля(имя файла с цветом авто в СКАТ). Полный список здесь: http://docs.exchange.cloudtaxi.ru/colorsString
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
Обновление заказа
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: Количество. Если не передано - 1Array
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
Список служб
Response
Object
data:Array
data.services:Integer
data.services.id: Идентификатор службыString
data.services.name: Имя службыString
data.services.description: Описание службыError
Состояние водителя обновлено
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: азимутПолучить версию API
Response
Object
jsonapi:String
jsonapi.version: версия API