Биржа - это сервис, для обмена заказами, как между организациями такси, так и организациями смежных направлений.
Участник биржи - организация, выразившая согласие с условиями сервиса и предоставившая информацию о себе достаточную для заполнения биржевого профиля.
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