API для получения кода ГНГ и ЕТСНГ по коду ТН ВЭД: различия между версиями

Материал из Alta-Soft Wikipedia
Перейти к навигации Перейти к поиску
(Новая страница: «==О сервисе== JSON-API сервиса «Поиск вагонов» позволяет интегрировать возможности сервиса в…»)
 
 
(не показано 13 промежуточных версий этого же участника)
Строка 1: Строка 1:
 
==О сервисе==
 
==О сервисе==
JSON-API сервиса «Поиск вагонов» позволяет интегрировать возможности сервиса в сторонние программы и сайты.
+
API сервиса получения кодов ГНГ/ЕТСНГ по коду (и/или наименованию) ТН ВЭД позволяет интегрировать возможности сервиса в сторонние программы и сайты.
Посредством данного API можно ставить и снимать вагоны и контейнеры на слежение по СНГ, странам Балтии, Монголии и Китаю.
+
Посредством данного API можно получить список кодов ГНГ/ЕТСНГ, наиболее подходящих заданному коду (наименованию) ТН ВЭД.
 
Сам интерфейс предоставляется бесплатно, тарифицируются только запросы, выполненные с его помощью согласно расценкам, опубликованным на сайте "Альта-Софт".
 
Сам интерфейс предоставляется бесплатно, тарифицируются только запросы, выполненные с его помощью согласно расценкам, опубликованным на сайте "Альта-Софт".
  
 
==API. Авторизация. Метод "test_secret". ==
 
==API. Авторизация. Метод "test_secret". ==
Доступ к API предоставляется по URL https://www.alta.ru/rail_tracking/api_v2.php.  Входные параметры передаются с помощью запроса HTTP GET или POST. Для использования сервиса необходима авторизация с помощью сервисного логина и пароля.
+
Доступ к API предоставляется по URL https://www.alta.ru/rail_tracking/api_v2.php.  Входные параметры передаются с помощью запроса HTTP GET. Для использования сервиса необходима авторизация с помощью сервисного логина и пароля.
  
 
'''Для авторизации''' необходимо в любой запрос добавить логин в открытом виде, сервис-аккаунт (номер договора для тарификации) и MD5-хеш от сгенерированной строки '''символьное обозначения сервиса + сервис-аккаунт + технический пароль''', разделенный знаком двоеточия «:». <br>
 
'''Для авторизации''' необходимо в любой запрос добавить логин в открытом виде, сервис-аккаунт (номер договора для тарификации) и MD5-хеш от сгенерированной строки '''символьное обозначения сервиса + сервис-аккаунт + технический пароль''', разделенный знаком двоеточия «:». <br>
Символьное обозначение сервиса для поиска вагонов - всегда '''rail_tracking'''.<br>
+
Символьное обозначение сервиса - всегда '''gng_by_tnved'''.<br>
 
Технический пароль можно получить в личном кабинете, в разделе управления договором, в пункте 'Технические настройки'<br>
 
Технический пароль можно получить в личном кабинете, в разделе управления договором, в пункте 'Технические настройки'<br>
 
Например, для пользователя с логином alta@alta.ru, сервис-аккаунтом sa000000 и техническим паролем alta_test:<br>
 
Например, для пользователя с логином alta@alta.ru, сервис-аккаунтом sa000000 и техническим паролем alta_test:<br>
Вычисляем секрет: secret = md5("rail_tracking:sa000000:md5('alta_test')") = bb92dcee8bf2b49287e1038b65a72b79 <br>
+
Вычисляем секрет: secret = md5("gng_by_tnved:sa000000:md5('alta_test')") = 6a962b91c37377a3be8f0c953aef0d3d<br>
  
 
Для выполнения любого запроса необходимо указать название метода (action) и авторизационные данные.<br>
 
Для выполнения любого запроса необходимо указать название метода (action) и авторизационные данные.<br>
 
Например, для проверки корректности генерации секрета необходимо выполнить запрос:
 
