API сервиса «Груз на СВХ»

Материал из Alta-Soft Wikipedia
Перейти к навигации Перейти к поиску

О сервисе

Сервис "Груз на СВХ" https://www.alta.ru/svh-gruz/ позволяет получить информацию о грузе в json формате, поступившем на склады временного хранения. По номеру транспортного документа, контейнера, транспортного средства или номера декларации предоставляется информация о размещении груза на СВХ.

API

Доступ к API предоставляется по URL https://www.alta.ru/svh-gruz/search/api/v1/. Для использования сервиса необходима авторизация с помощью логина и пароля.
Логин и пароль для обращения по API необходимо получить в личном кабинете https://www.alta.ru/user/, заключив договор на использование онлайн-сервисов. В настройках договора будут указаны технический логин и пароль. Данный сервис работает без тарификации.

Запрос на поиск

Для поиска необходимо отправлять GET-запрос по URL https://www.alta.ru/svh-gruz/search/api/v1/, содержащий следующие GET-параметры:

  1. n_k - номер контейнера
  2. n_trans - транспортное средство
  3. n_trans_doc - транспортный документ
  4. n_dt - номер декларации
  5. логин в открытом виде
  6. секрет - MD5-хеш от сгенерированной строки параметры запроса + логин + md5-хэш от пароля, все параметры разделены знаком “:” (двоеточие)

secret = md5("{n_k}:{n_trans}:{n_trans_doc}:{n_dt}:{логин}:md5({пароль})")


Пример запроса:

Запрос с параметрами: n_k = 123, n_trans = пусто, n_trans_doc = 555, n_dt = пусто.
Пользователь с логином testlogin и паролем testpassword.

для запроса: https://www.alta.ru/svh-gruz/search/api/v1/?n_k=123&n_trans=&n_trans_doc=555&n_dt=&login=testlogin
вычисляем секрет: secret = md5("123::555::testlogin:md5(testpassword)") = 7fcb20d2c25956e38dbd2c9a6c3f9720
Обратите внимание, даже если параметр пустой, его все равно необходимо добавить в порядке следования, для данного примера формула вычисления secret такова: 123 : пусто : 555 : пусто : testlogin : e16b2ab8d12314bf4efbd6203906ea6c = 7fcb20d2c25956e38dbd2c9a6c3f9720
Таким образом итоговый URL, на который совершается GET-запрос: https://www.alta.ru/svh-gruz/search/api/v1/?n_k=123&n_trans=&n_trans_doc=555&n_dt=&login=testlogin&secret=7fcb20d2c25956e38dbd2c9a6c3f9720

Ответ

При возникновении ошибок возвращается код ответа сервера отличный от 200, а также описание ошибки в JSON-массиве.

Пример ответа:

Код ответа 200:

{
  "content": [
    {
      "storeName": "ООО \"Лоджистик\"",
      "certificate": "№10000/231000/00000/1 от 01.01.2011",
      "internalNumber": "№0000001 от 11.11.2011",
      "acceptDate": "2011-01-11 00:00:00",
      "deadLineDate": "2011-04-12 00:00:00",
      "regNumber": "10000011/110411/0010001",
      "documentId": "03333111-1212-4949-8826-225566776677",
      "containerNumbers": [
        "SKLU0000003",
        "SKLU0000002"
      ],
      "transportNumbers": [
        "02011 Коносамент №253-900800200400 от 01.01.2011",
        "02011 Коносамент №200-900800200400 от 01.01.2011",
        "02011 Коносамент №250-900800200400 от 01.01.2011"
      ],
      "totalPackageNumber": 100,
      "transportIdentifiers": [
        "VOSTOCHNY VOYAGER 100X",
        "VOSTOCHNY VOYAGER 100X",
        "VOSTOCHNY VOYAGER 100X"
      ],
      "certificateLic": "LIC_PERMITION",
      "weight": null,
      "dtDataList": [
        {
          "number": "10002000/110311/0030777",
          "totalPackageNumber": 100,
          "weight": [
            "1000,00 КГ",
            "1000,00 КГ",
            "1000,00 КГ"
          ],
          "documentName": null,
          "documentKind": null,
          "dtRegNumber": null,
          "messageType": null
        }
      ],
      "warehouseOwner": {
        "organizationName": "ООО \"Лоджистик\"",
        "ogrn": "1133536007552",
        "inn": "2226255577",
        "kpp": "225501001",
        "addressLine": "290900, г. Москва, ул. Гагарина, д. 1",
        "certificateKind": "lic_Permition",
        "certificateNumber": "10000/231000/00000/1",
        "certificateDate": "2011-01-01 00:00:00"
      },
      "status": "REGISTERED",
      "changeStatusDate": null,
      "participantId": null
    }
  ],
  "totalSize": 1,
  "pageSize": 1,
  "pageElements": 1,
  "responseMessage": ""
}

Возможные ошибки

Код ответа 404:

{"error":"Пользователь не авторизован или неверный secret"}

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

{"error":"Ошибка запроса, обратитесь к администратору сайта"}

Количество запросов к серверу ограничено

 {"error":"Исчерпан лимит запросов, нужно подождать...", "wait_sec":23, "info":"Ваш лимит - не более 10 запросов за 1 минуту"}