API ЖД Тариф - Описание протокола обмена данными с системой расчета провозной платы на жд от Альта-Софт

Материал из Alta-Soft Wikipedia
Перейти к навигации Перейти к поиску

Описание протокола обмена данными (API) с системой расчета провозной платы на жд (жд тарифа) от Альта-Софт

Обмен данными между сервисом Альта-Софт и сторонними ресурсами осуществляется по протоколу http(s), транспорт xml.
Все запросы в системе – GET или POST.

Для всех запросов необходимо указывать обязательный параметр - api_key.
Api_key выдается клиенту после оплаты доступа к api-функционалу и имеет ограниченный период действия (6 мес или год). По окончании срока действия ключа (если не было оплачено продление) доступ к функционалу приостанавливается.

Выполнение запроса на выбор из справочника грузов ЕТСНГ и ГНГ

Запрос выбор из справочников грузов состоит из обязательного параметра type и других параметров, завясящих от type.
Для запроса необходимо выполнить GET (POST) -запрос на адрес https://www.www.alta.ru/rail_tracking/rail_trf/

Возможные значения type:

  1. type = [fre|frg] Получить список грузов ЕТСНГ (fre) или грузов ГНГ (frg) в формате XML
    index = [код или первые символы кода груза или наименование или часть наименования]
    corr = [yes|no] Указывет серверу, надо ли искать соответствие ЕТСНГ-ГНГ. По умолчанию yes.
      Пример 1: https://www.alta.ru/rail_tracking/rail_trf/?type=fre&index=011&encoding=utf-8&api_key=[вставьте ваш api_key] (получить список грузов ЕТСНГ код которых начинается на "011" и соответствующих им грузов ГНГ)
      Пример 2: https://www.alta.ru/rail_tracking/rail_trf/?type=frg&index=пшен&encoding=utf-8&corr=no&api_key[вставьте ваш api_key] (получить список грузов ГНГ наименование который содержит "пшен". НЕ чуствителен к регистру. НЕ будет выводить соответствующие грузы из справочника ЕТСНГ)

Выполнение запроса на выбор из справочника станций

Запрос выбор из справочников грузов состоит из обязательного параметра type и других параметров, завясящих от type.
Для запроса необходимо выполнить GET (POST) - запрос на адрес https://www.alta.ru/rail_tracking/rail_trf/

Возможные значения type:

  1. type = [fst|tst] Получить список станций назначения (fst) или отправления (tst) в формате XML
    index = [код или первые символы кода станции или наименование или часть наименования],
      Пример 1: https://www.alta.ru/rail_tracking/rail_trf/?type=tst&index=104&encoding=utf-8&api_key=[вставьте ваш api_key] (получить список станций назначения код которых начинается на "104")
      Пример 2: https://www.alta.ru/rail_tracking/rail_trf/?type=fst&index=моск&encoding=utf-8&api_key=[вставьте ваш api_key] (получить список станций отправления наименование который содержит "моск". НЕ чуствителен к регистру)

    По умолчанию код станций содержит 5 символов. В случае, если необходимо получить список с 6-значными кодами, необходимо в запрос включить дополнительный параметр full_code=1.

Выполнение запроса на выбор из справочника государств

Послать запрос вида:
https://www.alta.ru/rail_tracking/rail_trf/?type=states

Выполнение запроса на получение дерева отправок и перевозочных средств

  1. type = [van_tree] Получить дерево перевозочных средств.

Расчет нитки маршрута и расстояний между станциями

  • fst (обязательный) - 5-и значный код станции отправления
  • tst (обязательный) -5-и значный код станции назначения
  • route_only=1 (обязательный)
  • Пример расчета нитки маршрута Нур-Султан I (КЗХ) - Силикатная (РФ)
    https://www.alta.ru/rail_tracking/rail_trf/?type=calc&fst=69000&tst=19100&route_only=1&api_key=[вставьте ваш api_key]

