ym88659208ym87991671
Авторизация пользователей | Документация для разработчиков

Авторизация пользователей

Обновлено 9 декабря 2025

Access Token

Все запросы в Sber API выполняются от имени конкретного пользователя СберБизнес. Для этого необходимо получить право доступа (Access Token) от такого пользователя на получение и работу с его данными по следующей схеме:

  • Сформируйте ссылку авторизации в соответствие с правилами,
  • Отправьте запрос на получение кода авторизации,
  • В случае, если запрос направляется не по своей организации, то пользователь подписывает согласие на передачу данных,
  • Обменяйте полученный код авторизации на токен доступа,
  • Передавайте токен доступа (access_token) пользователя в заголовке Header в параметре Authorization при каждом запросе,
  • Обновляйте токены доступа для последующих запросов в канале API.

Refresh Token

Refresh Token – это токен обновления. Access_token имеет временный характер действия (60 минут с момента получения). Для обновления токена доступа необходимо использовать refresh_token. С момента получения refresh token действителен 180 дней. Refresh_token вы получаете одновременно с access_token при обмене кода авторизации на токен доступа.

ID token

ID Token — это токен в формате JWS (JSON Web Token), который подтверждает факт аутентификации пользователя и содержит информацию о том, как и когда эта аутентификация произошла.

Для чего нужен id_token?

  • Подтвердить личность пользователя: с помощью уникальных идентификаторов можете связать сессию с учетной записью пользователя
  • Получить контекст входа: вы можете узнать все о том, как произошла аутентификация
  • Обеспечить безопасность входа: параметры id_token позволяют провалидировать подлинность иных передаваемых вам токенов из Банка

Какая информация содержится в ID Token:

Информация, которая позволяет идентифицировать (не на уровне натуральных значений) пользователя и узнать о его аутентификации.

Наименование атрибутаОписание
acrКонтекст класса аутентификации
amrМетоды аутентификации
audАудитория, для которой ID Token был выпущен
auth_timeВремя, когда произошла аутентификация конечного пользователя
azpИдентификатор стороны, для которой выпущен id_token
expВремя истечения срока действия id_token
iatВремя, когда JWT был выпущен
issИдентификатор эмитента
nonceСтроковое значение, используемое для связи сеанса клиента с id_token и для предотвращения атак с повторным воспроизведением
sid2Идентификатор сессии токена
subВнешний идентификатор учетной записи пользователя компании

Структура ID token

ID Token представлен в виде строки, состоящей из трех частей, разделенных точками (.): header.payload.signature.

Части ответа:

  • Header (заголовок): содержит информацию, такую как алгоритм подписи и тип токена
  • Payload (полезная нагрузка): содержит информацию (атрибуты) о пользователе и его аутентификации
  • Signature (электронная подпись): проверка подписи позволяет убедиться в подлинности токена

Как работать с ID token?

  • Извлеките id_token из ответа ресурса /ic/sso/api/v2/oauth/token
  • Декодируйте ответ: каждая часть ответа должна декодироваться отдельно. Для декодирования следует воспользоваться алгоритмом Base64URL Encoding.
  • Проверьте подпись (рекомендуется): необходимо вычислить подпись публичным ключом Банка, декодировав блок Header и Payload. Далее сравнить полученное значение c блоком Signature.
  • Проверьте ключевые атрибуты

Правила авторизации

Правила формирования ссылки авторизации
  • Соблюдайте требования спецификаций OAuth 2.0 , OpenID Connect ;
  • В ссылку авторизации включайте операции и claims в соответствие с доступным вам scope.
Авторизация пользователя своей организаций

Получить токен можно двумя способами:

  • В Личном кабинете Sber API по инструкции;
  • Сформируйте ссылку авторизации и получите токен по схеме выше.
Авторизация пользователей дочерней организации в наборе "Холдингам"

Выполните следующие шаги:

  • Сформируйте ссылки авторизации для каждой из дочерних организаций;
  • Направьте соответствующие ссылки авторизации дочерним организациями, получите access_token и refresh_token после подписания ими согласий;
  • Направьте запрос по каналу Sber API от имени головой компании с access_token соответствующей дочерней организации.
