Стандарт Банка России «Открытые банковские интерфейсы. Получение публичной информации о кредитной организации и ее продуктах»
(принят и введен в действие приказом Банка России от 05.07.2021 № ОД-1365)
Примечание
Начало действия документа - 08.07.2021. В данном документе упоминаются организации, признанные в соответствии с законодательством Российской Федерации экстремистскими или террористическими. Данные организации ликвидированы или их деятельность запрещена. Актуальную информацию — см. Перечень экстремистских, террористических организаций (см. справочную информацию).
ЦЕНТРАЛЬНЫЙ БАНК РОССИЙСКОЙ ФЕДЕРАЦИИ
ОТКРЫТЫЕ БАНКОВСКИЕ ИНТЕРФЕЙСЫ
Предисловие
ПРИНЯТ И ВВЕДЕН в действие приказом Банка России от 5 июля 2021 года № ОД-1365 «О введении в действие стандарта Банка России СТО БР „Открытые банковские интерфейсы. Получение публичной информации о кредитной организации и ее продуктах“.
»
Настоящий Стандарт не может быть полностью или частично воспроизведен, тиражирован и распространен в качестве официального издания без разрешения Банка России.
1. История изменений
| Версия | Дата | Автор | Комментарий |
|---|---|---|---|
2. Введение
Стандарт содержит описания модели данных и конечных точек API, предназначенные для передачи публичной информации через Открытые банковские интерфейсы.
2.1. Область применения
Стандарт рекомендован к использованию организациями при обмене сообщениями, связанными с получением:
- списка кредитных организаций;
- списка устройств кредитных организаций и привлеченных банковских платежных агентов (субагентов);
- для участников получения публичной информации о кредитных организациях (кредитные организации и их клиенты);
- для разработчиков информационного и программного обеспечения, информационных систем.
2.2. Термины и определения
В Стандарте применяются следующие термины и определения:
| Наименование | Описание |
|---|---|
| API (Application Programming Interface) | Набор процедур, протоколов и инструментов для создания программных приложений. API определяет, как программные компоненты должны взаимодействовать |
| Открытые банковские интерфейсы | Бесплатные и общедоступные интерфейсы прикладного программирования (API), которые предоставляют разработчикам программный доступ к лицензионному программному приложению |
| Публичные данные, публичная информация | Данные, к которым каждый может получить доступ, использовать их или делиться ими |
| Пользователь | Физическое или юридическое лицо, являющееся потребителем публичных данных |
| Хозяйствующий субъект | Коммерческая организация, некоммерческая организация, осуществляющая деятельность, приносящую ей доход, индивидуальный предприниматель, иное физическое лицо, не зарегистрированное в качестве индивидуального предпринимателя, но осуществляющее профессиональную деятельность, приносящую доход, в соответствии с федеральными законами на основании государственной регистрации и (или) лицензии, а также в силу членства в саморегулируемой организации |
| Сторонний поставщик | Хозяйствующий субъект, использующий Открытые банковские интерфейсы для доступа к публичным данным (при осуществлении роли СППД). Сторонний поставщик отправляет сообщения запроса через Открытые банковские интерфейсы ППД и получает соответствующие ответные сообщения от этого ППД |
| Поставщик публичных данных (ППД) | Кредитная организация, публикующая Открытые банковские интерфейсы для целей предоставления своих публичных данных |
| Сторонний поставщик публичных данных (СППД) | Сторонний поставщик, предоставляющий Пользователю услугу по получению публичных данных ППД в режиме реального времени |
| Среда Открытых банковских интерфейсов | Комплекс стандартов Открытых банковских интерфейсов, управление, системы, процессы, безопасность и процедуры, используемые для поддержки участников |
| Участники среды Открытых банковских интерфейсов | Пользователи, кредитные организации и иные субъекты финансового рынка, разработчики программного обеспечения, которые участвуют в создании и развитии среды Открытых банковских интерфейсов |
| Ресурс | Представление любой сущности (например, перевод денежных средств, счет, транзакция) в определенном формате (например, JSON). Каждый ресурс идентифицируется посредством постоянного идентификатора, который не меняется при изменении состояния ресурса |
| Полезная нагрузка | Часть пакета данных (сообщения) без служебной информации (без заголовка, битов синхронизации и т.п.). Детальное описание структуры полезной нагрузки представлено в разделе 5.2 «Общая структура полезной нагрузки» |
3. Общие положения
Информационный обмен между ППД и СППД осуществляется посредством электронных сообщений, формируемых на стороне ППД и на стороне СППД посредством Открытых банковских интерфейсов.
Данный документ используется ППД для разработки интерфейсов, которые предоставляются СППД.
Данный документ используется СППД для реализации взаимодействий с ППД через Открытые банковские интерфейсы.
3.1. Принципы архитектуры
За основу создания среды Открытых банковских интерфейсов взят архитектурный стиль RESTful API <1>, что позволяет создавать простые и понятные для взаимодействия API.
<1> Детальное описание подхода представлено на сайте https://restfulapi.net/.
3.2. Физический уровень описания сообщений
На физическом уровне при проектировании сообщений используется язык описания интерфейсов OpenAPI 3-й версии <2> в формате YAML <3>.
<2> Детальное описание подхода представлено на сайте https://swagger.io/specification/.
<3> Детальное описание подхода представлено на сайте https://yaml.org/spec/1.2/spec.html.
3.3. Управление версиями API
Управление версиями API осуществляется согласно подходу Semantic Versioning 2.0.0 <4>.
<4> Детальное описание подхода представлено на сайте https://semver.org/.
4. Основы
4.1. Предоставление доступа к ресурсу
Доступ к API предоставляется Пользователям посредством протокола HTTPS с использованием криптостойких алгоритмов TLS не ниже версии 1.2 без ограничений и необходимости авторизации.
ППД должен ограничить количество успешных обращений к API в течение определенного периода для защиты от распространенных типов атак безопасности, таких как атаки отказа в обслуживании (DOS), а также регулировать трафик в соответствии с доступностью инфраструктуры.
4.2. Кодировка символов
Запросы и ответы API должны использовать кодировку UTF-8. Это кодировка символов по умолчанию для JSON (RFC 7158, раздел 8.1).
В случае наличия в сообщениях символов, которые не могут быть обработаны, ППД отклоняет сообщение с кодом состояния HTTP 400 (Bad Request).
4.3. Формат даты
ППД должен принимать в запросах все действующие форматы даты стандарта ISO 8601, включая его разрешенные вариации.
Все даты в полезных нагрузках JSON представлены в формате date-time стандарта ISO 8601. Все поля date-time в ответах должны включать часовой пояс. Например:
| 2019-07-08T11:23:03+00:00 2019-05-03T18:13:23Z |
|---|
Все даты в параметрах query должны быть в формате date-time стандарта ISO 8601 и должны включать часовой пояс. Например:
| 2019-07-01T09:23:01+03:00 |
|---|
Все даты в заголовках HTTP представлены как полные даты RFC 7231. Например:
| Mon, 26 Aug 2019 14:23:51 GMT +03:00 |
|---|
4.4. URI структура пути ресурса
Путь ресурса URI должен соответствовать следующей структуре:
[participant-path-prefix]/open-banking/[version]/[resource-group]/[resource]/[resource-id].
URI структура пути ресурса состоит из следующих элементов:
- [participant-path-prefix] — необязательный префикс ППД;
- open-banking — постоянное значение «open-banking»;
- [version] — версия API, выраженная в виде /v[major-version].[minor-version]/;
- [resource-group] — идентификатор группы конечных точек, в соответствии с ролью участника;
- [resource]/[resource-id] — наименование ресурса и его идентификатор (например, /accounts/1112345678). ППД должен использовать один и тот же participant-path-prefix и host name для всех своих ресурсов.
https://bank.ru/oapi-channel/open-banking/od/v1.1/devices
https://bank.ru/oapi-channel/open-banking/od/v1.1/banks
https://bank.ru/oapi-channel/open-banking/od/v1.1/branches
4.4.1. Заголовки запросов
4.4.2. Заголовки ответов
4.5. Коды статусов HTTP
Ниже приведены коды ответов HTTP для различных методов HTTP для всех конечных точек API.
ППД может возвращать другие стандартные коды состояния HTTP (например, от шлюзов и других периферийных устройств), как описано в RFC 7231 (Раздел 6).
ППД должны отвечать на все некорректные запросы общей структурой ошибок Открытых банковских интерфейсов.
4.5.1. 400 (Bad Request) или 404 (Not Found)
Когда СППД пытается запросить URL ресурса с идентификатором ресурса, которого не существует, ППД должен ответить 400 (Bad Request), а не 404 (Not Found).
Например, если СППД пытается выполнить запрос GET/devices/22289, где 22289 не является действительным deviceld, ППД должен ответить 400.
Когда СППД пытается запросить URL ресурса, что приводит к тому, что бизнес-данные не возвращаются, ППД должен ответить 200 (ОК) и установить для массива значение «быть пустым».
Если СППД пытается получить доступ к URL-адресу для ресурса, который не определен этими спецификациями (например, GET/card-accounts), ППД может ответить 404 (Not Found).
Если ППД не реализовал конечную точку API, он должен ответить 404 (Not Found) для запросов к этому URL.
Таблица ниже иллюстрирует некоторые примеры предсказуемого поведения.
Таблица 4. Возможные ситуации для ответов 400 (Bad Request) и 404 (Not Found)
4.5.2. 429 (Too Many Requests)
Когда СППД пытается получить доступ к ресурсу слишком часто, ППД может вернуть 429 (Too Many Requests). Это нефункциональное требование, и ППД должны определять метрику запросов в единицу времени.
4.6. Фильтрация
ППД должен обеспечивать ограниченную поддержку фильтрации для операций GET, которые возвращают множественные записи.
Параметры фильтра всегда разные для конкретного поля (полей) ресурса и следуют правилам/форматам, определенным в справочниках для ресурса.
Для параметров фильтра типа date-time значения должны соответствовать стандарту ISO 8601. Предполагается, что значения фильтра относятся к тому же часовому поясу, что и часовой пояс, в котором поддерживается ресурс.
4.7. Нумерация страниц
ППД может предоставлять постраничный ответ для операций GET, которые возвращают множественные записи.
- если существует следующая страница записей ресурсов, ППД должен предоставить ссылку на следующую страницу ресурсов в поле ответа Links.next. Отсутствие следующей ссылки будет означать, что текущая страница является последней страницей результатов;
- если предыдущая страница записей ресурсов существует, ППД должен предоставить ссылку на предыдущую страницу ресурсов в поле ответа Links.prev. Отсутствие предыдущей ссылки указывает на то, что текущая страница является первой страницей результатов.
Для разбитых на страницы ответов ППД следует гарантировать, что количество записей на странице находится в разумных пределах — минимум 25 записей (кроме последней страницы, где больше нет записей) и максимум 1000 записей.
Дополнительно ППД может предоставлять:
- ссылку на первую страницу результатов в поле Links.first;
- ссылку на последнюю страницу результатов в поле Links.last;
- общее количество страниц в поле Meta.TotalPages.
ППД должен включать ссылку «self» на ресурс в поле Links.self, как описано в разделе «Ссылки».
Этот стандарт не определяет, каким образом параметры перелистывания страниц передаются ППД, и каждый ППД может использовать свои собственные механизмы для разбивки ответа.
Если исходный запрос от Стороннего поставщика включал параметры фильтра, разбитый на страницы ответ должен возвращать только те результаты, которые соответствуют фильтру.
5. Общая модель данных
5.1. Справочники и перечисления
В случае использования фиксированных справочников все возможные значения будут задаваться статично в стандарте Открытых банковских интерфейсов.
В случае использования гибких справочников начальные возможные значения будут задаваться в стандарте Открытых банковских интерфейсов, но каждый ППД может динамично управлять ими, расширяя свои значения. Справочные значения, уникальные для ППД, могут в будущем включаться в список начальных возможных значений для гибких справочников.
5.2. Общая структура полезной нагрузки
В этом разделе дается обзор структуры верхнего уровня для полезных нагрузок Открытых банковских интерфейсов.
Данные, которые содержатся в разделе «Data», документируются для каждой отдельно взятой конечной точки API.
5.2.1. Структура запроса
Структура верхнего уровня для запросов Открытых банковских интерфейсов имеет следующий вид:
| { «Data»: { ... } } |
|---|
Data
Раздел «Data» содержит данные запроса для конкретного запроса API.
Структура этого элемента различается для каждой конечной точки API.
5.2.2. Структура ответа
Структура верхнего уровня для ответов Открытых банковских интерфейсов имеет следующий вид:
| { «Data»: { ... }, «Links» { ... }, «Meta»: { ... } } |
|---|
В соответствии с принципом API RESTful полный ресурс должен быть воспроизведен как часть ответа.
В ответ включаются следующие дополнительные разделы высокого уровня:
5.2.3. Структура ответа с ошибками
Структура ответов с ошибками Открытых банковских интерфейсов на чтение/запись имеет следующий вид:
| { «Code»: «...», «Id»: «...», «Message»: «...», «Errors»: «...», [ { «ErrorCode»: «...», «Message»: «...», «Path»: «...», «Url» : «...» } ] } |
|---|
Диаграмма UML
Спецификация данных
Таблица 5. Детальное описание элементов ответа с ошибками
5.2.4. Необязательные поля
В объектах, где значение для необязательного поля не указано, поле должно быть исключено из полезной нагрузки JSON.
В объектах, где поле массива определено как имеющее значения 0..N, поле массива должно быть включено в полезную нагрузку с пустым массивом.
5.2.5. Ссылки
Раздел «Links» является обязательным и всегда будет содержать абсолютные URI для связанных ресурсов.
Ссылка «self» является обязательной.
| «Links»: { «self»: «https://api.bank.ru/open-banking/v3.1/payments/58923» } |
|---|
При передаче большого количества данных раздел «Links» может также содержать элементы first, prev, next и last.
5.2.6. Метаданные
Раздел «Meta» обязателен, но может быть пустым. Необязательный элемент TotalPages указывает на количество передаваемых страниц.
| «Meta»: { «TotalPages»: 6 } |
|---|
5.3. Примеры использования
Примеры использования для отдельных API задокументированы на соответствующих страницах.
В этом разделе приведены примеры использования некоторых шаблонов.
5.4. Потоки с нумерацией страниц
Приведенный ниже пример иллюстрирует, как ППД может возвращать многостраничный ответ.
6. Кредитные организации, спецификация API
6.1. Конечные точки
Таблица 6. Конечные точки для ресурса «Кредитные организации»
| Ресурс | Метод HTTP | Конечная точка | Параметры | Объект запроса | Объект ответа |
|---|---|---|---|---|---|
| banks | GET | GET/banks | BankResponse |
6.1.1. GET/banks
Конечная точка должна использоваться для получения списка кредитных организаций участников среды Открытых банковских интерфейсов.
6.2. Модель данных
Объект BankResponse используется в ответах от конечных точек:
6.2.1. Описание ресурсов
Ресурс представляет собой информацию о кредитных организациях.
Каждый ресурс кредитной организации должен иметь уникальный и неизменный идентификатор bankld.
6.2.2. Диаграмма UML
6.2.3. Состав данных объекта BankResponse
Таблица 7. Состав данных объекта BankResponse
7. Устройства, спецификация API
7.1. Конечные точки
Таблица 8. Конечные точки ресурса устройств
| Ресурс | Метод HTTP | Конечная точка | Параметры | Объект запроса | Объект ответа |
|---|---|---|---|---|---|
| devices | GET | GET/devices | DevicesResponse |
7.1.1. GET/devices
Конечная точка должна использоваться для получения списка устройств кредитной организации и привлеченных банковских платежных агентов (субагентов).
7.2. Модель данных
Объект DeviceResponse используется в ответах от конечных точек:
7.2.1. Описание ресурсов
Ресурс представляет собой информацию о сети устройств кредитной организации и привлеченных банковских платежных агентов (субагентов).
Каждый ресурс устройства должен иметь уникальный и неизменный идентификатор deviceld.
7.2.2. Диаграмма UML
7.2.3. Состав данных объекта DeviceResponse
Таблица 9. Состав данных объекта DeviceResponse
| Наименование | Кратность | Путь | Описание | Тип | Значение | Шаблон |
|---|---|---|---|---|---|---|
| DeviceResponse | DeviceResponse | DeviceResponseComplexType | ||||
| Data | 1..1 | DeviceResponse/Data | DeviceDataResponseComplexType | |||
| Device | 0..N | DeviceResponse/Data/Device | DeviceComplexType | |||
| deviceld | 1..1 | DeviceResponse/Data/Device/deviceld | ||||
| operationType | 1..N | DeviceResponse/Data/Device/operationType | Буквенные коды видов операций. Справочное значение |
OperationTypeStaticType (Max2Text) |
||
| deviceType | 1..1 | DeviceResponse/Data/Device/deviceType | Тип устройства. Справочное значение |
DeviceTypeStaticType (Max2Text) |
||
| nfc | 1..1 | DeviceResponse/Data/Device/nfc | Использование бесконтактной технологии: - true — бесконтактные технологии используются; - false — бесконтактные технологии не используются |
xs:boolean | ||
| qr | 1..1 | DeviceResponse/Data/Device/qr | Возможность считывания QR-кодов (штрих-кодов) при совершении операций: - true — QR-коды (штрих-коды) используются; - false — QR-коды (штрих-коды) не используются |
xs:boolean | ||
| recirculation | 0..1 | DeviceResponse/Data/Device/recirculation | Наличие функции рециркуляции банкнот: - true — функция рециркуляции банкнот используется; - false — функция рециркуляции банкнот не используется |
xs:boolean | ||
| baseCurrency | 1..1 | DeviceResponse/Data/Device/baseCurrency | Основная валюта устройства. Справочное значение |
ActiveOrHistoricCurrencyCode | ||
| currencyln | 0..N | DeviceResponse/Data/Device/currencyln | Все доступные валюты устройства при приеме. Справочное значение | ActiveOrHistoricCurrencyCode | ||
| banknoteTypeln | 0..N | DeviceResponse/Data/Device/banknoteTypeln | Номинал купюр при приеме. Если массив пустой, то ограничений нет | xs:decimal | ||
| currencyOut | 0..N | DeviceResponse/Data/Device/currencyOut | Все доступные валюты устройства при выдаче. Справочное значение | ActiveOrHistoricCurrencyCode | ||
| banknoteTypeOut | 0..N | DeviceResponse/Data/Device/banknoteTypeOut | Номинал купюр при выдаче. Если массив пустой, то валюты нет в наличии | xs:decimal | ||
| cards | 0..N | DeviceResponse/Data/Device/cards | Банковские карты, доступные для использования на данном устройстве. Справочное значение |
CardSchemeNameStaticType (Max10Text) |
||
| currentStatus | 1..1 | DeviceResponse/Data/Device/currentStatus | Статус работоспособности устройства. Справочное значение |
DeviceCurrentStatusStaticType (Max10Text) | ||
| description | 0..1 | DeviceResponse/Data/Device/description | Дополнительная информация в свободной форме (например, наименование магазина, в котором установлено устройство, указание номера этажа, подъезда) | Max255Text | ||
| Address | 1..1 | DeviceResponse/Data/Device/Address | AddressComplexType | |||
| streetName | 0..1 | DeviceResponse/Data/Device/Address/streetName | Название улицы | Max70Text | ||
| buildingNumber | 0..1 | DeviceResponse/Data/Device/Address/buildingNumber | Номер здания | Max16Text | ||
| department | 0..1 | DeviceResponse/Data/Device/Address/department | Номер корпуса здания | Max70Text | ||
| postCode | 0..1 | DeviceResponse/Data/Device/Address/postCode | Почтовый индекс | Max16Text | ||
| townName | 1..1 | DeviceResponse/Data/Device/Address/townName | Название населенного пункта | Max35Text | ||
| countrySubDivision | 0..1 | DeviceResponse/Data/Device/Address/countrySubDivision | Название региона страны (например, область, край, республика) | Max35Text | ||
| country | 1..1 | DeviceResponse/Data/Device/Address/country | Название страны в кодированной форме | CountryCode | [A-Z]{2} | |
| addressLine | 0..7 | DeviceResponse/Data/Device/Address/addressLine | Информация, описывающая местонахождение и конкретный адрес в соответствии с правилами почтовой службы в свободной текстовой форме | Max70Text | ||
| description | 0..1 | DeviceResponse/Data/Device/Address/description | Дополнительная информация в свободной форме. Например, место установки банкомата кредитной организации, позволяющее его идентифицировать (наименование магазина, в котором установлено устройство, указание номера этажа, подъезда) | Max255Text | ||
| oktmo | 1..1 | DeviceResponse/Data/Device/Address/oktmo | Цифровой код места нахождения банкомата (11 знаков) в соответствии с Общероссийским классификатором территорий муниципальных образований (ОКТМО). Для стран — участников ЕАЭС поле заполняется значением константы EAEU |
Max11Text | ||
| fias | 1..1 | DeviceResponse/Data/Device/Address/fias | Уникальный номер адреса объекта адресации (объектов недвижимости: земельного участка, здания (сооружения или объекта незавершенного строительства), помещения (расположенного в здании или сооружении) в Государственном адресном реестре федеральной информационной адресной системы (ФИАС). В случае отсутствия в ФИАС уникального номера адреса объекта адресации (при поиске такого номера для всех адресных элементов) в поле указывается уникальный номер адресообразующего элемента для последнего элемента улично-дорожной сети. Для стран — участников ЕАЭС поле заполняется значением константы EAEU |
Max255Text | ||
| Geolocation | 0..1 | DeviceResponse/Data/Device/Address/Geolocation | ||||
| GeographicCoordinates | 1..1 | DeviceResponse/Data/Device/Address/Geolocation/GeographicCoordinates | ||||
| latitude | 1..1 | DeviceResponse/Data/Device/Address/Geolocation/GeographicCoordinates/latitude | Широта | xs:decimal | ||
| longitude | 1..1 | DeviceResponse/Data/Device/Address/Geolocation/GeographicCoordinates/longitude | Долгота | xs:decimal | ||
| Services | 1..1 | DeviceResponse/Data/Device/Services | ServicesComplexType | |||
| Service | 1..N | DeviceResponse/Data/Device/Services/Service | ServiceComplexType | |||
| serviceType | 1..1 | DeviceResponse/Data/Device/Services/Service/serviceType | Услуги, доступные на устройстве. Справочное значение | DeviceServiceTypeStaticType (Max255Text) |
||
| description | 0..1 | DeviceResponse/Data/Device/Services/Service/description | Дополнительная информация в свободной форме | Max255Text | ||
| Availability | 0..1 | DeviceResponse/Data/Device/Availability | ||||
| availabilitylndicator | 1..1 | DeviceResponse/Data/Device/Availability/isRestricted | Доступ к объекту ограничен системой пропуска и прочее | availabilitylndicatorStaticType (Max1Text) |
||
| description | 0..1 | DeviceResponse/Data/Device/Availability/description | Дополнительная информация в свободной форме | Max255Text | ||
| StandardAvailability | 1..1 | DeviceResponse/Data/Device/Availability/StandardAvailability | ||||
| Day | 1..7 | DeviceResponse/Data/Device/Availability/StandardAvailability/Day | ||||
| dayCode | 1..1 | DeviceResponse/Data/Device/Availability/StandardAvailability/Day/dayCode | День недели. Справочное значение | WeekDayStaticType | ||
| openingTime | 0..1 | DeviceResponse/Data/Device/Availability/StandardAvailability/Day/openingTime | Время начала работы. Значение должно передаваться в формате «hh:mm:ss \pm hh:mm» | ISOTime | ||
| closingTime | 0..1 | DeviceResponse/Data/Device/Availability/StandardAvailability/Day/closingTime | Время окончания работы. Значение должно передаваться в формате «hh:mm:ss \pm hh:mm» | ISOTime | ||
| Break | 1..N | DeviceResponse/Data/Device/Availability/StandardAvailability/Day/Break | ||||
| breakFromTime | 1..1 | DeviceResponse/Data/Device/Availability/StandardAvailability/Day/Break/breakFromTime | Время начала перерыва. Значение должно передаваться в формате «hh:mm:ss \pm hh:mm» | ISOTime | ||
| breakToTime | 1..1 | DeviceResponse/Data/Device/Availability/StandardAvailability/Day/Break/breakToTime | Время окончания перерыва. Значение должно передаваться в формате «hh:mm:ss \pm hh:mm» | ISOTime | ||
| NonStandardAvailability | 0..N | DeviceResponse/Data/Device/Availability/NonStandardAvailability | ||||
| name | 1..1 | DeviceResponse/Data/Device/Availability/NonStandardAvailability/name | Наименование праздничного дня. Например, «Рождество», «Новый год» | Max140Text | ||
| fromDate | 0..1 | DeviceResponse/Data/Device/Availability/NonStandardAvailability/fromDate | Дата начала периода. Значение должно передаваться в формате «YYYY-MM-DD» | ISODate | ||
| toDate | 0..1 | DeviceResponse/Data/Device/Availability/NonStandardAvailability/toDate | Дата окончания периода. Значение должно передаваться в формате «YYYY-MM-DD» | ISODate | ||
| description | 0..1 | DeviceResponse/Data/Device/Availability/NonStandardAvailability/description | Дополнительная информация в свободной форме | Max255Text | ||
| Day | 1..7 | DeviceResponse/Data/Device/Availability/NonStandardAvailability/Day | ||||
| dayCode | 1..1 | DeviceResponse/Data/Device/Availability/NonStandardAvailability/Day/dayCode | День недели. Справочное значение |
WeekDayStaticType | ||
| openingTime | 0..1 | DeviceResponse/Data/Device/Availability/NonStandardAvailability/Day/openingTime | Время начала работы. Значение должно передаваться в формате «hh:mm:ss \pm hh:mm» | ISOTime | ||
| closingTime | 0..1 | DeviceResponse/Data/Device/Availability/NonStandardAvailability/Day/closingTime | Время окончания работы. Значение должно передаваться в формате «hh:mm:ss \pm hh:mm» | ISOTime | ||
| Break | 1..N | DeviceResponse/Data/Device/Availability/NonStandardAvailability/Day/Break | ||||
| breakFromTime | 1..1 | DeviceResponse/Data/Device/Availability/NonStandardAvailability/Day/Break/breakFromTime | Время начала перерыва. Значение должно передаваться в формате «hh:mm:ss \pm hh:mm» | ISOTime | ||
| breakToTime | 1..1 | DeviceResponse/Data/Device/Availability/NonStandardAvailability/Day/Break/breakToTime | Время окончания перерыва. Значение должно передаваться в формате «hh:mm:ss \pm hh:mm» | ISOTime | ||
| ContactDetails | 0..1 | DeviceResponse/Data/Device/ContactDetails | ||||
| phoneNumber | 0..1 | DeviceResponse/Data/Device/ContactDetails/phoneNumber | Номер стационарного телефона | PhoneNumber | ^((8|+7)[-]?)?((?\d{3})?[-]?)?[\d-]{7,10}$ | |
| other | 0..1 | DeviceResponse/Data/Device/ContactDetails/other | Дополнительный текст в свободном формате | Max35Text | ||
| Accessibilities | 0..1 | DeviceResponse/Data/Device/Accessibilities | ||||
| Accessibility | 1..N | DeviceResponse/Data/Device/Accessibilities/Accessibility | ||||
| type | 1..1 | DeviceResponse/Data/Device/Accessibilities/Accessibility/type | Тип оборудования. Справочное значение |
AccessibilityStaticType (Max140Text) |
||
| description | 0..1 | DeviceResponse/Data/Device/Accessibilities/Accessibility/description | Дополнительная информация в свободной форме | Max255Text | ||
| CurrencyExchange | 0..N | DeviceResponse/Data/Device/CurrencyExchange | ||||
| exchangeType | 1..1 | DeviceResponse/Data/Device/CurrencyExchange/exchangeType | Тип обмена валют. Справочное значение |
ExchangeTypeStaticType (Max10Text) | ||
| sourceCurrency | 1..1 | DeviceResponse/Data/Device/CurrencyExchange/sourceCurrency | Валюта, которую необходимо поменять. Справочное значение |
ActiveOrHistoricCurrencyCode | ||
| targetCurrency | 1..1 | DeviceResponse/Data/Device/CurrencyExchange/targetCurrency | Валюта, на которую необходимо осуществить обмен. Справочное значение |
ActiveOrHistoricCurrencyCode | ||
| scaleCurrency | 1..1 | DeviceResponse/Data/Device/CurrencyExchange/scaleCurrency | Количество, для которого установлен курс обмена TargetCurrency | xs:int | ||
| exchangeRate | 1..1 | DeviceResponse/Data/Device/CurrencyExchange/exchangeRate | Курс обмена валюты | xs:decimal | ||
| fee | 0..1 | DeviceResponse/Data/Device/CurrencyExchange/fee | Комиссия за операцию обмена валюты | xs:decimal | ||
| amountMin | 1..1 | DeviceResponse/Data/Device/CurrencyExchange/amountMin | Минимальная сумма для обмена | xs:decimal | ||
| amountMax | 1..1 | DeviceResponse/Data/Device/CurrencyExchange/amountMax | Максимальная сумма для обмена | xs:decimal | ||
| direction | 1..1 | DeviceResponse/Data/Device/CurrencyExchange/direction | Направление обмена валют со стороны кредитной организации | CurrencyExchangeDirection (Max4Text) | selll buy | |
| dateTime | 0..1 | DeviceResponse/Data/Device/CurrencyExchange/dateTime | Дата и время обновления курса обмена валюты. Значение должно передаваться в формате «YYYY-MM-DDThh:mm:ss \pm hh:mm» | ISODateTime | ||
| updateDateTime | 0..1 | DeviceResponse/Data/Device/CurrencyExchange/updateDateTime | Дата и время, на которые устанавливается курс обмена валюты. Значение должно передаваться в формате «YYYY-MM-DDThh:mm:ss \pm hh:mm» | ISODateTime | ||
| PaymentAgent | 0..1 | DeviceResponse/Data/Device/PaymentAgent | Информация о банковском платежном агенте (субагенте) | |||
| paymentAgentIndicator | 1..1 | DeviceResponse/Data/Device/PaymentAgent\paymentAgentIndicator | Признак банковского платежного агента (субагента): - БПА — банкомат (касса) банковского платежного агента, привлеченного кредитной организацией; - БПС — банкомат (касса) банковского платежного субагента, привлеченного банковским платежным агентом, привлеченным кредитной организацией |
PaymentAgentIndicatorStaticType (Max3Text) | БПА БПС | |
| ogrn | 1..1 | DeviceResponse/Data/Device/PaymentAgent\ogrn | Основной государственный регистрационный номер (ОГРН) в соответствии с единым государственным реестром юридических лиц (ЕГРЮЛ). Заполняется только для юридических лиц | Max13Text | ||
| ogrnip | 1..1 | DeviceResponse/Data/Device/PaymentAgent\ogrnip | Основной государственный регистрационный номер индивидуального предпринимателя (ОГРНИП) в соответствии с единым государственным реестром индивидуальных предпринимателей (ЕГРИП). Заполняется только для индивидуальных предпринимателей | Max15Text | ||
| inn | 1..1 | DeviceResponse/Data/Device/PaymentAgent\inn | Идентификационный номер налогоплательщика (ИНН). Для юридических лиц в соответствии с ЕГРЮЛ, для индивидуальных предпринимателей в соответствии с ЕГРИП |
Max12Text | ||
| fullName | 0..1 | DeviceResponse/Data/Device/PaymentAgent\fullName | Наименование банковского платежного агента (субагента) в соответствии с ЕГРЮЛ или фамилия, имя, отчество (при наличии) банковского платежного агента (субагента) в соответствии с ЕГРИП | Max255Text | ||
| paymentCardIndicator | 1..1 | DeviceResponse/Data/Device/PaymentAgent\paymentCardlndicator | Признак проведения операций с использованием банковских карт | xs:boolean |
8. Офисы обслуживания, спецификация API
8.1. Конечные точки
Таблица 10. Конечные точки ресурса подразделения
| Ресурс | Метод HTTP | Конечная точка | Параметры | Объект запроса | Объект ответа |
|---|---|---|---|---|---|
| branches | GET | GET/branches | BranchResponse |
8.1.1. GET/branches
8.2. Модель данных
8.2.1. Описание ресурсов
Ресурс представляет собой информацию о сети офисов обслуживания кредитной организации.
Каждый ресурс подразделения должен иметь уникальный и неизменный идентификатор branchld.
8.2.2. Диаграмма UML
8.2.3. Состав данных объекта BranchResponse
9. Справочники
9.1. Статичные справочники
9.1.1. WeekDayStaticType
| Значение | Описание |
|---|---|
| 01 | Понедельник |
| 02 | Вторник |
| 03 | Среда |
| 04 | Четверг |
| 05 | Пятница |
| 06 | Суббота |
| 07 | Воскресенье |
9.1.2. OperationTypeStaticType
9.1.3. DeviceTypeStaticType
9.1.4. DeviceCurrentStatusStaticType
Таблица 15. Текущий статус устройства
| Значение | Описание |
|---|---|
| On | Доступно |
| Off | Недоступно |
| TempOff | Временно недоступен |
9.1.5. DeviceServiceTypeStaticType
Таблица 16. Услуги, доступные на оборудовании
9.1.6. AvailabilityIndicatorStaticType
Таблица 17. Признак места установки банкомата
9.1.7. ServiceTypeStaticType
| Значение | Описание |
|---|---|
| Loan | Кредит |
| Deposit | Депозит |
| Card | Карта |
| Transfer | Денежный перевод |
| Jewel | Драгоценности |
| CurrencyExchange | Обмен валют |
| DirectDebet | Прямое дебетование |
| Other | Другая услуга |
9.1.8. ServiceCurrentStatusStaticType
Таблица 19. Статус доступности услуги
| Значение | Описание |
|---|---|
| Active | Доступно |
| Inactive | Недоступно |
| Archived | Архив |
9.1.9. AccessibilityStaticType
Таблица 20. Тип оборудования для инвалидов
9.1.10. CurrencyExchangeDirection
Таблица 21. Направление обмена валюты
| Значение | Описание |
|---|---|
| Sell | Кредитная организация продает валюту |
| Buy | Кредитная организация покупает валюту |
9.1.11. ExchangeTypeStaticType
| Значение | Описание |
|---|---|
| Online | Онлайн |
| Cash | Наличные денежные средства |
| ATM | Банкомат |
| Cashless | Безналичные денежные средства |
9.1.12. SegmentStaticType
| Значение | Описание |
|---|---|
| Business | Юридические лица, индивидуальные предприниматели и лица, занимающиеся частной практикой |
| Individual | Физические лица |
9.1.13. CardSchemeNameStaticType
Таблица 24. Наименование схемы карты
9.1.14. SocialNetworkNameStaticType
Таблица 25. Наименование социальной сети
| Значение | Описание |
|---|---|
| VK | ВКонтакте |
| OK | Одноклассники |
| Messenger | Messenger |
| iMessage | iMessage |
| Viber | Viber |
| Telegram | Телеграм |
9.2. Справочники ISO
| Значение | Описание |
|---|---|
| ActiveOrHistoricCurrencyCode | https://www.iso20022.org/external_code_list.page |
| CountryCode | https://en.wikipedia.Org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements |
9.3. Общероссийские классификаторы
Таблица 27. Идентификатор финансового учреждения
| Значение | Описание |
|---|---|
| BIKStaticType | https://www.cbr.ru/PSystem/payment_system/?utm_source=w&utm_content=page#a_101477 |



