API для получения кода ГНГ и ЕТСНГ по коду ТН ВЭД
Содержание
О сервисе
JSON-API сервиса «Поиск вагонов» позволяет интегрировать возможности сервиса в сторонние программы и сайты. Посредством данного API можно ставить и снимать вагоны и контейнеры на слежение по СНГ, странам Балтии, Монголии и Китаю. Сам интерфейс предоставляется бесплатно, тарифицируются только запросы, выполненные с его помощью согласно расценкам, опубликованным на сайте "Альта-Софт".
API. Авторизация. Метод "test_secret".
Доступ к API предоставляется по URL https://www.alta.ru/rail_tracking/api_v2.php. Входные параметры передаются с помощью запроса HTTP GET или POST. Для использования сервиса необходима авторизация с помощью сервисного логина и пароля.
Для авторизации необходимо в любой запрос добавить логин в открытом виде, сервис-аккаунт (номер договора для тарификации) и MD5-хеш от сгенерированной строки символьное обозначения сервиса + сервис-аккаунт + технический пароль, разделенный знаком двоеточия «:».
Символьное обозначение сервиса для поиска вагонов - всегда rail_tracking.
Технический пароль можно получить в личном кабинете, в разделе управления договором, в пункте 'Технические настройки'
Например, для пользователя с логином alta@alta.ru, сервис-аккаунтом sa000000 и техническим паролем alta_test:
Вычисляем секрет: secret = md5("rail_tracking:sa000000:md5('alta_test')") = bb92dcee8bf2b49287e1038b65a72b79
Для выполнения любого запроса необходимо указать название метода (action) и авторизационные данные.
Например, для проверки корректности генерации секрета необходимо выполнить запрос:
https://www.alta.ru/rail_tracking/api_v2.php?action=test_secret&login=alta@alta.ru&sa=sa000000&secret=bb92dcee8bf2b49287e1038b65a72b79
В json-ответе будет {"status":"ok"}
в случае корректного секрета, в противном случае {"status":"error"}
Тестирование JSON-API
Для тестирования сервиса используйте следующие авторизационные данные:
Логин: alta@alta.ru
Технический пароль: alta_test
Сервис-аккаунт (договор): sa000000
Выполнение тестовых запросов возможно только для следующих номеров:
вагоны - 54676515
контейнеры - AMFU8899067
Hash для получения ответов по вагонам:
- слежение ebc356dfa5beee7d3844ccacf535410c
Cont_hash для получения ответов по контейнерам:
- слежение 931700e35d7ff88a10bd5d680da50f02
Структура ответа и статус запроса
Ответ на запроса для всех методов, за исключением test_secret, представляет из себя json-массив. Первый элемент массива - всегда статус запроса с текстовым описанием состояния или ошибки. В первом эелементе также может содержаться набор дополнительных необязательных полей в зависимости от вызываемого метода.
Последующие элементы - тело ответа, содержащие информацию о дислокации, список вагонов и проч.
[
{
"status": "ok",
"descr": "Запрос успешно сохранен"
}
]
или в случае ошибки ответ будет дополнен кодом ошибки Code (коды ошибок см. ниже)
[
{
"status": "error",
"descr": "Указан неподдерживаемый метод",
"code": 15
}
]
Выходные параметры json-массива:
Параметр | Тип | Описание |
---|---|---|
Обязательные | ||
status | string | ok - при успешном размещении запроса, error или fail - при ошибке. Список кодов ошибок см. ниже. |
descr | string | Текстовое описание состояния или ошибки |
Необязательные | ||
hash | string | Хэш запроса по вагонам (если они были в запросе) |
cont_hash | string | Хэш запроса по контейнерам (если они были в запросе) |