API сервиса «Груз на СВХ»: различия между версиями

Материал из Alta-Soft Wikipedia
Перейти к навигации Перейти к поиску
Строка 1: Строка 1:
 
== О сервисе ==
 
== О сервисе ==
  
Сервис "Груз на СВХ" https://www.alta.ru/svh-gruz/ позволяет отслеживать прибытие груза на склад по номеру контейнера, документа или транспортного средства. Поиск осуществляется по складам,  предоставившим свои данные для сервиса.  
+
Сервис "Груз на СВХ" https://www.alta.ru/svh-gruz/ позволяет получить информацию о грузе в json формате, поступившем на склады временного хранения. По номеру транспортного документа, контейнера, транспортного средства или номера декларации предоставляется информация о размещении груза на СВХ.
  
 
== API ==
 
== API ==
  
=== Поиск ===
+
Доступ к API предоставляется по URL https://www.alta.ru/svh-gruz/search/api/v1/.
 +
Для использования сервиса необходима авторизация с помощью логина и пароля.
  
С помощью '''GET'''-запроса на URL https://www.alta.ru/svh-gruz/search/ передаются параметры
+
=== Запрос на поиск ===
  
'''Параметры:'''
+
Для поиска необходимо отправлять GET-запрос по URL https://www.alta.ru/svh-gruz/search/api/v1/, содержащий следующие GET-параметры:
 +
 
#n_k - номер контейнера
 
#n_k - номер контейнера
 
#n_trans - транспортное средство
 
#n_trans - транспортное средство
 
#n_trans_doc - транспортный документ
 
#n_trans_doc - транспортный документ
 
#n_dt - номер декларации
 
#n_dt - номер декларации
#json=2 - для получения ответа в json формате
+
#login - логин в открытом виде
 +
#secret - MD5-хеш от сгенерированной строки '''параметры запроса + логин + md5-хэш от пароля''', все параметры разделены знаком двоеточия «:»
 +
----
 +
<code>
 +
secret = md5("{n_k}:{n_trans}:{n_trans_doc}:{n_dt}:{логин}:md5({пароль})")
 +
</code>
 +
----
  
 +
'''Пример запроса:'''
  
'''Ответ:'''
+
Запрос с параметрами:
Пример ответа:
+
n_k = 123, n_trans = пусто, n_trans_doc = 555, n_dt = пусто. <br>
 +
Пользователь с логином testlogin и паролем testpassword.<br><br>
 +
для запроса: https://www.alta.ru/svh-gruz/search/api/v1/?n_k=123&n_trans=&n_trans_doc=555&n_dt=&login=testlogin<br>
 +
вычисляем секрет: secret = md5("123::555::testlogin:md5(testpassword)") = 7fcb20d2c25956e38dbd2c9a6c3f9720<br>
 +
Обратите внимание, даже если параметр пустой, его все равно необходимо добавить в порядке следования, для данного примера формула вычисления secret такова:
 +
123 : пусто : 555 : пусто : testlogin : e16b2ab8d12314bf4efbd6203906ea6c = 7fcb20d2c25956e38dbd2c9a6c3f9720<br>
 +
итоговый URL: https://www.alta.ru/svh-gruz/search/api/v1/?n_k=123&n_trans=&n_trans_doc=555&n_dt=&login=testlogin&secret=7fcb20d2c25956e38dbd2c9a6c3f9720 <br>
  
<syntaxhighlight lang=json>
+
=== Ответ ===
{
+
 
  "content": [
+
При возникновении ошибок возвращается код ответа сервера отличный от 200, а также описание ошибки в JSON-массиве.
 +
 
 +
'''Пример ответа:'''
 +
 
 +
Код ответа 200:
 +
<pre>
 +
{  
 +
"content": [
 
     {
 
     {
 
       "storeName": "ПЗТК ООО \"Пасифик Лоджистик\"",
 
       "storeName": "ПЗТК ООО \"Пасифик Лоджистик\"",
Строка 81: Строка 103:
 
   "pageSize": 20,
 
   "pageSize": 20,
 
   "pageElements": 20,
 
   "pageElements": 20,
   "responseMessage": "Найдено слишком много совпадений, для получения более точной информации уточните критерии поиска."
+
   "responseMessage": "Найдено слишком много совпадений, для получения более точной информации уточните критерии поиска."  
 
}
 
}
</syntaxhighlight>
+
</pre>
  
 +
'''Пример ошибок:'''
  
 +
Код ответа 404:
 +
<pre>
 +
{"error":"Пользователь не авторизован или неверный secret"}
 +
</pre>
 +
В случае каких то проблем с получением данных внутри сервера
 +
<pre>
 +
{"error":"Ошибка запроса, обратитесь к администратору сайта"}
 +
</pre>
  
 
[[Категория:Автоматизация]]
 
[[Категория:Автоматизация]]
 
[[Категория:Web-Сервисы]]
 
[[Категория:Web-Сервисы]]

Версия 12:31, 27 июня 2022

О сервисе

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

API

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

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

Для поиска необходимо отправлять 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. login - логин в открытом виде
  6. secret - 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: 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": "№10702/231216/00033/6 от 18.04.2017",
      "internalNumber": "№0002474 от 18.04.2017",
      "acceptDate": 1492446600000,
      "deadLineDate": 1497733200000,
      "regNumber": "10702030/180417/0046239",
      "documentId": "03D4A9F1-1212-49BF-8C26-518D62776676",
      "containerNumbers": [
        "SKLU3518823",
        "SKLU3518823"
      ],
      "transportNumbers": [
        "02011 Коносамент №SNKO02A170300708 от 07.04.2017",
        "02011 Коносамент №SNKO02A170300708 от 07.04.2017",
        "02011 Коносамент №SNKO02A170300708 от 07.04.2017"
      ],
      "totalPackageNumber": 296,
      "transportIdentifiers": [
        "VOSTOCHNY VOYAGER 0101W",
        "VOSTOCHNY VOYAGER 0101W",
        "VOSTOCHNY VOYAGER 0101W"
      ],
      "certificateLic": "LIC_PERMITION",
      "weight": null,
      "dtDataList": [
        {
          "number": "10702030/200417/0030708",
          "totalPackageNumber": 296,
          "weight": [
            "3915,54 КГ",
            "3915,54 КГ",
            "3915,54 КГ"
          ],
          "documentName": null,
          "documentKind": null,
          "dtRegNumber": null,
          "messageType": null
        }
      ],
      "warehouseOwner": {
        "organizationName": "ПЗТК ООО \"Пасифик Лоджистик\"",
        "ogrn": "1122536008572",
        "inn": "2536255389",
        "kpp": "253601001",
        "addressLine": "690001, г. Владивосток, ул. Дальзаводская, д. 2",
        "certificateKind": "lic_Permition",
        "certificateNumber": "10702/231216/00033/6",
        "certificateDate": 1482440400000
      },
      "status": "REGISTERED",
      "changeStatusDate": null,
      "participantId": null
    }
  ],
  "totalSize": 204587,
  "pageSize": 20,
  "pageElements": 20,
  "responseMessage": "Найдено слишком много совпадений, для получения более точной информации уточните критерии поиска." 
}

Пример ошибок:

Код ответа 404:

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

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

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