Например, для проверки корректности генерации секрета необходимо выполнить запрос:
https://www.alta.ru/rail_tracking/api_v2.php?action=test_secret&login=alta@alta.ru&sa=sa000000&secret=bb92dcee8bf2b49287e1038b65a72b79
+
https://www.alta.ru/rail_tracking/api_v2.php?action=test_secret&login=alta@alta.ru&sa=sa000000&secret=6a962b91c37377a3be8f0c953aef0d3d
  
 
В json-ответе будет <code>{"status":"ok"}</code> в случае корректного секрета, в противном случае <code>{"status":"error"}</code>
 
В json-ответе будет <code>{"status":"ok"}</code> в случае корректного секрета, в противном случае <code>{"status":"error"}</code>
Строка 25: Строка 25:
 
Сервис-аккаунт (договор): sa000000
 
Сервис-аккаунт (договор): sa000000
  
Выполнение тестовых запросов возможно только для следующих номеров: <br>
+
Выполнение тестовых запросов возможно только для следующих кодов ТН ВЭД: <br>
вагоны - 54676515 <br>
+
8702109120 <br>
контейнеры - AMFU8899067 <br>
+
2710122100 <br>
 
 
Hash для получения ответов по вагонам:
 
- слежение ebc356dfa5beee7d3844ccacf535410c <br>
 
Cont_hash для получения ответов по контейнерам:
 
- слежение 931700e35d7ff88a10bd5d680da50f02 <br>
 
  
 
==Структура ответа и статус запроса==
 
==Структура ответа и статус запроса==
Ответ на запроса для всех методов, за исключением test_secret, представляет из себя json-массив. Первый элемент массива - всегда статус запроса с текстовым описанием состояния или ошибки. В первом эелементе также может содержаться набор дополнительных необязательных полей в зависимости от вызываемого метода.<br>
+
Ответ на запроса для всех методов, за исключением test_secret, представляет из себя json-массив. Первый элемент массива - всегда статус запроса с текстовым описанием состояния или ошибки. В первом элементе также может содержаться набор дополнительных необязательных полей в зависимости от вызываемого метода.<br>
Последующие элементы - тело ответа, содержащие информацию о дислокации, список вагонов и проч.
+
Последующие элементы - тело ответа, содержащие информацию о подобранных кодах ГНГ и ЕТСНГ
  
 
<source lang="json">
 
<source lang="json">
Строка 74: Строка 69:
 
|-
 
|-
 
|descr||string||Текстовое описание состояния или ошибки
 
|descr||string||Текстовое описание состояния или ошибки
 +
 +
|}
 +
 +
 +
==Получение списка кодов номенклатур ГНГ и ЕТСНГ по коду ТН ВЭД==
 +
 +
Необходимо выполнить запрос указанием GET-параметра tncode (см. примеры ниже).
 +
В случае отсутствия результата или его неудовлетворительности можно дополнительно указать наименование позиции ТН ВЭД (или часть наименования) в параметре srchstr (в urlencode). 
 +
 
 +
{|  class="wikitable" width="75%"
 +
|+
 +
!Параметр !!Тип !!Описание
 +
 +
|- highlight
 +
|colspan=3 |'''Обязательные'''
 +
 +
|-
 +
 +
|-
 +
|login||string||Логин в сервисе. Например, alta@alta.ru
 +
 +
|-
 +
|sa||string||Сервис-аккаунт (договор). Например, sa000000
 +
 +
|-
 +
|secret||string||Сгенерированный секрет. Например, 6a962b91c37377a3be8f0c953aef0d3d
 +
 +
|-
 +
|<b>tncode</b>||string||Код позиции ТН ВЭД. Например, 2710122100
  
 
|- highlight
 
|- highlight
Строка 79: Строка 103:
  
 
|-
 
|-
|hash||string||Хэш запроса по вагонам (если они были в запросе)
+
|srchstr||string||Наименование (часть наименования) позиции ТН ВЭД в urlencode. Например, urlencode('Уайт-Спирит').
 +
 
 +
|}
 +
 
 +
==Пример получения списка грузов ГНГ/ЕТСНГ по коду ТН ВЭД==
 +
 
 +
<b>Получить список грузов ГНГ и ЕТСНГ по коду ТН ВЭД 8702109120:</b><br/>
 +
