Торги - поиск закупок и прогноз победителей

Структура данных API-интерфейса сервиса «Торги»

Структура данных API-интерфейса сервиса «Торги»

API-интерфейс сервиса «Торги» использует формат JSON-RPC для обмена данными с сервером online.sbis.ru посредством HTTPS-запросов/ответов. Используемая кодировка — UTF-8, метод — POST.

Заголовок запроса

В заголовке передаваемого запроса обязательно указывается:

  • адрес сервера для аутентификации — https://online.sbis.ru/auth/service/; для работы с методами API — https://online.sbis.ru/tender-api/service/;
  • доменное имя сервера — Host: online.sbis.ru
  • идентификатор сессии — Cookie: sid=00520de2-00671d93-0bba-63a4b4dacb2e4a86
  • кодировка символов — Content-Type: application/json; charset=utf-8

Адрес сервера аутентификации и сервера для работы с методами API требуется вынести в настройки интеграционного приложения. Это значение может быть изменено.

Объект запроса

Объект запроса должен содержать:

  • значение "jsonrpc":"2.0", указывающее на версию спецификации JSON-RPC;

  • параметр "method" с названием команды;

  • параметр "params" с объектом передаваемых параметров команды;

  • параметр "id" со строковым значением.

Объект ответа

В ответ на запрос с сервера возвращается аналогичная JSON-структура:

  • значение "jsonrpc":"2.0", указывающее на версию спецификации JSON-RPC;
  • параметр "id" со строковым значением, аналогично объекту запроса;
  • значение объекта "result", где упаковывается ответ на команду.

Если произошла ошибка, в ответе на запрос должно появиться значение "error".

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

Рассмотрим пример запроса статистики по размеру и использованию лимита торгов за сутки.

 POST http://online.sbis.ru/tender-api/service/ HTTP/1.1 Host: online.sbis.ru Cookie: sid=00520de2-00574d9e-0bba-1668e2cf317a4b1f Content-Type: application/json; charset=utf-8{"jsonrpc": "2.0", "method": "SbisTenderAPI.GetStatistics", "params": {}, "id": 1}

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

{"jsonrpc": "2.0", "result": {"DayCounter": 33, "DayLimit": 200, "DayRemaining": 167,  }, "id": 1}