Настоящий документ содержит описание ключевых кейсов рекомендаций по реализации методов получения информации о банковских счетах Пользователя в рамках комплекса стандартов Банка России «Открытые программные интерфейсы».
Документ разработан с целью обеспечения единообразного подхода к реализации изменений в прикладных стандартах, повышения эффективности обмена данными между Поставщиками услуг (ПУ) и Сторонними поставщиками услуг (СПУ), а также снижения рисков и нагрузки на информационные системы участников среды Открытых API.
В условиях, когда стандарты Открытых API определяют базовые технические требования и форматы данных, настоящий документ выполняет роль инструмента гармонизации взаимодействия между участниками. Он аккумулирует технологический опыт участников среды Открытых API для решения инфраструктурных вызовов, которые не могут быть жестко регламентированы стандартом. Рекомендации разделены по категориям пользователей — физических и юридических лиц.
Настоящий документ предназначен для:
a. участников взаимодействия, осуществляющих обмен информацией о банковских счетах физических лиц, а также связанной с ними информацией;
b. инициаторов транзакционных операций (СПУ);
c. инициаторов действий с финансовыми продуктами Пользователя (СПУ);
d. участников обмена информацией о финансовых организациях, их финансовых продуктах и инструментах;
e. разработчиков информационного и программного обеспечения.
Настоящий документ определяет практические рекомендации по доработке методов API в рамках стандартов «Получение информации о банковских счетах Пользователя».
Основными целями документа являются:
Предоставление участникам готовых архитектурных шаблонов;
Оптимизация процессов обмена данными между ПУ и СПУ;
Снижение нагрузки на информационные системы участников;
Минимизация рисков несогласованности при реализации стандартов.
Положения настоящего документа носят рекомендательный характер и представляют собой добровольно принимаемый участниками ориентир при проектировании, доработке и актуализации следующих стандартов: :
Получение информации о счете пользователя. Методы для физических лиц;
Получение информации о счете пользователя. Методы для юридических лиц.
Документ применяется совместно с комплексом стандартов Банка России «Открытые программные интерфейсы».
Таблица 1 — Ключевые изменения и рекомендации по методам получения информации о счетах
| Суть изменения | Техническая реализация | Цель | Область применения (Метод API) |
|---|---|---|---|
| Декрементная сортировка списка операций. Операции возвращаются в порядке убывания даты их последнего изменения (от самых новых к самым старым). |
Использование поля valueDateTime. ПУ обрабатывает ответ от сервера, сортируя полученные операции по значению поля valueDateTime в порядке убывания (DESC). |
СПУ получает последние измененные операции (например, обновленные статусы) вверху списка, что упрощает валидацию и отображение в пользовательском интерфейсе. | GET /transactions GET /accounts/{accountId}/transactions |
| Внедрение инкрементального обмена данными. ПУ возвращает СПУ только операции, измененные или добавленные с момента последнего успешного запроса данного СПУ, вместо полного набора данных. |
Реализация алгоритма на основе маркерных таблиц: 1. Хранение состояния: ПУ ведет таблицу (маркер) для каждого СПУ. 2. Фильтрация ответа по сохраненному маркеру. 3. Формирование инкрементального ответа (только новые/измененные операции). 4. Обновление маркера после передачи. 5. Механизм получения полного набора данных (full sync) — требуется проработка. |
Снижение нагрузки на системы ПУ и СПУ, уменьшение объема передаваемых данных, экономия сетевых ресурсов, улучшение масштабируемости. | GET /transactions GET /accounts/{accountId}/transactions (в перспективе — другие методы, возвращающие исторические/объемные данные) |
| Рекомендации по доступным действиям для счетов в статусах "Disabled" и "Deleted". | Для Disabled: • ПУ возвращает полные данные о счете (реквизиты, операции, баланс). • Баланс — на последний момент доступности счета. • Разрешены методы получения информации (чтение). • Методы инициации действий блокируются. Для Deleted: • Актуальный баланс не возвращается (0 или ошибка). • Возвращаются исторические данные (выписки). • Разрешены только методы исторических данных. • Остальные методы блокируются. |
Снижение рисков несогласованности в работе ПУ и СПУ. | Все методы API, связанные с получением информации о счетах пользователя. |
В API-методах по получению операций (GET /transactions, GET /accounts/{accountId}/transactions) ПУ рекомендуется возвращать операции, отсортированные в порядке убывания даты последнего изменения операций (от новых к старым).
Техническая реализация на стороне ПУ:
ПУ использует поле valueDateTime для сортировки операций по дате последнего изменения.
При повторных запросах данных (особенно объемных, таких как история операций за год) СПУ часто запрашивает один и тот же массив данных целиком, даже если большая часть информации уже была получена ранее и остается актуальной. Это создает избыточную нагрузку на системы ПУ и СПУ, особенно при росте числа клиентов и частоты запросов.
Внедрение алгоритма, основанного на маркерных таблицах, который позволяет СПУ получать от ПУ только те данные, которые изменились или были добавлены с момента последнего успешного запроса, исключая повторную выгрузку уже имеющейся неизмененной информации. Требуется детальная проработка с участниками.
Техническая реализация на стороне ПУ:
При формировании ответа в методах по истории операций ПУ рекомендуется использовать алгоритм на основе маркерных таблиц. Алгоритм должен исключать из ответа информацию, отправленную этому СПУ ранее. Также должен быть механизм, позволяющий СПУ повторно получить полный набор данных, не учитывающий предыдущие запросы (необходимо проработать).
(Изменения в раздел будут внесены позднее).
В текущей экосистеме Open Banking отсутствует единый подход к обработке операций со счетами в неактивных статусах (Disabled — счет не доступен и не может использоваться, временно или навсегда; Deleted (для ЮЛ -Closed) — счет удален и не может использоваться). Это создаёт риски несогласованности в работе ПУ и СПУ.
На основе опыта участников рынка рекомендуется:
Для счетов со статусом Disabled:
Disabled.Для счетов со статусом Deleted(ФЛ), Closed(ЮЛ):
Deleted.