https://www.alta.ru/rail_tracking/api_v2.php?action=gng_by_tnved&tncode=8702109120&login=alta@alta.ru&sa=sa000000&secret=6a962b91c37377a3be8f0c953aef0d3d
 +
 
 +
<br>
 +
JSON-ответ включает в себя список подобранных грузов номенклатур ГНГ и ЕТСНГ.
 +
 
 +
<source lang="json">
 +
[
 +
  {
 +
    "status": "ok",
 +
    "success": true,
 +
    "tncode": "8702109120"
 +
  },
 +
  {
 +
    "gng_node": {
 +
      "index": "87021091",
 +
      "name": "Средства моторные транспортные, предназначенные для перевозки 10 человек или более, включая водителя, с поршневым двигателем внутреннего сгорания с воспламенением от сжатия (дизелем или полудизелем, с рабочим объемом цилиндров двигателя не более 2500 куб.",
 +
      "ett_class": "1",
 +
      "etsng_list": [
 +
        {
 +
          "index": "381025",
 +
          "name": "Автобусы",
 +
          "frclass": 3,
 +
          "guard": true,
 +
          "danger": false
 +
        },
 +
        {
 +
          "index": "381091",
 +
          "name": "Автомобили специальные",
 +
          "frclass": 3,
 +
          "guard": true,
 +
          "danger": false
 +
        }
 +
      ]
 +
    }
 +
  }
 +
]
 +
</source>
 +
 
 +
<b>Получить список грузов ГНГ и ЕТСНГ по коду ТН ВЭД 2710122100 и наименованию 'Уайт-Спирит':</b><br/>
 +
https://www.alta.ru/rail_tracking/api_v2.php?action=gng_by_tnved&tncode=2710122100&srchstr=%D0%A3%D0%B0%D0%B9%D1%82-%D0%A1%D0%BF%D0%B8%D1%80%D0%B8%D1%82&login=alta@alta.ru&sa=sa000000&secret=6a962b91c37377a3be8f0c953aef0d3d
 +
 
 +
<br>
 +
JSON-ответ включает в себя список подобранных грузов номенклатур ГНГ и ЕТСНГ.
 +
 
 +
<source lang="json">
 +
[
 +
  {
 +
    "status": "ok",
 +
    "success": true,
 +
    "tncode": "2710122100"
 +
  },
 +
  {
 +
    "gng_node": {
 +
      "index": "27210000",
 +
      "name": "Уайт-спирит",
 +
      "ett_class": "1",
 +
      "etsng_list": [
 +
        {
 +
          "index": "211100",
 +
          "name": "Бензин растворитель `Галоша`,`Уайт-спирит`",
 +
          "frclass": 2,
 +
          "guard": true,
 +
          "danger": true
 +
        }
 +
      ]
 +
    }
 +
  }
 +
]
 +
</source>
 +
 
 +
Выходные параметры json-массива:
 +
 
 +
{|  class="wikitable" width="75%"
 +
|+
 +
!Параметр !!Тип !!Описание
 +
 
 +
|- highlight
 +
 
 +
|-
 +
|status||string||ok - при успешном размещении запроса, error или fail - при ошибке. Список кодов ошибок см. ниже.
 +
 
 +
|-
 +
|descr||string||Текстовое описание состояния или ошибки
 +
 
 +
|-
 +
|tncode||string||Код ТН ВЭД, по которому был выполнен подбор грузов
 +
 
 +
|-
 +
|gng_node||array||Список грузов по номенклатуре ГНГ, соответствующих заданному коду ТН ВЭД
 +
 
 +
|-
 +
|gng_node->index||string||Код ГНГ
 +
 
 +
|-
 +
|gng_node->name||string||Наименование позиции ГНГ
 +
 
 +
|-
 +
|gng_node->ettclass||string||Класс груза по классификации ЕТТ
 +
 
 +
|-
 +
|etsng_list||array||Массив грузов ЕТСНГ, соответствующих подобранному коду ГНГ из gng_node
 +
 
 +
|-
 +
|etsng_list->index||string||Код груза ЕТСНГ
 +
 
 +
|-
 +
|etsng_list->name||string||Наименование груза ЕТСНГ
 +
 
 +
|-
 +
|etsng_list->frclass||integer||Класс груза
 +
 
 +
|-
 +
|etsng_list->guard||boolean||Необходима ли грузу охрана в пути следования
  
 
|-
 
|-
|cont_hash||string||Хэш запроса по контейнерам (если они были в запросе)
+
|etsng_list->danger||boolean||Признак опасности груза. Поскольку однозначного соответствия номенклатуры ЕТСНГ и классификатора опасных грузов ООН не существует, то данный признак предоставляется справочно и может быть ошибочным.
  
 
|}
 
