bugrov / yandex-schedule
PHP SDK Яндекс.Расписаний
Installs: 9
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 2
Open Issues: 0
pkg:composer/bugrov/yandex-schedule
Requires
- php: >=7.4
- guzzlehttp/guzzle: 7.0
Requires (Dev)
- symfony/var-dumper: ^5.4
This package is auto-updated.
Last update: 2025-12-10 19:29:30 UTC
README
Установка
Поддерживается установка с помощью менеджера пакетов.
$ composer require bugrov/yandex-schedule dev-main
Или
$ php composer.phar require bugrov/yandex-schedule dev-main
Как подключиться к Яндекс.Расписаниям
Перед использованием доступных методов вызываем метод setApiKey, передав в него API-ключ
\BugrovWeb\YandexSchedule\Transport::setApiKey('your-api-key');
Настройка и получение параметров
Метод setApiKey
Устанавливает ключ для доступа к API Яндекс станций
public static function setApiKey(string $apiKey)
$apiKey - ключ API (подробнее о его получении тут)
Пример использования
\BugrovWeb\YandexSchedule\Transport::setApiKey('your-api-key');
Метод getApiKey
Получает ранее установленный ключ API
public static function getApiKey()
Пример использования
echo \BugrovWeb\YandexSchedule\Transport::getApiKey();
Метод setFormat
Устанавливает формат возвращаемых данных
public static function setFormat(string $format)
$format - формат возвращаеммых данных. Допустимые значения - json, xml
Пример использования
\BugrovWeb\YandexSchedule\Transport::setFormat('xml');
Метод getFormat
Получает ранее установленный формат данных
public static function getFormat()
Пример использования
echo \BugrovWeb\YandexSchedule\Transport::getFormat();
Метод setLang
Устанавливает язык возвращаемой информации
public static function setLang(string $lang)
$lang - код языка в формате <код языка>_<код страны>. Доступные значения - ru_RU и uk_UA
Пример использования
\BugrovWeb\YandexSchedule\Transport::setLang('ru_RU');
Метод getLang
Получает ранее установленный язык возвращаемой информации
public static function getLang()
Пример использования
echo \BugrovWeb\YandexSchedule\Transport::getLang();
Работа с Яндекс.Расписанием
Метод getScheduleBetweenStations
Получает список рейсов, следующих от указанной станции отправления к указанной станции прибытия и информацию по каждому рейсу
public static function getScheduleBetweenStations(string $from, string $to, string $system = Transport::SYSTEM_TYPE_YANDEX, string $showSystems = Transport::SYSTEM_TYPE_YANDEX, string $date = null, string $transportTypes = null, int $offset = 0, int $limit = 100, bool $addDaysMask = false, bool $transfers = false)
$from- Код станции отправления. Должен быть указан в системе кодирования$to- Код станции прибытия. Должен быть указан в системе кодирования$system- Система кодирования, в которой указывается код станции отправления и код станции прибытия (параметры from, to) в запросе. Возможные значения:yandexлибоTransport::SYSTEM_TYPE_YANDEX(значение по умолчанию)iataлибоTransport::SYSTEM_TYPE_IATAsirenaлибоTransport::SYSTEM_TYPE_SIRENAexpressлибоTransport::SYSTEM_TYPE_EXPRESSesrлибоTransport::SYSTEM_TYPE_ESR
$showSystems- Система кодирования, коды которой следует добавить к описанию станций в результатах поиска (элемент codes, вложенный в элементы from и to). Поддерживаемые значения:yandexлибоTransport::SYSTEM_TYPE_YANDEX(значение по умолчанию)esrлибоTransport::SYSTEM_TYPE_ESR
$date- Дата, на которую необходимо получить список рейсов. Необязательное$transportTypes- Тип транспортного средства. Необязательное. Возможные значения:planeлибоTransport::TRANSPORT_TYPE_PLANEtrainлибоTransport::TRANSPORT_TYPE_TRAINsuburbanлибоTransport::TRANSPORT_TYPE_SUBURBANbusлибоTransport::TRANSPORT_TYPE_BUSwaterлибоTransport::TRANSPORT_TYPE_WATERhelicopterлибоTransport::TRANSPORT_TYPE_HELICOPTER
$offset- Смещение относительно первого результата поиска. По умолчанию 0$limit- Максимальное количество результатов поиска в ответе. По умолчанию 100$addDaysMask- Признак, который указывает, что для каждой нитки в ответе следует вернуть календарь хождения — элемент schedule, вложенный в элемент segments. Поддерживаемые значения:false- календарь возвращать не нужно (значение по умолчанию)true- для каждой нитки следует вернуть календарь хождения
$transfers- Признак, разрешающий добавить к результатам поиска маршруты с пересадками. Поддерживаемые значения:false- в результатах поиска не должно быть маршрутов с пересадками (значение по умолчанию)true- найденные маршруты с пересадками следует добавить к результатам поиска
Пример использования
Transport::setApiKey('your-api-key'); $res = Transport::getScheduleBetweenStations('c146', 'c213');
Метод getScheduleOfFlightsByStation
Получает список рейсов, отправляющихся от указанной станции и информацию по каждому рейсу
public static function getScheduleOfFlightsByStation(string $station, string $system = Transport::SYSTEM_TYPE_YANDEX, string $showSystems = Transport::SYSTEM_TYPE_YANDEX, string $date = null, string $transportTypes = null, string $direction = null, string $event = Transport::EVENT_TYPE_DEPARTURE)
$station- Код станции. Должен быть указан в системе кодирования$system- Система кодирования, в которой указывается код станции (параметр station) в запросе. Возможные значения:yandexлибоTransport::SYSTEM_TYPE_YANDEX(значение по умолчанию)iataлибоTransport::SYSTEM_TYPE_IATAsirenaлибоTransport::SYSTEM_TYPE_SIRENAexpressлибоTransport::SYSTEM_TYPE_EXPRESSesrлибоTransport::SYSTEM_TYPE_ESR
$showSystems- Система кодирования, в которой необходимо получить коды станций (в элементе ответа codes, вложенном в элемент station). Возможные значения:yandexлибоTransport::SYSTEM_TYPE_YANDEX(значение по умолчанию)esrлибоTransport::SYSTEM_TYPE_ESRallлибоTransport::SYSTEM_TYPE_ALL
$date- Дата, на которую необходимо получить список рейсов. Необязательное$transportTypes- Тип транспортного средства. Необязательное. Возможные значения:planeлибоTransport::TRANSPORT_TYPE_PLANEtrainлибоTransport::TRANSPORT_TYPE_TRAINsuburbanлибоTransport::TRANSPORT_TYPE_SUBURBANbusлибоTransport::TRANSPORT_TYPE_BUSwaterлибоTransport::TRANSPORT_TYPE_WATERhelicopterлибоTransport::TRANSPORT_TYPE_HELICOPTER
$direction- Код направления, по которому необходимо получить список рейсов электричек по станции (например, «arrival», «all» или «на Москву»)$event- Событие, для которого нужно отфильтровать нитки в расписании. Поддерживаемые значения:departureлибоTransport::EVENT_TYPE_DEPARTURE(по умолчанию)arrivalлибоTransport::EVENT_TYPE_ARRIVAL
Пример использования
Transport::setApiKey('your-api-key'); $res = Transport::getScheduleOfFlightsByStation('s9600213');
Метод getListOfStations
Получает список станций следования нитки по указанному идентификатору нитки, информацию о каждой нитке и о промежуточных станциях нитки
public static function getListOfStations(string $uid, string $showSystems = null, string $date = null, string $from = null, string $to = null)
$uid- Идентификатор нитки в Яндекс.Расписаниях$showSystems- Система кодирования, в которой необходимо получить коды станций (в элементе ответа codes, вложенном в элемент station). Необязательное. Возможные значения:yandexлибоTransport::SYSTEM_TYPE_YANDEXesrлибоTransport::SYSTEM_TYPE_ESRallлибоTransport::SYSTEM_TYPE_ALL
$date- Дата, на которую необходимо получить список рейсов. Необязательное$from- Код станции отправления. Должен быть указан в системе кодирования$to- Код станции прибытия. Должен быть указан в системе кодирования
Пример использования
Transport::setApiKey('your-api-key'); $res = Transport::getListOfStations('932X_1_2');
Метод getListOfNearestStations
Получает список станций, находящихся в указанном радиусе от указанной точки. Максимальное количество возвращаемых станций — 50
public static function getListOfNearestStations(string $lat, string $lng, int $distance, int $offset = 0, int $limit = 100, string $stationTypes = null, string $transportTypes = null)
$lat- Широта$lng- Долгота$distance- Радиус, в котором следует искать станции, в километрах$offset- Смещение относительно первого результата поиска. По умолчанию 0$limit- Максимальное количество результатов поиска в ответе. По умолчанию 100$stationTypes- Типы запрашиваемых станций (несколько типов можно перечислить через запятую). Необязательное. Поддерживаемые значения:station- станцияplatform- платформаstop- остановочный пунктcheckpoint- блок-постpost- постcrossing- разъездovertaking_point- обгонный пунктtrain_station- вокзалairport- аэропортbus_station- автовокзалbus_stop- автобусная остановкаunknown- станция без типаport- портport_point- портпунктwharf- пристаньriver_port- речной вокзалmarine_station- морской вокзал
$transportTypes- Типы транспортного средства, для которых нужно искать станции. Несколько типов одновременно можно указать через запятую, например, plane,train,bus. Необязательное. Поддерживаемые значения:planeлибоTransport::TRANSPORT_TYPE_PLANEtrainлибоTransport::TRANSPORT_TYPE_TRAINsuburbanлибоTransport::TRANSPORT_TYPE_SUBURBANseaлибоTransport::TRANSPORT_TYPE_SEAriverлибоTransport::TRANSPORT_TYPE_RIVERhelicopterлибоTransport::TRANSPORT_TYPE_HELICOPTER
Пример использования
Transport::setApiKey('your-api-key'); $res = Transport::getListOfNearestStations('50.440046', '40.4882367', 50);
Метод getNearestCity
Получает информацию о ближайшем к указанной точке городе
public static function getNearestCity(string $lat, string $lng, int $distance = 10)
$lat- Широта$lng- Долгота$distance- Радиус, в котором следует искать ближайший город, в километрах (по умолчанию 10)
Пример использования
Transport::setApiKey('your-api-key'); $res = Transport::getNearestCity('50.440046', '40.4882367', 50);
Метод getCarrierInfo
Получает информацию о перевозчике по указанному коду перевозчика
public static function getCarrierInfo(string $code, string $system = Transport::SYSTEM_TYPE_YANDEX)
$code- Код перевозчика$system- Система кодирования, в которой указывается код перевозчика (параметр code) в запросе. Возможные значения:yandexлибоTransport::SYSTEM_TYPE_YANDEX(значение по умолчанию)iataлибоTransport::SYSTEM_TYPE_IATAsirenaлибоTransport::SYSTEM_TYPE_SIRENAexpressлибоTransport::SYSTEM_TYPE_EXPRESSesrлибоTransport::SYSTEM_TYPE_ESR
Пример использования
Transport::setApiKey('your-api-key'); $res = Transport::getCarrierInfo('TK', Transport::SYSTEM_TYPE_IATA);
Метод getAllAvailableStations
Получает полный список станций, информацию о которых предоставляют Яндекс.Расписания
public static function getAllAvailableStations()
Пример использования
Transport::setApiKey('your-api-key'); $res = Transport::getAllAvailableStations();
Метод getCopyright
Получает данные о Яндекс.Расписаниях: URL сервиса, баннер в различных цветовых представлениях и уведомительный текст
public static function getCopyright()
Пример использования
Transport::setApiKey('your-api-key'); $res = Transport::getCopyright();