API информации о поездке

Запрос позволяет получить детальную информацию о поездке.

Поддерживаются форматы ответа JSON и protobuf. Для выбора формата ответа передайте необязательный заголовок Accept:

  • Accept: application/json — ответ в формате JSON. Значение по умолчанию.
  • Accept: application/x-protobuf — ответ в формате protobuf.

Синтаксис запроса

GET  https://taxi-routeinfo.taxi.yandex.net/taxi_info?clid=<clid>&apikey=<apikey>&rll=<lon,lat~lon,lat>&class=<class_str>&req=<req_str>

Аргументы:

  • clid — идентификатор клиента. Чтобы получить идентификатор, заполните анкету на странице API прогноза стоимости. Обязательный параметр.

  • apikey — ключ API. Чтобы получить ключ, заполните анкету на странице API прогноза стоимости. Параметр может быть использован вместо заголовка YaTaxi-Api-Key. Если не был передан заголовок YaTaxi-Api-Key, параметр apikey является обязательным.

    Внимание

    Данный способ не рекомендуется к использованию, так как значение токена может сохраняться в логах.

  • rll — координаты пункта отправления и назначения. Обязательный параметр. Формат аргумента:

    {долгота пункта отправления},{широта пункта отправления}~{долгота пункта назначения},{широта пункта назначения}
    

    Так же в параметре можно указать только точку отправления или назначения:

    {долгота пункта отправления или назначения},{широта пункта отправления или назначения}
    

    В этом случае ответ будет содержать ограниченный набор полей и будет указана только стоимость подачи машины с учетом повышающего коэффициента.

    Чтобы узнать, поддерживается ли регион сервисами Яндекс Go, воспользуйтесь запросом API информации о регионе.

  • class — тарифы поездки. Необязательный параметр. В запросе может быть указано несколько тарифов. В этом случае названия тарифов в параметре указываются через запятую. Допустимы следующие значения:

    • econom — «Эконом».
    • business — «Комфорт».
    • comfortplus — «Комфорт+».
    • minivan — «Минивен».
    • vip — «Бизнес».
    • express — «Доставка».
    • courier — «Курьер».

    Значение по умолчанию — econom.

    В некоторых регионах доступны не все из указанных тарифов. Если в запросе было указано несколько тарифов, и часть из них не поддерживается, ответ будет содержать только информацию о поддерживаемых тарифах. Если в запросе были указаны только неподдерживаемые тарифы, ответ будет содержать код 200 и пустую строку.

  • req — пожелания клиента для поиска машины. Необязательный параметр. В запросе может быть указано несколько пожеланий. В этом случае значения в параметре указываются через запятую. Допустимы следующие значения:

    • yellowcarnumber — машина с желтыми номерами.
    • nosmoking — некурящий водитель.
    • childchair — наличие детского кресла в машине.
    • bicycle — перевозка велосипеда.
    • conditioner — кондиционер в машине.
    • animaltransport — перевозка животных.
    • universal — машина-универсал.
    • check — необходима квитанция об оплате.
    • ski — перевозка лыж или сноуборда.
    • waiting_in_transit — ожидание в пути.
    • meeting_arriving — встреча с табличкой.
    • luggage — платная перевозка багажа.
  • lang — язык ответа. Необязательный параметр. Возможные значения:

    • ru — ответ на русском языке. Значение по умолчанию.
    • en — ответ на английском языке.
    • uk — ответ на украинском языке.
    • kk — ответ на казахском языке.
    • az — ответ на азербайджанском языке.
    • ka — ответ на грузинском языке.
    • hy — ответ на армянском языке.
    • ky — ответ на киргизском языке.
    • lv — ответ на латвийском языке.
    • ro — ответ на румынском языке.
    • uz — ответ на узбекском языке.
    • et — ответ на эстонском языке.
    • fr — ответ на французском языке.

Описание полей ответа

В ответе могут содержаться следующие поля:

Поле

Описание

Формат

currency

Валюта оплаты. Может содержать следующие значения:

  • RUB — российский рубль.
  • KZT — казахстанский тенге.
  • AMD — армянский драм.
  • GEL — грузинский лари.
  • AZN — азербайджанский манат.
  • UAH — украинская гривна.
  • BYN — новый белорусский рубль.
  • BYR — старый белорусский рубль.
  • KGS — киргизский сом.
  • EUR — евро.
  • MDL — молдавский лей.
  • UZS — узбекский сум.
    Список поддерживаемых валют впоследствии может быть расширен.