Авторизация пользователей иных организаций (для иных наборов кроме "Холдингам")

Выполните следующие шаги:

  • Реализуйте механизм авторизации на базе сервиса СберБизнес ID;
  • Направьте запрос по каналу Sber API с access_token соответствующей организации.

Полный перечень claims

Claim — это отдельная единица информации (атрибут) о пользователе или организации, которая возвращается в ID Token или может быть запрошена у API. Это утверждение о субъекте (например, имя, email, ИНН компании).

Проще говоря: Claim — это информация о том, кто пользователь и какими свойствами обладает его организация.

  • Назначение: Предоставление идентификационных и атрибутивных данных.
  • Примеры claims: name (ФИО), email, inn (ИНН), orgName (название организации), userPosition (должность).
  • Использование: Могут автоматически включаться в payload ID Token (в зависимости от наличия в scope) или запрашиваться отдельно. Используются приложением для идентификации пользователя, персонализации интерфейса и бизнес-логики.
Наименование атрибута (claim)Описание
Стандартный набор
emailАдрес электронной почты
individualExecutiveAgencyПризнак ЕИО (Единоличный исполнительный орган)
innИНН
nameФамилия Имя Отчество
orgFullNameПолное наименование компании
orgJuridicalAddressЮридический адрес компании
orgKppКПП
orgLawFormОрганизационно-правовая форма (полное наименование)
orgLawFormShortОрганизационно-правовая форма (принятое сокращение)
OrgNameСокращенное наименование организации
orgOgrnОГРН
orgOktmoОКТМО
offerExpirationDateДата окончания срока действия согласия (оферты)
phone_numberНомер телефона
terBankТерриториальный банк
userPositionДолжность
HashOrgIdХэш идентификатора организации (orgId)
subВнешний идентификатор учетной записи пользователя компании
В отдельных сервисах
accountsИнформация о счетах
buyOnCreditMmb (Кредит в корзине)Признак возможности покупки в кредит на сайте партнера (Малый и Микро Бизнес)
creditLineAvailableSum (Кредит в корзине)Сумма действующей ВКЛ (Возобновляемой кредитной линией)
hasActiveCreditLine (Кредит в корзине)Признак наличия у клиента действующей ВКЛ (Возобновляемой кредитной линией)
userCryptoType (Кредит в корзине, Моментальные платежи, Платформам)Тип криптографии
Дополнительные клэймы
orgRegDateINNДата регистрации ИНН
orgRegDateOGRNДата регистрации ОГРН
accountsСчет, БИК, корреспондентский счет компании
orgOkpoОКПО
residentПризнак 'резидент / нерезидент'
activeПризнак активности пользователя
branchИнформация о подразделении
dboContractsДоговоры обслуживания организации
nonClientПризнак "Неклиент"
Неклиент - неверифицированный пользователь, у которого не подтверждены учетные данные, отсутствуют расчетный счет и право подписи документов
orgBusinessSegmentБизнес-сегмент
orgUnconfirmedПризнак "Неподтвержденная организация"
isCorpCardHolderПризнак наличия у клиента бизнес-карты
isIdentifiedПризнак идентификации пользователя
tbIdentCodeКод территориального банка
userRolesРоли пользователя
userSignatureTypeТип подписи
userGroupsГруппы пользователя

Полный перечень операций

Scope — это набор операций (прав доступа), который определяет, к каким конкретным действиям и данным в Sber API партнер запрашивает разрешение у пользователя. Это перечень функций API, которые приложение намерено использовать от имени пользователя.

Проще говоря: Scope — это список того, что можно делать в системе (например, получать выписки, создавать платежи, запрашивать данные о счетах).

  • Назначение: Контроль доступа на уровне функциональности.
  • Примеры операций в scope: GET_STATEMENT_ACCOUNT (получить выписку), PAY_DOC_RU (создать рублевый платеж), GET_CREDIT_OFFERS (получить кредитные предложения).
  • Использование: Указывается в ссылке авторизации. Пользователь видит этот список и соглашается предоставить права на эти операции. Полученный Access Token будет действителен только для операций, указанных в этом scope.
