iBusAPI

Данные и время

Источники#

ДанныеИсточникКак часто iBus обновляет
Расписание: остановки, маршруты, рейсы, календарьМинистерство транспорта, GTFSКаждую ночь, около 04:00 по Израилю; getStopsVersion меняется, когда опубликовано новое расписание
Реальное время: транспорт на подходе к остановкамМинистерство транспорта, SIRIИсточник опрашивается каждые несколько секунд; машина сообщает о себе примерно раз в 20-60 секунд
Сообщения о нарушениях движенияМинистерство транспортаПримерно каждые 5 минут

iBus обрабатывает данные (сопоставление, свежесть, названия на трёх языках). Это не официальный сервис министерства.

Расписание и реальное время - разные ответы#

Правила свежести#

Пороги приходят из getFreshnessContract (версия 1):

ПравилоЗначение
Наблюдение машины живоене старше 120 секунд
Время по старому наблюдению не показывается как времястарше 1 800 секунд (eta_hidden)
Сообщения считаются задержаннымистарше 900 секунд
Наблюдению из будущего не доверяембольше чем на 300 секунд вперёд

Возраст считается по часам сервера (server_now_utc в ответе), а не по времени вашего запроса.

Служебная дата и время после полуночи#

Служебная дата (date=YYYYMMDD) - рабочий день, к которому относится рейс. Время в расписании - строка GTFS HH:MM:SS по израильским часам этой служебной даты, и оно бывает 24:00:00 и позже: 25:04:48 в служебную дату 2026-10-21 - это 01:04:48 22 октября, а рейс всё равно относится к 21 октября.

Перевод часов. Министерство записывает время в расписании по часам и в ночи перевода (проверено 19.10.2026 на 1 534 из 1 559 ночных рейсов 25.10.2026). UTC-время, которое iBus вычисляет из расписания (gtfs_scheduled_*_utc, freshness.scheduled_arrival_utc, first_departure_utc), пока считается по правилу GTFS «полдень минус 12 часов»: для рейсов до 02:00 в день перевода (25.10.2026, 26.03.2027) оно может отличаться на час. В такие ночи опирайтесь на живые строки.

Поля времени#

Идентификаторы#

ПолеЧто это
stop_codeПубличный код остановки - число на табличке. Используйте его в путях.
stop_idВнутренний идентификатор GTFS. Не публичный код.
route_id (line_ref в реальном времени)Одно направление или вариант линии. Найти - через searchLines.
route_short_nameПубличный номер линии. Не уникален: линия 1 есть во многих городах.
agency_idПеревозчик. Названия - в listAgencies.
makatИдентификатор линии министерства, общий для её направлений.
dated_vehicle_journey_refИдентификатор рейса у источника. Это не trip_id GTFS.
gtfs_trip_idРейс GTFS - только если совпал ровно один.
vehicle_refСуточный псевдоним машины. Меняется каждые сутки UTC и никогда не равен госномеру.
direction_refНаправление у источника (1 или 2). Это не direction_id GTFS (0 или 1).

Координаты и единицы#

Языки названий#

Параметр lang выбирает язык названий остановок и направлений: en (и ru) дают английские названия из расписания министерства, ar - арабские, остальное - исходный иврит. Русских названий в источнике нет. Поля names и dest_names сразу содержат иврит, английский и арабский. Тексты сообщений публикует министерство, обычно на иврите.

Кэширование#

Каждый ответ сообщает в Cache-Control, сколько его можно хранить: реальное время и расписание - no-store, справочные данные - public от 60 секунд до часа. С заголовком Accept-Encoding: gzip ответы сжимаются: дневное расписание оживлённой остановки - около 580 КБ JSON и около 27 КБ в сжатом виде.

Руководство
↑ ↓ перейтиEnter открытьEsc закрыть