| панель | ||||
|---|---|---|---|---|
| ||||
|
WebOrders.WebAPI предоставляет следующие возможности:
...
Например, для логин = «achumak» и пароль = «1» получим SHA512 хеш_пароля = «4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a». Далее объединяем в одну строку «achumak :4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a» и получаем Base64 представление
|
В итоге имеем header (заголовок) в виде:
|
Краткое описание запросов
Тип запроса | HTTP-метод | Url |
Авторизация | POST | /api/account |
Смена пароля | PUT | /api/account/changepassword |
Восстановление пароля | POST | /account/restore/sendConfirmCode/ |
POST | /account/restore/checkConfirmCode/ | |
POST | /account/restore | |
Получение кода подтверждения для регистрации | POST | /api/account/register/sendConfirmCode/ /api/account/register/confirmcode - устаревшее |
Регистрация | POST | /api/account/register |
Верификация телефона | GET | /api/approvedPhones?phone=380501234567 |
POST | /approvedPhones/sendConfirmCode/ | |
POST | /approvedPhones/ | |
Запрос версии | GET | /api/version |
Расчет стоимости заказа | POST | /api/weborders/cost |
Создание заказа на поиск машины | POST | /api/weborders |
Получение списка тарифов | GET | /api/tariffs |
Информация заказа (поиск машины) | GET | /api/weborders/<uid> |
| Добавочная стоимость | GET | /api/weborders/<uid>/cost.additional |
Определить Geo положение машины на заказе | GET | /api/weborders/drivercarposition/<uid> |
Отмена заказа | PUT | /api/weborders/cancel/<uid> |
| Оценка поездки | POST | /api/weborders/rate/<uid> |
Профиль клиента | GET | /api/clients/profile |
Обновление профиля | PUT | /api/clients/profile |
| Обновление информации для отправки push | PUT | /api/clients/credential |
Смена телефона клиента | POST | /clients/changePhone/sendConfirmCode/ |
PUT | /clients/changePhone | |
Отчет по заказам клиента | GET | /api/clients/ordersreport?dateFrom=2013.08.13%2000:00:00&dateTo=2013.08.15%2000:00:00 |
Отчет по бонусам клиента | GET | /api/clients/bonusreport?limit=10&offset=0 |
История заказов клиента | GET | /api/clients/ordershistory?limit=10&offset=0 |
Geo данные (улицы) | GET | /api/geodata/streets?versionDateGratherThan=2013.07.11%2015:14:13.893 |
GET | /api/geodata/streets/search?q=search&fields=* | |
Geo данные (объекты) | GET | /api/geodata/objects?versionDateGratherThan=2013.07.11%2015:14:13.893 |
GET | /api/geodata/objects/search?q=search&fields=* | |
Geo данные (улицы и объекты) | GET | /api/geodata/search?q=search&fields=* /api/geodata/search?lat=50.449361&lng=30.518495&r=500&fields=* |
Запрос серверного времени | GET | /api/time |
Запрос настроек | GET | /api/settings |
POST | /api/clients/balance/transactions/ | |
GET | /api/clients/balance/transactions/<transaction_id> | |
| История изменения баланса | GET | /api/clients/balance/transactions/ |
Получение координат автомобилей в радиусе | GET | /api/drivers/position?lat=50.451063&lng=30.523891&radius=5 |
Авторизация пользователя
...
Основные параметры Http-запроса:
Http-метод | POST |
Url | /api/account |
Headers | Accept: application/json Content-Type: application/json; charset=utf-8 Content-Length: X-WO-API-APP-ID: your_app_id |
Request (запрос):
Параметры запроса | Обязательный параметр | Описание |
login | Да | Логин (или телефонный номер) для авторизации пользователя |
password | Да | SHA512 Hash пароля пользователя.* |
| WebOrdersApiClientAppToken | Да | Токен для отправки пушей. |
Пример тела запроса в формате json:
...
}
Response (ответ):
Параметры ответа | Тип данных | Описание |
user_full_name | String | Полное имя пользователя |
user_phone | String | Телефон пользователя |
user_balance | Decimal | Текущий баланс пользователя |
route_address_from | String | Адрес пользователя |
route_address_number_from | String | Номер дома адреса пользователя |
route_address_entrance_from | Int32 | Подъезд |
route_address_apartment_from | Int32 | Квартира |
roles | String | Роли пользователя, разделенные запятыми |
client_sub_cards | Int32 | Номера дополнительных карточек пользователя |
version | Int32 | Версия WebOrders.Server |
discount (*) | Object | Текущая скидка клиента |
discount/value | Decimal | Значение скидки |
discount/unit | String | Тип скидки (в деньгах, или процентах от стоимости заказа) |
payment_type | Int32 | Категория оплаты пользователя. 0 — нал, 1 — безнал. |
client_bonuses | Decimal | Кол-во бонусов клиента (1 бонус = 1 денежной ед.) |
{
"roles":"WebOrdersClient"
...
,"client_bonuses":885.0
}
Response (ответ):
Статус ответа | Id ошибки | Описание |
200 (OK) | Авторизация прошла успешно. | |
401 (Unauthorized) | -2 (**) | Ошибка авторизации. Неправильно указан логин или пароль. |
(* ) Информация о скидке клиента ("discount":{"value":15.00,"unit":"грн."}) возвращается также и в запросе /api/clients/profile. Значение в discount/unit указывает в каких еденицах измеряется значение (discount/value) скидки:
...
{"Message":"В выполнении запроса отказано авторизацией.","Id":-2}
Регистрация пользователя
...
Регистрация нового клиента выполняется в 2 этапа:
...
Основные параметры Http-запроса:
Http-метод | POST |
Url | /api/account/register/sendConfirmCode |
Headers | Accept: application/json Content-Type: application/json; charset=utf-8 Content-Length: X-WO-API-APP-ID: your_app_id |
["ENGLISH", "ANIMAL"]
Request (запрос):
Параметры запроса | Обязательный параметр | Описание |
phone | Да | Номер мобильного телефона, на который будет отправлен код подтверждения. |
taxiColumnId | Нет | Номер колоны, из которой отправляется SMS (0, 1 или 2, по умолчанию 0). |
| appHash | Нет | Хэш Android приложения для автоматической подстановки смс кода. 11 символов. |
Пример тела запроса в формате json:
{"phone":"380501234567"}
Response (ответ):
Статус ответа | Id ошибки | Описание |
200 (OK) | Запрос успешно принят и обработан. | |
403 (Forbidden) | -31 | Регистрация запрещена настройками «Такси Навигатор». |
403 (Forbidden) | -33 | Слишком много попыток получения кода. |
400 (BadRequest) | -32 | Пользователь с таким номером телефона уже зарегистрирован. |
400 (BadRequest) | -34 | Неверный формат номера телефона. |
| 400 (BadRequest) | -15 | Неверный номер колонны такси. |
| 403 (Forbidden) | -17 | Операция отправки SMS не поддерживается настройками колонны «Такси Навигатор» (Настройки → СМС). Опция "Колонны, которым разрешена отправка СМС". |
Пример тела запроса в формате json в случае неверного формата телефона:
{"Id":-34,"Message":"Registration error. Invalid phone number."}
...
Регистрация
Основные параметры Http-запроса:
Http-метод | POST |
Url | /api/account/register |
Headers | Accept: application/json Content-Type: application/json; charset=utf-8 Content-Length: |
Request (запрос):
Параметры запроса | Тип данных | Обязательный параметр | Описание |
phone | String | Да | Номер мобильного телефона, на который будет отправлен код подтверждения. |
confirm_code | String | Да | Код подтверждения, полученный в SMS. |
password | String | Да | Пароль. |
confirm_password | String | Да | Пароль (повтор). |
user_first_name | String | Нет | Имя клиента. |
Пример тела запроса в формате json:
...
"user_first_name":"Виктория"
}
Response (ответ):
Статус ответа | Id ошибки | Описание |
201 (Created) | Пользователь успешно зарегистрирован. | |
403 (Forbidden) | -31 | Регистрация запрещена настройками «Такси Навигатор». |
400 (BadRequest) | -32 | Пользователь с таким номером телефона уже зарегистрирован. |
400 (BadRequest) | -34 | Неверный формат номера телефона. |
400 (BadRequest) | -35 | Неверный код подтверждения. |
400 (BadRequest) | -36 | Не указан пароль, или пароль подтверждения не соответствует паролю. |
Пример тела запроса в формате json в случае неверно указанного кода подтверждения:
{"Id":-35,"Message":"Registration error. Invalid confirmation code."}
Смена пароля
...
http://<ipaddress>:<port>/api/account/changepassword
Основные параметры Http-запроса:
Http-метод | PUT |
Url | /api/account/changepassword |
Headers | Accept: application/json Content-Type: application/json; charset=utf-8 Content-Length: Authorization:Basic YWNod...YQ== |
Request (запрос):
Параметры запроса | Обязательный параметр | Возможные значения | Описание |
oldPassword | Да | Старый пароль | |
newPassword | Да | Новый пароль | |
repeatNewPassword | Да | Новый пароль |
{
"oldPassword":"oldpsw",
...
Response (ответ) для HttpStatus 400 Bad Request:
Параметры ответа | Возможные значения | Описание |
Message | Описание ошибки | |
ModelState | Описание ошибок в модели запроса. | |
changePassword.oldPassword | ||
changePassword.newPassword | ||
changePassword.repeatNewPassword |
{
"Message":"The request is invalid.",
...
Восстановление пароля может быть запрещенно настройками для конкретного «постоянного клиента» в «Такси Навигаторе» (Данные о постоянных клиентах-> Редактировать клиента -> Запретить смену пароля).
Получение кода подтверждения
...
Основные параметры Http-запроса:
Http-метод | POST |
Url | /api/account/restore/sendConfirmCode |
Headers | Accept: application/json Content-Type: application/json; charset=utf-8 Content-Length: |
Request (запрос):
Параметры запроса | Обязательный параметр | Описание |
phone | Да | Номер мобильного телефона, на который будет отправлен код подтверждения. |
taxiColumnId | Нет | Номер колоны, из которой отправляется SMS (0, 1 или 2, по умолчанию 0). |
Пример тела запроса в формате json:
{"phone":"380501234567"}
Response (ответ):
Статус ответа | Id ошибки | Описание |
200 (OK) | Запрос успешно принят и обработан. | |
404 (Not Found) | -3 | Не удалось найти пользователя с таким номером телефона. |
409 (Conflict) | -4 | В системе более одного пользователя с таким номером телефона. |
429 (ToManyRequests) | -5 | Слишком много запросов за короткое время. |
403 (Forbidden) | -31 | Операция запрещена настройками «Такси Навигатор» (Данные о постоянных клиентах-> Редактировать клиента -> Запретить смену пароля). |
400 (BadRequest) | -34 | Неверный формат номера телефона. |
| 400 (BadRequest) | -15 | Неверный номер колонны такси. |
| 403 (Forbidden) | -17 | Операция отправки SMS не поддерживается настройками колонны «Такси Навигатор» (Настройки → СМС). Опция "Колонны, которым разрешена отправка СМС". |
Пример тела запроса в формате json в случае неверного формата телефона:
{"Id":-34,"Message":"Invalid phone number."}
Проверка кода подтверждения
...
Основные параметры Http-запроса:
Http-метод | POST |
Url | /api/account/restore/checkConfirmCode |
Headers | Accept: application/json Content-Type: application/json; charset=utf-8 Content-Length: |
Request (запрос):
Параметры запроса | Обязательный параметр | Описание |
phone | Да | Номер мобильного телефона. |
confirm_code | Да | Код подтверждения. |
Пример тела запроса в формате json:
...
"confirm_code":"492164",
}
Response (ответ):
Статус ответа | Id ошибки | Описание |
200 (Ok) | Пользователь успешно зарегистрирован. | |
400 (BadRequest) | -34 | Неверный формат номера телефона. |
400 (BadRequest) | -35 | Неверный код подтверждения. |
Восстановление пароля
...
Основные параметры Http-запроса:
Http-метод | POST |
Url | /api/account/restore |
Headers | Accept: application/json Content-Type: application/json; charset=utf-8 Content-Length: |
Request (запрос):
Параметры запроса | Обязательный параметр | Описание |
phone | Да | Номер мобильного телефона. |
confirm_code | Да | Код подтверждения. |
password | Да | Новый пароль. |
confirm_password | Да | Новый пароль (повтор). |
Пример тела запроса в формате json:
...
"confirm_password":"i23f5%6o0",
}
Response (ответ):
Статус ответа | Id ошибки | Описание |
201 (Created) | Пользователь успешно зарегистрирован. | |
404 (Not Found) | -3 | Не удалось найти пользователя с таким номером телефона. |
409 (Conflict) | -4 | В системе более одного пользователя с таким номером телефона. |
429 (ToManyRequests) | -5 | Слишком много запросов за короткое время. |
403 (Forbidden) | -31 | Операция запрещена настройками «Такси Навигатор» (Данные о постоянных клиентах-> Редактировать клиента -> Запретить смену пароля). |
400 (BadRequest) | -34 | Неверный формат номера телефона. |
400 (BadRequest) | -35 | Неверный код подтверждения. |
400 (BadRequest) | -36 | Не указан пароль. |
400 (BadRequest) | -37 | Пароль подтверждения не соответствует паролю. |
400 (BadRequest) | -38 | Длина пароля не удовлетворяет условию от 7 до 30 символов. |
Пример тела запроса в формате json в случае неверно указанного кода подтверждения:
{"Id":-35,"Message":"Invalid confirmation code."}
Верификация телефона
...
Верификация телефона может применяться для гостевого (анонимного) пользователя, у которого еще нет ни одного выполненного заказа (с данным номером телефона). Верификация подразумевает отправку на указанный клиентом телефон SMS с кодом. Таким образом можно проверить что указанный в заказе телефон действительно принадлежит клиенту.
Для того, чтобы использовать данный функционал необходимо в настройках «Такси Навигатор» отметить опцию «Требовать подтверждение телефона через SMS при первом заказе для анонимного пользователя» (Настройки->WebOrders).
Получение кода подтверждения
Основные параметры Http-запроса:
Http-метод | POST |
Url | /api/approvedPhones/sendConfirmCode |
Headers | Accept: application/json Content-Type: application/json; charset=utf-8 Content-Length: |
Request (запрос):
Параметры запроса | Обязательный параметр | Описание |
phone | Да | Номер мобильного телефона, на который будет отправлен код подтверждения. |
taxiColumnId | Нет | Номер колоны, из которой отправляется SMS (0, 1 или 2, по умолчанию 0). |
Пример тела запроса в формате json:
{"phone":"380501234567"}
Response (ответ):
Статус ответа | Id ошибки | Описание |
200 (OK) | Запрос успешно принят и обработан. | |
429 (ToManyRequests) | -5 | Слишком много запросов за короткое время. |
403 (Forbidden) | -31 | Операция запрещена настройками «Такси Навигатор» (Настройки->WebOrders). Опция «Требовать подтверждение телефона через SMS при первом заказе для анонимного пользователя». |
400 (BadRequest) | -34 | Неверный формат номера телефона. |
| 400 (BadRequest) | -15 | Неверный номер колонны такси. |
| 403 (Forbidden) | -17 | Операция отправки SMS не поддерживается настройками колонны «Такси Навигатор» (Настройки → СМС). Опция "Колонны, которым разрешена отправка СМС". |
Пример тела запроса в формате json в случае неверного формата телефона:
{"Id":-34,"Message":"Invalid phone number."}
Подтверждение телефона
...
Основные параметры Http-запроса:
Http-метод | POST |
Url | /api/approvedPhones/ |
Headers | Accept: application/json Content-Type: application/json; charset=utf-8 Content-Length: |
Request (запрос):
Параметры запроса | Обязательный параметр | Описание |
phone | Да | Номер мобильного телефона. |
confirm_code | Да | Код подтверждения. |
Пример тела запроса в формате json:
...
"confirm_code":"492164",
}
Response (ответ):
Статус ответа | Id ошибки | Описание |
201 (Created) | Телефон успешно верифицирован. | |
429 (ToManyRequests) | -5 | Слишком много запросов за короткое время. |
403 (Forbidden) | -31 | Операция запрещена настройками «Такси Навигатор». |
400 (BadRequest) | -34 | Неверный формат номера телефона. |
400 (BadRequest) | -35 | Неверный код подтверждения. |
Пример тела запроса в формате json в случае неверно указанного кода подтверждения:
{"Id":-35,"Message":"Invalid confirmation code."}
Запрос версии
...
http://<ipaddress>:<port>/api/version
Основные параметры Http-запроса:
Http-метод | GET |
Url | /api/version |
Headers | Accept: application/json |
Response (ответ):
Название параметра | Описание |
version | Версия WebOrders.Server в формате 1.2.3, где: 1 - Старший разряд версии (Измениение API, без обратной совместимости). 2 - Младший разряд версиию (Измениение API с обратной совместимостью). 3 - Номер сборки (Исправление ошибок, без изменения API). |
{"version":"1.1.2"}
Работа с заказами
Рассчет стоимости заказа
http://<ipaddress>:<port>/api/weborders/cost
Основные параметры Http-запроса:
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. |
custom_extra_charges | Array<Int32> | Нет | [20, 12, 13] | Список идентификаторов пользовательских доп. услуг (api/settings). Параметр добавлен в версии 1.46.0. |
* Признаки «Гибкий тариф» (flexible_tariff_name), «Универсал» (wagon), «Микроавтобус» (minibus) и «Премиум» (premium) должны быть взаимоисключающими. Если одновременно указать несколько из вышеперечисленных параметров, учитываться будет только один в порядке приоритета:
...
Описание параметров маршрута:
Параметры запроса | Тип данных | Обязательный параметр | Возможные значения | Описание |
name | String | Да | Адрес или название объекта | |
number | String | Нет | Номер дома (только для адреса) | |
lat | Decimal | Нет | 50.474613 | Широта |
lng | Decimal | Нет | 30.506389 | Долгота |
Пример маршрута по гео-координатам.
...
,"taxiColumnId":0
}
Response (ответ):
Параметры ответа | Тип данных | Возможные значения | Описание |
dispatching_order_uid | String | 1sdf234gh6j739dqa | Идентификатор заказа, присвоенный в ТН |
order_cost | Decimal | 71.50 | Стоимость заказа (отображается в формате, в зависимости от настроек ТН). |
currency | String | грн. | Аббревиатура валюты (из настроек ТН) |
discount_trip | Boolean | FALSE | Указывает, является ли данный заказ акционным (применяется доп. скидка). |
can_pay_bonuses | Boolean | TRUE | Указывает, возможно ли для данного заказа расплатиться бонусами. |
{
"dispatching_order_uid":"f4f5a233f56a45e3a36de3001b1e9d18"
...
Рассчет стоимости заказа для нескольких тарифов:
http://<ipaddress>:<port>api/weborders/tariffs/cost
Основные параметры Http-запроса:
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 |
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). |
| calculated_tariff_names | String[] | Да | [ | Список тарифов по которым нужно просчитать стоимость заказа |
| extra_charge_codes | Arrray<String> | Нет | ["ANIMAL", "ENGLISH"] | Список кодов доп. услуг (api/settings). Параметр доступен при X-API-VERSION >= 1.41.0. |
custom_extra_charges | Array<Int32> | Нет | [20, 12, 13] | Список идентификатов пользовательских доп. услуг (api/settings). Параметр добавлен в версии 1.46.0. |
Параметры «Гибкий тариф» (flexible_tariff_name), «Микроавтобус» (minibus), «Универсал» (wagon), «Премиум» (premium) в отличии от "Рассчет стоимости заказа" на просчет стоимости не влияют.
...
В случае успешного просчета (статус код 200) возвращается массив следующих объектов:
Параметры ответа | Тип данных | Возможные значения | Описание |
| flexible_tariff_name | String | Универсал | Название тарифа |
| order_cost_details | Object | Ниже перечислены свойства(аналогичные и для "Рассчет стоимости заказа") | |
dispatching_order_uid | String | 1sdf234gh6j739dqa | Идентификатор заказа, присвоенный в ТН |
order_cost | Decimal | 71.50 | Стоимость заказа (отображается в формате, в зависимости от настроек ТН). |
currency | String | грн. | Аббревиатура валюты (из настроек ТН) |
discount_trip | Boolean | FALSE | Указывает, является ли данный заказ акционным (применяется доп. скидка). |
can_pay_bonuses | Boolean | TRUE | Указывает, возможно ли для данного заказа расплатиться бонусами. |
| can_pay_cashless | Boolean | TRUE | Возможность безналичного расчета |
[
{
"flexible_tariff_name":"Универсал",
...
В случае ошибок просчета (статус код 500) возвращается массив следующих объектов:
Параметры ответа | Тип данных | Возможные значения | Описание |
| flexible_tariff_name | String | Универсал | Название тарифа |
| error | Object | Ниже перечислены свойства(аналогичные и для "Рассчет стоимости заказа" при ошибках просчета) | |
Id | Int32 | -6 | Идентификатор ошибки |
Message | String | "error" | Описание ошибки |
[
{
"flexible_tariff_name":"Универсал",
...
В случае ошибок в запросе (статус код 400) возвращается массив следующих объектов, формат аналогичен "Рассчет стоимости заказа" при не правильно сформированном запросе:
Параметры ответа | Тип данных | Возможные значения | Описание |
| flexible_tariff_name | String | Универсал | Название тарифа |
| error | Object | Ниже перечислены свойства(аналогичные и для "Рассчет стоимости заказа" при ошибках валидации) | |
Id | Int32 | -6 | Идентификатор ошибки |
Message | String | "error" | Описание ошибки |
| ModelState | Object | Описание ошибок в модели запроса. |
[
{
"flexible_tariff_name":null,
...
}
}
]
Создание заказа:
http://<ipaddress>:<port>/api/weborders
Основные параметры Http-запроса:
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 |
Request (запрос):
Параметры такие же как и в случае просчета стоимости.
Параметры запроса | Тип данных | Обязательный параметр | Возможные значения | Описание |
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. |
custom_extra_charges | Array<Int32> | Нет | [20, 12, 13] | Список идентификатов пользовательских доп. услуг (api/settings). Параметр добавлен в версии 1.46.0. |
Response (ответ):
Параметры ответа | Тип данных | Возможные значения | Описание |
dispatching_order_uid | String | 44ebd09e5f224651bf3c8e2dd12ed890 | Идентификатор заказа, присвоенный в БД ТН |
find_car_timeout | Int32 | 120 | Таймаут на поиск машины, в сек. По истечению таймаута, если машина не была найдена, заказ закрывается со статусом “Нет машины” (CloseReason = 4) |
find_car_delay | Int32 | 0 | Задержка на поиск машины, в сек (в случае предварительного заказа). Время по истечении которого начнется выполняться поиск машины. Для не предварительного заказа равняется 0. |
{
"dispatching_order_uid":"44ebd09e5f224651bf3c8e2dd12ed890"
...
"find_car_delay":0
}
Response (ответ):
Статус ответа | Id ошибки | Описание |
200 (Ok) | Заказ успешно принят. | |
400 (BadRequest) | Неверные параметры запроса. | |
400 (BadRequest) | -13 | Ошибка создания заказа, т.к. указанного адреса (улицы) нет в базе данных. |
400 (BadRequest) | -14 | Ошибка создания заказа, т.к. указанного адреса (объекта) нет в базе данных. |
400 (BadRequest) | -15 | Неверный номер колоны (taxiColumnId) |
403 (Forbidden) | -11 | Постоянный клиент заблокирован диспетчерской. |
403 (Forbidden) | -12 | У постоянного безнального клиента недостаточно денег на балансе для выполнения заказа. |
403 (Forbidden) | -23 | Номер телефона в «Черном списке» |
403 (Forbidden) | -40 | Требуется подтверждение телефона для анонимного пользователя (см. запрос POST api/approvedPhones/). |
403 (Forbidden) | -50 | Использование бонусов запрещено настройками «Такси Навигатор» или пользователь не авторизирован. |
403 (Forbidden) | -51 | У пользователя недостаточно бонусов для оплаты заказа. |
403 (Forbidden) | -52 | Бонусов для оплаты меньше, чем стоимость заказа. |
403 (Forbidden) | -53 | Оплата бонусами невозможна для заказа «по городу». |
400 (BadRequest) | -54 | Некорректное время подачи. (Дата и время подачи машины должно быть позже текущей даты) |
400 (BadRequest) | -55 | Добавочная сумма должна быть больше -100000 |
и меньше |
100000 | ||
| 400 (BadRequest) | -64 | Несуществующая пользовательская доп. услуга |
400 (BadRequest) | -65 | Неверное имя тарифа 'тариф' |
403 (Forbidden) | -66 | Оплата по безналичному расчету невозможна для заказа «по городу». |
Получение списка тарифов
http://<ipaddress>:<port>/api/tariffs
Основные параметры Http-запроса:
Http-метод | GET |
Url | /api/tariffs |
Headers | Accept: application/json Authorization:Basic YWNod...YQ== |
Response (ответ):
Параметры ответа | Тип данных | Возможные значения | Описание |
name | String | “Бизнес-класс” | Имя тарифа из БД ТН |
[
{
"name":"Базовый"
},
{
"name":"Универсал"
},
{
"name":"Бизнес-класс"
},
{
"name":"Премиум-класс"
},
{
"name":"Эконом-класс"
},
{
"name":"Микроавтобус"
}
]
Якорь Запрос состояния заказа Запрос состояния заказа
Запрос состояния заказа
http://<ipaddress>:<port>/api/weborders/44ebd09e5f224651bf3c8e2dd12ed890
Основные параметры Http-запроса:
Http-метод | GET |
Url | /api/weborders/<uid> |
Headers | Accept: application/json Authorization:Basic YWNod...YQ== |
Request (запрос):
Параметры запроса | Обязательный параметр | Описание |
<uid> | Да | UID заказа в БД ТН (полученный в ответе на запрос создания заказа). |
Response (ответ):
Параметры ответа | Тип данных | Возможные значения | Описание |
dispatching_order_uid | String | QW12as3467fd38 | UID заказа, присвоенный в БД ТН |
order_cost | Decimal | 94.09 | Стоимость заказа (отображается в формате, в зависимости от настроек ТН). |
| add_cost | Decimal | 4 | Добавочная стоимость |
currency | String | грн. | Аббревиатура валюты (из настроек ТН) |
order_car_info | String | АА64-72ЕН, белый (мал шашка), Lada 2010 | Информация о машине, если машина найдена, иначе – пусто. |
driver_phone | String | 050-123-45-67 | Телефон водителя, если машина найдена, иначе – пусто. |
required_time | "2015-08-24T19:15:00" | Дата и время подачи машины. | |
close_reason | Int32 | Статус закрытия заказа (см. Приложение 1) | |
cancel_reason_comment | String | У Вас недостаточно денег на балансе. | Комментарий к причине отмены заказа. (Для close_reason = 6) |
order_is_archive | True, False | Признак «архивного» заказа | |
drivercar_position | Object | Object или null | Текущее GPS положение машины, выполняющей заказ. Возвращается если есть актуальная информация о положении данной машины (status="gpsOk"). (См. ) |
route_address_from/name | String | ОЗЕРНАЯ УЛ. (ОБОЛОНЬ) | Адрес 1ой точки заказа (улица или объект). |
oute_address_from/number | String | 1 | |
route_address_to/name | String | ЯНГЕЛЯ АКАДЕМИКА УЛ. | Адрес последней точки заказа (улица или объект). |
oute_address_to/number | String | 7 | |
driver_execution_status | Int32 | Статус выполнения (см. Приложение 6) | |
| execution_status | String | SearchesForCar | Статус выполнения заказа (см. Приложение 2) |
| crew_average_rating | Float | 4.99 | Средняя оценка экипажа с округлением до сотых. |
| rating | Int16 | 4 | Оценка поездки |
| rating_comment | String | Ok | Комментарий к оценке поездки |
{
"dispatching_order_uid":"44ebd09e5f224651bf3c8e2dd12ed890"
...
,"status":"gpsOk"
}
,"crew_average_rating": 4.99
,"rating":4
,"rating_comment":"Ok"
,"route_address_from":{
"name":"ОЗЕРНАЯ УЛ. (ОБОЛОНЬ)"
...
Запрос информации о позывном
http://<ipaddress>:<port>/api/weborders/44ebd09e5f224651bf3c8e2dd12ed890/driver
...
Основные параметры Http-запроса:
Http-метод | GET |
Url | /api/weborders/<uid>/driver |
Headers | Accept: application/json Authorization:Basic YWNod...YQ== |
Request (запрос):
Параметры запроса | Обязательный параметр | Описание |
<uid> | Да | UID заказа в БД ТН (полученный в ответе на запрос создания заказа). |
Response (ответ):
Параметры ответа | Тип данных | Возможные значения | Описание |
is_own_driver | Boolean | true | true - свой водитель false - чужой водитель null - водитель не подтвердил заказ |
signal | Int32 | 100 | Позывной, если параметр is_own_driver равен true |
Для того что бы в параметре is_own_driver было значение true или false должно выполнятся одно из условий:
...
"signal": 100
}
Добавочная стоимость
http://<ipaddress>:<port>/api/weborders/44ebd09e5f224651bf3c8e2dd12ed890/cost/additional
Основные параметры Http-запроса:
Http-методы | GET, POST, PUT, DELETE |
Url | /api/weborders/<uid>/cost/additional |
Headers | Accept: application/json Content-Type: application/json; charset=utf-8 Authorization:Basic YWNod...YQ== |
GET | Получить значение добавочной стоимости. |
POST | Добавить к добавочной стоимосте. |
PUT | Обновить добавочную стоимость. |
DELETE | Удалить добавочную стоимость. |
Request (запрос):
Параметры запроса | Обязательный параметр | Описание |
id | Да | Уникальный идентификатор заказа. |
amount | Decimal | Добавочная стоимость. |
Response (ответ):
См. Описание ответа для информации по заказу
Response в случае ошибок (ответ):
Статус ответа | Сообщение |
401 (Unauthorized ) | Клиент не авторизирован. |
404 (Not Found) | Заказ не найден. |
403 (Forbidden) | Данное действие отклонено. Пожалуйста, свяжитесь с нами. (при попытке изменить стоимость ОНЛАЙН заказа) |
400 (Bad Request) | Неверная сумма. (При отрицательной сумме.) |
400 (Bad Request) | Недопустимое значение в Добавочной стоимости. (Сумма больше 100000) |
400 (Bad Request)
Данный заказ недоступен. (На заказе найдена машина.)
409 (Conflict) | Невозможно изменить стоимость заказа. (Заказ заблокирован другой транзакцией.) |
|
Запрос GPS положения машины, выполняющей заказ:
http://<ipaddress>:<port>/api/weborders/drivercarposition/44ebd09e5f224651bf3c8e2dd12ed890
Основные параметры Http-запроса:
Http-метод | GET |
Url | /api/weborders/drivercarposition/<uid> |
Headers | Accept: application/json Authorization:Basic YWNod...YQ== |
Request (запрос):
Параметры запроса | Обязательный параметр | Описание |
<uid> | Да | UID заказа в БД ТН (полученный в ответе на запрос создания заказа). |
Response (ответ):
Статус ответа | Описание |
200 (Ok) | Запрос успешно обработан. |
404 (Not Found) | Заказ для данного идентификатора (uid) не найден. |
Параметры ответа | Тип данных | Возможные значения | Описание |
accuracy | Nullable<Int16> | Точность | |
altitude | Nullable<Int16> | 250 или null | Высота (м) |
bearing | Nullable<Int16> | 153 или null | Направление (град.) |
lat | Decimal | 50.55612 | Широта (град.) |
lng | Decimal | 30.05425 | Долгота (град.) |
speed | Nullable<Int16> | 60 | Скорость (км/ч) |
status | String | gpsOk, gpsExpired или gpsUnavailable | Статус GPS координаты. (См. ) |
time_positioned_utc | DateTime | 2015-06-02T11:12:23.301 | UTC время позиционирования. |
{
"lat":50.5
,"lng":30.5
...
Запрос отмены заказа клиентом:
http://<ipaddress>:<port>/api/weborders/cancel/44ebd09e5f224651bf3c8e2dd12ed890
Основные параметры Http-запроса:
Http-метод | PUT |
Url | /api/weborders/cancel/<uid> |
Headers | Accept: application/json Authorization:Basic YWNod...YQ== |
Request (запрос):
Параметры запроса | Обязательный параметр | Описание |
<uid> | Да | UID заказа в БД ТН (полученный в ответе на запрос создания заказа). |
Response (ответ):
Параметры ответа | Возможные значения | Описание |
dispatching_order_uid | e81db0ff651148d8a4ce2b908e7915cc | UID заказа. |
order_client_cancel_result | 0, 1 или 2 | Результат отмены (описание ниже). |
{
"dispatching_order_uid":"44ebd09e5f224651bf3c8e2dd12ed890"
...
Таблица. Описание значений order_client_cancel_result:
Значение | Описание |
0 | Заказ не удалось отменить. |
1 | Заказ отменен. |
2 | Требует подтвержение клиентом отмены в диспетчерскую. |
Оценка поездки
http://<ipaddress>:<port>/api/weborders/rate/44ebd09e5f224651bf3c8e2dd12ed890
Основные параметры 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": 4
"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/clients/ordersreport?dateFrom=2013.08.13%2000:00:00&dateTo=2013.08.15%2000:00:00
Основные параметры Http-запроса:
Http-метод | PUT |
Url | /api/clients/ordersreport |
Headers | Accept: application/json Authorization:Basic YWNod...YQ== |
Request (запрос):
Параметры запроса | Обязательный параметр | Описание |
date_from | Да | Начальный интервал для отчета |
date_to | Да | Конечный интервал для отчета |
Response (ответ):
Параметры ответа | Возможные значения | Описание |
report_name | Отчет по заказам клиента | Название отчета |
columns | Массив пар «key-name». | Список колонок отчета |
columns/key | Id, Phone, AddressTo | Ключ колонки |
columns/name | Название колонки как в ТН | |
items | Массив заказов | |
items/properties | Массив пар «key-value». | |
items/properties/key | Id, Phone, AddressTo | Ключ свойства заказа |
items/properties/value | 12,0501234567, улица | Значение свойства заказа |
{
"report_name":"Отчет по заказам клиента"
...
Запрос истории по заказам клиента:
http://<ipaddress>:<port>/api/clients/ordershistory?limit=10&offset=0&executionStatus=
Основные параметры Http-запроса:
Http-метод | GET |
Url | /api/clients/ordershistory |
Headers | Accept: application/json Authorization:Basic YWNod...YQ== |
Request (запрос):
Параметры запроса | Обязательный параметр | Описание |
limit | Нет | Вернуть количество записей |
offset | Нет | Пропустить количество записей |
executionStatus | Нет | Критерий выборки заказов в зависимости от статуса выполнения заказа (см. далее execution_status). В качестве параметра можно передавать перечень статусов выполнения заказа (Примечание 2) |
разделенных запятой, которые необходимо получить. Например:
|
Response (ответ):
Параметры ответа | Возможные значения | Описание |
dispatching_order_uid | b8f3d3fa-0df0-4e0f-9def-725c7f1a2a40 | GUID заказа |
required_time | 2013-08-13T12:02:10.689 | Дата и время выполнения заказа |
order_cost | Массив пар «key-name». | Стоимость заказа |
user_full_name | Иванов Иван | Полное имя клиента |
user_phone | Телефон клиента | |
route | Маршрут заказа | |
route/name | г. Акварель (пер. Столешников 3) | Улица или объект точки маршрута заказа |
route/number | 11а | Номер дома улицы точки маршрута заказа |
close_reason | 0 | Статус закрытия заказа (см. Приложение 1) |
execution_status | Executed | Статус выполнения заказа (см. Приложение 2) |
| rating | 2 | Оценка поездки |
| rating_comment | Not ok | Комментарий к оценке поездки |
[
{
"required_time":"2013-08-13T12:02:10.689"
...
Запрос истории по изменениям бонусов клиента:
http://<ipaddress>:<port>/api/clients/bonusreport?limit=10&offset=0
Основные параметры Http-запроса:
Http-метод | GET |
Url | /api/clients/bonusreport |
Headers | Accept: application/json Authorization:Basic YWNod...YQ== |
Request (запрос):
Параметры запроса | Обязательный параметр | Описание |
limit | Нет | Вернуть количество записей |
offset | Нет | Пропустить количество записей |
Response (ответ):
Параметры ответа | Возможные значения | Описание |
dispatching_order_uid | b8f3d3fa-0df0-4e0f-9def-725c7f1a2a40 | GUID заказа |
date | 2013-08-13T12:02:10.689 | Дата и время изменения бонуса |
change_value | -115.0 | Величина изменения бонуса |
value_after_change | 885.0 или null | Значение бонуса после изменения. Значение может быть Null для reason_code = -1, т.к. бонусы могут быть списаны или возвращены клиенту. |
reason_code (*) | 3 | Причина изменения бонуса (код) |
reason_descr | Причина изменения бонуса (описание) | |
order_route_info | ОЗЕРНАЯ УЛ. (ОБОЛОНЬ), 1 - ТУРОВСКАЯ УЛ., 1 | Маршрут заказа, по которому произошло изменение бонуса |
{"Items":[
{
"date":"2015-04-27T11:56:55.071"
...
(* ) Данный параметр информирует о причине изменения бонуса. Возможные коды представлены в таблице:
Код | Описание |
-1 | «Замораживание» бонусов за выполняющиеся заказы. В случае закрытия заказа как «Выполненный» - бонусы будут окончательно списаны, иначе - возвращены клиенту. |
0 | Изменение диспетчером вручную |
1 | Закрытие выполненного заказа |
2 | Возврат выполненного заказа из архива |
3 | Отмена по вине диспетчера. Закрытие заказа, оплаченного бонусом |
4 | Возврат заказа, оплаченного бонусом, из архива |
Запрос профиля клиента:
http://<ipaddress>:<port>/api/clients/profile
Основные параметры Http-запроса:
Http-метод | GET |
Url | /api/clients/profile |
Headers | Accept: application/json Authorization:Basic YWNod...YQ== |
Response (ответ):
Параметры ответа | Тип данных | Возможные значения | Описание |
user_login | String | user123 | Логин пользователя в БД ТН. |
user_first_name | String | Иванов | Фамилия |
user_middle_name | String | Александр | Имя |
user_last_name | String | Отчество | |
user_phone | String | 050-123-45-67 | Телефон |
user_balance | Decimal | 100 | Текущий баланс пользователя |
route_address_from | String | Адрес | |
route_address_number_from | String | Номер дома | |
route_address_entrance_from | Int32 | Подъезд | |
route_address_apartment_from | Int32 | Квартира | |
orders_count | 0,15,121 | Кол-во заказов постоянного клиента. | |
discount (*) | Object | Текущая скидка клиента | |
discount/value | Decimal | 15.00 | Значение скидки |
discount/unit | String | грн или % | Тип скидки (в деньгах, или процентах от стоимости заказа) |
payment_type | Int32 | 0 или 1 | Категория оплаты пользователя. 0 — нал, 1 — безнал. |
client_bonuses | Decimal | 885.00 | Кол-во бонусов клиента (1 бонус = 1 денежной ед.) |
{
"user_login":"USER123"
...
Список самых новых адресов сформирован из 5 уникальных адресов, которые были использованы в выполненных заказах пассажира за последние 30 дней. Список отображается начиная с самых самых новых заказов, а также приоритет отдается начальным точкам в случае если в заказе больше пяти точек.
http://<ipaddress>:<port>/api/clients/lastaddresses
Основные параметры Http-запроса:
Http-метод | GET |
Url | /api/clients/lastaddresses |
Headers | Accept: application/json Authorization:Basic YWNod...YQ== |
Response (ответ):
Описание параметров маршрута:
Параметры запроса | Тип данных | Обязательный параметр | Возможные значения | Описание |
name | String | Да | Адрес или название объекта | |
number | String | Нет | Номер дома (только для адреса) | |
lat | Decimal | Да. 0 - если не удалось сконвертировать | 50.474613 | Широта |
lng | Decimal | Да. 0 - если не удалось сконвертировать | 30.506389 | Долгота |
Пример ответа:
[{
"name":"ПОЛЕВАЯ УЛ.",
"number":"22",
"lat":50.4446405954674,
"lng":30.4517342120499
},
{
"name":"Маг ресторан (ул.Драгоманова 17)",
"number":null,
"lat":50.4085467285877,
"lng":30.6397711113255
},
{
"name":"МАГИСТРАЛЬНАЯ УЛ. (ВОСКРЕСЕНСКИЕ САДЫ ЗАЕЗД С ПР.ВАТУТИНА)",
"number":"1",
"lat":50.4856476589752,
"lng":30.5707039640819
},
{
"name":"Магелан трц (пр-т.Глушкова 13Б)",
"number":null,
"lat":50.3683475425517,
"lng":30.4580907233347
},
{
"name":"ПОЛЕВАЯ УЛ.",
"number":"5",
"lat":50.4452580988236,
"lng":30.4522387353345
}]
Обновление профиля клиента:
http://<ipaddress>:<port>/api/clients/profile
Основные параметры Http-запроса:
Http-метод | PUT |
Url | /api/clients/profile |
Headers | Accept: application/json Authorization:Basic YWNod...YQ== |
Request (запрос):
Параметры запроса | Тип данных | Возможные значения | Описание |
patch (*) | name, address | Обновление патчем. | |
user_first_name | String | Иван | Фамилия |
user_middle_name | String | Иванович | Имя |
user_last_name | String | Иванов | Отчество |
route_address_from | String | пр. Шевченка | Адрес |
route_address_number_from | String | 1а | Номер дома |
route_address_entrance_from | Int32 | 2 | Подъезд |
route_address_apartment_from | Int32 | 3 | Квартира |
{
"user_first_name":"Александр"
...
Обновление информации для отправки push:
http://<ipaddress>:<port>/api/clients/credential
Основные параметры Http-запроса:
Http-метод | PUT |
Url | |
Headers | Content-Type: application/json; charset=utf-8 Authorization:Basic YWNod...YQ== X-WO-API-APP-ID: App_name |
Request (запрос):
Параметры запроса | Тип данных | Возможные значения | Описание |
app_registration_token | String | не пустые значения | токен |
{
"app_registration_token": "App_Token"
}
...
(*) Если значения X-WO-API-APP-ID нет в БД сервера или он пустой, он записан в профиль клиента не будет.
Смена телефона клиента
...
Получение кода подтверждения
Основные параметры Http-запроса:
Http-метод | POST |
Url | /api/clients/changePhone/sendConfirmCode |
Headers | Accept: application/json Content-Type: application/json; charset=utf-8 Content-Length: |
Request (запрос):
Параметры запроса | Тип данных | Обязательный параметр | Описание |
phone | String | Да | Номер мобильного телефона, на который будет отправлен код подтверждения. |
taxiColumnId | Int32 | Нет | Номер колоны, из которой отправляется SMS (0, 1 или 2, по умолчанию 0). |
Пример тела запроса в формате json:
{"phone":"380501234567"}
Response (ответ):
Статус ответа | Id ошибки | Описание |
200 (OK) | Запрос успешно принят и обработан. | |
429 (ToManyRequests) | -5 | Слишком много запросов за короткое время. |
403 (Forbidden) | -31 | Операция запрещена настройками «Такси Навигатор». |
400 (BadRequest) | -34 | Неверный формат номера телефона. |
| 400 (BadRequest) | -15 | Неверный номер колонны такси. |
| 403 (Forbidden) | -17 | Операция отправки SMS не поддерживается настройками колонны «Такси Навигатор» (Настройки → СМС). Опция "Колонны, которым разрешена отправка СМС". |
Пример тела запроса в формате json в случае неверного формата телефона:
{"Id":-34,"Message":"Invalid phone number."}
Смена телефона
...
Основные параметры Http-запроса:
Http-метод | PUT |
Url | /api/clients/changePhone/ |
Headers | Accept: application/json Content-Type: application/json; charset=utf-8 Content-Length: |
Request (запрос):
Параметры запроса | Тип данных | Обязательный параметр | Описание |
phone | String | Да | Номер мобильного телефона. |
confirm_code | String | Да | Код подтверждения. |
Пример тела запроса в формате json:
...
"confirm_code":"492164",
}
Response (ответ):
Статус ответа | Id ошибки | Описание |
201 (Created) | Телефон успешно верифицирован. | |
429 (ToManyRequests) | -5 | Слишком много запросов за короткое время. |
403 (Forbidden) | -31 | Операция запрещена настройками «Такси Навигатор». |
400 (BadRequest) | -34 | Неверный формат номера телефона. |
400 (BadRequest) | -35 | Неверный код подтверждения. |
Пример тела запроса в формате json в случае неверно указанного кода подтверждения:
{"Id":-35,"Message":"Invalid confirmation code."}
Виртуальный баланс
Пополнение баланса клиента (прием платежей) через платежные системы
...
http://<ipaddress>:<port>/api/clients/balance/transactions/
...
Основные параметры Http-запроса:
Http-метод | POST |
Url | /api/clients/balance/transactions |
Headers | Accept: application/json Authorization:Basic YWNod...YQ |
Request (запрос):
Название параметра | Обязательный параметр | Описание |
amount | Да | Сумма платежа |
{"amount": 25.75}
Response (ответ):
Название параметра | Возможные значения | Описание |
id | 37564 | Уникальный идентификатор транзакции |
amount | 25.75 | Сумма платежа |
currency | UAH | Валюта платежа |
description | Предоплата услуг. | Описание платежа |
customer | 10176 | Уникальный идентификатор пользователя |
statusCallbackURL | http://my_host.ua:6969/api/liqpay/status/ | URL для получения изменеий статуса платежа |
{
"id":37564,
"amount":25.75,
...
"customer":10176,
"statusCallbackURL":"http://my_host.ua:6969/api/liqpay/status/"
}
Response в случае ошибок (ответ):
Статус ответа | Сообщение |
401 (Unauthorized ) | Клиент не авторизирован |
503 (Service Unavailable) | Оплата через платежную систему запрещена. |
400 (Bad Request) | Неверная категория клиента. |
400 (Bad Request) | Вы заблокированы диспетчерской. |
400 (Bad Request) | Пополнение для клиентов имеющих общий счет запрещено. |
400 (Bad Request) | Минимально допустимая сумма пополнения через платежную систему составляет 5 UAH. |
400 (Bad Request) | Максимально допустимая сумма пополнения через платежную систему составляет 1000 UAH. |
{"Message":"Оплата через платежную систему запрещена."}
Получение транзакции оплаты
http://<ipaddress>:<port>/api/clients/balance/transactions/<id>
Основные параметры Http-запроса:
Http-метод | GET |
Url | /api/clients/balance/transaction/<id> |
Headers | Accept: application/json Authorization:Basic YWNod...YQ |
Request (запрос):
Название параметра | Обязательный параметр | Описание |
id | Да | Уникальный идентификатор транзакции |
Response (ответ):
Название параметра | Возможные значения | Описание |
| Id | 37671 | Идентификатор транзакции |
status | Success | Статус транзакции |
| status_description | Успешно проведенная транзакция | Локализированное описание статуса |
| kind | Dispatcher | Вид транзакции |
| kind_description | Начисление/Списание средств диспетчером такси | Описание вида транзакции |
| balance | 12.0 | Текущий баланс |
| amount | 12.0 | Сумма транзакции |
| time | 2017-05-23T16:42:53.742 | Время проведения транзакции |
Описание статусов транзакции:
Статус транзакции | Описание статуса |
Created | Созданная транзакция. |
Success | Успешно проведенная транзакция. |
Processing | Транзакция в обработке. |
Failure | Неуспешная транзакция. |
Reversed | Транзакция возврата. (Платеж возвращен). |
Sandbox | Тестовая транзакция. |
Unknown | Тип транзакции не определен. |
Описание видов транзакции:
Вид | Описание |
|---|---|
| Dispatcher | Начисление/Списание средств диспетчером такси |
| Order | Списание с баланса за выполненный заказ |
| Internet | Пополнение баланса через интернет |
{
"id":37671,
"amount":12.0,
...
История изменения баланса
http://<ipaddress>:<port>/api/clients/balance/transactions/
Основные параметры Http-запроса:
Http-метод | GET |
Url | /api/clients/balance/transactions/ |
Headers | Accept: application/json Authorization:Basic YWNod...YQ |
Request (запрос):
Параметры запроса | Обязательный параметр | Описание |
limit | Нет | Вернуть количество записей |
offset | Нет | Пропустить количество записей |
Response (ответ):
Возвращается список последних транзакций клиента.
Описание полей ответа см. в Получение транзакции оплаты
Получение избранных адресов
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 | Идентификатор избранного адреса. |
Гео данные
Запрос гео-данных (всех объектов):
http://<ipaddress>:<port>/api/geodata/objects?versionDateGratherThan=03.01.2013 10:45:45.944
Данный запрос возвращает информацию о всех объектах.
Основные параметры Http-запроса:
Http-метод | GET |
Url | /api/geodata/objects |
Headers | Accept: application/json Authorization:Basic YWNod...YQ== |
Request (запрос):
Название параметра | Обязательный параметр | Описание |
versionDateGratherThan | Нет | Дата версии гео-данных полученных ранее.* Если параметр пропущен — возвращает последние гео-данные. |
Response (ответ):
Параметры ответа | Возможные значения | Описание |
version_date | Версия гео-данных. | |
geo_object | Объект | |
geo_data_info | ||
name | Крещатик | Название объекта (нейтральной локализации) |
localizations | Массив значений | Массив локализированных названий |
localizations/locale | en | Название локализации |
localizations/name | Khreschatyk | Локализированное название |
{
"geo_object":
[
...
,"geo_data_info":"Гео данные отсутствуют."
}
Поиск гео-данных (объектов) по нескольким буквам
...
http://<ipaddress>:<port>/api/geodata/objects/search?q=search&offset=0&limit=10&translitetion=true&qwertySwitcher=true&fields=*
...
Основные параметры Http-запроса:
Http-метод | GET |
Url | /api/geodata/objects/search |
Headers | Accept: application/json Authorization:Basic YWNod...YQ== Accept-Language: UA |
В случае, если в комплексе «Такси Навигатор» ИДС присутствуют названия гео-данных (улицы, объекты) на разных языках, заданием HTTP-заголовка «Accept-Language» можно запросить предпочитаемые локализованные названия.
Request (запрос):
Название параметра | Обязательный параметр | Значение по-умолчанию | Описание |
q | Да | Несколько букв для поиска объекта. | |
offset | Нет | 0 | Смещение при выборке (сколько пропустить). |
limit | Нет | 10 | Кол-во возвращаемых записей (предел). |
transliteration | Нет | TRUE | Разрешить транслитерацию запроса при поиске. |
qwertySwitcher | Нет | TRUE | Разрешить преобразование строки запроса в случае ошибочного набора с неверной раскладкой клавиатуры (qwerty). Например, «ghbdtn» - это «привет». |
fields | Нет | * (все поля) | Данным параметром можно указать перечень требуемых параметров, которые будут возвращаться в ответе. Разделяются запятой. Возможные значения:
|
Response (ответ):
Ответ такой же как и для запроса всех объектов.
Параметры ответа | Возможные значения | Описание |
version_date | Версия гео-данных. | |
geo_object | Объект | |
geo_data_info | ||
name | Название объекта | |
locale | UK | Локализация названия |
Запрос гео-данных (всех улиц):
http://<ipaddress>:<port>/api/geodata/streets?versionDateGratherThan=03.01.2013 10:45:45.944
Данный запрос возвращает информацию о всех улицах.
Основные параметры Http-запроса:
Http-метод | GET |
Url | /api/geodata/streets |
Headers | Accept: application/json Authorization:Basic YWNod...YQ== |
Request (запрос):
Название параметра | Обязательный параметр | Описание |
versionDateGratherThan | Нет | Дата версии гео-данных полученных ранее.* Если параметр пропущен — возвращает последние гео-данные. |
Response (ответ):
Название параметра | Возможные значения | Описание |
version_date | Версия гео-данных. | |
geo_street | Объект | |
geo_data_info | ||
name | Крещатик | Название улицы |
localizations | Массив значений | Массив локализированных названий |
localizations/locale | en | Название локализации |
localizations/name | Khreschatyk | Локализированное название |
{
"geo_street":
[
{ "name":"КРЕЩАТИК УЛ.","old_name":null,
...
,"geo_data_info":"Гео данные отсутствуют."
}
Поиск гео-данных (улиц) по нескольким буквам
...
http://<ipaddress>:<port>/api/geodata/streets/search?q=search&offset=0&limit=10
...
Основные параметры Http-запроса:
Http-метод | GET |
Url | /api/geodata/streets/search?q=search |
Headers | Accept: application/json Authorization:Basic YWNod...YQ== Accept-Language: UA |
В случае, если в комплексе «Такси Навигатор» ИДС присутствуют названия гео-данных (улицы, объекты) на разных языках, заданием HTTP-заголовка «Accept-Language» можно запросить предпочитаемые локализованные названия.
Request (запрос):
Название параметра | Обязательный параметр | Значение по-умолчанию | Описание |
q | Да | Несколько букв для поиска объекта. | |
offset | Нет | 0 | Смещение при выборке (сколько пропустить). |
limit | Нет | 10 | Кол-во возвращаемых записей (предел). |
transliteration | Нет | TRUE | Разрешить транслитерацию запроса при поиске. |
qwertySwitcher | Нет | TRUE | Разрешить преобразование строки запроса в случае ошибочного набора с неверной раскладкой клавиатуры (qwerty). Например, «ghbdtn» - это «привет». |
fields | Нет | * (все поля) | Данным параметром можно указать перечень требуемых параметров, которые будут возвращаться в ответе. Разделяются запятой. Возможные значения:
|
Response (ответ):
Ответ такой же как и для запроса всех улиц.
Название параметра | Возможные значения | Описание |
version_date | Версия гео-данных. | |
geo_street | Объект | |
geo_data_info | ||
name | Название улицы | |
locale | UK | Локализация названия |
Поиск гео-данных (улиц и объектов) по нескольким буквам
...
http://<ipaddress>:<port>/api/geodata/search?q=search&offset=0&limit=10
Основные параметры Http-запроса:
Http-метод | GET |
Url | /api/geodata/search?q=search |
Headers | Accept: application/json Authorization:Basic YWNod...YQ== |
Request (запрос):
Название параметра | Обязательный параметр | Значение по-умолчанию | Описание |
q | Да | Несколько букв для поиска объекта. | |
offset | Нет | 0 | Смещение при выборке (сколько пропустить). |
limit | Нет | 10 | Кол-во возвращаемых записей (предел). |
transliteration | Нет | TRUE | Разрешить транслитерацию запроса при поиске. |
qwertySwitcher | Нет | TRUE | Разрешить преобразование строки запроса в случае ошибочного набора с неверной раскладкой клавиатуры (qwerty). Например, «ghbdtn» - это «привет». |
fields | Нет | * (все поля) | Данным параметром можно указать перечень требуемых параметров, которые будут возвращаться в ответе. Разделяются запятой. Возможные значения:
|
Response (ответ):
Ответ содержит объединение ответов как для объектов и улиц.
Название параметра | Возможные значения | Описание |
version_date | Версия гео-данных. | |
geo_streets | Улицы | |
geo_streets/geo_street | Улица | |
geo_streets/name | Название улицы | |
geo_streets/house | Номер дома | |
geo_streets/locale | UK | Локализация названия |
geo_objects | Объекты | |
geo_objects/geo_object | Объект | |
geo_objects/name | Название объекта | |
geo_objects/locale | UK | Локализация названия |
Пример ответа:
{
"geo_streets": {
...
"geo_data_info": null
}
}
geo_object | Объект | |
name | Название объекта |
Поиск ближайших гео-данных (улиц и объектов) по географическим координатам (долгота-широта)
...
http://<ipaddress>:<port>/api/geodata/search?lat=50.447878&lng=30.522925&r=500
Основные параметры Http-запроса:
Http-метод | GET |
Url | /api/geodata/search?lat=50/4478&lng=30.522925&r=500 |
Headers | Accept: application/json Authorization:Basic YWNod...YQ== |
Request (запрос):
Название параметра | Обязательный параметр | Описание |
lat | Да | Широта |
lng | Да | Долгота |
r | Нет | Радиус поиска. Значение от 0 до 1000 м. Если не указано — 500м. |
Response (ответ):
Название параметра | Возможные значения | Описание |
geo_streets | Массив улиц | |
geo_streets/geo_street | Улица | |
geo_streets/geo_street/name | Название улицы | |
geo_streets/geo_street/houses | Массив домов улицы | |
geo_streets/geo_street/houses/house | Номер дома | |
geo_streets/geo_street/houses/lng | Широта дома | |
geo_streets/geo_street/houses/lat | Долгота дома | |
geo_objects | Массив объектов | |
geo_objects/geo_object | Объект | |
geo_objects/geo_object/name | Название объекта | |
geo_objects/geo_object/lat | Широта объекта | |
geo_objects/geo_object/lng | Долгота объекта |
{
"geo_streets":
{"geo_street":[
...
Поиск ближайшей геоточки (улицы или объекта) по географическим координатам (долгота-широта).
http://<ipaddress>:<port>/api/geodata/nearest?lat=50.447878&lng=30.522925&r=500
...
Основные параметры Http-запроса:
Http-метод | GET |
Url | /api/geodata/nearest?lat=50/4478&lng=30.522925&r=500 |
Headers | Accept: application/json Authorization:Basic YWNod...YQ== |
Request (запрос):
Название параметра | Обязательный параметр | Описание |
lat | Да | Широта |
lng | Да | Долгота |
r | Нет | Радиус поиска. Значение от 0 до 1000 м. Если не указано — 500м. |
Response (ответ):
Название параметра | Возможные значения | Описание |
geo_streets | Массив улиц | |
geo_streets/geo_street | Улица | |
geo_streets/geo_street/name | Название улицы | |
geo_streets/geo_street/houses | Массив домов улицы | |
geo_streets/geo_street/houses/house | Номер дома | |
geo_streets/geo_street/houses/lng | Широта дома | |
geo_streets/geo_street/houses/lat | Долгота дома | |
geo_objects | Массив объектов | |
geo_objects/geo_object | Объект | |
geo_objects/geo_object/name | Название объекта | |
geo_objects/geo_object/lat | Широта объекта | |
geo_objects/geo_object/lng | Долгота объекта |
Найден ближайший объект в радиусе:
...
{
"geo_streets":{
"geo_street":[],
"version_date":null,
"geo_data_info":null
},
"geo_objects":{
"geo_object":[],
"version_date":null,
"geo_data_info":null
}
}
Запрос настроек
...
http://<ipaddress>:<port>/api/settings
Основные параметры Http-запроса:
Http-метод | GET |
Url | /api/settings |
Response (ответ):
Название параметра | Возможные значения | Описание |
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" - Я буду курить |
| custom_extra_charges | [ { "Id": 20, "Name": "Cusotm charge name" }, { "Id": 27, "Name": "Cusotm charge other name" }] | Список идентификторов пользовательских доп. услуг с названиями с учетом локализации (используются только EN-US, UK-UA, RU-RU). Параметр добавлен в версии 1.46.0. |
| show_custom_extra_charges_before_system | true, false | Признак отображения пользовательских доп. услуг перед системными. Параметр добавлен в версии 1.46.0. |
{
"currency":"грн",
"payment_terminal_permitted":false,
...
"ANIMAL",
"CONDIT"
],
"custom_extra_charges": [
{
"Id": 20,
"Name": "Cusotm charge name"
},
{
"Id": 27,
"Name": "Cusotm charge other name"
}
],
"show_custom_extra_charges_before_system": true
}
Запрос
...
настроек шага добавочной стоимости
http://<ipaddress>:<port>/api/settings/addCostIncrementValue
Основные параметры Http-запроса:
Http-метод | GET |
Url | /api/settings/addCostIncrementValue |
Response (ответ):
Название параметра | Возможные значения | Описание |
| - | Decimal | Шаг изменения стоимости на widget. |
Запрос серверного времени
http://<ipaddress>:<port>/api/time
Основные параметры Http-запроса:
Http-метод | GET |
Url | /api/time |
Response (ответ):
Название параметра | Возможные значения | Описание |
datetime_now_utc | Thu, 24 Oct 2013 12:49:28 GMT | |
datetime_now_unix | 1382618968 | http://ru.wikipedia.org/wiki/UNIX-%D0%B2%D1%80%D0%B5%D0%BC%D1%8F |
Запрос версии TaxiNavigator
...
http://<ipaddress>:<port>/api/tnVersion
Основные параметры Http-запроса:
Http-метод | GET |
Url | /api/tnVersion |
Response (ответ):
Название параметра | Возможные значения | Описание |
tn_version | 29.3.2.61 |
Получение координат автомобилей в радиусе
http://<ipaddress>:<port>/api/drivers/position?lat=<latitude>&lng=<longitude>&radius=<km>
Основные параметры Http-запроса:
Http-метод | GET |
Url | /api/drivers/position?lat=<latitude>&lng=<longitude>&radius=<km> |
Headers | Accept: application/json Authorization:Basic YWNod...YQ |
Request (запрос):
Название параметра | Обязательный параметр | Описание |
latitude | Да | Широта |
longitude | Да | Долгота |
radius | Да | Радиус поиска автомобилей (в км.) |
Response (ответ):
Название параметра | Возможные значения | Описание |
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 | Статус водителя. |
[{
"drivercar_position":{
...
ПРИЛОЖЕНИЕ 1. Описание статусов закрытия заказа «close_reason»:
-1 | Выполняется |
0 | Выполнен |
1 | Отказ клиента |
2 | Отказ водителя |
3 | Отмена по вине диспетчера |
4 | Нет машины |
5 | Просчет |
6 | Отказ клиента не устроил тариф |
7 | Отказ клиента не устроило время |
8 | Перекинут на СОЗ (выполнен) |
9 | Перекинут на СОЗ (выполнен) |
* СОЗ — сервер обмена заказами между ИДС.
ПРИЛОЖЕНИЕ 2. Описание статусов закрытия заказа «execution_status»:
WaitingCarSearch | Ожадается поиск машины (для предварительного заказа) |
SearchesForCar | Выполняется поиск машины |
CarFound | Машина найдена |
Running | Заказ выполняется (машина найдена и предположительно пассажир уже едет) |
Canceled | Заказ отменен (клиентом, диспетчером, водителем) |
Executed | Заказ успешно выполнен |
| CostCalculation | Просчет |
ПРИЛОЖЕНИЕ 3. Результат в виде ошибки выполнения операции
...
В случае неудовлетворения привалам бизнес процесса, сервер может возвращать ошибку в виде кода ошибки и ее описания. Ниже представлены 2 разных сообщения об ошибке:
...
{"Id":-2, "Message":"В выполнении запроса отказано авторизацией."}
Значения error id:
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 | |
| -64 | Несуществующая пользовательская доп. услуга |
| -84 | Превышено количество избранных адресов клиента. |
-100 | Ошибка выполнения операции. |
ПРИЛОЖЕНИЕ 4. Описание типов оплаты заказа «payment_type»:
...
Описание значений поля payment_type:
null | Тип оплаты по-умолчанию.
|
0 | Наличный |
1 | Безналичный |
ПРИЛОЖЕНИЕ 5. Описание статусов GPS координат:
Таблица. Описание статусов GPS координат.
Статус GPS координат | Описание |
gpsOk | GPS точка актуальная. |
gpsExpired | GPS точка устаревшая. Время позиционирования отличается от текущего времени более чем на 1 минуту. |
gpsUnavailable | GPS точка отсутствует (на заказ еще не назначена машина или трекер отсутствует). |
ПРИЛОЖЕНИЕ 6. Описание "Статус выполнения":
Таблица. Описание "Статус выполнения".
Статус выполнения | Описание |
0 | Значение по умолчанию. |
1 | Опоздание. |
2 | По адресу. |
3 | Выводите пассажиров. |
4 | Простаиваю. |
5 | С пассажиром. |
6 | Продление маршрута. |
7 | Закрыть заказ. |
8 | Сняться с заказа. |
9 | Не могу найти. |
10 | Вовремя буду на предварительном заказе. |
| 11 | Простой начат. |
| 12 | Простой завершен. |
Настройка языковых предпочтений (локализация сообщений)
...
Для того чтобы получать локализированные сообщения в ответах от WebOrders,WebApi необходимо в заголовке запроса передать Accept-Language заголовок.
...
Например: Accept-Language: ru, uk-ua;q=0.8, en;q=0.7
Сжатие данных Http-ответа
...
При запросе ресурса клиент может сообщить серверу, какие алгоритмы сжатия он поддерживает в заголовке Accept-Encoding:
...
Например: Content-Encoding: gzip
Установка идентификатора приложения
...
Для того чтобы иметь возможность в «Полном отчете по заказам» в «Такси навигаторе» видеть с какого приложения был оформлен заказ — необходимо добавить HTTP заголовок «X-WO-API-APP-ID», значение которого не должно превышать 20 символов.
...
Так же, по значению этого хедера возможно начисление бонусов постоянному клиенту (пассажиру) за первую регистрацию/авторизацию.
Установка версии 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
} |