|}

Текущая версия на 12:09, 27 декабря 2022

О сервисе

API сервиса получения кодов ГНГ/ЕТСНГ по коду (и/или наименованию) ТН ВЭД позволяет интегрировать возможности сервиса в сторонние программы и сайты. Посредством данного API можно получить список кодов ГНГ/ЕТСНГ, наиболее подходящих заданному коду (наименованию) ТН ВЭД. Сам интерфейс предоставляется бесплатно, тарифицируются только запросы, выполненные с его помощью согласно расценкам, опубликованным на сайте "Альта-Софт".

API. Авторизация. Метод "test_secret".

Доступ к API предоставляется по URL https://www.alta.ru/rail_tracking/api_v2.php. Входные параметры передаются с помощью запроса HTTP GET. Для использования сервиса необходима авторизация с помощью сервисного логина и пароля.

Для авторизации необходимо в любой запрос добавить логин в открытом виде, сервис-аккаунт (номер договора для тарификации) и MD5-хеш от сгенерированной строки символьное обозначения сервиса + сервис-аккаунт + технический пароль, разделенный знаком двоеточия «:».
Символьное обозначение сервиса - всегда gng_by_tnved.
Технический пароль можно получить в личном кабинете, в разделе управления договором, в пункте 'Технические настройки'
Например, для пользователя с логином alta@alta.ru, сервис-аккаунтом sa000000 и техническим паролем alta_test:
Вычисляем секрет: secret = md5("gng_by_tnved:sa000000:md5('alta_test')") = 6a962b91c37377a3be8f0c953aef0d3d

Для выполнения любого запроса необходимо указать название метода (action) и авторизационные данные.
Например, для проверки корректности генерации секрета необходимо выполнить запрос: https://www.alta.ru/rail_tracking/api_v2.php?action=test_secret&login=alta@alta.ru&sa=sa000000&secret=6a962b91c37377a3be8f0c953aef0d3d

В json-ответе будет {"status":"ok"} в случае корректного секрета, в противном случае {"status":"error"}

Тестирование JSON-API

Для тестирования сервиса используйте следующие авторизационные данные:
Логин: alta@alta.ru
Технический пароль: alta_test
Сервис-аккаунт (договор): sa000000

Выполнение тестовых запросов возможно только для следующих кодов ТН ВЭД:
8702109120
2710122100

Структура ответа и статус запроса

Ответ на запроса для всех методов, за исключением test_secret, представляет из себя json-массив. Первый элемент массива - всегда статус запроса с текстовым описанием состояния или ошибки. В первом элементе также может содержаться набор дополнительных необязательных полей в зависимости от вызываемого метода.
Последующие элементы - тело ответа, содержащие информацию о подобранных кодах ГНГ и ЕТСНГ

[
  {
    "status": "ok",
    "descr": "Запрос успешно сохранен"
  }
]

или в случае ошибки ответ будет дополнен кодом ошибки Code (коды ошибок см. ниже)

[
  {
    "status": "error",
    "descr": "Указан неподдерживаемый метод",
    "code": 15
  }
]


Выходные параметры json-массива:

Параметр Тип Описание
Обязательные
status string ok - при успешном размещении запроса, error или fail - при ошибке. Список кодов ошибок см. ниже.
descr string Текстовое описание состояния или ошибки


Получение списка кодов номенклатур ГНГ и ЕТСНГ по коду ТН ВЭД