Строка.

distance

Расстояние поездки в метрах.

Примечание

Параметр возвращается только в том случае, когда в запросе были указаны точки начала и конца маршрута.

Число с плавающей точкой.

options

Список вариантов поездки. Может содержать следующие поля:

  • class_name
  • class_level
  • class_text
  • min_price
  • price
  • waiting_time

Массив.

class_name

Название тарифа на английском.

Строка.

class_text

Название тарифа на запрошенном языке.

Строка.

class_level

Числовой идентификатор тарифа.

Число.

min_price

Стоимость подачи машины без повышающего коэффициента.

При отображении данной информации необходимо также указывать предупреждение в соответствие с условиями использования API.

price

Стоимость поездки. Если в запросе была указана только точка начала или точка конца маршрута, данный параметр будет содержать стоимость подачи машины с учетом повышающего коэффициента.

При отображении данной информации необходимо также указывать предупреждение в соответствие с условиями использования API.

Число с плавающей точкой.

price_text

Текстовое описание стоимости поездки. Включает в себя значение из поля price и валюту. Валюта в данном поле зависит от параметра lang в запросе.

Строка.

waiting_time

Время подачи машины в секундах.

Примечание

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

Число с плавающей точкой.

time

Время поездки в секундах.

Примечание

Параметр возвращается только в том случае, когда в запросе были указаны точки начала и конца маршрута.

Число с плавающей точкой.

Ответ в формате protobuf

Если запрос был отправлен с заголовком Accept: application/x-protobuf ответом будет являться сообщение TaxiInfo.

Для декодирования protobuf-ответа используйте следующее описание протокола:

message TaxiOption
{
  required double price = 1;
  required double min_price = 2;
  optional double waiting_time = 3;
  required string class_name = 4;
  required string class_text = 5;
  required int32 class_level = 6;
  required string price_text = 7;
}

message TaxiInfo
{
  repeated TaxiOption options = 1;
  required string currency = 2;
  optional double distance = 3;
  optional double time = 4;
}

Названия всех полей в protobuf-ответе будут аналогичны полям ответа в формате json.

Пример запроса для одного тарифа

GET https://taxi-routeinfo.taxi.yandex.net/taxi_info?rll=37.589569560,55.733780~37,56&clid=t...3&apikey=q...3

Ответа на данный запрос выглядит следующим образом:

{
  "currency": "RUB",
  "distance": 61529.771101536542,
  "options": [
    {
      "class_level": 50,
      "class_name": "econom",
      "class_text": "Эконом",
      "min_price": 495,
      "price": 10945,
      "price_text": "10945 руб.",
      "waiting_time": 203.98798614740372
    }
  ],
  "time": 3816.9397069215775
}

Пример запроса для нескольких тарифов

В запросе указаны тарифы «Эконом» и «Бизнес» и не указана точка назначения:

GET https://taxi-routeinfo.taxi.yandex.net/taxi_info?rll=37.589569560,55.733780&clid=t...3&apikey=q...3&class=econom,vip&req=check,yellowcarnumber

Ответ на данный запрос выглядит следующим образом:

{
  "currency": "RUB",
  "options": [
    {
      "class_level": 50,
      "class_name": "econom",
      "class_text": "Эконом",
      "min_price": 99,
      "price": 239,
      "price_text": "от 239 руб.",
      "waiting_time": 203.98798614740372
    },
    {
      "class_level": 90,
      "class_name": "vip",
      "class_text": "Бизнес",
      "min_price": 299,
      "price": 299,
      "price_text": "от 299 руб.",
      "waiting_time": 708.15764345228672
    }
  ],
  "time": 3816.9397069215775
}

Возможные коды ответа

Ответ на данный запрос может содержать следующие коды ответа:

  • 200 — запрос выполнен успешно.
  • 204 — запрашиваемый регион не поддерживается сервисом.
  • 400 — параметры запроса были не указаны или указаны некорректно.
  • 403 — ошибка авторизации. Были указаны некорректные значения ключа API или идентификатора клиента.
  • 500 — внутренняя ошибка сервера.

В случае ошибок с кодами 400 и 403 в теле ответа будет содержаться текст сообщения об ошибке.