API для получения кода ГНГ и ЕТСНГ по коду ТН ВЭД
Содержание
О сервисе
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 | Признак опасности груза. Поскольку однозначного соответствия номенклатуры ЕТСНГ и классификатора опасных грузов ООН не существует, то данный признак предоставляется справочно и может быть ошибочным. |