Необходимо выполнить запрос указанием GET-параметра tncode (см. примеры ниже). В случае отсутствия результата или его неудовлетворительности можно дополнительно указать наименование позиции ТН ВЭД (или часть наименования) в параметре srchstr (в urlencode).

Параметр Тип Описание
Обязательные
login string Логин в сервисе. Например, alta@alta.ru
sa string Сервис-аккаунт (договор). Например, sa000000
secret string Сгенерированный секрет. Например, 6a962b91c37377a3be8f0c953aef0d3d
tncode string Код позиции ТН ВЭД. Например, 2710122100
Необязательные
srchstr string Наименование (часть наименования) позиции ТН ВЭД в urlencode. Например, urlencode('Уайт-Спирит').

Пример получения списка грузов ГНГ/ЕТСНГ по коду ТН ВЭД

Получить список грузов ГНГ и ЕТСНГ по коду ТН ВЭД 8702109120:
https://www.alta.ru/rail_tracking/api_v2.php?action=gng_by_tnved&tncode=8702109120&login=alta@alta.ru&sa=sa000000&secret=6a962b91c37377a3be8f0c953aef0d3d


JSON-ответ включает в себя список подобранных грузов номенклатур ГНГ и ЕТСНГ.

[
  {
    "status": "ok",
    "success": true,
    "tncode": "8702109120"
  },
  {
    "gng_node": {
      "index": "87021091",
      "name": "Средства моторные транспортные, предназначенные для перевозки 10 человек или более, включая водителя, с поршневым двигателем внутреннего сгорания с воспламенением от сжатия (дизелем или полудизелем, с рабочим объемом цилиндров двигателя не более 2500 куб.",
      "ett_class": "1",
      "etsng_list": [
        {
          "index": "381025",
          "name": "Автобусы",
          "frclass": 3,
          "guard": true,
          "danger": false
        },
        {
          "index": "381091",
          "name": "Автомобили специальные",
          "frclass": 3,
          "guard": true,
          "danger": false
        }
      ]
    }
  }
]

Получить список грузов ГНГ и ЕТСНГ по коду ТН ВЭД 2710122100 и наименованию 'Уайт-Спирит':
https://www.alta.ru/rail_tracking/api_v2.php?action=gng_by_tnved&tncode=2710122100&srchstr=%D0%A3%D0%B0%D0%B9%D1%82-%D0%A1%D0%BF%D0%B8%D1%80%D0%B8%D1%82&login=alta@alta.ru&sa=sa000000&secret=6a962b91c37377a3be8f0c953aef0d3d


JSON-ответ включает в себя список подобранных грузов номенклатур ГНГ и ЕТСНГ.

[
  {
    "status": "ok",
    "success": true,
    "tncode": "2710122100"
  },
  {
    "gng_node": {
      "index": "27210000",
      "name": "Уайт-спирит",
      "ett_class": "1",
      "etsng_list": [
        {
          "index": "211100",
          "name": "Бензин растворитель `Галоша`,`Уайт-спирит`",
          "frclass": 2,
          "guard": true,
          "danger": true
        }
      ]
    }
  }
]

Выходные параметры json-массива:

Параметр Тип Описание
status string ok - при успешном размещении запроса, error или fail - при ошибке. Список кодов ошибок см. ниже.
descr string Текстовое описание состояния или ошибки
tncode string Код ТН ВЭД, по которому был выполнен подбор грузов
gng_node array Список грузов по номенклатуре ГНГ, соответствующих заданному коду ТН ВЭД
gng_node->index string Код ГНГ
gng_node->name string Наименование позиции ГНГ
gng_node->ettclass string Класс груза по классификации ЕТТ
etsng_list array Массив грузов ЕТСНГ, соответствующих подобранному коду ГНГ из gng_node
etsng_list->index string Код груза ЕТСНГ
etsng_list->name string Наименование груза ЕТСНГ
etsng_list->frclass integer Класс груза
etsng_list->guard boolean Необходима ли грузу охрана в пути следования
etsng_list->danger boolean Признак опасности груза. Поскольку однозначного соответствия номенклатуры ЕТСНГ и классификатора опасных грузов ООН не существует, то данный признак предоставляется справочно и может быть ошибочным.