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

Материал из Alta-Soft Wikipedia
Перейти к навигации Перейти к поиску
(Структура ответа и статус запроса)
Строка 71: Строка 71:
  
 
|}
 
|}
 +
 +
 +
==Получение списка кодов номенклатур ГНГ и ЕТСНГ по коду ТН ВЭД==
 +
 +
Необходимо выполнить запрос указанием 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
 +
|colspan=3 |'''Необязательные'''
 +
 +
|-
 +
|srchstr||string||Наименование (часть наименования) позиции ТН ВЭД. Например, 'Уайт-Спирит'.
 +
 +
 +
|}
 +
 +
==Пример получения списка грузов ГНГ/ЕТСНГ по коду ТН ВЭД==
 +
Контейнер AMFU8899067, получение инфорамции по будням дням (days=1,2,3,4,5) в 09:00 и 13:00 по московскому времени (times=09:00,13:00 и times_per_day=2), регион - только РФ (track_state=ru, state=20) без снятия со слежения по прибытии на станцию назначения (stop_station=no, т.е. ручное снятие), адреса для рассылки отчетов alta@alta.ru,mymail@mymail.com (emails=alta@alta.ru,mymail@mymail.com):<br>
 +
https://www.alta.ru/rail_tracking/api_v2.php?action=add&login=alta@alta.ru&sa=sa000000&secret=bb92dcee8bf2b49287e1038b65a72b79&wagons=AMFU8899067&state=20&track_type=2&comment=%D0%BF%D0%B5%D1%80%D0%B2%D0%BE%D0%B5+%D1%81%D0%BB%D0%B5%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5+%28%D0%BA%D0%BE%D0%BD%D1%82%29&days=1,2,3,4,5&times_per_day=2&times=09:00,13:00&track_state=ru&stop_station=no&emails=alta@alta.ru,mymail@mymail.com
 +
<br>
 +
JSON-ответ включает в себя отчет о состоянии запроса на слежение (поставлен/не поставлен на слежение) и hash, по которому можно получить ответ.<br>
 +
 +
<source lang="json">
 +
[
 +
  {
 +
    "status": "ok",
 +
    "descr": "Запрос успешно сохранен",
 +
    "cont_hash": "931700e35d7ff88a10bd5d680da50f02"
 +
  }
 +
]
 +
</source>
 +
 +
При постановке вагона на слежение получим json-массив:
 +
 +
<source lang="json">
 +
[
 +
  {
 +
    "status": "ok",
 +
    "descr": "Запрос успешно сохранен",
 +
    "hash": "ebc356dfa5beee7d3844ccacf535410c"
 +
  }
 +
]
 +
</source>

Версия 11:46, 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 Наименование (часть наименования) позиции ТН ВЭД. Например, 'Уайт-Спирит'.


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

Контейнер AMFU8899067, получение инфорамции по будням дням (days=1,2,3,4,5) в 09:00 и 13:00 по московскому времени (times=09:00,13:00 и times_per_day=2), регион - только РФ (track_state=ru, state=20) без снятия со слежения по прибытии на станцию назначения (stop_station=no, т.е. ручное снятие), адреса для рассылки отчетов alta@alta.ru,mymail@mymail.com (emails=alta@alta.ru,mymail@mymail.com):
https://www.alta.ru/rail_tracking/api_v2.php?action=add&login=alta@alta.ru&sa=sa000000&secret=bb92dcee8bf2b49287e1038b65a72b79&wagons=AMFU8899067&state=20&track_type=2&comment=%D0%BF%D0%B5%D1%80%D0%B2%D0%BE%D0%B5+%D1%81%D0%BB%D0%B5%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5+%28%D0%BA%D0%BE%D0%BD%D1%82%29&days=1,2,3,4,5&times_per_day=2&times=09:00,13:00&track_state=ru&stop_station=no&emails=alta@alta.ru,mymail@mymail.com
JSON-ответ включает в себя отчет о состоянии запроса на слежение (поставлен/не поставлен на слежение) и hash, по которому можно получить ответ.

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

При постановке вагона на слежение получим json-массив:

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