Расчет ЖД Тарифа

  • fst- 5-и значный код станции отправления
  • tst -5-и значный код станции назначения
  • fre - 5-и значный код груза ЕТСНГ
  • frg - 6-и значный код груза ГНГ
  • fstate - код страны отправления (необязательный). Если не указан код страны отправления, то автоматически будет установлена РФ.
  • tstate - код страны назначения (необязательный). Если не указан код страны назначения, то автоматически будет установлена РФ.
  • num_vagons - количество вагонов в отправке (не обязателен). По умолчанию num_vagons=1
  • modular - признак сборной отправки (не обязателен). По умолчанию modular=0
  • w - вес груза в килограммах. Это параметр будет установлен у всех вагонов в отправке (если num_vagons больше одного)
    Дополнительно допускается использовать параметры w1,w2...wN для указания веса в конкретном вагоне (см. пример ниже)
  • gp - грузоподъемность в тоннах. Это параметр будет установлен у всех вагонов в отправке (если num_vagons больше одного)
    Дополнительно допускается использовать параметры gp1,gp2...gpN для указания грузоподъемности конкретного вагона (см. пример ниже)
  • empt - [0|1], default - 0. Порожняя отправка - 1, груженая - 0. При указании грузов ЕТСНГ группы "421**" обязательно устанавливать этот флаг в 1.
  • return - [0|1], default - 0. Рассчитывать возврат - 1, не рассчитывать - 0.
  • van - код вагона из дерева перевозочных средств
  • owner - [0|1] default - 0. Принадлежность перевозочного средства, 0 - общего парка, 1 - собств. (арендованный)
  • is_speed - [0|1], default = 1. Расчет перевозки большой скоростью - 1, не включать - 0. Необязательный.
  • is_cont_train - [0|1], default = 1. Расчет перевозки контейнерным поездом - 1, не включать - 0. Необязательный.
  • route - [0|1], default = 1. Включить нитку маршрута в отчет - 1, не включать - 0.
  • crimea_bridge - [0,1], default = 0, необязательный. В случае расчета тарифа на станции Крымской жд можно указать этот параметр. Crimea_bridge=1 - проезд по Крымскому мосту, 0 - проезд через паромную переправу Кавказ-Крым.
  • for_loading - [0,1], default = 0, необязательный. В случае расчета порожнего тарифа между станций Казахских жд: for_loading - 1 - под погрузку, 0 - из-под выгрузки (по умолчанию)
  • fre_empty - 5-и значный код груза ЕТСНГ под погрузку при расчете порожнего рейса по КЗХ, необязательно. По умолчанию принимается равному параметру fre.
  • calc_date - дата, на которую необходимо провести расчет. Необязательно, по умолчанию - текущая дата. Формат: дд.мм.гггг. Например, 23.09.2023.
  • Пример расчета отправки из 1 вагона: https://www.alta.ru/rail_tracking/rail_trf/?type=calc&fst=01100&tst=22022&fre=01100&frg=10019000&fstate=20&tstate=20&van=200&w=60000&gp=66&owner=0&return=0&empt=0&api_key=[вставьте ваш api_key] Пример расчета отправки из 6 вагонов, где у всех вагонов, кроме 2-ого и 4-ого вес груза составляет 60000 кг (параметр w), у 2-ого вагона 65000 кг (параметр w2), у 4-ого вагона - 68000 кг (параметр w4). Грузоподъемность у всех вагонов равна 66 тоннам (параметр gp), кроме 6-ого вагона - 70 тонн (параметр gp6): https://www.alta.ru/rail_tracking/rail_trf/?type=calc&fst=01100&tst=22022&fre=01100&frg=10019000&fstate=20&tstate=20&van=200&w=60000&gp=66&owner=0&return=0&empt=0&num_vagons=6&w2=65000&w4=68000&gp6=70&api_key=[вставьте ваш api_key]
    Пример расчета сборной отправки: https://www.alta.ru/rail_tracking/rail_trf/?&type=calc&fst=19350&tst=97040&fre=&frg=&fstate=20&tstate=20&num_vagons=1&van=200&w=0&gp=65&owner=0&return=0&empt=0&route=0&modular=1&fre1=12701&w1=4850&fre2=12101&w2=1500&fre3=12501&w3=32000&fre4=37101&w4=900&api_key=[вставьте ваш api_key]. Параметр modular=1, список грузов описывается параметрами:
    fre1...freN, frg1...frgN, w1...wN, где N - кол-во грузов в сборной отправке,
    fre1, fre2...freN - коды грузов по ЕТСНГ,
    frg1, frg2.... frgN - коды грузов по ГНГ (необязательно, если не указаны - будет подобрано соответствие ЕТСНГ-ГНГ),
    w1, w2...wN - соответствующие массы грузов в килограммах

Получение информации о ключе (срок действия, оставшийся объем запросов)

https://www.alta.ru/rail_tracking/rail_trf/?type=key_info&api_key=[вставьте ваш api_key]

Ссылки на примеры

Протестировать все вышеописанные примеры можно на странице:
http://www.alta.ru/rail_tracking/rail_trf/example.php


Пример работы полнофункциональной страницы по выбору из справочников и расчету жд тарифа:
http://www.alta.ru/rail_tracking/rail_trf/demo.php