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 в теле ответа будет содержаться текст сообщения об ошибке.