Код операции для включения в scopeОписание
ACCEPTANCE_ADVANCEЗаявление на заранее данный акцепт (ЗДА)
BANK_CONTROL_STATEMENTВедомость банковского контроля (ВБК в банк)
BANK_CONTROL_STATEMENT_CHANGE_APPLICATIONЗаявление о внесении изменений в I раздел ВБК
BUSINESS_CARDS_TRANSFERПеревод по бизнес-картам
CARD_ISSUEЭлектронный реестр на открытие счетов и выпуск карт
CERTIFICATE_REQUESTЗапрос на сертификат
CONFIRMATORY_DOCUMENTS_INQUIRYСправка о подтверждающих документах
CORPORATE_CARDSБизнес-карты
CORRESPONDENT_CUR_ADDITIONALДополнительная информация по валютному контрагенту (бенефициару)
CREDIT_REQUESTЗапрос на создание заявок на кредит
CRYPTO_CERT_REQUEST_EIOЗапрос на выпуск сертификата для ЕИО
CURR_CONTROL_MESSAGE_FROM_BANKПисьмо для целей ВК (из банка)
CURR_CONTROL_MESSAGE_TO_BANKПисьмо для целей ВК (в банк)
CURRENCY_OPERATION_detailsSСведения о валютной операции
DEPOSIT_REQUESTДепозиты
DICTСправочники
FILESВыгрузка/загрузка файлов
GENERIC_LETTER_FROM_BANKПисьмо свободного формата (из банка)
GENERIC_LETTER_TO_BANKПисьмо свободного формата (в банк)
GET_ADVANCE_ACCEPTANCESПолучение сведений о клиентах, подключенных к подпискам и пакетам услуг
GET_CLIENT_ACCOUNTSПолучение информации о счетах подключенного клиента
GET_CORRESPONDENTSПолучение списка контрагентов
GET_CREDIT_OFFERSПолучение информации по кредитным предложениям
GET_CRYPTO_INFOПолучение криптоинформации (КУЦ, криптопрофили и т.д.)
GET_CRYPTO_INFO_EIOПолучение сертификатов открытых ключей электронной подписи пользователей организации (ЕИО)
GET_STATEMENT_ACCOUNTПолучение выписки по счету клиента
GET_STATEMENT_TRANSACTIONПолучение операции по выписке
MINIMUMBALANCE_REQUESTНеснижаемый остаток
NOMINAL_ACCOUNTSБезопасные сделки
PAY_DOC_CURВалютное платежное поручение
PAY_DOC_RUРублевое платежное поручение
PAY_DOC_RU_INVOICE_ANYВыставление счета на оплату по свободным реквизитам
PAY_DOC_RU_INVOICE_BUDGETРублевое платежное поручение с бюджетным реквизитами, легкая форма
PAYMENT_REQUEST_INВходящее платежное требование
PAYMENT_REQUEST_OUTИсходящее платежное требование
PAYMENTS_REGISTRYРеестр платежей
PAYROLLЗарплатная ведомость
SALARY_AGREEMENTЗарплатный договор
SALARY_AGREEMENT_TRANSPORT_PACKAGEТранспортные пакеты

Согласие на передачу данных

Согласие на передачу данных - это документ, который Банк запрашивает у клиента и подтверждающий право Банка на передачу информации о клиенте третьему лицу (вам, как Партнеру Банка), выполнению операций третьим лицом (вами, как Партнером Банка) от лица Клиента. Согласие содержит информацию о том к каким данным, операциям и на какой срок предоставлен доступ Партнеру.

Согласие запрашивается при обращении к сервису авторизации СберБизнес ID:

  • При первичном обращении пользователя к Платформе Партнера через сервис СберБизнес ID;
  • При повторном обращении, в случае если:
    • Истек срок действия предыдущего согласия;
    • Предыдущее согласие было отозвано пользователем;
    • Состав запрашиваемого согласия (scope) расширился относительно принятого ранее согласия.

Согласие на передачу данных не требуется, если Платформа использует получение и отправку документов только по своей организации. Если пользователь отзывает согласие, то все выданные токены (Access Token, Refresh Token) деактивируются.

Заметили ошибку?

Выделите текст и нажмите Ctrl + Enter, чтобы сообщить нам о ней

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей. Вы можете запретить сохранение cookie в настройках своего браузера.