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

Аутентификация по протоколу O-Auth

Аутентификация по протоколу O-Auth

Выполняет аутентификацию по логину/паролю, возвращает идентификатор сессии.

Адрес для выполнения запроса https://api.sbis.ru к методу OAuthService.GetToken. Например, https://api.sbis.ru/oauth/service/sbis-rpc-service300.dll.

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

User-Agent: YourAppNameAndVersion  (Microsoft Windows NT 6.1.7601 Service Pack 1)
Content-Length: 654
Content-Type: application/json-rpc;charset=windows-1251
Accept: application/json-rpc
Host: api.sbis.ru
Connection: Keep-Alive

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

{
   "jsonrpc":"2.0",
   "method":"OAuthService.GetToken",
   "params":{
      "data":{
         "s":{
            "ext_id":"Число целое",
            "type":"Строка",
            "app_сlient_id":"Строка",
            "app_secret":"Строка",
            "device_id":"Строка",
            "machine_name":"Строка",
            "password":"Строка",
            "login":"Строка",
            "cert_id":"Строка"
         },
         "d":{
            "ext_id":5015075,
            "type":"login",
            "app_сlient_id":"your client id (integer)",
            "app_secret":"your app secret (text)",
            "device_id":"13131313-1313-1313-1313-13131313",
            "machine_name":"USD-PUPKIN",
            "password":"YourPassword123",
            "login":"yourlogin",
            "cert_id":"11E0E7ABEB3EE5ECFB75F354A237A144044A949E"
         }
      }
   },
   "id":0
}

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

{
   "jsonrpc":"2.0",
   "result":"dmJ1XiVxNGxOXm0qVEh3TX5aajgtcVBoVmUzeFtHc3RPU146Vy4sU3R2ZksqKmd2LlVHd3Y3S3BYMk0udFdhVTIwMTctMDctMjcgMTY6Mzc6MjkuMDYwNjQz",
   "id":null
}

В качестве значений полей при авторизации по логину и паролю указать:

  • "ext_id": иденитификатор аккаунта
  • "type": константа ("login")
  • "app_client_id": идентификатор вашего приложения
  • "app_secret": секретный ключ вашего приложения
  • "device_id": (ключ из реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\MachineGuid)
  • "machine_name" (имя в компьютера в домене)
  • "password": (пароль)
  • "login": (логин)
  • "cert_id": (отпечаток сертификата пользователя, не обязательное поле)

Полученная строка в поле "result" считается токеном, который должен быть подставлен в заголовок X-SBISAccessToken к любым запросам по API внешнего интерфейса ЭДО.

Значение заголовка X-SBISDeviceId ставить равным полю device_id в запросе к методу OAuthService.GetToken.

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

X-API-Version: 2.3.1
Content-Length: 327
Content-Type: application/json-rpc;charset=windows-1251
Accept: application/json-rpc
X-SBISAccessToken: SEwqc3ZqJk1fdHhZcFU6NDpAZmRkREQ1dkchJXBjUC1QJlshJWVuaGguTDleX0p1P1EbWhhYXAhKTNTT0tzWTIwMTctMDctMjcgMTY6MjY6MTAuMzk2MjQ4
X-SBISDeviceId: 13131313-1313-1313-1313-13131313
User-Agent: YourAppNameAndVersion  (Microsoft Windows NT 6.1.7601 Service Pack 1)
Host: online.sbis.ru
Connection: Keep-Alive
Cache-Control: no-cache

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

{
   "jsonrpc":"2.0",
   "method":"СБИС.СписокСлужебныхЭтапов",
   "params":{
      "Фильтр":{
         "Блокировать":"Да",
         "НашаОрганизация":{
            "ИдентификаторБиллинга":"0500736538",
            "СвЮЛ":{
               "ИНН":"6686025504",
               "КПП":"668601001",
               "Название":"КОТоПЕС, ООО",
               "КодФилиала":""
            }
         },
         "ТолькоОтчетность":"Да",
         "ТолькоЭДО":"Нет",
         "Навигация":{
            "РазмерСтраницы":"20"
         }
      }
   },
   "id":0
}