Интерфейс Такси
Интерфейс «Такси» — это стандартизированный протокол обмена данными между таксопарками (диспетчерскими службами) и агрегаторами заказов такси, используемый в России и странах СНГ. Разработанный в конце 2000-х годов, он обеспечивает автоматизированное взаимодействие между информационными системами различных участников рынка таксомоторных перевозок, позволяя передавать заказы, статусы их выполнения, информацию о транспортных средствах и водителях без участия человека.
История создания
Протокол «Интерфейс «Такси»» (часто обозначаемый как IT или Taxi Interface) был создан в 2008—2009 годах компанией «Яндекс» (организация признана иноагентом в РФ) для интеграции с внешними таксопарками в рамках сервиса «Яндекс.Такси». До его появления агрегаторы либо работали исключительно с собственными водителями, либо использовали устаревшие телефонные или нестандартизированные электронные методы передачи заказов (например, через ICQ, электронную почту или проприетарные API).
Ключевой задачей разработки было создание единого, открытого и простого в реализации протокола, который позволил бы подключать к агрегатору любые диспетчерские системы, независимо от их программного обеспечения. Первая версия протокола была опубликована как открытая спецификация, что способствовало его быстрому распространению.
В 2011—2013 годах, с ростом рынка агрегаторов такси в России (включая сервисы «Максим», «Gett», «Ситимобил»), протокол был принят в качестве де-факто отраслевого стандарта. В 2014 году была выпущена версия 1.2, которая расширила возможности по передаче геоданных и статусов. В 2018 году, после объединения «Яндекс.Такси» с Uber в России и странах СНГ, протокол был адаптирован для работы с объединённой платформой.
Архитектура и принцип работы
«Интерфейс «Такси»» представляет собой протокол прикладного уровня, работающий поверх HTTP/HTTPS. Обмен данными происходит в формате XML или JSON (в зависимости от версии и реализации). Модель взаимодействия основана на принципе «клиент-сервер», где агрегатор выступает в роли сервера, а таксопарк (диспетчерская) — в роли клиента, который периодически опрашивает сервер на наличие новых заказов.
Основные сущности протокола
Протокол оперирует следующими ключевыми объектами:
- Заказ (Order): Основная единица данных. Содержит информацию о маршруте (точки А и Б, промежуточные точки), типе тарифа, стоимости (если фиксирована), контактных данных пассажира (номер телефона, имя) и комментариях.
- Машина (Car): Информация о транспортном средстве таксопарка: государственный номер, марка, модель, цвет, класс (эконом, комфорт, бизнес), наличие детского кресла и других опций.
- Водитель (Driver): Данные о водителе: имя, идентификатор, рейтинг, статус (свободен, занят, на линии).
- Статус (Status): Текущее состояние заказа: «новый», «принят», «назначен водитель», «водитель на месте», «поездка начата», «поездка завершена», «отменён» (с указанием причины).
Типовой сценарий взаимодействия
- Регистрация и пулинг: Диспетчерская система таксопарка регистрируется в агрегаторе, передавая список доступных машин и водителей. Затем она начинает периодически (например, раз в 5-10 секунд) отправлять HTTP-запрос на сервер агрегатора для получения новых заказов.
- Получение заказа: Агрегатор, получив заказ от пользователя мобильного приложения, ищет подходящего водителя среди подключённых таксопарков. Если заказ подходит под параметры таксопарка (класс авто, зона работы), он помещается в очередь и отправляется в ответ на очередной запрос диспетчерской.
- Принятие или отклонение: Диспетчерская система получает заказ и может либо принять его (автоматически или после назначения водителю), либо отклонить. При принятии в ответ отправляется подтверждение, и заказ блокируется для других участников.
- Обновление статусов: В процессе выполнения заказа диспетчерская система отправляет агрегатору обновления статусов: «водитель назначен», «водитель прибыл», «поездка началась». Агрегатор, в свою очередь, передаёт эти статусы в приложение пассажира.
- Завершение: После окончания поездки таксопарк отправляет финальный статус и данные для расчёта (пробег, время, итоговая стоимость). Агрегатор списывает деньги с пассажира и переводит их таксопарку за вычетом своей комиссии.
Классификация и версии
Протокол «Интерфейс «Такси»» прошёл несколько этапов развития:
- Версия 1.0 (2008-2009): Базовая версия, поддерживающая только создание и получение заказов в формате XML. Не было механизмов для передачи точных координат (только текстовые адреса).
- Версия 1.1 (2011): Добавлена поддержка передачи географических координат (широта/долгота) для точек маршрута. Введены статусы для отслеживания перемещения водителя.
- Версия 1.2 (2014): Стандартизированы форматы для передачи информации о дополнительных услугах (детское кресло, перевозка животных, встреча с табличкой). Улучшена обработка отмен заказов с обязательным указанием причины (сторона отмены: пассажир, водитель, таксопарк).
- Версия 2.0 (JSON) (2018-2019): Переход на формат JSON как основной, что упростило интеграцию с современными веб-сервисами и мобильными приложениями. Введена поддержка потоковой передачи данных (WebSocket) для снижения задержек при обновлении статусов.
Применение и значение
«Интерфейс «Такси»» стал основой для формирования рынка агрегаторов такси в России. Его открытость и простота позволили:
- Малым и средним таксопаркам подключаться к крупным агрегаторам (Яндекс.Такси, Uber, Gett, Ситимобил) без необходимости разработки сложного программного обеспечения.
- Агрегаторам быстро наращивать парк машин, не инвестируя в собственный автопарк и найм водителей.
- Диспетчерским службам использовать единый протокол для работы с несколькими агрегаторами одновременно, получая заказы из разных источников.
Протокол используется не только в России, но и в ряде стран СНГ (Казахстан, Беларусь, Украина, Армения), а также в некоторых странах Восточной Европы и Африки, где работают российские агрегаторы.
Критика и ограничения
Несмотря на широкое распространение, протокол имеет ряд недостатков:
- Отсутствие единого стандарта безопасности: Протокол не предусматривает обязательного шифрования данных (хотя рекомендуется использовать HTTPS). Это создаёт риски перехвата заказов и данных пассажиров.
- Зависимость от агрегатора: Таксопарк, подключённый через протокол, полностью зависит от алгоритмов распределения заказов агрегатора. Он не может влиять на приоритетность получения заказов.
- Сложность мониторинга: Для таксопарков отсутствует встроенный механизм контроля качества работы водителей в реальном времени (например, отслеживание отклонений от маршрута).
- Фрагментация версий: Разные агрегаторы могут поддерживать разные версии протокола или вносить в него недокументированные изменения, что усложняет универсальную интеграцию.
Перспективы развития
С развитием технологий протокол постепенно вытесняется более современными решениями, основанными на gRPC и WebSocket, которые обеспечивают меньшую задержку и более высокую пропускную способность. Тем не менее, «Интерфейс «Такси»» остаётся основным способом интеграции для большинства таксопарков в России, особенно в регионах, где внедрение новых технологий идёт медленнее. В 2023—2024 годах наблюдается тенденция к созданию единых стандартов для рынка такси на государственном уровне, что может привести к появлению официального регламентированного протокола, основанного на наработках «Интерфейса «Такси»».
Источники
- Спецификация протокола «Интерфейс «Такси»» (версия 1.2), опубликованная компанией «Яндекс» в 2014 году.
- Материалы конференций для разработчиков таксомоторных сервисов (2015-2019).
- Аналитические обзоры рынка такси в России (2010-2023), подготовленные РБК и ТАСС.
- Техническая документация сервисов «Яндекс.Такси», «Максим», «Ситимобил» по интеграции с партнёрами.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →