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

Материал из Alta-Soft Wikipedia
Перейти к навигации Перейти к поиску
(Описание протокола обмена данными (API) с системой расчета провозной платы на жд (жд тарифа) от Альта-Софт)
Строка 1: Строка 1:
== Описание протокола обмена данными (API) с системой расчета провозной платы на жд (жд тарифа) от Альта-Софт ==
+
==Описание протокола обмена данными (API) с системой расчета провозной платы на жд (жд тарифа) от Альта-Софт==
  
<b>Обмен данными между сервисом Альта-Софт и сторонними ресурсами осуществляется по протоколу http, транспорт xml. <br/>
+
<b>Обмен данными между сервисом Альта-Софт и сторонними ресурсами осуществляется по протоколу http, транспорт xml. <br />
Все запросы в системе – GET. </b>
+
Все запросы в системе – GET или POST. </b>
<br/>
+
<br />
 
<b style="color:red">
 
<b style="color:red">
Для всех запросов необходимо указывать обязательный параметр - api_key. <br/>
+
Для всех запросов необходимо указывать обязательный параметр - api_key. <br />
 
Api_key выдается клиенту после оплаты доступа к api-функционалу и имеет ограниченный период действия (6 мес или год).
 
Api_key выдается клиенту после оплаты доступа к api-функционалу и имеет ограниченный период действия (6 мес или год).
 
По окончании срока действия ключа (если не было оплачено продление) доступ к функционалу приостанавливается.
 
По окончании срока действия ключа (если не было оплачено продление) доступ к функционалу приостанавливается.
 
</b>
 
</b>
<br/>
+
<br />
  
=== Выполнение запроса на выбор из справочника грузов ЕТСНГ и ГНГ ===
+
===Выполнение запроса на выбор из справочника грузов ЕТСНГ и ГНГ===
  
 
Запрос выбор из справочников грузов состоит из обязательного параметра type и других параметров, завясящих от type.
 
Запрос выбор из справочников грузов состоит из обязательного параметра type и других параметров, завясящих от type.
<br/>
+
<br />
Для запроса необходимо выполнить GET-запрос на адрес https://alta.ru/rail_tracking/rail_trf/
+
Для запроса необходимо выполнить GET (POST) -запрос на адрес https://alta.ru/rail_tracking/rail_trf/
  
 
<strong>Возможные значения type:</strong>
 
<strong>Возможные значения type:</strong>
Строка 21: Строка 21:
 
   <li><strong>type = [fre|frg]</strong> Получить список грузов ЕТСНГ (fre) или грузов ГНГ (frg) в формате XML<br />
 
   <li><strong>type = [fre|frg]</strong> Получить список грузов ЕТСНГ (fre) или грузов ГНГ (frg) в формате XML<br />
 
     index = [код или первые символы кода  груза или наименование или часть наименования]  
 
     index = [код или первые символы кода  груза или наименование или часть наименования]  
      <br />
+
    <br />
      corr = [yes|no] Указывет серверу, надо ли искать соответствие ЕТСНГ-ГНГ. По умолчанию yes.<br />
+
    corr = [yes|no] Указывет серверу, надо ли искать соответствие ЕТСНГ-ГНГ. По умолчанию yes.<br />
    <strong>&nbsp; Пример 1:</strong> https://alta.ru/rail_tracking/rail_trf/?type=fre&amp;index=011&amp;encoding=utf-8&api_key=[вставьте ваш api_key] (получить список грузов ЕТСНГ код которых начинается на &quot;011&quot; и соответствующих им грузов ГНГ)<br />
+
  <strong>&nbsp; Пример 1:</strong> https://alta.ru/rail_tracking/rail_trf/?type=fre&amp;index=011&amp;encoding=utf-8&api_key=[вставьте ваш api_key] (получить список грузов ЕТСНГ код которых начинается на &quot;011&quot; и соответствующих им грузов ГНГ)<br />
    <strong>&nbsp; Пример 2:</strong> https://alta.ru/rail_tracking/rail_trf/?type=frg&amp;index=пшен&amp;encoding=utf-8&amp;corr=no&api_key[вставьте ваш api_key] (получить список грузов ГНГ наименование который содержит &quot;пшен&quot;. НЕ чуствителен к регистру. НЕ будет выводить соответствующие грузы из справочника ЕТСНГ) <br />
+
  <strong>&nbsp; Пример 2:</strong> https://alta.ru/rail_tracking/rail_trf/?type=frg&amp;index=пшен&amp;encoding=utf-8&amp;corr=no&api_key[вставьте ваш api_key] (получить список грузов ГНГ наименование который содержит &quot;пшен&quot;. НЕ чуствителен к регистру. НЕ будет выводить соответствующие грузы из справочника ЕТСНГ) <br />
    <br />
+
  <br />
 
   </li>
 
   </li>
 
</ol>
 
</ol>
  
=== Выполнение запроса на выбор из справочника станций ===
+
===Выполнение запроса на выбор из справочника станций===
  
 
Запрос выбор из справочников грузов состоит из обязательного параметра type и других параметров, завясящих от type.
 
Запрос выбор из справочников грузов состоит из обязательного параметра type и других параметров, завясящих от type.
<br/>
+
<br />
Для запроса необходимо выполнить GET-запрос на адрес https://alta.ru/rail_tracking/rail_trf/
+
Для запроса необходимо выполнить GET (POST) - запрос на адрес https://alta.ru/rail_tracking/rail_trf/
  
 
<strong>Возможные значения type:</strong>
 
<strong>Возможные значения type:</strong>
Строка 39: Строка 39:
 
   <li><strong>type&nbsp;= [fst|tst]</strong> Получить список станций назначения (fst) или отправления (tst) в формате XML<br />
 
   <li><strong>type&nbsp;= [fst|tst]</strong> Получить список станций назначения (fst) или отправления (tst) в формате XML<br />
 
     index = [код или первые символы кода станции или наименование или часть наименования], <br />
 
     index = [код или первые символы кода станции или наименование или часть наименования], <br />
    <strong>&nbsp; Пример 1:</strong> https://alta.ru/rail_tracking/rail_trf/?type=tst&amp;index=104&amp;encoding=utf-8&api_key=[вставьте ваш api_key] (получить список станций назначения код которых начинается на &quot;104&quot;)<br />
+
  <strong>&nbsp; Пример 1:</strong> https://alta.ru/rail_tracking/rail_trf/?type=tst&amp;index=104&amp;encoding=utf-8&api_key=[вставьте ваш api_key] (получить список станций назначения код которых начинается на &quot;104&quot;)<br />
  <strong>&nbsp; Пример 2:</strong> https://alta.ru/rail_tracking/rail_trf/?type=fst&amp;index=моск&amp;encoding=utf-8&api_key=[вставьте ваш api_key] (получить список станций отправления наименование который содержит &quot;моск&quot;. НЕ чуствителен к регистру) <br />
+
<strong>&nbsp; Пример 2:</strong> https://alta.ru/rail_tracking/rail_trf/?type=fst&amp;index=моск&amp;encoding=utf-8&api_key=[вставьте ваш api_key] (получить список станций отправления наименование который содержит &quot;моск&quot;. НЕ чуствителен к регистру) <br />
  <br />
+
<br />
 
   </li>
 
   </li>
 
</ol>
 
</ol>
  
=== Выполнение запроса на выбор из справочника государств ===
+
===Выполнение запроса на выбор из справочника государств===
  
Послать запрос вида: <br/>
+
Послать запрос вида: <br />
 
https://alta.ru/rail_tracking/rail_trf/?type=states
 
https://alta.ru/rail_tracking/rail_trf/?type=states
  
=== Выполнение запроса на получение дерева отправок и перевозочных средств ===  
+
===Выполнение запроса на получение дерева отправок и перевозочных средств===  
  
 
<ol>
 
<ol>
Строка 58: Строка 58:
 
       <li>kind = html (дерево пс в виде html-тегов ul-li для удобного отображения с использованием плагина jQuery - Treeview)<br />
 
       <li>kind = html (дерево пс в виде html-тегов ul-li для удобного отображения с использованием плагина jQuery - Treeview)<br />
 
         <strong>Пример</strong>: https://alta.ru/rail_tracking/rail_trf/?type=van_tree&amp;kind=ul&amp;encoding=utf-8<br />
 
         <strong>Пример</strong>: https://alta.ru/rail_tracking/rail_trf/?type=van_tree&amp;kind=ul&amp;encoding=utf-8<br />
        <br />
