Электронный документооборот

Пройти аутентификацию с помощью API

Пройти аутентификацию с помощью API

Пройдите аутентификацию в СБИС с помощью электронной подписи сотрудника, или используйте менее безопасный способ - по логину и паролю.

При успешной аутентификации пользователю возвращается строка с идентификатором сессии. Ее нужно передавать на сервер при выполнении каждой команды.

Для входа по сертификату ЭП используется свой набор команд, а по логину и паролю — свой.

По сертификату
По логину/паролю
  1. Выполните команду «СБИС.СписокСертификатовДляАутентификации» чтобы проверить сертификаты, которые допускают аутентификацию.
  2. Выберите сертификат. С помощью команды «СБИС.АутентифицироватьПоСертификату» войдите в кабинет. В ответе вернется идентификатор сессии, который зашифрован в адрес выбранного сертификата.
  3. Расшифруйте идентификатор сессии с помощью любого сертифицированного СКЗИ. Зашифрованная сессия передается в виде структуры «ContentInfo» со структурой «EnvelopedData» в качестве содержимого. Идентификатор сессии шифруется в адрес открытого ключа сертификата, с помощью которого происходит аутентификация. Пример можно посмотреть на сайте КриптоПро.
  4. Работайте в личном кабинете, выполняя другие команды API.
  1. Выполните команду «СБИС.Аутентифицировать». В ней передайте логин/пароль от личного кабинета online.sbis.ru. В ответе вернется идентификатор сессии.
  2. Работайте в личном кабинете, выполняя другие команды API.

При выполнении HTTP-запросов указывайте идентификатор сессии как значение HTTP заголовка «X-SBISSessionID». Исключение — команды «СБИС.Аутентифицировать», «СБИС.АутентифицироватьПоСертификату» и «СБИС.СписокСертификатовДляАутентификации».

Пример заголовка HTTP-запроса с указанием идентификатора сессии

POST https://online.sbis.ru/service/?srv=1 HTTP/1.1
Content-Type: application/json-rpc;charset=utf-8
X-SBISSessionID: 0000ea78-0000ea79-00ba-d3b85272bc0c4842

Если запросы к серверу отсутствуют, идентификатор сессии принудительно аннулируется через 24 часа. Максимальное время «жизни» идентификатора — 7 дней с момента аутентификации.

Чтобы завершить сессию и прекратить сеанс обмен, вызовите функцию «СБИС.Выход».

Процедуру аутентификации нужно выполнить один раз за сеанс работы. Полученный идентификатор можно использовать многократно для выполнения других команд в этом сеансе работы. При получении в ответ на HTTP POST/GET-запрос кода состояния 401 (Unauthorized) — еще раз выполните аутентификацию и повторите запрос.

Обратите внимание: если метод аутентификации выполняется чаще 300 раз в минуту, система заблокирует доступ по IP-адресу на 20 минут.