Интеграция со СБИС

Настроить сервисную авторизацию приложения в СБИС

Настроить сервисную авторизацию приложения в СБИС

Чтобы внешняя система могла авторизоваться в СБИС и обмениваться с ним данными, добавьте приложение в СБИС и настройте сервисную авторизацию.

Как происходит обмен

  1. Внешнее приложение отправляет запрос на сервер СБИС.
  2. СБИС проверяет переданные идентификатор и ключи. Если все верно, сервер высылает ответ с токеном доступа для приложения.
  3. Приложение отправляет на СБИС API команды с использованием токена доступа или идентификатора сессии.

Получить токен доступа

Чтобы получить токен доступа, отправьте POST-запрос на сервер СБИС. В запросе передайте ID приложения, а также защищенный и сервисные ключи. Их можно просмотреть в настройках приложения.

Адрес для выполнения запроса: https://online.sbis.ru/oauth/service/

Пример в формате *.php
Пример запроса в формате *.py

В качестве примера используется функция «cURL».

<?php
$auth = array(
    'app_client_id'=>'760676789310629',
    'app_secret'=>'WHREDMVWJDHYFZO0CM83MHF',
    'secret_key'=>'9PT47e2j3JGwsswHAzHaU5ssyzoqHsIYFHLjtZYQhlqV8U7eIkF5VIYluyrGwugVv7g1dWRcbSnoCzk10gq961GdzfpUD7INYZiS0wR8K1lrbVwkMjvqi'
);
$auth = json_encode($auth);
$ch = curl_init();
curl_setopt_array($ch, array(
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_URL => 'https://online.sbis.ru/oauth/service/',
    CURLOPT_POST => true,
    CURLOPT_HEADER => 0,
    CURLOPT_POSTFIELDS => $auth,
    CURLOPT_HTTPHEADER =>  array(
        'Content-type: charset=utf-8'
        )
));
$response = curl_exec($ch);
curl_close($ch);
?>

В качестве примера используется библиотека «Requests».

import requests
json={"app_client_id":"7760676789310629","app_secret":"RWHREDMVWJDHYFZO0CM83MHF","secret_key":"B9PT47e2j3JGwsswHAzHaU5ssyzoqHsIYFHLjtZYQhlqV8U7eIkF5VIYluyrGwugVv7g1dWRcbSnoCzk10gq961GdzfpUD7INYZiS0wR8K1lrbVwkMjvqi"}
url = 'https://online.sbis.ru/oauth/service/'    
response = requests.post(url, json=json)
print(response.text)
  • app_client_id — ID приложения;
  • app_secret — защищенный ключ;
  • secret_key — сервисный ключ.

В ответе json-формата будут поля «sid» и «token».

{
   "token": "RHRxMSFrNXc8OXheGohPkBdZkJdMlpPM05OcDp8JlZWaCVRldCbHJ6IWVpJCRyfnVNIzNDdjtjflcmazJ0ODIwMTgtMDctMDkgMTM6MDU6MTguNDgyNzY2",
   "sid": "00000003-000c238d-eedb-43a1d2e6be314a11"
}

Выполнить запрос

«Token» и «sid» — обязательные поля для обмена данными по API. С их помощью внешнее приложение выполняет запросы в СБИС. При выполнении запроса передайте одно из этих полей в заголовках.

Заголовок

Описание

X-SBISAccessToken:

Токен доступа внешнего приложения

X-SBISSessionId:

Идентификатор сессии, в которой запрашивается доступ

Выйти из системы

Чтобы завершить использование токена доступа, передайте на сервер СБИС POST-запрос.

Адрес для выполнения запроса: https://online.sbis.ru/oauth/service/

Тело запроса:

{
   "event": "exit",
   "token": "token"
}

Нашли неточность? Выделите текст с ошибкой и нажмите ctrl + enter.