Download the PHP package visavi/rzd-api without Composer

On this page you can find all versions of the php package visavi/rzd-api. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package rzd-api

Api сайта rzd.ru

Latest Stable Version Total Downloads Latest Unstable Version License

Описание установки

Описание интерфейса пользователя

Что умеет Api

Демонстрация возможностей

Быстрый способ (Docker)

Если вы предпочитаете Github Container Registry вы можете также использовать образ ghcr.io/pavelsr/rzd-api:latest

Локальная установка

Скачайте архив, распакуйте и перейдите в директорию

Установите необходимые зависимости

И запустите встроенный веб-сервер

Пример запроса

Процесс приобретения билетов на сайте pass.rzd.ru разделен на несколько этапов

Открытая часть

Выбор маршрута - выбор поезда - выбор вагона

Закрытая часть

Этапы

Допустимые запросы через Curl (POST и GET) Для обхода защиты сайта необходимо предварительно отправить запрос для получения cookies и номера идентификатора RID (REQUEST_ID) Вторым запросом подставляем уникальный идентификатор RID и отправляем cookie

Ответы с сайта

Статус ответа содержится в переменной result RID - означает что сайт выдал нам уникальный идентификатор и куки OK - получен полный ответ с запрошенными нами данными Во всех остальных ответах Error или FAIL означает ошибку получения данных

Получение cookie

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

Пример запроса

Все запросы идут на адрес http://pass.rzd.ru/timetable/public/ru?layer_id=подкатегория&ключ=значение

Где подкатегория это

Первый запрос

https://pass.rzd.ru/timetable/public/ru?layer_id=5827&dir=0&tfl=3&checkSeats=1&code0={{code_from}}&dt0={{date}}&code1={{code_to}}&dt1={{date}}

Второй и следующие запросы

https://pass.rzd.ru/timetable/public/ru?layer_id=5827&rid={{rid}}

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

Реализованные запросы

Необходимо реализовать отдачу данных через ajax-запросы, в текущих примерах это не реализовано

trainRoutes - получает маршруты поездов, количество свободных мест, цены итд в нем в один конец

Маршруты

Принимает параметры обязательные параметр при первом запросе

Необязательные параметр при повторном запросе

Возвращает массив поездов и свободных мест

Массив поездов содержит

trainRoutesReturn - получает маршруты поездов, количество свободных мест, цены итд, туда-обратно

Поезда

Принимает параметры обязательные параметр при первом запросе

Необязательные параметр при повторном запросе

Ответы точно такие же как и в методе trainRoutes, только содержит 2 массива, в первом - туда, во-втором - обратно

trainCarriages - получает список вагонов, свободные места, схема вагона, стоимость билетов, тип и класс обслуживания

Вагоны

Необязательные параметр при повторном запросе

Возвращает следующий массив вагонов

trainStationList - получение списка всех станций в текущем маршруте движения

Станции

Пример запроса https://pass.rzd.ru/ticket/services/route/basicRoute?STRUCTURE_ID=704&trainNumber=054Г&depDate=13.03.2016

Принимает параметры Необязательные параметр при повторном запросе

Возвращает следующий массив станций

stationCode - Получение списка кодов станций

Принимает параметры

Возвращает массив найденных данных

К примеру при значении stationNamePart = 'ЧЕБ' будут возващены все станции начинающиеся на ЧЕБ (11 станций)

License

The class is open-sourced software licensed under the MIT license


All versions of rzd-api with dependencies

PHP Build Version
Package Version
Requires php Version >=8.0
ext-json Version *
ext-curl Version *
ext-mbstring Version *
guzzlehttp/guzzle Version ^7.8
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package visavi/rzd-api contains the following files

Loading the files please wait ....