ПРИНЯТ И ВВЕДЕН в действие приказом Банка России от _____ 2025 года
№ _______ «О введении в действие новых редакций стандартов Банка
России и стандарта Банка России».
Настоящий Стандарт не может быть полностью или частично воспроизведен,
тиражирован и распространен в качестве официального издания без
разрешения Банка России.
Стандарт содержит общее описание элементов, которые являются общими для всех API на получение информации о счете Пользователя третьей стороной.
Стандарт рекомендован к использованию организациями при обмене финансовыми сообщениями, связанными с получением информации о банковском счете.
Стандарт предназначен для использования организациями при обмене сообщениями, связанными с получением информации о финансовых продуктах, счетах и других финансовых инструментах Пользователя, а также связанной с ними информации.
Настоящий стандарт предназначен для:
a. участников обмена информацией о финансовых продуктах, счетах и других финансовых инструментах Пользователя, а также связанной с ними информацией;
b. разработчиков информационного и программного обеспечения.
Положения настоящего стандарта применяются на добровольной основе, если только в отношении конкретных положений обязательность их применения не установлена нормативными актами Банка России или условиями договоров.
Положения настоящего стандарта применяются совместно со следующими документами:
В Стандарте применяются термины и определения в соответствии со стандартами ФАПИ.СЕК, ФАПИ.ПАОК, «Открытые программные интерфейсы. Общие положения», «Открытые программные интерфейсы. Глоссарий», а также следующие:
Наименование | Описание |
---|---|
Ресурс согласия | Объект данных, представляющий разрешение, предоставленное Пользователем (или субъектом данных) третьей стороне (СПУ) для доступа к определенным ресурсам или выполнения определенных действий от его имени. В контексте Открытых программных интерфейсов ресурс согласия является основным элементом, который управляет правами доступа и определяет, какие данные или операции разрешены. |
Разрешение | Текстовая константа, уникально определяющая области данных и операции с этими данными, запрашиваемые СПУ для авторизации доступа. |
Таблица 1 - Термины и определения
В данном разделе описывается взаимодействие при получении информации о счете Пользователя третьей стороной через среду Открытых программных интерфейсов, которые позволяют СПУ:
Шаг 1 - Запрос информации по счету:
Шаг 2 - Настройка согласия на доступ к счету:
Шаг 3 - Авторизация согласия:
Шаг 4 - Запрос данных:
На рисунке 1 представлена диаграмма последовательности потока получения информации о счете
Рисунок 1 - Диаграмма последовательности потока получения информации о счете
Этот поток предполагает, что следующие шаги были успешно выполнены:
В случае предоставления от СПУ в адрес ПУ просроченного или отсутствующего токена доступа в попытке запросить данные, ПУ отвечает ошибкой HTTP 401 (Unauthorized).
Рисунок 2 - Токен доступа отсутствует или просрочен
Этот поток предполагает, что следующие шаги были успешно выполнены:
СПУ предоставляет неверно сформированный запрос или запрос с некорректной полезной нагрузкой к ПУ для согласия на доступ к счету. ПУ отвечает ошибкой HTTP 400 (Bad Request).
Рисунок 3 - Неполная или не корректная полезная нагрузка запроса
Этот поток предполагает, что следующие шаги были успешно выполнены:
СПУ предоставляет (действительный) токен доступа, который не имеет допустимой области применения или ссылки на правильные разрешения для запроса данных. ПУ отвечает ошибкой HTTP 403 (Forbidden).
Рисунок 4 - Отсутствует или не действительна область применения токена доступа
Этот поток предполагает, что следующие шаги были успешно выполнены:
СПУ предоставляет (действительный) токен доступа, который используется для генерации пакета из нескольких запросов на получение подробной информации о счете. ПУ возвращает ответ 429 (Too Many Requests).
Рисунок 5 - Недопустимая множественность вызовов API
Этот поток предполагает, что следующие шаги были успешно выполнены:
Рисунок 6 - Ошибка авторизации согласия
Состояние ресурса согласия на доступ к счету определяется кодом его статуса, который может иметь следующие значения:
Значение | Описание |
---|---|
AwaitingAuthorisation | Ресурс согласия ожидает авторизации пользователя |
Rejected | Ресурс согласия был отклонен |
Authorised | Ресурс согласия был успешно авторизован |
Revoked | Ресурс согласия был отозван |
Таблица 2 - Состояния ресурса согласия на доступ к счету
Изменение состояний ресурса согласия на доступ к счету соответствует следующей модели:
Рисунок 7 - Диаграмма изменения состояний Ресурса согласия на доступ к счету
После того, как Пользователь авторизовал согласие, ПУ изменяет статус ресурса на “Authorised”.
При отклонении согласия Пользователем, ПУ изменяет статус ресурса согласия на “Rejected”.
После того, как Пользователь отозвал ресурс согласия, ПУ изменяет статус ресурса на “Revoked”.
expirationDateTime является необязательным полем, которое определяет срок истечения действия согласия для СПУ на доступ к данным Пользователя в ПУ.
expirationDateTime применяется ко всем разрешениям (кластерам данных), которые находятся в массиве ресурса согласия при его авторизации.
expirationDateTime определяет дату и время окончательного истечения срока действия согласия. По наступлении этой даты согласие не может быть возобновлено.
Для осуществления доступа к данным в течение всего срока действия согласия необходимо наличие активной авторизации, которая требует периодического подтверждения со стороны Пользователя.
TransactionToDateTime и TransactionFromDateTime определяют согласие Пользователя на доступ к операциям по счету в определенный период времени. Оба поля являются необязательными, и одно поле может быть указано без другого.
ПУ может ограничить доступ к операциям по счету за рамками указанного временного периода, при запросах к ресурсам, содержащих информацию об операциях по счету.
СПУ создает ресурс согласия на доступ к счету с помощью метода POST и получения доступа client credentials. Этот ресурс определяет разрешения (permissions) к кластерам данных, которые присылает СПУ от имени Пользователя. На начальном этапе согласие не авторизовано, поскольку ПУ еще его не актуализировал и не авторизовал во взаимодействии непосредственно с самим Пользователем.
ПУ отвечает сообщением, которое содержит идентификатор ресурса согласия consentId. Далее этот идентификатор используется при инициации доступа authorization code, который нужен для подтверждения Пользователем разрешений.
Во время получения доступа authorization code:
Согласие на доступ к счету считается авторизованным, если Пользователь выбрал хотя бы один счет и подтвердил авторизацию согласия.
Повторная авторизация Согласия - опциональный механизм, предназначенный для перевыпуска токенов для действующего Согласия в результате утери или истечения срока токенов. Данный процесс инициируется через повторную аутентифкация Пользователи и не предполагает создание нового Ресурса согласия или изменения его параметров. При этом параметр consentId не изменяется.
СПУ может запросить у Пользователя аутентификацию для повторной авторизации Согласия, находящегося в состоянии «Authorised» в любой момент времени. Это может быть выполнено как до, так и после истечения срока действия базовых токенов. ПУ может принимать данные запросы от СПУ. После успешной повторной аутентификации согласия СПУ не должен использовать токены доступа и токены обновления, которые ранее были выпущены для этого согласия. Когда ПУ выдает новый токен доступа и токен обновления в результате повторной аутентификации согласия, он должен аннулировать ранее выпущенные токен доступа и токены обновления для этого согласия.
При повторной авторизации Согласия Пользователь не должен изменять параметры Согласия (выбранные счета, разрешения и даты), клиентский путь должен быть ограничен только аутентификацией Пользователя и подтверждением Согласия.
Если Согласие уже авторизовано, а токен обновления утерян или более не действителен, то необходимо повторно авторизовать Согласие без создания нового Ресурса согласия.
Пользователь может отозвать согласие на доступ к счету в любой момент времени.
Пользователь может отозвать авторизацию ресурса согласия напрямую на стороне ПУ. Механизмы реализации данного процесса и процессов, связанных с отзывов токенов определяется при разработке сервера авторизации ПУ. Если Пользователь отозвал согласие на доступ к счету на стороне ПУ, то статус ресурса account-consents меняется на «Revoked».
Пользователь может инициировать отзыв согласия на стороне СПУ. Если согласие будет отозвано на стороне СПУ:
Также согласие может быть отозвано на стороне ПУ через редирект к ПУ.
ПУ информирует ПКС об отзыве Согласия (с момента запуска ПКС в промышленную эксплуатацию и принятия необходимых нормативно-правовых актов).
Пользователь выбирает счета, к которым применяется согласие в момент авторизации согласия.
В случае, если счет, к которому дано согласие, перестает быть доступен для Пользователя, данный счет удаляется из списка предоставления доступа, но при этом ПУ не отменяет доступ СПУ к другим счетам, связанным с тем же авторизированным согласием.
(Пункт применяется с момента запуска ПКС в промышленную эксплуатацию и принятия необходимых нормативно-правовых актов).
ПУ должен информировать ПКС об изменении статуса согласия в следующих случаях:
ПУ должен получать от ПКС уведомление об инициировании отзыва Согласия и выполнять следующие действия, в том числе:
Все взаимодействия при получении информации о счете Пользователя через среду Открытых программных интерфейсов должны соответствовать требованиям, определенным в стандарте СТО БР «Открытые программные интерфейсы. Профили API для расширенного режима безопасности», а также требованиям расширенного профиля безопасности OpenID API, определенным в ФАПИ.СЕК.
Для аутентификации клиента (СПУ) и получения токена доступа к Ресурсу согласия используется тип доступа client_credentials.
Для получения токена доступа к ресурсам Пользователя в рамках сценария с перенаправлением используется гибридный поток с типом доступа authorization_code.
Примечание: Ресурс согласия на доступ к счету не является ресурсом Пользователя.
Информация для оценки рисков будет доступна: