ULTAXI | Экосистема для бизнеса такси

Современное программное обеспечение для автоматизации службы такси

API для клиентского виджета

Last modified:


API и клиентский виджет все еще находятся в разработке. Пожалуйста, будьте готовы к небольшим изменениям.

Документация также претерпевает изменения. Следите за обновлениями.

Статус API

Система активно разрабатывается как и API, которые она предоставляет. Для каждого элемента API определен его статус, определяющий степень его стабильности/готовности для использования:

  • experimental – Экспериментальный. Еще не достаточно хорошо протестированы, велика вероятность каких-либо изменений в форматах запросов/ответов, также возможно изъятие функции из API;
  • candidat – API протестирован командой разработки, возможны мелкие изменения в форматах запросов (с большой вероятностью без потери обратной совместимости при переходе от experimental к unstable);
  • stable – API зафиксирован. Изменения могут быть внесены только при условии сохранения обратной совместимости. Если сохранение обратной совместимости невозможно, будет разработана новая версия интерфейсного вызова.
  • deprecated – Кандидат на удаление из API. Использование deprecated частей API крайне не рекомендуется.

API в рамках одной major версии может быть только расширен (расширение интерфейса старых запросов, добавление новых)

HTTP API v1.xx

В этой секции приведен текущий статус API версии v1.xx.

MethodURIStatusPage LinkSince
GET/api/client/mobile/1.0/contextstablelink1.19
GET/api/client/web/1.0/address/addressstablelink1.19
GET/api/client/web/1.0/address/pointstablelink1.19
GET/api/client/web/1.0/address/neareststablelink1.19
GET/api/client/web/1.0/tariff/optionsdeprecatedlink1.19
POST/api/client/web/1.0/order/estimatestablelink1.19
POST/api/client/web/1.1/order/submitstablelink1.19
GET/api/client/web/1.0/order/confirmstablelink1.19
GET/api/client/web/1.0/order/statusstablelink1.19
GET/api/client/web/1.0/order/infostablelink1.19
GET/api/client/web/1.0/order/cancelstablelink1.19

На страницах с детальным описанием запросов могут присутствовать дополнительные замечания по доступности функционала в зависимости от версии системы

HTTP headers

Во всех HTTP запросах к API должны быть представлены следующие заголовки:

NameTypeDescription
Hive-ContextnumberИдентификатор контекста, определяющий службу такси, тариф, региональные настройки в рамках которых будут приниматься заказы. Один сервер может предоставлять несколько таких контекстов одновременно.

Если по каким-либо причинам хотя бы один из обязательных заголовков представлен не будет, сервер вернет код ответа – 400.

Система также распознает следующие необязательные HTTP заголовки:

NameTypeDescription
Accept-LanguagestringНужен для формирования локализованных текстов сообщений для отображения на странице с виджетом. Значение локали должно соответсвовать стандарту RFC 2616. Если это значение не указано – будут использоваться текущие региональные настройки сервера

Ответ от сервера

Возможные варианты ответа от сервера:

HTTP-CodeResponse Body
200Тело ответа будет содержать JSON Array или JSON Object в соответствии со спецификацией запроса
400Тело ответа будет содержать JSON документ типа ErrorObj содержащий код ошибки и локализованное сообщение с описанием причины
404Тело ответа будет пустым
500Тело ответа будет пустым

Если запрос был успешно выполнен, ответ вернется с кодом 200.

Ошибки

ErrorObj

Общий формат объекта для передачи сообщений об ошибках

NameTypeRequiredDescription
codenumbertrueКод ошибки
messagestringtrueЛокализованное описание ошибки

Пример ответа с описанием ошибки:


{
    "code": -10003,
    "message": "Missing parameter: my-very-valueable-parameter." }

Коды ошибок

Общие коды ошибок

CodeDescription
-10001Отсутствует обязательный заголовок
-10002Неверный формат заголовка
-10003Отсутствует обязательный параметр запроса
-10004Неверный формат параметра запроса
-10005Неверный формат JSON-документа в теле запроса
-10006Переданный идентификатор контекста (заголовок Hive-Context) не существует

Ist dieser Artikel hilfreich?