V2.0
Работа с заказами
Получение заказа
Основные параметры Http-запроса:
Http-метод | GET |
Url | /api/v2.0/weborders/<uid> |
Headers | Accept: application/json Authorization:Basic YWNod...YQ== |
Request (запрос):
Параметры запроса | Обязательный параметр | Описание |
<uid> | Да | UID заказа в БД ТН (полученный в ответе на запрос создания заказа). |
Response (ответ):
Параметры запроса | Тип данных | Возможные значения | Описание | |
user_full_name | String | Полное имя пользователя | ||
user_phone | String | Телефон пользователя | ||
reservation | Boolean | True, False | Признак предварительного заказа | |
required_time | "2015-08-24T19:15:00" | Время подачи предварительного заказа | ||
comment | String | Комментарий к заказу | ||
pay_bonuses | Boolean | True, False | Оплачивается ли данный заказ бонусами | |
minibus | Boolean | True, False | Микроавтобус | |
wagon | Boolean | True, False | Универсал | |
premium | Boolean | True, False | Машина премиум-класса | |
flexible_tariff_name | String | Гибкий тариф | ||
baggage | Boolean | True, False | Загрузка салона | |
animal | Boolean | True, False | Перевозка животного | |
conditioner | Boolean | True, False | Кондиционер | |
courier_delivery | Boolean | True, False | Курьер | |
route_undefined | Boolean | True, False | По городу | |
terminal | Boolean | True, False | Терминал | |
receipt | Boolean | True, False | Требование чека за поездку. | |
route | Маршрут заказа. (См. Таблицу описания маршрута) | |||
route_address_entrance_from | String | 2а | Номер подъезда | |
client_sub_card | String | Номер доп карточки | ||
taxiColumnId | Int32 | 0, 1 или 2 | Номер колоны, в которую будут приходить заказы. | |
payment_type | Int32 | Null, 0 или 1 | Тип оплаты заказа (нал, безнал) (см. Приложение 4). | |
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"). (См. ) | |
driver_execution_status | Int32 | Статус выполнения (см. Приложение 6) | ||
dispatching_order_uid | String | 44ebd09e5f224651bf3c8e2dd12ed890 | Идентификатор заказа, присвоенный в БД ТН | |
find_car_timeout | Int32 | 120 | Таймаут на поиск машины, в сек. По истечению таймаута, если машина не была найдена, заказ закрывается со статусом “Нет машины” (CloseReason = 4) | |
find_car_delay | Int32 | 0 | Задержка на поиск машины, в сек (в случае предварительного заказа). Время по истечении которого начнется выполняться поиск машины. Для не предварительного заказа равняется 0. | |
creation_date_time | 2017-10-20T14:33:25.5083712+03:00 | Время создания заказа. | ||
execution_status | String | SearchesForCar | Статус заказа |
GET /api/v2.0/weborders/<uid>
|
Получение списка заказов с определенным статусом
Основные параметры Http-запроса:
Http-метод | GET |
Url | /api/v2.0/weborders/?executionStatus=* |
Headers | Accept: application/json Authorization:Basic YWNod...YQ== |
Request (запрос):
Параметры запроса | Обязательный параметр | Описание |
limit | Нет | Вернуть количество записей |
offset | Нет | Пропустить количество записей |
executionStatus | Да | Критерий выборки заказов в зависимости от статуса выполнения заказа (см. далее execution_status). В качестве параметра можно передавать перечень статусов закрытия заказа (Примечание 2) раздеденных запятой, которые необходимо получить. Например:
|
Response (ответ):
Соответствует массиву возващаемых данных на запрос по конкретному заказу.
GET api/v2.0/weborders?executionStatus=*
|
Отмена заказа
Основные параметры Http-запроса:
Http-метод | DELETE |
Url | /api/v2.0/weborders/<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 | Результат отмены (описание ниже). |
Таблица. Описание значений order_client_cancel_result:
Значение | Описание |
0 | Заказ не удалось отменить. |
1 | Заказ отменен. |
2 | Требует подтвержение клиентом отмены в диспетчерскую. |
DELETE /api/v2.0/weborders/<uid>
|
Авторизация пользователя по SMS(accessToken)
Авторизация клиента выполняется в 3 этапа:
«Получение кода подтверждения». Пользователь указывает свой номер мобильного телефона, на который система отправляет сообщение (SMS) с кодом подтверждения.
«Получение accessToken». Пользователь меняет код подтверждения на accessToken. В случае если не существует аккаунта с таким номером телефона, то он создается.
«Запрос на api c отправкой accessToken». Для доступа к защищенному ресурсу пользователь передает accessToken.
Поиск пользователя проводится только по номеру телефона.
Получение кода подтверждения
Основные параметры Http-запроса:
Http-метод | POST |
Url | /api/v2.0/account/getSMSAuthCode |
Headers | Accept: application/json Content-Type: application/json; charset=utf-8 Content-Length: X-WO-API-APP-ID: your_app_id |
Request (запрос):
Параметры запроса | Обязательный параметр | Описание |
phone | Да | Номер мобильного телефона, на который будет отправлен код подтверждения. |
taxiColumnId | Нет | Номер колоны, из которой отправляется SMS (0, 1 или 2, по умолчанию 0). |
appHash | Нет | Хэш Android приложения для автоматической подстановки смс кода. 11 символов. |
Пример тела запроса в формате json:
{"phone":"380501234567"}
Response (ответ):
Статус ответа | Id ошибки | Описание |
200 (OK) | Запрос успешно принят и обработан. | |
429 | -5 | Слишком много попыток получения кода. |
400 (BadRequest) | -34 | Неверный формат номера телефона. |
400 (BadRequest) | -15 | Неверный номер колонны такси. |
403 (Forbidden) | -17 | Операция отправки SMS не поддерживается настройками колонны «Такси Навигатор» (Настройки → СМС). Опция "Колонны, которым разрешена отправка СМС". |
Пример тела ответа в формате json в случае большого количества попыток получения кода подтверждения:
{"Id":-5,"Message":"Too Many Requests"}
Получение accessToken
Основные параметры Http-запроса:
Http-метод | POST |
Url | /api/v2.0/account/authWithSMS |
Headers | Accept: application/json Content-Type: application/json; charset=utf-8 Content-Length: X-WO-API-APP-ID: your_app_id |
Request (запрос):
Параметры запроса | Тип данных | Обязательный параметр | Описание |
phone | String | Да | Номер мобильного телефона, на который будет отправлен код подтверждения. |
confirm_code | String | Да | Код подтверждения, полученный в SMS. |
app_registration_token | String | Да | Токен для отправки пуша. |
Пример тела запроса в формате json:
{
"phone":"380501234567",
"confirm_code":"492164",
"app_registration_token": "App_Token"
}
Response (ответ):
Статус ответа | Id ошибки | Описание |
200 (OK) | Пользователь авторизирован. accessToken отправлен. | |
201 (Created) | Пользователь создан и авторизирован. accessToken отправлен. | |
400 (BadRequest) | -34 | Неверный номер телефона. |
400 (BadRequest) | -35 | Неверный код подтверждения. |
409 (Conflict) | -67 | В базе существует больше двух пользователей с одним номером телефона. |
409 (Conflict) | -68 | Пользователь с таким логином уже существует. (При попытке создания) |
409 (Conflict) | -69 | Телефон пользователя совпадает логином другого пользователя. (При попытке создания) |
429 (Conflict) | -7 | Слишком много неверных попыток ввода кода подтверждения. |
Пример тела ответа в формате json в случае успешной отправки AccessToken:
|
Запрос на api c отправкой accessToken
После получения AccessToken пользователь получает возможность отправлять запросы на защищенные ресурсы с помощю Bearer авторизации (вместо Basic).
Для этого в заголовок запроса нужно добавить:
|
Получение АccessToken по коду подтверждения
Основные параметры Http-запроса:
Http-метод | POST |
Url | /api/v2.0/account/authWithSMS |
Headers | Accept: application/json Content-Type: application/json; charset=utf-8 Content-Length: X-WO-API-APP-ID: your_app_id |
Request (запрос):
Параметры запроса | Тип данных | Обязательный параметр | Описание |
phone | String | Да | Номер мобильного телефона, на который будет отправлен код подтверждения. |
confirm_code | String | Да | Код подтверждения, полученный в SMS. |
app_registration_token | String | Нет | Токен для отправки пуша. |
Пример тела запроса в формате json:
{
"phone":"380501234567",
"confirm_code":"492164",
"app_registration_token": "App_Token"
}
Response (ответ):
Статус ответа | Id ошибки | Описание |
200 (OK) | Пользователь авторизирован. accessToken отправлен. | |
201 (Created) | Пользователь создан и авторизирован. accessToken отправлен. | |
400 (BadRequest) | -34 | Неверный номер телефона. |
400 (BadRequest) | -35 | Неверный код подтверждения. |
409 (Conflict) | -67 | В базе существует больше двух пользователей с одним номером телефона. |
409 (Conflict) | -68 | Пользователь с таким логином уже существует. (При попытке создания) |
409 (Conflict) | -69 | Телефон пользователя совпадает логином другого пользователя. (При попытке создания) |
403 (Forbidden) | -31 | Регистрация запрещена настройками «Такси Навигатор». (При попытке создания) |
429 (Conflict) | -7 | Слишком много неверных попыток ввода кода подтверждения. |
Пример тела ответа в формате json в случае успешной отправки AccessToken:
|
Получение хеш-подписи номера телефона
Основные параметры Http-запроса:
Http-метод | GET |
Url | /api/v2.0/account/phoneHash |
Headers | Accept: application/json Content-Type: application/json; charset=utf-8 Content-Length: Authorization: Bearer {JWT} X-WO-API-APP-ID: your_app_id |
Response (ответ):
Статус ответа | Описание |
200 (OK) | Успешное получение хеш-подписи. |
401 (Unauthorized) | Клиент не авторизован. |
400 (BadRequest) | Не заполнен идентификатор приложения (X-WO-API-APP-ID). |
400 (BadRequest) | Номер телефона клиента из профиля не подходит для отправки СМС-уведомлений. |
400 (BadRequest) | Хеш-подпись не сформирована (не нейдено клиентское приложение или для приложения не указана ключ-подпись для авторизации) |
Response (ответ):
Параметры ответа | Возможные значения | Описание |
phone_hash | e81db0ff651148d8a4ce2b908e7915cc | Хеш-подпись номера телефона |
Пример тела ответа в формате json:
{
"phone_hash": "eab8981c133080f6dd9e6b004afedeb7"
}
Получение AccessToken по хеш-подписи номера телефона
Основные параметры Http-запроса:
Http-метод | POST |
Url | /api/v2.0/account/authWithPhoneHash |
Headers | Accept: application/json Content-Type: application/json; charset=utf-8 Content-Length: X-WO-API-APP-ID: your_app_id |
Request (запрос):
Параметры запроса | Тип данных | Обязательный параметр | Описание |
phone | String | Да | Номер мобильного телефона клиента |
phone_hash | String | Да | Хеш-подпись номера телефона клиента |
app_registration_token | String | Нет | Токен для отправки пуша |
user_first_name | String | Нет | Имя клиента |
Пример тела запроса в формате json:
{
"phone": "380501234567",
"phone_hash": "eab8981c133080f6dd9e6b004afedeb7",
"app_registration_token": "app_token",
"user_first_name": "name"
}
Response (ответ):
Статус ответа | Id ошибки | Описание |
200 (OK) | Пользователь авторизирован. AccessToken отправлен. | |
201 (Created) | Пользователь создан и авторизирован. AccessToken отправлен. | |
400 (BadRequest) | Не заполнен идентификатор приложения (X-WO-API-APP-ID). | |
400 (BadRequest) | -34 | Номер телефона не заполнен или не подходит для отправки СМС. |
400 (BadRequest) | -78 | Невалидная хеш-подпись номера телефона. |
409 (Conflict) | -67 | В базе существует больше двух пользователей с одним номером телефона. |
409 (Conflict) | -68 | Пользователь с таким логином уже существует. (При попытке создания) |
409 (Conflict) | -69 | Телефон пользователя совпадает логином другого пользователя. (При попытке создания) |
403 (Forbidden) | -31 | Регистрация запрещена настройками «Такси Навигатор». (При попытке создания) |
Пример тела ответа в формате json в случае успешной отправки AccessToken:
|
Запрос на API c отправкой AccessToken
После получения AccessToken пользователь получает возможность отправлять запросы на защищенные ресурсы с помощю Bearer авторизации (вместо Basic).
Для этого в заголовок запроса нужно добавить:
|
Клиенты
Смена телефона клиента
Смена телефона
Основные параметры Http-запроса:
Http-метод | PUT |
Url | /api/v2.0/clients/changePhone/ |
Headers | Accept: application/json Content-Type: application/json; charset=utf-8 Content-Length: |
Request (запрос):
Параметры запроса | Тип данных | Обязательный параметр | Описание |
phone | String | Да | Номер мобильного телефона. |
confirm_code | String | Да | Код подтверждения. |
Пример тела запроса в формате json:
{
"phone":"380501234567",
"confirm_code":"492164",
}
Response (ответ):
Статус ответа | Id ошибки | Описание |
201 (Created) | Телефон успешно верифицирован. | |
429 (ToManyRequests) | -5 | Слишком много запросов за короткое время. |
400 (BadRequest) | -34 | Неверный формат номера телефона. |
400 (BadRequest) | -35 | Неверный код подтверждения. |
409 (Conflict) | -32 | Пользователь с таким номером телефона уже зарегистрирован. |
409 (Conflict) | -68 | Телефон пользователя(введенный) совпадает логином другого пользователя |
409 (Conflict) | -69 | Телефон пользователя(в формате 38...) совпадает логином другого пользователя |
Пример тела ответа в формате json в случае неверно указанного кода подтверждения:
{"Id":-35,"Message":"Invalid confirmation code."}
Пример тела ответа в формате json в случае успешной смены телефона:
{"AccessToken":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6InkwZndvbHFZc3FRTW14VGxQekVVOEJKMFZuNCJ9.eyJodHRwOi8v"}