+
      <br />
 
       </li>
 
       </li>
 
     </ul>
 
     </ul>
Строка 64: Строка 64:
 
</ol>  
 
</ol>  
  
== Расчет ЖД Тарифа ==
+
==Расчет ЖД Тарифа==
  
 
<ul>
 
<ul>
Строка 75: Строка 75:
 
       <li>num_vagons - количество вагонов в отправке (не обязателен). По умолчанию num_vagons=1</li>
 
       <li>num_vagons - количество вагонов в отправке (не обязателен). По умолчанию num_vagons=1</li>
 
       <li>modular - признак сборной отправки (не обязателен). По умолчанию modular=0</li>
 
       <li>modular - признак сборной отправки (не обязателен). По умолчанию modular=0</li>
       <li>w - вес груза в килограммах. Это параметр будет установлен у всех вагонов в отправке (если num_vagons больше одного)<br/>  
+
       <li>w - вес груза в килограммах. Это параметр будет установлен у всех вагонов в отправке (если num_vagons больше одного)<br />  
 
  Дополнительно допускается использовать параметры w1,w2...wN для указания веса в конкретном вагоне (см. пример ниже)</li>
 
  Дополнительно допускается использовать параметры w1,w2...wN для указания веса в конкретном вагоне (см. пример ниже)</li>
       <li>gp - грузоподъемность в тоннах. Это параметр будет установлен у всех вагонов в отправке (если num_vagons больше одного)<br/>  
+
       <li>gp - грузоподъемность в тоннах. Это параметр будет установлен у всех вагонов в отправке (если num_vagons больше одного)<br />  
  Дополнительно допускается использовать параметры gp1,gp2...gpN для указания грузоподъемности конкретного вагона (см. пример ниже)</li></li>
+
  Дополнительно допускается использовать параметры gp1,gp2...gpN для указания грузоподъемности конкретного вагона (см. пример ниже)</li>
 
       <li>empt - [0|1], default - 0. Порожняя отправка - 1, груженая - 0.</li>
 
       <li>empt - [0|1], default - 0. Порожняя отправка - 1, груженая - 0.</li>
 
       <li>return - [0|1], default - 0. Рассчитывать возврат - 1, не рассчитывать - 0.</li>
 
       <li>return - [0|1], default - 0. Рассчитывать возврат - 1, не рассчитывать - 0.</li>
Строка 85: Строка 85:
 
       <li>route - [0|1], default = 1. Включить нитку маршрута в отчет - 1, не включать - 0.<br />
 
       <li>route - [0|1], default = 1. Включить нитку маршрута в отчет - 1, не включать - 0.<br />
 
         <strong>Пример расчета отправки из 1 вагона</strong>: https://alta.ru/rail_tracking/rail_trf/?type=calc&amp;fst=01100&amp;tst=22022&amp;fre=01100&amp;frg=10019000&amp;fstate=20&amp;tstate=20&amp;van=200&amp;w=60000&amp;gp=66&amp;owner=0&amp;return=0&amp;empt=0&api_key=[вставьте ваш api_key]</li>
 
         <strong>Пример расчета отправки из 1 вагона</strong>: https://alta.ru/rail_tracking/rail_trf/?type=calc&amp;fst=01100&amp;tst=22022&amp;fre=01100&amp;frg=10019000&amp;fstate=20&amp;tstate=20&amp;van=200&amp;w=60000&amp;gp=66&amp;owner=0&amp;return=0&amp;empt=0&api_key=[вставьте ваш api_key]</li>
