...
Http-метод | POST |
Url | /api/weborders/cost |
Headers | Accept: application/json Content-Type: application/json; charset=utf-8 Content-Length: Authorization:Basic YWNod...YQ== X-WO-API-APP-ID: your_app_id X-API-VERSION: web_orders_api_version |
Request (запрос):
Параметры запроса | Тип данных | Обязательный параметр | Возможные значения | Описание |
user_full_name | String | Нет | Полное имя пользователя | |
user_phone | String | Нет | Телефон пользователя | |
reservation | Boolean | Да | True, False | Признак предварительного заказа |
required_time | Нет | "2015-08-24T19:15:00" | Время подачи предварительного заказа | |
comment | String | Нет | Комментарий к заказу | |
minibus * | Boolean | Нет | True, False | Микроавтобус |
wagon * | Boolean | Нет | True, False | Универсал |
premium * | Boolean | Нет | True, False | Машина премиум-класса |
flexible_tariff_name * | String | Нет | Гибкий тариф | |
baggage | Boolean | Нет | True, False | Загрузка салона. Параметр доступен при X-API-VERSION < 1.41.0. |
animal | Boolean | Нет | True, False | Перевозка животного. Параметр доступен при X-API-VERSION < 1.41.0. |
conditioner | Boolean | Нет | True, False | Кондиционер. Параметр доступен при X-API-VERSION < 1.41.0. |
courier_delivery | Boolean | Нет | True, False | Курьер. Параметр доступен при X-API-VERSION < 1.41.0. |
route_undefined | Boolean | Нет | True, False | По городу |
terminal | Boolean | Нет | True, False | Терминал. Параметр доступен при X-API-VERSION < 1.41.0. |
receipt | Boolean | Нет | True, False | Требование чека за поездку. Параметр доступен при X-API-VERSION < 1.41.0. |
route | Да | Маршрут заказа. (См. Таблицу описания маршрута) | ||
route_address_entrance_from | String | Нет | 2а | Номер подъезда |
client_sub_card | String | Нет | Номер доп карточки | |
add_cost | Decimal | Нет | 10 | Дополнительная стоимость к заказу |
| calc_with_rec_add_cost | Boolean | Нет | True, False | Рассчитать стоимость с рекомендуемой дополнительной стоимостью |
taxiColumnId | Int32 | Да | 0, 1 или 2 | Номер колоны, в которую будут приходить заказы. |
payment_type | Int32 | Нет | Null, 0 или 1 | Тип оплаты заказа (нал, безнал) (см. Приложение 4). |
| extra_charge_codes | Array<String> | Нет | ["ENGLISH", "ANIMAL"] | Список кодов доп. услуг (api/settings). Параметр доступен при X-API-VERSION >= 1.41.0. |
* Признаки «Гибкий тариф» (flexible_tariff_name), «Универсал» (wagon), «Микроавтобус» (minibus) и «Премиум» (premium) должны быть взаимоисключающими. Если одновременно указать несколько из вышеперечисленных параметров, учитываться будет только один в порядке приоритета:
...
Http-метод | POST |
Url | api/weborders/tariffs/cost |
Headers | Accept: application/json Content-Type: application/json; charset=utf-8 Content-Length: Authorization:Basic YWNod...YQ== X-API-VERSION: web_orders_api_version X-WO-API-APP-ID: your_app_id |
...
Параметры запроса | Тип данных | Обязательный параметр | Возможные значения | Описание |
user_full_name | String | Нет | Полное имя пользователя | |
user_phone | String | Нет | Телефон пользователя | |
reservation | Boolean | Да | True, False | Признак предварительного заказа |
required_time | Нет | "2015-08-24T19:15:00" | Время подачи предварительного заказа | |
comment | String | Нет | Комментарий к заказу | |
minibus | Boolean | Нет | True, False | Микроавтобус |
wagon | Boolean | Нет | True, False | Универсал |
premium | Boolean | Нет | True, False | Машина премиум-класса |
flexible_tariff_name | String | Нет | Гибкий тариф | |
baggage | Boolean | Нет | True, False | Загрузка салона. Параметр доступен при X-API-VERSION < 1.41.0. |
animal | Boolean | Нет | True, False | Перевозка животного. Параметр доступен при X-API-VERSION < 1.41.0. |
conditioner | Boolean | Нет | True, False | Кондиционер. Параметр доступен при X-API-VERSION < 1.41.0. |
courier_delivery | Boolean | Нет | True, False | Курьер. Параметр доступен при X-API-VERSION < 1.41.0. |
route_undefined | Boolean | Нет | True, False | По городу |
terminal | Boolean | Нет | True, False | Терминал. Параметр доступен при X-API-VERSION < 1.41.0. |
receipt | Boolean | Нет | True, False | Требование чека за поездку.Параметр доступен при X-API-VERSION < 1.41.0. |
route | Да | Маршрут заказа. (См. Таблицу описания маршрута) | ||
route_address_entrance_from | String | Нет | 2а | Номер подъезда |
client_sub_card | String | Нет | Номер доп карточки | |
add_cost | Decimal | Нет | 10 | Дополнительная стоимость к заказу |
| calc_with_rec_add_cost | Boolean | Нет | True, False | Рассчитать стоимость с рекомендуемой дополнительной стоимостью |
taxiColumnId | Int32 | Да | 0, 1 или 2 | Номер колоны, в которую будут приходить заказы. |
payment_type | Int32 | Нет | Null, 0 или 1 | Тип оплаты заказа (нал, безнал) (см. Приложение 4). |
| calculated_tariff_names | String[] | Да | [ | Список тарифов по которым нужно просчитать стоимость заказа |
| extra_charge_codes | Arrray<String> | Нет | ["ANIMAL", "ENGLISH"] | Список кодов доп. услуг (api/settings). Параметр доступен при X-API-VERSION >= 1.41.0. |
Параметры «Гибкий тариф» (flexible_tariff_name), «Микроавтобус» (minibus), «Универсал» (wagon), «Премиум» (premium) в отличии от "Рассчет стоимости заказа" на просчет стоимости не влияют.
...
Http-метод | POST |
Url | /api/weborders |
Headers | Accept: application/json Content-Type: application/json; charset=utf-8 Content-Length: Authorization:Basic YWNod...YQ== X-API-VERSION: web_orders_api_version X-WO-API-APP-ID: your_app_id |
...
Параметры запроса | Тип данных | Обязательный параметр | Возможные значения | Описание |
user_full_name | String | Да | Полное имя пользователя | |
user_phone | String | Да | Телефон пользователя | |
client_sub_card | String | Да, если у постоянного клиента есть доп. карточка | Номер доп карточки | |
pay_bonuses | Decimal | Нет | 94 | Сумма, которую клиент хочет оплатить бонусами (на данный момент эта сумма должна полностью покрывать стоимость заказа). Только для постоянных клиентов. |
app_registration_token | String | Нет | Уникальный идентификатор получателя уведомления. | |
| extra_charge_codes | Array<String> | Нет | ["ENGLISH", "ANIMAL"] | Список кодов доп. услуг (api/settings). Параметр доступен при X-API-VERSION >= 1.41.0. |
Response (ответ):
Параметры ответа | Тип данных | Возможные значения | Описание |
dispatching_order_uid | String | 44ebd09e5f224651bf3c8e2dd12ed890 | Идентификатор заказа, присвоенный в БД ТН |
find_car_timeout | Int32 | 120 | Таймаут на поиск машины, в сек. По истечению таймаута, если машина не была найдена, заказ закрывается со статусом “Нет машины” (CloseReason = 4) |
find_car_delay | Int32 | 0 | Задержка на поиск машины, в сек (в случае предварительного заказа). Время по истечении которого начнется выполняться поиск машины. Для не предварительного заказа равняется 0. |
...
,"crew_average_rating": 4.99
,"rating":4
,"rating_comment":"Ok"
,"route_address_from":{
...
Основные параметры Http-запроса:
Http-метод | POST |
Url | /api/weborders/rate/<uid> |
Headers | Content-Type: application/json Authorization: Basic YWNod...YQ== Authorization: Bearer {JWT} |
Request (запрос):
Параметры запроса | Обязательный параметр | Возможные значения | Описание |
<uid> | Да | UID заказа в БД ТН (полученный в ответе на запрос создания заказа). | Идентификатор заказа |
| rating | Да | 1, 2, 3, 4, 5 | Оценка поездки |
| rating_comment | Нет | Комментарий к оценке. Максимальная длина 120 символов. |
Пример тела запроса в формате json:
...
"rating_comment": "Ok"
}
Response (ответ):
Статус ответа | Id ошибки | Описание |
| 200 (OK) | Поездка успешно оценена. | |
| 404 (Not Found) | Заказ не найден. | |
| 403 (Forbidden) | Действие запрещено, клиент не соответствует заказу. | |
| 400 (Bad Request) | -10 | Неверные параметры запроса. |
| 400 (Bad Request) | -80 | Невалидное значение оценки. |
| 400 (Bad Request) | -81 | Комментарий длиннее 120 символов. |
| 400 (Bad Request) | -82 | Поездка уже оценена. |
| 409 (Conflict) | -83 | Невозможно оценить поездку. Конфликт при обновлении записи. |
| 500 (Internal Server Error) | Ошибка сервера. |
Запрос на скрытие заказа (удалить поездку):
http://<ipaddress>:<port>/api/weborders/hide/44ebd09e5f224651bf3c8e2dd12ed890
Основные параметры Http-запроса:
Http-метод | PUT |
Url | /api/weborders/hide/<uid> |
Headers | Accept: application/json Authorization:Basic YWNod...YQ== Authorization: Bearer {JWT} |
Request (запрос):
Параметры запроса | Обязательный параметр | Описание |
<uid> | Да | UID заказа в БД ТН (полученный в ответе на запрос создания заказа). |
Response (ответ):
Статус ответа | Описание |
| 200 (OK) | Заказ успешно скрыт. |
| 404 (Not Found) | Заказ не найден. |
| 403 (Forbidden) | Действие запрещено, клиент не соответствует заказу. |
| 400 (Bad Request) | Статус заказа не соответсвует статусу "Выполнен"/"Перекинут на сервер(выполнен)" |
| 400 (Bad Request) | Не удалось скрыть заказ. |
| 500 (Internal Server Error) | Ошибка сервера. |
Клиенты
Запрос отчета по заказам клиентом (Запрос типа GET):
...
Описание полей ответа см. в Получение транзакции оплаты
Получение избранных адресов
http://<ipaddress>:<port>/api/client/addresses
Основные параметры Http-запроса:
Http-метод | GET |
Url | /api/client/addresses |
Headers | Content-Type: application/json Authorization: Basic YWNod...YQ |
Response (ответ):
Параметры ответа | Тип данных | Возможные значения | Описание |
favorite_address_uid | String | da2ed520-488e-4824-b4bc-13bfb2b566e9 | Идентификатор избранного адреса. |
alias | String | Мой дом | Название. Максимальный размер 100. |
| comment | String | Домофон не работает. | Комментарий для создания заказа. Максимальный размер 1024. |
| type | enum | 3 | Тип адреса: 1 - home, 2 - job, 3 - other. |
| entrance | Int32 | 1 | Подъезд |
| name | String | КРЕЩАТИК УЛ. | Улица или Объект. Если number пустое, то name это Объект, иначе Улица. Максимальный размер 200. |
| number | String | 7a | Номер дома. Максимальный размер 10. |
| lat | Decimal | 50.451063 | Широта |
| lng | Decimal | 50.451063 | Долгота |
[
{
"favorite_address_uid":"da2ed520-488e-4824-b4bc-13bfb2b566e9",
"alias":"Мой дом",
"comment":"Домофон не работает",
"type":1,
"address":{
"name":"КРЕЩАТИК УЛ.",
"number":"7a",
"lat":50.451063,
"lng":50.451063
},
"entrance":1
},
{
"favorite_address_uid":"7c0cae96-4510-41e6-997b-d564f62ba81f",
"alias":"alias1",
"comment":"Домофон не работает",
"type":2,
"address":{
"name":"КРЕЩАТИК УЛ.",
"number":"7a",
"lat":50.451063,
"lng":50.451063
},
"entrance":1
}
]
Сохранение избранного адреса
http://<ipaddress>:<port>/api/client/addresses
Основные параметры Http-запроса:
Http-метод | POST |
Url | /api/client/addresses |
Headers | Content-Type: application/json Authorization: Basic YWNod...YQ |
Request (запрос):
Параметры ответа | Тип данных | Обязательный параметр | Возможные значения | Описание |
alias | String | Нет | Мой дом | Название. Максимальный размер 100. |
| comment | String | Нет | Домофон не работает. | Комментарий для создания заказа. Максимальный размер 1024. |
| type | enum | Да | 3 | Тип адреса: 1 - home, 2 - job, 3 - other. |
| entrance | Int32 | Нет | 1 | Подъезд |
| name | String | Да | КРЕЩАТИК УЛ. | Улица или Объект. Если number пустое, то name это Объект, иначе Улица. Максимальный размер 200. |
| number | String | Нет | 7a | Номер дома. Максимальный размер 10. |
| lat | Decimal(9,6) | Да | 50.451063 | Широта |
| lng | Decimal(9,6) | Да | 150.451063 | Долгота |
{
"alias":"Мой дом",
"comment":"Домофон не работает",
"type":1,
"address":{
"name":"КРЕЩАТИК УЛ.",
"number":"7a",
"lat":50.451063,
"lng":150.451063
},
"entrance":1
}
Response (ответ):
Идентификатор избранного адреса : "7c0cae96-4510-41e6-997b-d564f62ba81f"
Статус ответа | Id ошибки | Описание |
400 (BadRequest) | -84 | Превышено максимальное количество избранных адресов клиента. Доступно не более 30. |
Изменение избранного адреса
http://<ipaddress>:<port>/api/client/addresses
Основные параметры Http-запроса:
Http-метод | PUT |
Url | /api/client/addresses |
Headers | Content-Type: application/json Authorization: Basic YWNod...YQ |
Request (запрос):
Параметры ответа | Тип данных | Возможные значения | Описание |
favorite_address_uid | String | da2ed520-488e-4824-b4bc-13bfb2b566e9 | Идентификатор избранного адреса, который необходимо обновить. |
alias | String | Мой дом | Название. Максимальный размер 100. |
| comment | String | Домофон не работает. | Комментарий для создания заказа. Максимальный размер 1024. |
| type | enum | 3 | Тип адреса: 1 - home, 2 - job, 3 - other. |
| entrance | Int32 | 1 | Подъезд |
| name | String | КРЕЩАТИК УЛ. | Улица или Объект. Если number пустое, то name это Объект, иначе Улица. Максимальный размер 200. |
| number | String | 7a | Номер дома. Максимальный размер 10. |
| lat | Decimal(9,6) | 50.451063 | Широта |
| lng | Decimal(9,6) | 50.451063 | Долгота |
{
"favorite_address_uid":"7c0cae96-4510-41e6-997b-d564f62ba81f",
"alias":"дом",
"comment":"Домофон не работает",
"type":2,
"address":{
"name":"КРЕЩАТИК УЛ.",
"number":"7a",
"lat":50.451063,
"lng":50.451063
},
"entrance":1
}
Удаление избранного адреса
http://<ipaddress>:<port>/api/client/addresses/<favoriteAddressGuid>
Основные параметры Http-запроса:
Http-метод | DELETE |
Url | /api/client/addresses/<favoriteAddressGuid> |
Headers | Content-Type: application/json Authorization: Basic YWNod...YQ |
Response (ответ):
Параметры ответа | Тип данных | Возможные значения | Описание |
favoriteAddressGuid | String | da2ed520-488e-4824-b4bc-13bfb2b566e9 | Идентификатор избранного адреса. |
Гео данные
Запрос гео-данных (всех объектов):
...
Название параметра | Возможные значения | Описание |
currency | грн | Аббревиатура валюты |
payment_terminal_permitted | True, false | Разрешена ли оплата заказа через платежный (экварийнговый) терминал для клиента. |
| payment_system_permitted | 0, 1 | Возможность оплаты через платежную систему |
| add_cost_increment_value | 1, 5 | Шаг изменения стоимости на widget. |
| extra_charge_codes | ["BAGGAGE", "CONDIT"] | Список кодов доп. услуг. Параметр доступен при X-API-VERSION >= 1.41.0. Возможные значения: "BAGGAGE" - Загрузка салона, "ANIMAL" - Животное, "CONDIT" - Кондиционер, "MEET" - Встреча с табличкой, "COURIER" - Курьер. доставка, "TERMINAL" - Терминал, "CHECK" - Чек, "BABY_SEAT" - Детское кресло, "DRIVER" - Драйвер, "NO_SMOKE" - Некурящий водитель, "ENGLISH" - Англоговорящий водитель, "CABLE" - Трос, "FUEL" - Подвоз бензина, "WIRES" - Провода, "SMOKE" - Я буду курить |
{
"currency":"грн",
"payment_terminal_permitted":false ,
"payment_system_permitted": 0,
"add_cost_increment_value": 1
...
Http-метод | GET |
Url | /api/drivers/position?lat=<latitude>&lng=<longitude>&radius=<km> |
Headers | Accept: application/json Authorization:Basic YWNod...YQ |
Request (запрос):
Название параметра | Обязательный параметр | Описание |
latitude | Да | Широта |
longitude | Да | Долгота |
radius | Да | Радиус поиска автомобилей (в км.) |
...
Название параметра | Возможные значения | Описание |
drivercar_position | Object | Текущее положение автомобиля. (См. Запрос GPS положения машины, выполняющей заказ) |
car.types | ["Wagon", "Minibus", "Truck", "Premium", "Elite"] | Тип автомобиля |
car.options | ["AirConditioning", "Terminal"] | Дополнительные опции. Параметр при X-API-VERSION < 1.41.0 в формате ["AirConditioning", "Terminal"]. Параметр при X-API-VERSION >= 1.41.0 в формате ["ENGLISH", "ANIMAL"] |
state | Closed, Free, Busy | Статус водителя. |
...
Id | Описание |
0 | Неизвестная ошибка. |
-2 | Ошибка авторизации пользователя. Неверно указан логин или пароль. |
-3 | Не удалось найти пользователя по запрошенному логину или номеру телефона. |
-4 | Не удалось найти пользователя по его номеру телефона, так как таких пользователей несколько. |
-5 | Слишком много запросов за короткое время. |
-10 | Неверные параметры запроса. |
-11 | Ошибка выполнения заказа, т.к. пользователь заблокирован диспетчерской. |
-12 | Ошибка выполнения заказа, т.к. недостаточно денег на балансе для выполнения заказа. |
-13 | Ошибка создания заказа, т.к. указанного адреса (улицы) нет в базе данных. |
-14 | Ошибка создания заказа, т.к. указанного адреса (объекта) нет в базе данных. |
-15 | Неверный номер колоны. |
-16 | Использование терминала запрещено настройками в диспетчерской. |
-20 | Дублирование запроса. Подобный запрос уже обрабатывается. |
-21 | Дублирование заказа. Вы не можете создавать подобный заказ, пока не нашлась машина на предыдущий заказ. |
-22 | Ошибка преобразования ид локальных координат в географические (долгота, широта), или наоборот. |
-23 | Номер телефона в черном списке. |
-24 | Оплата наличными запрещена. |
-25 | Безналичный расчет запрещен. |
-30 | Неизвестная ошибка регистрации. |
-31 | Операция запрещена настройками «Такси Навигатор». |
-32 | Пользователь с таким номером телефона уже зарегистрирован. |
-34 | Неверный формат номера телефона. |
-35 | Неверный код подтверждения. |
-36 | Не указан пароль. |
-37 | Пароль подтверждения не соответствует паролю. |
-38 | Длина пароля не удовлетворяет условию от 7 до 30 символов. |
-40 | Операция запрещена. Требуется подтверждение телефона. |
-42 | Ошибка верификации телефона. Телефон уже подтвержден. |
-50 | Использование бонусов запрещено настройками «Такси Навигатор» или пользователь неавторизирован. |
-51 | У пользователя недостаточно бонусов для оплаты заказа. |
-52 | Бонусов для оплаты меньше, чем стоимость заказа. |
-53 | Оплата бонусами невозможна для заказа «по городу». |
-54 | Дата и время подачи машины должно быть позже <даты> |
-55 | Добавочная сумма должна быть больше -100000 и меньше 100000 |
| -84 | Превышено количество избранных адресов клиента. |
-100 | Ошибка выполнения операции. |
...
Так же, по значению этого хедера возможно начисление бонусов постоянному клиенту (пассажиру) за первую регистрацию/авторизацию.
Установка версии API.
Header X-API-VERSION необходимо указывать для использования различных версий API, особенности в описании полей. Используемую версию WebOrders WebAPI можно запросить.
Если указывать версию в X-API-VERSION больше чем используемая версия бекенда, то будут задействованы контракты запроса/ответа используемой версии бекенда.
Если не указывать версию X-API-VERSION, то будет использованы контракты запроса/ответа которые были до введения заголовка версионности.
Response (ответ):
Параметры ответа | Тип данных | Описание |
repayment_status | Enum | Статус оплаты погашения долга. Возможные значения статуса оплаты долга: Created = 1, Success = 2, Failed = 3. |
| Блок кода | ||||
|---|---|---|---|---|
| ||||
{
"repayment_status":2
} |