<strong>Пример расчета отправки из 6 вагонов</strong>, где у всех вагонов, кроме 2-ого и 4-ого вес груза составляет 60000 кг (параметр w), у 2-ого вагона 65000 кг (параметр w2), у 4-ого вагона - 68000 кг (параметр w4). Грузоподъемность у всех вагонов равна 66 тоннам (параметр gp), кроме 6-ого вагона - 70 тонн (параметр gp6): https://alta.ru/rail_tracking/rail_trf/?type=calc&amp;fst=01100&amp;tst=22022&amp;fre=01100&amp;frg=10019000&amp;fstate=20&amp;tstate=20&amp;van=200&amp;w=60000&amp;gp=66&amp;owner=0&amp;return=0&amp;empt=0&num_vagons=6&w2=65000&w4=68000&gp6=70&api_key=[вставьте ваш api_key]</li>
+
<strong>Пример расчета отправки из 6 вагонов</strong>, где у всех вагонов, кроме 2-ого и 4-ого вес груза составляет 60000 кг (параметр w), у 2-ого вагона 65000 кг (параметр w2), у 4-ого вагона - 68000 кг (параметр w4). Грузоподъемность у всех вагонов равна 66 тоннам (параметр gp), кроме 6-ого вагона - 70 тонн (параметр gp6): https://alta.ru/rail_tracking/rail_trf/?type=calc&amp;fst=01100&amp;tst=22022&amp;fre=01100&amp;frg=10019000&amp;fstate=20&amp;tstate=20&amp;van=200&amp;w=60000&amp;gp=66&amp;owner=0&amp;return=0&amp;empt=0&num_vagons=6&w2=65000&w4=68000&gp6=70&api_key=[вставьте ваш api_key]
   <br/>
+
   <br />
  
 
   <strong>Пример расчета сборной отправки</strong>:
 
   <strong>Пример расчета сборной отправки</strong>:
https://alta.ru/rail_tracking/rail_trf/?file=index.php&file=rail.xml&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, список грузов описывается параметрами: <br/>
+
https://alta.ru/rail_tracking/rail_trf/?file=index.php&file=rail.xml&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, список грузов описывается параметрами: <br />
  fre1...freN, frg1...frgN, w1...wN, где N - кол-во грузов в сборной отправке, <br/>
+
  fre1...freN, frg1...frgN, w1...wN, где N - кол-во грузов в сборной отправке, <br />
fre1, fre2...freN - коды грузов по ЕТСНГ, <br/>
+
fre1, fre2...freN - коды грузов по ЕТСНГ, <br />
frg1, frg2.... frgN - коды грузов по ГНГ (необязательно, если не указаны - будет подобрано соответствие ЕТСНГ-ГНГ), <br/>
+
frg1, frg2.... frgN - коды грузов по ГНГ (необязательно, если не указаны - будет подобрано соответствие ЕТСНГ-ГНГ), <br />
w1, w2...wN - соответствующие массы грузов в килограммах
+
w1, w2...wN - соответствующие массы грузов в килограммах
 
  </ul>
 
  </ul>
  
== Ссылки на примеры ==  
+
==Ссылки на примеры==  
 
   
 
   
Протестировать все вышеописанные примеры можно на странице:<br/>
+
Протестировать все вышеописанные примеры можно на странице:<br />
 
http://alta.ru/rail_tracking/rail_trf/example.php
 
http://alta.ru/rail_tracking/rail_trf/example.php
  
<br/>
+
<br />
Пример работы полнофункциональной страницы по выбору из справочников и расчету жд тарифа:<br/>
+
Пример работы полнофункциональной страницы по выбору из справочников и расчету жд тарифа:<br />
 
http://alta.ru/rail_tracking/rail_trf/demo.php
 
http://alta.ru/rail_tracking/rail_trf/demo.php

Версия 12:07, 21 мая 2020

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 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.
  • return - [0|1], default - 0. Рассчитывать возврат - 1, не рассчитывать - 0.
  • van - код вагона из дерева перевозочных средств
  • owner - [0|1] default - 0. Принадлежность перевозочного средства, 0 - общего парка, 1 - собств. (арендованный)
  • route - [0|1], default = 1. Включить нитку маршрута в отчет - 1, не включать - 0.
    Пример расчета отправки из 1 вагона: https://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://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://alta.ru/rail_tracking/rail_trf/?file=index.php&file=rail.xml&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 - соответствующие массы грузов в килограммах

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

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


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