Проект
СТАНДАРТ
API для обмена и доступа к информации
банковских и платежных услуг
1. Общие положение
1. Настоящий Стандарт содержит руководящие принципы и стандарты API для обмена данными в рамках взаимодействия через открытые банковские интерфейсы. Основная цель Стандарта – создать единый подход к взаимодействию участников среды Открытых API, обеспечивая прозрачность, безопасность и доступность данных.
2. Настоящий Стандарт рекомендован к использованию коммерческими банками, платежными организациями, операторами платежных систем и других участников среды Открытых API, действующими на территории Кыргызской Республики.
3. В настоящем Стандарте используются следующие термины и их определения:
API (Application programming interfaces) – это набор процедур, протоколов и инструментов для создания программных приложений. API определяет, как должны взаимодействовать программные компоненты.
Многофакторная аутентификация – аутентификация, которая основана на использовании двух или более элементов, классифицированных как знания, владение и неотъемлемость. Эти пункты являются независимыми, поскольку нарушение одного не угрожает надежности других.
Открытые API – программные интерфейсы, предоставляющие возможность цифрового обмена данными на основе унифицированного стандарта API.
Пользователь – физическое лицо, индивидуальный предприниматель и юридическое лицо, находящееся на обслуживании в банке.
Поставщик платежных услуг по обслуживанию счетов (ASPSP) - это коммерческий банк, обслуживающий счет пользователя и публикующая Открытые API.
Поставщик услуг по инициировании платежей (PISP) – юридическое лицо, предоставляющее пользователю услугу по инициированию перевода денежных средств.
Поставщик услуг по предоставлению информации о счетах (AISP) – юридическое лицо, предоставляющее пользователю услугу по получению информации о банковском счете (счетах) пользователя.
Согласие – согласие клиента на стороне поставщика API на обработку и передачу данных по банковским счетам между пользователем API и поставщиком API.
Среда Открытых API – комплекс стандартов открытых банковских интерфейсов, управление, системы, процессы, безопасность и процедуры, используемые для поддержки участников.
Сторонний поставщик (TPP) – юридическое лицо, использующее Открытые API для доступа к банковскому счету пользователя в целях предоставления информационных услуг (AISP) или для осуществления переводов денежных средств (платежей) (PISP).
4. Информационный обмен между ASPSP и TPP осуществляется посредством электронных сообщений, формируемых на стороне ASPSP Открытых API.
2. Принципы и дизайн API
5. Принципы архитектуры Архитектура среды Открытых API соответствует концепции RESTful API.
6. На физическом уровне при проектировании сообщений используется язык описания интерфейсов OpenAPI третьей версии в формате YAML.
3. Защита прав потребителей
7. Участники среды Открытых API обеспечивают раскрытие минимального объема информации пользователям, который включает, помимо прочего, следующую информацию:
- полное и (или) сокращенное (при наличии) фирменное наименование участника среды Открытых API, адрес в пределах места нахождения, адрес электронной почты, контактный телефон, адрес официального интернет сайта (при наличии);
- порядок получения услуги (сервиса) пользователям, возможные риски пользователя;
- права пользователя и порядок действий при возникновении технических неполадок на стороне участника среды Открытых API;
- способы и адреса направления обращений (жалоб) пользователем;
- способы защиты прав пользователя;
- порядок и срок предоставления по требованию пользователя документов (в т.ч. в форме электронного документа), связанных с оказанием услуг (предоставлением сервиса) участником среды Открытых API;
- порядок предоставления пользователю экземпляра договора и (или) иного документа, подтверждающего оказание услуги (предоставление сервиса) участником среды Открытых API в письменной форме (в т.ч. в форме электронного документа);
- способы направления информации пользователю в связи с оказанием услуги (предоставления сервиса) участником среды Открытых API;
- сведения о распределении ответственности между участниками среды Открытых API, а также третьими лицами, привлекаемыми участниками среды Открытых API, для оказания услуги (сервиса) за неисполнение либо ненадлежащее исполнение обязанностей в рамках оказания услуг (предоставления сервиса) пользователю;
- ограничения (при наличии), условия и способы использования услуг (сервиса) участника среды Открытых API, изменения условий и отказа от услуг (сервиса) пользователем;
- порядок возмещения убытков, понесенных пользователем;
- сведения о предполагаемых сроках восстановления режима оказания услуг (предоставления сервиса) в случае возникновения технических неполадок;
- требований, предъявляемых участником среды Открытых API к иным участникам среды Открытых API, во взаимодействии с которыми осуществляется оказание услуги (предоставление сервиса) пользователю.
8. Участник среды Открытых API обеспечивает соответствие порядка раскрытия информации пользователю следующим критериям:
- обеспечение возможности доступа к информации пользователем на равных правах и в равном объеме;
- исключение раскрытия информации, которая может повлечь неоднозначное толкование свойств услуги (сервиса);
- обеспечение изложения информации на государственном или официальном языке в доступной форме (с использованием удобочитаемых шрифтов, форматов предоставления);
- обеспечение возможности пользователя получать уведомление о совершении операции / оказании услуги в порядке и на условиях, установленных договором, но не позднее одного дня со дня совершения операции / оказания услуги;
- обеспечение возможности получения по требованию пользователя документов (в т.ч. в форме электронного документа), связанных с оказанием услуги (предоставлением сервиса);
- обеспечение возможности получения экземпляра договора и (или) иного документа, подтверждающего оказание услуги (предоставления сервиса) пользователем.
9. Участник среды Открытых API обеспечивает:
- конфиденциальность и защиту персональных данных пользователя в случае, если получателем услуги (сервиса) выступает физическое лицо;
- защиту имущественных интересов пользователя в части несанкционированного совершения операций с денежными средствами и электронными денежными средствами пользователя;
- уведомление пользователя о распределении ответственности между участниками среды Открытых API, а также иными третьими лицами за неисполнение либо ненадлежащее исполнение обязанностей в рамках оказания услуги (предоставления сервиса);
- использование только целевой необходимой и достаточной информации при совершении операций (предоставлении сервиса) посредством Открытых API;
- исключение неавторизованных пользователем операций;
- исключение использования для целей формирования предложения пользователю информации, на обработку которой явным образом не получено согласие от пользователя;
- исключение возможности обуславливать предоставление одной услуги (сервиса) в зависимости от предоставления другой услуги (сервиса);
- исключение возможности потери контроля над данными, переданными пользователем участникам среды Открытых API для целей оказания услуги (предоставления сервиса);
- возможность пользователя осуществлять оплату услуги (сервиса) в доступной для пользователя форме;
- исключение навязывания заведомо невыгодных условий оказания услуг (сервиса) пользователю (с соблюдением требований законодательства и нормативных правовых актов Национального банка).
4. Роли и участники процесса
10. Среда Открытых API определяет следующих участников и их роли:
Пользователь — физическое или юридическое лицо, являющееся плательщиком или получателем средств и информации.
Поставщик услуг по предоставлению информации о счетах (AISP) — юридическое лицо, использующее Открытые API для доступа к банковскому счету пользователя в целях предоставления информационных услуг.
Поставщик услуг по инициировании платежей (PISP) — юридическое лицо, использующее Открытые API для доступа к банковскому счету пользователя в целях осуществления переводов денежных средств (платежей).
Поставщик платежных услуг по обслуживанию счетов (ASPSP) — коммерческий банк, обслуживающий банковский счет пользователя и публикующий Открытые API.
11. Открытые API регламентируют взаимодействие только между следующими участниками:
ASPSP предоставляет Открытые API для стороннего поставщика (TPP), получает сообщения запросов через свои Открытые API и отправляет соответствующие ответные сообщения TPP.
TPP может получить доступ к счету пользователя, управляемому ASPSP через Открытые API, при согласии пользователя. TPP отправляет сообщения запроса через Открытые API ASPSP и получает соответствующие ответные сообщения от этого ASPSP.
5. Принципы построение взаимодействия
12. На следующем рисунке показано логическое месторасположение Открытых API в создаваемой среде:
13. Между участниками среды Открытых API возможны следующие взаимодействия:
1. Предоставление пользователем долгосрочного согласия на использование его данных TPP.
2. Предоставление пользователем ASPSP краткосрочного согласия на инициирование перевода денежных средств TPP.
3. Обмен данными между TPP и ASPSP с согласия пользователя.
6. Предоставление пользователем согласия
14. Долгосрочное согласие дается пользователем на стороне ASPSP для осуществления обмена данными между TPP и ASPSP на длительный срок без непосредственного участия пользователя. После предоставления такого согласия взаимодействие происходит следующим образом: Пользователь – TPP – ASPSP.
В любой момент пользователь может отозвать долгосрочное согласие как через Открытые API, так и через предоставляемые средства ASPSP.
Долгосрочное согласие на получение данных о банковском счете схематически можно показать следующим образом:
15. Краткосрочное согласие дается пользователем при необходимости для перевода денежных средств с его банковского счета. Краткосрочное согласие является подтверждением инициирования перевода денежных средств TPP.
Краткосрочное согласие на инициирование платежной услуги схематически можно показать следующим образом:
16. Обмен данными между TPP и ASPSP происходит после предоставления пользователем ASPSP краткосрочного или долгосрочного согласия. На следующем рисунке показано взаимодействие TPP и ASPSP через Открытые API:
ASPSP может также выступать в одной из ролей TPP (AISP и/или PISP) и может получать доступ к Открытым API других ASPSP.
7. Взаимодействие участников процесса предоставления данных
17. Открытые API поддерживают следующие сценарии использования обмена данными:
- создание долгосрочного согласия на получение информации о счете;
- получение списка счетов, к которым получен доступ;
- получение детальной информации о счете, к которому получен доступ;
- получение баланса по счету, к которому получен доступ;
- получение списка транзакций по счету, к которому получен доступ.
7.1. Создание долгосрочного согласия на получение информации о счете
TPP выполняет этот сценарий использования, чтобы получить доступ на получение данных в соответствии с другими сценариями использования, доступными для роли AISP. Если TPP невозможно идентифицировать корректно через Открытые API, то ASPSP отклонит запрос.
Если у TPP нет роли AISP, то PISP отклонит запрос. С согласия пользователя AISP может получить доступ к следующим сценариям:
- получение списка счетов;
- получение детальной информации о счете;
- получение баланса по счету;
- получение списка транзакций по счету.
7.2. Получение списка счетов, к которым получен доступ
В этом сценарии использования TPP получает с ранее предоставленного долгосрочного согласия пользователя список счетов пользователя. Если TPP невозможно идентифицировать корректно через Открытые API, то ASPSP отклонит запрос. Если у TPP нет роли AISP, то ASPSP отклонит запрос. На следующей схеме показаны высокоуровневые информационные потоки для получения списка счетов:
7.3. Получение детальной информации о счете, к которому получен доступ
В этом сценарии использования TPP получает с ранее предоставленного долгосрочного согласия пользователя детали счета пользователя. Если TPP невозможно идентифицировать корректно через Открытые API, то ASPSP отклонит запрос. Если у TPP нет роли AISP, то ASPSP отклонит запрос.
На следующей схеме показаны высокоуровневые информационные потоки для получения детальной информации о счете:
7.4. Получение баланса по счету, к которому получен доступ
В этом сценарии использования TPP получает с ранее предоставленного долгосрочного согласия пользователя баланс счета пользователя. Если TPP невозможно идентифицировать корректно через Открытые API, то ASPSP отклонит запрос.
Если у TPP нет роли AISP, то ASPSP отклонит запрос. На следующей схеме показаны высокоуровневые информационные потоки для получения баланса по счету:
7.5. Получение списка транзакций по счету
В этом сценарии использования TPP получает с ранее предоставленного долгосрочного согласия пользователя транзакции по счету пользователя. Если TPP невозможно идентифицировать корректно через Открытые API, то ASPSP отклонит запрос.
Если у TPP нет роли AISP, то ASPSP отклонит запрос. На следующей схеме показаны высокоуровневые информационные потоки для получения списка транзакций по счету:
8. Методы доступа к API
В следующих таблицах представлен обзор методов HTTP-доступа, поддерживаемых конечными точками API, и ресурсов, созданных с помощью данного API.
Например:
Конечные точки счетов
Конечные точки/Ресурс |
Метод |
Условия |
Описание |
accounts |
GET |
Обязательно |
Прочитать все идентификаторы счетов, доступ к которым был предоставлен пользователем через конечные точки/ согласие. Кроме того, соответствующая информация о счетах и гиперссылки на соответствующие информационные ресурсы счетов предоставляются, если соответствующее согласие уже было предоставлено. Примечание: Обратите внимание, что стандарт предоставляет AISP возможность предоставлять доступ к списку всех текущих счетов пользователя. В этом случае эта конечная точка предоставит список всех адресуемых текущих счетов пользователя как можно скорее. |
accounts?withBalance |
GET |
Необязательно |
Считывание идентификаторов банковского счета, неявно указанных в соответствующем согласии, вместе с информацией о балансе, в зависимости от предоставленного согласия. |
accounts/{account-id} |
GET |
Обязательно |
Предоставьте подробную информацию об указанном счете. |
ccounts/{account-id}?withBalance |
GET |
Необязательно |
Предоставьте подробную информацию об указанном счете вместе с информацией о балансе |
accounts/{account-id}/balance |
GET |
Обязательно |
Предоставьте подробную информацию о балансе указанного счета |
accounts/{account-id}/transaction |
GET |
Обязательно |
Просмотр списков транзакций заданного счета. Для заданного счета дополнительными параметрами являются, например, атрибуты «dateFrom» и «dateTo». ASPSP может добавить информацию о балансе, если списки транзакций без балансов не поддерживаются. |
accounts/{account-id}/transactions?withBalance |
GET |
Необязательно |
Просмотр списков транзакций по указанному счету в зависимости от управляющего параметра «bookingStatus» вместе с остатками. |
accounts/{account-id}/transactions/{transaction Id} |
GET |
Необязательно |
Прочитайте подробности указанной транзакции. |
Примечание: Для всех методов доступа к API сначала требуются механизмы технического согласия.
Примечание: Обратите внимание, что параметры {account-id} являются идентификаторами ресурсов и, следовательно, могут быть маркированы AISP таким образом, что фактические номера учетных записей, такие как bankc, не являются частью определений путей API по соображениям защиты данных. Эта токенизация управляется AISP. В данной спецификации настоятельно рекомендуется использовать UUID для идентификации ресурсов.
Конечные точки банковских платежных картах
Эти конечные точки предоставляют информацию о счетах, связанных с банковскими платежными картами, которыми используется для согласования транзакций по карте с пользователем.
Примечание: Способы доступа к банковским платежным картам менее детализированы по сравнению со способами доступа к счетам из-за ограниченной функциональности по сравнению с обычными банковскими счетами.
Конечные точки/Ресурс |
Метод |
Условия |
Описание |
card-accounts |
GET |
Необязательно |
Прочитать все идентификаторы банковских платежных карт, к которым был предоставлен доступ через конечную точку /согласие пользователя. Кроме того, предоставляется соответствующая информация о счетах и гиперссылки на соответствующие информационные ресурсы счетов, если соответствующее согласие уже было предоставлено. |
card-accounts/{account-id} |
GET |
Необязательно |
Подробная информация о счете указанной карты. |
card-accounts/{account-id}/balances |
GET |
Необязательно |
Предоставьте подробную информацию о балансе по адресуемому счету карты. |
card-accounts/{account-id}/transactions |
GET |
Обязательно |
Просмотр списков транзакций, связанных с указанным счетом карты. Для указанного счета дополнительными параметрами являются, например, атрибуты «dateFrom» и «dateTo». |
Примечание: Для всех методов доступа к API accounts сначала требуются механизмы технического согласия.
Примечание: Обратите внимание, что параметры {account-id} являются идентификаторами ресурсов и, следовательно, могут быть маркированы ASPSP таким образом, что фактические номера учетных записей, такие как bankc, не являются частью определений путей API по соображениям защиты данных. Эта токенизация управляется ASPSP. В данной спецификации настоятельно рекомендуется использовать UUID для идентификации ресурсов.
Информация о статусе для AISP в рамках процесса получения согласия
Как описано выше, ASPSP требуется технический токен согласия для доступа к информации, связанной с банковскими счетами.
9. Коды ответов HTTP
Код ответа HTTP сообщает об успешности или неудаче сообщения запроса. Коды ответа HTTP 4XX следует указывать только в том случае, если текущий запрос не может быть выполнен, например, инициирование платежа не может быть отправлено или транзакции по счету не могут быть получены. Запрос на получение статуса существующего платежа или согласия обычно возвращает код ответа HTTP 200, поскольку фактический запрос на получение статуса был успешным, независимо от того, установлено ли состояние платежа или согласия на неудачу или нет.
Эта спецификация поддерживает следующие коды ответа HTTP:
Статус кода |
Описание |
|||
200 OK |
Коды ответов PUT, GET Этот код возврата разрешен, если запрос был повторен из-за тайм-аута. Ответом в этом случае может быть код 200 или 201 в зависимости от реализации ASPSP. POST для запроса средств также вернет 200, поскольку он не создает новый ресурс. Код ответа DELETE, когда платежный ресурс был успешно отменен и не требуется дальнейшего разрешения на отмену. |
|||
201 Created |
Код ответа POST, в котором инициирование платежа или запрос согласия были выполнены правильно. |
|||
202 Accepted |
Код ответа DELETE, в котором платежный ресурс может быть отменен в целом, но для отмены требуется дополнительное разрешение. |
|||
204 No Content |
Код ответа DELETE, где ресурс согласия был успешно удален. Код указывает, что запрос был выполнен, но контент не был возвращен. |
|||
400 Bad Request |
Произошла ошибка проверки. Этот код будет охватывать неверный синтаксис в запросе или неверные данные в полезной нагрузке. |
|||
401 Unauthorized |
Построенные участники или пользователь не авторизованы для выполнения запроса. Повторите запрос с правильной информацией аутентификации. |
|||
403 Forbidden |
Возвращается, если ресурс, на который ссылались в пути, существует, но к нему не может получить доступ участников или пользователей. Этот код следует использовать только для нечувствительных ссылок на идентификаторы, поскольку он покажет, что ресурс существует, даже если к нему нельзя получить доступ. |
|||
404 Not found |
Возвращается, если ресурс или конечная точка, на которые ссылался путь, не существует или на них не может ссылаться участникам или пользователем. Если вы сомневаетесь, является ли определенный идентификатор в пути конфиденциальным или нет, используйте код ответа HTTP 404 вместо кода ответа HTTP 403. |
|||
405 Method Not Allowed |
Этот код отправляется только в том случае, если метод HTTP (PUT, POST, DELETE, GET и т. д.) не поддерживается на определенной конечной точке. Он не имеет ничего общего с моделью данных согласия, платежа или информации об учетной записи. Код ответа DELETE в случае отмены инициирования платежа, когда инициирование платежа не может быть отменено по юридическим или другим операционным причинам. |
|||
406 Not Acceptable |
ASPSP не может сгенерировать содержимое, указанное участников в заголовке Accept. |
|||
408 Request Timeout |
Сервер по-прежнему работает правильно, но время ожидания отдельного запроса истекло. |
|||
409 Conflict |
Запрос не может быть выполнен из-за конфликта с текущим состоянием целевого ресурса. |
|||
415 Unsupported Media Type |
Посторонний участник предоставил тип носителя, который не поддерживается ASPSP. |
|||
429 Too Many Requests |
Посторонний участник превысила количество запросов, разрешенных согласием или RTS. |
|||
500 Internal Server Error |
Произошла внутренняя ошибка сервера. |
|||
503 Service Unavailable |
В настоящее время сервер ASPSP недоступен. Как правило, это временное состояние. |
10. Услуга информации по счетам
Поддержка суб-услуг
Данная спецификация предусматривает различные типы информационных услуг по счетам:
• балансы на данном счете,
• список адресуемых счетов,
• данные счетов данного аккаунта или списка всех доступных счетов, относящихся к предоставленному согласию, и
• данные счетов могут включать имя владельца счета, к которому могут применяться особые требования в отношении процесса получения согласия, см. ниже.
Ниже приводится определение списка адресуемых и доступных счетов:
Определение: Список адресуемых счетов в ASPSP, связанных с пользователем, – это список счетов пользователя, которые открыты для доступа через API.
Определение: Список доступных счетов в ASPSP, связанных с согласием пользователя, – это список счетов, для которых пользователь предоставил согласие по крайней мере на один из определенных типов информации о счете.
Примечание: Запрос на чтение данных для списка адресуемых счетов и сведений о счете данного счета синтаксически идентичен. Разница заключается только в базовом ресурсе согласия, на который ссылаются через параметр заголовка HTTP «Consent-ID».
Пример: ASPSP предоставляет Bankc1 и Bankc2 для пользователя. Пользователь предоставил TPP согласие на доступ к транзакциям и остаткам средств только на Bankc1. В этом случае адресуемыми счетами являются Bankc1 и Bankc2, список доступных счетов состоит только из Bankc1.
Получение согласия и чтение данных счетов
В рамках этой спецификации услуга информации о счетах разделена на два этапа:
1 этап: дать согласие на использование информации о счетах
В рамках этого этапа предоставление информационной услуги по счетам пользователя дает согласие AISP на:
- счета, доступные для услуги информации о счетах,
- тип информационной услуги счетов, к которой предоставляется доступ,
- кратность предоставления информационной услуги счетов, т.е. разовый или повторяющийся доступ, и
- в последнем случае – срок действия согласия в днях или максимальный срок, предлагаемый пользователем. AISP и при необходимости частота повторяющихся запросов.
Далее пользователь авторизует это согласие для ASPSP с помощью SCA.
Результатом этого процесса является ресурс контента. В рамках этого процесса AISP возвращает ссылку на этот ресурс. TPP может получить объект контента, отправив метод GET для этого ресурса. Этот объект содержит подробные сведения о правах доступа, текущем сроке действия и токен Content-ID.
2 этап: считывание данных счетов
На этом этапе AISP получает доступ к данным счетам, как это определено в согласии пользователя. Запрос на чтение данных счетов направляется на соответствующий ресурс для получения согласия, используя вышеупомянутую ссылку на этот ресурс.
В запросе на чтение данных счетов будет указано:
- тип данных счетов, к которым необходимо получить доступ,
- идентификатор счетов, к которой обращается пользователь, если это применимо,
- инициировал ли пользователь запрос непосредственно в режиме реального времени,
- следует ли дополнительно указывать балансы, если это применимо,
- в случае списков транзакций в качестве информации о счете введите дополнительно
- идентификатор адресованного счета и
- период действия списка транзакций
- если это применимо, необязательно, дельта-флаг, указывающий на запрос дельта-отчета относительно последнего запроса с дополнительными данными.
- предпочтительные форматы списков транзакций.
Для доступа к счетам банковские счета и банковские платежные карты разделены на конечные точки, поскольку данные обычно разделяются в серверной части ASPSP.
В случае получения разового согласия в доступе может быть отказано, если AISP запрашивает данные более одного раза или если срок действия согласия истек, например, через 20 минут после завершения работы механизма получения согласия в зависимости от реализации TPP.
В дальнейшем в доступе к данным для чтения будет отказано в случае, если тип информационной услуги для счета не соответствует согласованной услуге или если фактический доступ не соответствует согласованной продолжительности или частоте.
Если пользователь дает согласие на доступ к списку счетов, TPP проверяет частоту доступа для каждого счета, к которой был осуществлен доступ, и для каждого пользователя, который дал согласие на доступ.
10.1 Считывание потока данных счетов
Для считывания данных счета сначала требуется поток для получения соответствующего согласия в API-интерфейсах. В этом случае фактический поток данных счета для считывания не зависит от соответствующего потока управления согласием. Это простой процесс запроса/ответа, который заключается в следующем:
10.2 Обзор данных информации о счетах
В следующей таблице приведено техническое описание абстрактной модели данных для AISP о счетах. В следующих столбцах представлен обзор протоколов API:
- в столбце «Элемент данных» используются абстрактные элементы данных, чтобы обеспечить связь с правилами и определениями ролей в этом документе.
- «кодировка атрибута» дает фактическое определение кодировки в API, как определено в этом документе.
- столбцы «Локация» определяют, куда соответствующие элементы данных передаются в качестве параметров HTTP, соответственно, они взяты из сертификатов eIDAS. Для параметров HTTP «путь» включает в себя хост, порт и базовый путь API.
- в столбце «Использование» приведен обзор использования элементов данных в различных вызовах API. Эти вызовы будут технически реализованы в виде HTTP-команд POST, PUT, DELETE и GET в виде следующего вызова:
- запрос на чтение данных – это запрос на получение информации о счете, который адресуется разным конечными точками с разными параметрами.
Примечание: Для получения информации о счетах сначала требуется техническое согласие на доступ к счетам, подтвержденное SCA от пользователя.
Определено следующее использование сокращений в столбцах «Локация» и «Использование».
• x: Этот элемент данных передается на соответствующем уровне.
• m: Обязательный
• o: Необязательный для использования TPP
• c: Условный. Условие описано в вызовах API, условие определено TPP.
В следующей таблице определены требования не только к сообщениям-запросам, но и к элементам данных для ответных сообщений. Эти требования применяются только к положительным ответам (т.е. к коду ответа HTTP 2xx). В случае ошибки предоставляется общая информация об ошибке, вместе с кодом ответа HTTP 40x.
Примечание: Более технические функции, такие как GET .../{consentId} и GET .../{authorisationId}, а также запрос на отмену, не представлены в данном документе.
Элементы данных |
Кодировка атрибутов |
Локация |
Использование |
||||||
|
|
Путь |
Параметры запроса |
Заголовка |
Тело |
Сертификат |
Читать запрос данных |
Читать ответ данных |
|
Идентификация TPP |
|
x |
|
|
|
|
m |
|
|
Регистрационный номер |
|
|
|
|
|
x |
m |
|
|
Название |
|
|
|
|
|
x |
m |
|
|
Роль TPP |
|
|
|
|
|
x |
m |
|
|
Национальный банк |
|
|
|
|
|
x |
m |
|
|
Идентификация запроса |
X-Request-ID |
|
|
x |
|
|
m |
m |
|
ID согласия |
Consent-ID |
|
|
x |
|
|
m |
|
|
Токен доступа (из опциона OAuth2) |
Authorization |
|
|
x |
|
|
c |
|
|
Клиент API подписывает электронную подпись |
x-jws-signature |
|
|
x |
|
|
c |
|
|
Дополнительные данные, связанные с подписью |
Digest |
|
|
x |
|
|
c |
|
|
Информация о сообщении пользователя |
psuMessage |
|
|
|
x |
|
|
o |
|
Информация о сообщении API клиента |
apiClientMessages |
|
|
|
x |
|
|
o |
|
IP адрес пользователя |
PSU-IP-Address |
|
|
x |
|
|
c |
|
|
IP порт пользователя |
PSU-IP-Port |
|
|
x |
|
|
o |
|
|
Информация пользователя |
PSU-Accept |
|
|
x |
|
|
o |
|
|
|
PSU-Accept-Charset |
|
|
x |
|
|
o |
|
|
|
PSU-Accept-Encoding |
|
|
x |
|
|
o |
|
|
|
PSU-Accept-Language |
|
|
x |
|
|
o |
|
|
|
PSU-Http-Method |
|
|
x |
|
|
o |
|
|
|
PSU-Device-ID |
|
|
x |
|
|
o |
|
|
Пользовательский агент пользователя |
PSU-User-Agent |
|
|
x |
|
|
o |
|
|
GEO информация |
PSU-Geo-Location |
|
|
x |
|
|
o |
|
|
ID счета пользователя |
accountId |
x |
|
|
|
|
c |
|
|
Счет пользователя |
Account |
|
|
|
x |
|
|
m |
|
Дата начала |
dateFrom |
|
x |
|
|
|
c |
|
|
Дата окончания |
dateTo |
|
x |
|
|
|
c |
|
|
Транзакции |
entryReferenceFrom |
|
x |
|
|
|
o |
|
|
Статус бронирования |
bookingStatus |
|
x |
|
|
|
o |
|
|
Дельта-индикатор |
deltaList |
|
x |
|
|
|
o |
|
|
Флажок с балансом |
withBalance |
|
x |
|
|
|
o |
|
|
Перечень счетов пользователя |
Array of accountDetails |
|
|
|
x |
|
|
c |
|
Детали счета пользователя |
accountDetails |
|
|
|
x |
|
|
c |
|
Остаток счета |
balances |
|
|
|
x |
|
|
c |
|
Транзакции |
transactions |
|
|
|
x |
|
|
c |
|
Счет карты пользователя |
accountDetails |
|
|
|
x |
|
|
c |
|
Транзакции карты |
cardTransactions |
|
|
|
x |
|
|
c |
IP-адрес/порт пользователя и дополнительная информация, связанная с пользователем
В приведенной выше таблице приведены некоторые контекстные данные, связанные с пользователем. Они больше не упоминаются в следующих подробных определениях для удобства чтения, если их использование не является обязательным.
10.3. Особенности мультивалютного счета для информации по счету
Методы для мультивалютных счетов для информации о счетах отличаются в интерфейсе из-за того, что рассматривается набор счетов. Далее различия описаны на абстрактном уровне. Субсчета также могут рассматриваться как выделенные счета путем явного добавления валюты субсчета. Этот случай далее не упоминается специально.
Мультивалютные счета при чтении счетов или сведений о счетах
ASPSP примет решение при реализации, предоставлять ли доступ к данным мультивалютного счета на уровне агрегации, на уровне агрегации и субсчета или только на уровне субсчета.
Мультивалютные счета при чтении балансов на уровне агрегации
Следствием этой функции является то, что возвращается массив балансов всех субсчетов, если мультивалютный счет адресуется на уровне агрегации. Валюта соответствующего субсчета неявно предоставляется как валюта элемента balanceAmount в балансе.
Мультивалютные счета при чтении транзакций на уровне агрегации
Следствием для этой функции является то, что список транзакций будет содержать все транзакции всех субсчетов, если мультивалютный счет адресуется на уровне агрегации. В этом случае платежные транзакции, содержащиеся в отчете, могут иметь разные валюты транзакций.
10.4 Чтение запросов данных счетов
В следующих разделах описывается доступ к чтению в текущих счетов.
1) Прочитывание список счетов
Вызов (call)
GET /v2/accounts {query-parameters}
Считывает список текущих счетов с указанием остатков средств, где это необходимо. Предполагается, что согласие пользователя на этот доступ уже получено и хранится в системе ASPSP. Таким образом, список адресованных счетов зависит от идентификатора пользователя и сохраненного согласия, адресованного consentId, соответственно, от токена доступа OAuth2.
Примечание: Если согласие предоставляется только для отображения списка адресуемых счетов, отображается гораздо меньше сведений о счетах. В частности, гиперссылки на балансы или конечную точку транзакции в этом случае отображаться не должны.
Примечание: Если сведений, возвращенных в этом вызове с правами доступа «accountDetails», «balances», «transactions» или «ais», недостаточно, то дополнительные сведения можно получить, обратившись к конечной точке /accounts/{account-id}.
Параметры запроса
Атрибут |
Тип |
Условие |
Описание |
withBalance |
Boolean |
Необязательно |
Если содержится, эта функция считывает список доступных платежных счетов, включая баланс, если это предоставлено пользователем в соответствующем согласии и доступно ASPSP. Этот параметр может быть проигнорирован ASPSP. |
Заголовок запроса
Атрибут |
Тип |
Условие |
Описание |
X-Request-ID |
UUID |
Обязательно |
Идентификатор запроса, уникальный для вызова, определяемый инициирующей стороной. |
Consent-ID |
Max70Text |
Обязательно |
в результате «Установления согласия на информацию об учетной записи», выполненного ранее через этот API. |
PSU-IP-Address |
String |
Условно |
Поле заголовка пересылаемого IP-адреса состоит из соответствующего поля IP-адреса HTTP-запроса между пользователем и TPP. Оно должно содержаться только в том случае, если этот запрос был активно инициирован пользователем. |
Authorization |
String |
Условно |
Содержится только в том случае, если на предварительном этапе была выполнена аутентификация на основе OAuth2 или при соответствующей авторизации согласия была выполнена аутентификация SCA на основе OAuth2. |
Запрос тело
Отсутствует запроса тело.
Код ответа
Код ответа HTTP равен 200.
Заголовок ответа
Атрибут |
Тип |
Условие |
Описание |
X-Request-ID |
UUID |
Обязательно |
Идентификатор запроса, уникальный для вызова, определяемый инициирующей стороной. |
Тело ответа
Атрибут |
Тип |
Условие |
Описание |
accounts |
Array of Account Details |
Обязательно |
В случае, если ни один счет недоступен, ASPSP вернет пустой массив. Поскольку это также считается положительным ответом, код ответа по-прежнему должен быть 200. |
2) Просмотр сведений о счете
Вызов
GET /v2/accounts/{account-id} {query-parameters}
Этот процесс позволяет получать сведения о текущем счёте, включая балансы, если это требуется. Предполагается, что согласие пользователя платёжных услуг на доступ уже получено и сохранено в системе ASPSP. Получаемые данные о счёте зависят от сохранённого согласия, связанного с идентификатором согласия (consentId) или, соответственно, токеном доступа OAuth2.
Примечание: Идентификатор счёта (account-id) может быть токенизирован для обеспечения защиты данных, так как информация о пути может записываться на промежуточных серверах в инфраструктуре ASPSP. Такой идентификатор счёта можно получить с помощью вызова метода «GET Account List» или из связанного ресурса согласия.
Примечание: Идентификатор счёта (account-id) может представлять мультивалютный счёт. В таком случае код валюты будет установлен как «XXX» в цифровом формате.
Параметры пути
Атрибут |
Тип |
Описание |
account-id |
Max70Text |
Эта идентификация обозначает указанную счет. Account-id извлекается с помощью вызова «Read Account List». Account-id является атрибутом «resourceId» структуры счета. Его значение постоянно, по крайней мере, на протяжении всего жизненного цикла данного согласия. |
Параметры запроса
Атрибут |
Тип |
Условие |
Описание |
withBalance |
Boolean |
Необязательно |
Если содержится, эта функция считывает данные адресованного счета, включая баланс, если это предоставлено согласием пользователя, и если поддерживается ASPSP. Этот элемент данных может быть проигнорирован ASPSP. |
Заголовок запроса
Атрибут |
Тип |
Условие |
Описание |
X-Request-ID |
UUID |
Обязательно |
Идентификатор запроса, уникальный для вызова, определяемый инициирующей стороной. |
Consent-ID |
Max70Text |
Обязательно |
|
PSU-IP-Address |
String |
Условно |
Поле заголовка пересылаемого IP-адреса состоит из соответствующего поля IP-адреса HTTP-запроса между пользователем и TPP. Оно должно содержаться только в том случае, если этот запрос был активно инициирован пользователем. |
Authorization |
String |
Условно |
Содержится только в том случае, если на предварительном этапе была выполнена аутентификация на основе OAuth2 или при соответствующей авторизации согласия была выполнена аутентификация SCA на основе OAuth2. |
Тело ответа
Атрибут |
Тип |
Условие |
Описание |
account |
Account Details |
Обязательно |
|
3) Чтение данных о балансе
Вызов
GET /v2/accounts/{account-id}/balances
Чтение данных о балансе для указанного счета, идентифицированного с помощью параметра «account-id».
Параметры пути
Атрибут |
Тип |
Описание |
account-id |
Max70Text |
Эта идентификация обозначает адресованную счет. Account-id извлекается с помощью вызова «Read Account List». Account-id является атрибутом «resourceId» структуры счета. Его значение постоянно, по крайней мере, на протяжении всего жизненного цикла данного согласия. |
Параметры запроса
Конкретных параметров запроса нет.
Код ответа
Код ответа HTTP равен 200.
Заголовок запроса
Атрибут |
Тип |
Условие |
Описание |
X-Request-ID |
UUID |
Обязательно |
Идентификатор запроса, уникальный для вызова, определяемый инициирующей стороной. |
PSU-IP-Address |
String |
Условно |
Поле заголовка пересылаемого IP-адреса состоит из соответствующего поля IP-адреса HTTP-запроса между пользователем и TPP. Оно должно содержаться только в том случае, если этот запрос был активно инициирован пользователем. |
Consent-ID |
String |
Обязательно |
|
Authorization |
String |
Условно |
Содержится только в том случае, если на предварительном этапе была выполнена аутентификация на основе OAuth2 или при соответствующей авторизации согласия была выполнена аутентификация SCA на основе OAuth2. |
Запрос тело
Запроса тело нет.
Заголовок ответа
Атрибут |
Тип |
Условие |
Описание |
X-Request-ID |
UUID |
Обязательно |
Идентификатор запроса, уникальный для вызова, определяемый инициирующей стороной. |
Тело ответа
Атрибут |
Тип |
Условие |
Описание |
account |
Account Reference |
Обязательно |
Идентификатор адресуемого счета. |
balances |
Array of Balance |
Обязательно |
Список остатков по данному счету, например, текущий остаток, последний зачисленный остаток. |
4) Прочитать список транзакций
Вызов
GET /v2/accounts/{account-id}/transactions {query-parameters}
Запрашивает данные о транзакциях по указанному счёту, идентифицированному параметром «account-id». Это могут быть как проведённые (booked), так и ожидающие обработки (pending) транзакции, а также список постоянных платёжных поручений и другая дополнительная информация о транзакциях.
Примечание: ASPSP может использовать стандартные методы сжатия данных на уровне приложения для ответа, что указывается в заголовке content-encoding. В случае возврата форматов camt.05x, в одном ответе может содержаться несколько файлов camt.05x. Некоторые ASPSP, например, могут разделять файлы camt.05x по дням бухгалтерской записи — аналогично практике, применяемой в онлайн-каналах.
Примечание: При использовании пагинации вызов по указанным ссылкам на страницы следует тем же требованиям, что и для данного вызова, с заменой пути на путь, указанный в ссылке пагинации.
Примечание: Обратите внимание, что все параметры пути могут быть уже детально указаны неявно в ответе вызова «Прочитать список счетов» (Read Account List) в подполе _links.
Параметры пути
Атрибут |
Тип |
Описание |
account-id |
String |
Эта идентификация обозначает адресованную счет. Account-id извлекается с помощью вызова «Read Account List». Account-id является атрибутом «resourceId» структуры учетной записи. Его значение постоянно, по крайней мере, на протяжении всего жизненного цикла данного согласия. |
Параметры запроса
Атрибут |
Тип |
Условие |
Описание |
dateFrom |
ISODate |
Условно |
Начальная дата (включая дату dateFrom) списка транзакций, обязательная, если не требуется доступ к дельте и если bookingStatus не равен «information». Может игнорироваться, если используется функция дельты или если bookingStatus равен «information».
Для забронированных транзакций соответствующей датой является дата бронирования. Для ожидающих транзакций соответствующей датой является дата входа, которая может быть непрозрачной ни в этом API, ни в других каналах ASPSP.
Если bookingStatus равен «all», эта дата может игнорироваться для всех транзакций, на которые ссылается bookingStatus «information». |
dateTo |
ISODate |
Необязательно |
Дата окончания (включая дату dateTo) списка транзакций, по умолчанию «сегодня», если не указано. Может игнорироваться, если используется дельта-функция.
Для забронированных транзакций соответствующей датой является дата бронирования. Для ожидающих транзакций соответствующей датой является дата входа, которая может быть непрозрачной ни в этом API, ни в других каналах ASPSP.
Если bookingStatus равен «all», эта дата может игнорироваться для всех транзакций, на которые ссылается bookingStatus «information». |
entryReferenceFrom |
Max35Text |
Необязательно, если поддерживается поставщиком API |
Этот атрибут данных указывает, что AISP выступает за получение всех транзакций после транзакции с идентификацией entryReference entryReferenceFrom в качестве альтернативы определенному выше периоду. Это реализация дельта-доступа.
Если этот элемент данных содержится, записи «dateFrom» и «dateTo» могут быть проигнорированы ASPSP, если поддерживается дельта-отчет. |
pageSize |
Integer |
Необязательно если поддерживается поставщиком API |
Этот параметр запроса определяет записи транзакций на вызов, которые необходимо извлечь для расширенных служб. Если не поддерживается, то вызов отклоняется. Если поддерживается ASPSP и если значение превышает maxPageSize, как определено ASPSP в его документации, то вызов отклоняется. |
bookingStatus |
Max35Text |
Обязательно |
Разрешенные коды: «booked», «pending», «both», «information» и «all». «booked» должно поддерживаться ASPSP. Поддержка функции «pending» является условием для ASPSP. Она обязательна, если онлайн-каналы ASPSP предоставляют ожидающие транзакции пользователю. Если не поддерживается отображается код ошибки.
Поддержка функции «both» является необязательной для ASPSP, если не поддерживается отображается код ошибки. Если поддерживается, «both» означает запрос списков транзакций bookingStatus либо «pending», либо «booked».
Поддержка функции «information» является необязательной для ASPSP. Если не поддерживается отображается код ошибки.
Поддержка функции «all» является необязательной для ASPSP, если не поддерживается отображается код ошибки. Если поддерживается, «all» означает запрос списков транзакций любого bookingStatus («pending», «booked» или «information»). |
deltaList |
Boolean |
Необязательно если поддерживается поставщиком API |
Этот атрибут данных указывает, что AISP поддерживает получение всех транзакций после последнего отчета доступа для этого пользователя на адресованном счете. Это еще одна реализация отчета о доступе с разницей.
Этот индикатор разности может быть отклонен ASPSP, если эта функция не поддерживается.
Если этот элемент данных содержится, записи «dateFrom» и «dateTo» могут быть проигнорированы ASPSP, если поддерживается отчет с разницей. |
withBalance |
Boolean |
Необязательно |
Если содержится, эта функция считывает список транзакций, включая баланс бронирования, если это предоставлено пользователем соответствующего согласие и доступно ASPSP. Этот параметр может быть проигнорирован ASPSP. |
Примечание: В случае, если bookingStatus имеет значение «information», параметры запроса dateFrom, dateTo, withBalance, deltaList и entryReferenceFrom будут игнорироваться и не окажут влияния на результат.
Заголовок запроса
Атрибут |
Тип |
Условие |
Описание |
X-Request-ID |
UUID |
Обязательно |
Идентификатор запроса, уникальный для вызова, определяемый инициирующей стороной. |
PSU-IP-Address |
String |
Условно |
Поле заголовка пересылаемого IP-адреса состоит из соответствующего поля IP-адреса HTTP-запроса между пользователем и TPP. Оно должно содержаться только в том случае, если этот запрос был активно инициирован пользователем. |
Consent-ID |
Max70Text |
Обязательно |
|
Authorization |
String |
Условно |
Содержится только в том случае, если на предварительном этапе была выполнена аутентификация на основе OAuth2 или при соответствующей авторизации согласия была выполнена аутентификация SCA на основе OAuth2. |
Accept |
String |
Необязательно |
TPP может указывать поддерживаемые форматы отчетов по счетам вместе с приоритетом после определения заголовка HTTP. Форматы, поддерживаемые этой спецификацией: • xml; • JSON; • text. |
Примечание: Планируется применение значения vnd-entries в атрибуте accept для форматов camt.05x и MT94x, чтобы учитывать различные форматы отчетов по счетам, доступные для пользователя, например, в корпоративном контексте. В этом случае сторонний поставщик услуг может, например, указать: «Я предпочитаю camt.054, но возьму camt.053, если он недоступен.» Это решение рекомендуется в качестве лучшей практики до его полной спецификации.
Запрос тело
Отсутствует запрос тело.
Код ответа
Код ответа HTTP равен 200.
Заголовок запроса
Атрибут |
Тип |
Условие |
Описание |
Content-Type |
String |
Обязательно |
Возможные значения: • application/json • application/xml • text/plain |
X-Request-ID |
UUID |
Обязательно |
Идентификатор запроса, уникальный для вызова, определяемый инициирующей стороной. |
Тело ответа
Если ASPSP возвращает XML-структуру формата camt.05x, то ответ тело состоит либо из формата camt.052, либо camt.053. Формат camt.052 может содержать ожидающие (не проведенные) платежи. Выбор формата зависит от ASPSP на основании выбранных параметров, в частности, дат, указанных относительно времени запроса. Кроме того, ASPSP может предложить структуру camt.054x, например, в корпоративной среде.
Если ASPSP возвращает содержимое формата MT94x, то тело ответа состоит из формата MT940 или MT942 в текстовой структуре. Формат MT942 может включать ожидающие (не проведенные) платежи. Выбор формата также зависит от ASPSP на основании выбранных параметров, в частности, дат, указанных относительно времени запроса.
Ответ в формате JSON определяется следующим образом:
Атрибут |
Тип |
Условие |
Описание |
|||||
account |
Account Reference |
Обязательно |
Идентификатор адресуемого счета. |
|||||
transactions |
Account Report |
Необязательно |
Отчет по счету на основе JSON.
Этот отчет по счету содержит транзакции, полученные в результате параметров запроса.
Примечание: рекомендуется предоставить атрибуты информации о переводе уже здесь, а не только в деталях транзакции. Такая реализация позволяет избежать слишком частого использования деталей транзакции клиентами API. |
|||||
balances |
Array of Balance |
Необязательно |
Список остатков по данному счету, который может быть ограничен текущим остатком. |
|||||
_links |
Links |
Необязательно |
Список гиперссылок, которые должен распознать TPP.
Тип ссылок, разрешенных в этом ответе:
«download»: ссылка на ресурс, откуда может быть загружен список транзакций в случае, если списки транзакций имеют огромный размер.
Примечание: эта функция должна использоваться только в случае, если запрашиваются camt-data, которые имеют огромный размер. |
5) Вызов для чтения деталей транзакции
Вызов
GET /v2/accounts/{account-id}/transactions/{transactionId}
Запрашивает детали транзакции, идентифицированной параметром «transactionId», по заданному счёту, идентифицированному параметром «account-id». Этот вызов доступен только для транзакций, представленных в формате JSON.
Примечание: Обратите внимание, что все параметры пути могут быть уже указаны неявно в соответствующей записи ответа вызова «Чтение списка транзакций» (Read Transaction List) в подполе _links.
Параметры пути:
Атрибут |
Тип |
Описание |
account-id |
String |
Данная идентификация обозначает адрес счета, на который была совершена транзакция. |
transactionId |
String |
Эта идентификация задается атрибутом transactionId соответствующей записи списка транзакций. |
Параметры запроса
Параметров запроса нет
Заголовка запроса
Атрибут |
Тип |
Условие |
Описание |
X-Request-ID |
UUID |
Обязательно |
Идентификатор запроса, уникальный для вызова, определяемый инициирующей стороной. |
PSU-IP-Address |
String |
Условно |
Поле заголовка пересылаемого IP-адреса состоит из соответствующего поля IP-адреса HTTP-запроса между пользователем и TPP. Оно должно содержаться только в том случае, если этот запрос был активно инициирован пользователем. |
Consent-ID |
String |
Обязательно |
|
Authorization |
String |
Условно |
Содержится только в том случае, если на предварительном этапе была выполнена аутентификация на основе OAuth2 или при соответствующей авторизации согласия была выполнена аутентификация SCA на основе OAuth2. |
Запрос тело
Запроса тело нет.
Код ответа
Код ответа HTTP равен 200.
Заголовок ответа
Атрибут |
Тип |
Условие |
Описание |
Content-Type |
String |
Обязательно |
Возможные значения: • application/json |
X-Request-ID |
UUID |
Обязательно |
Идентификатор запроса, уникальный для вызова, определяемый инициирующей стороной. |
Тело ответа
Атрибут |
Тип |
Условие |
Описание |
transactionsDetails |
Transactions |
Необязательно |
|
10.5. Запросы данных о банковских платежных картах
1) Вызов для чтения списка счетов карт
GET /v2/card-accounts
Запрашивает список счетов для согласования операций по картам с дополнительной информацией, например, данными о балансе. Предполагается, что согласие пользователя на этот доступ уже предоставлено и сохранено в системе ASPSP. Формируемый список счетов зависит от идентификатора пользователя и сохранённого согласия, идентифицированного параметром consentId, либо от токена доступа OAuth2.
Параметры запроса
Поддержка параметров запроса отсутствует.
Заголовок запроса
Атрибут |
Тип |
Условие |
Описание |
X-Request-ID |
UUID |
Обязательно |
Идентификатор запроса, уникальный для вызова, определяемый инициирующей стороной. |
PSU-IP-Address |
String |
Условно |
Поле заголовка пересылаемого IP-адреса состоит из красных полей IP-адреса HTTP-запроса между пользователем и TPP. Оно должно сохраняться только в том случае, если этот запрос был активно инициирован пользователем. |
Consent-ID |
String |
Обязательно |
В результате «Установить согласие на транзакцию с данными счетов», выполненной ранее через этот API. |
Authorization |
String |
Условно |
Содержится только в том случае, если на предварительном этапе была выполнена аутентификация на основе OAuth2 или при соответствующей авторизации согласия была выполнена аутентификация SCA на основе OAuth2. |
Запрос тело
Запроса тело нет.
Ответ кода
Ответ кода HTTP равен 200.
Заголовка ответа
Атрибут |
Тип |
Условие |
Описание |
X-Request-ID |
UUID |
Обязательно |
Идентификатор запроса, уникальный для вызова, определяемый инициирующей стороной. |
Тело ответа
Атрибут |
Тип |
Условие |
Описание |
cardAccounts |
Array of Card Account Details |
Обязательно |
В случае, если ни один счет карты не доступен, ASPSP должен вернуть пустой массив. Поскольку это также считается положительным ответом, код ответа должен быть по-прежнему 200. |
2) Вызов для просмотра деталей счёта карты
GET /v2/card-accounts/{account-id}
Запрашивает детали счёта для согласования операций по карте. Предполагается, что согласие пользователя на этот доступ уже предоставлено и сохранено в системе ASPSP. Получаемые детали счёта зависят от сохранённого согласия, идентифицированного параметром consentId, либо от токена доступа OAuth2.
Параметры пути:
Атрибут |
Тип |
Описание |
account-id |
String |
Эта идентификация обозначает адресованный счет карты. Account-id извлекается с помощью вызова «Read Card Account List». Account-id — это атрибут «resourceId» структуры счета. Его значение постоянно, по крайней мере, на протяжении всего жизненного цикла данного согласия. |
Параметры запроса
Параметры запроса не определены.
Заголовка запроса
Атрибут |
Тип |
Условие |
Описание |
X-Request-ID |
UUID |
Обязательно |
Идентификатор запроса, уникальный для вызова, определяемый инициирующей стороной. |
PSU-IP-Address |
String |
Условно |
Поле заголовка пересылаемого IP-адреса состоит из соответствующего поля IP-адреса HTTP-запроса между пользователем и TPP. Оно должно содержаться только в том случае, если этот запрос был активно инициирован пользователем. |
Consent-ID |
String |
Обязательно |
Идентификация согласия на доступ, предоставленного пользователя. |
Authorization |
String |
Условно |
Содержится только в том случае, если на предварительном этапе была выполнена аутентификация на основе OAuth2 или при соответствующей авторизации согласия была выполнена аутентификация SCA на основе OAuth2. |
Запрос тело
Запроса тело нет
Код ответа
Код ответа HTTP равен 200.
Заголовка ответа
Атрибут |
Тип |
Условие |
Описание |
X-Request-ID |
UUID |
Обязательно |
Идентификатор запроса, уникальный для вызова, определяемый инициирующей стороной. |
Ответ тело
Атрибут |
Тип |
Условие |
Описание |
cardAccount |
Card Account Details |
Обязательно |
|
3) Вызов для просмотра баланса счета по банковским платежным картам
GET /v2/card-accounts/{account-id}/balances
Запрашивает данные о балансе для указанного счёта карты, идентифицированного параметром «account-id».
Примечание: Для защиты данных account-id может быть токенизированным идентификатором, поскольку информация пути может быть зарегистрирована на промежуточных серверах в пределах сферы ASPSP. Этот account-id можно получить с помощью вызова «GET Card Account List» или из связанного ресурса согласия.
Параметры пути:
· account-id: Идентификатор счёта карты, для которого запрашиваются данные о балансе.
Атрибут |
Тип |
Описание |
account-id |
String |
Эта идентификация обозначает адресованный счет карты. Account-id извлекается с помощью вызова «Read Account List». Account-id — это атрибут «resourceId» структуры счета. Его значение постоянно, по крайней мере, на протяжении всего жизненного цикла данного согласия. |
Параметры запроса
Конкретных параметров запроса нет.
Код ответа
Код ответа HTTP равен 200.
Заголовок запроса
Атрибут |
Тип |
Условие |
Описание |
X-Request-ID |
UUID |
Обязательно |
Идентификатор запроса, уникальный для вызова, определяемый инициирующей стороной. |
PSU-IP-Address |
String |
Условно |
Поле заголовка пересылаемого IP-адреса состоит из соответствующего поля IP-адреса HTTP-запроса между пользователем и TPP. Оно должно содержаться только в том случае, если этот запрос был активно инициирован пользователем. |
Consent-ID |
String |
Обязательно |
Указание соответствующего согласия, предоставленного пользователем. |
Authorization |
String |
Условно |
Содержится только в том случае, если на предварительном этапе была выполнена аутентификация на основе OAuth2 или при соответствующей авторизации согласия была выполнена аутентификация SCA на основе OAuth2. |
Запрос тело
Запроса тело нет.
Заголовка ответа
Атрибут |
Тип |
Условие |
Описание |
X-Request-ID |
UUID |
Обязательно |
Идентификатор запроса, уникальный для вызова, определяемый инициирующей стороной. |
Ответ тело
Атрибут |
Тип |
Условие |
Описание |
cardAccount |
Account Reference |
Обязательно |
Идентификатор счета адресованной карты. |
debitAccounting |
Boolean |
Необязательно |
Если true, суммы дебетов в отчетах указываются как положительные с соответствующими последствиями для остатков. Если false, суммы дебетов в отчетах указываются как отрицательные. |
balances |
Array of Balance |
Обязательно |
Список остатков по этому карточному счету, например, текущий остаток, последний зарезервированный остаток. |
4) Вызов для просмотра списка транзакций по счёту банковских платежных карт
GET /v2/card-accounts/{account-id}/transactions {query-parameters}
Запрашивает данные о транзакциях для указанного счёта карты, идентифицированного параметром «account-id».
Примечание: Для защиты данных account-id является токенизированным идентификатором, поскольку информация пути может быть зарегистрирована на промежуточных серверах в пределах сферы ASPSP. Этот account-id можно получить с помощью вызова «GET Card Account List».
Примечание: ASPSP может использовать стандартные методы сжатия данных на уровне приложения для ответа, что указывается в заголовке content-encoding.
Примечание: Обратите внимание, что все параметры пути могут быть уже указаны неявно в ответе вызова «Чтение списка счетов карт» (Read Card Account List) в подполе _links.
Параметры пути:
Атрибут |
Тип |
Описание |
account-id |
String |
Эта идентификация обозначает адресованный счет карты. Account-id извлекается с помощью вызова «Read Card Account List». Account-id — это атрибут «resourceId» структуры счета. Его значение постоянно, по крайней мере, на протяжении всего жизненного цикла данного согласия. |
Параметры запроса
Атрибут |
Тип |
Условие |
Описание |
dateFrom |
ISODate |
Условно |
Начальная дата (включая дату dateFrom) списка транзакций, обязательна, если не требуется дельта-доступ |
dateTo |
ISODate |
Необязательно |
Дата окончания (включая дату dateTo) списка транзакций, по умолчанию «сегодня», если не указано иное. |
pageSize |
Integer |
Необязательно если поддерживается API поставщиком |
Этот параметр запроса определяет записи транзакций на вызов, которые необходимо извлечь для расширенных служб.
Если не поддерживается, то вызов отклоняется.
Если поддерживается ASPSP и если значение превышает maxPageSize, как определено ASPSP в его документации, то вызов отклоняется. |
bookingStatus |
String |
Обязательно |
Разрешенные коды — «booked», «pending», «both» и «booked» должно поддерживаться ASPSP.
Поддержка функций «pending» и «both» является необязательной для ASPSP, код ошибки, если он не поддерживается в интерфейсе онлайн-банкинга. |
deltaList |
Boolean |
Необязательно если поддерживается API поставщиком |
Этот атрибут данных указывает, что AISP выступает за получение всех транзакций после последнего отчета доступа для этого пользователя на адресованном счете.
Этот индикатор дельты может быть отклонен ASPSP, если эта функция не поддерживается. |
Заголовок запроса
Атрибут |
Тип |
Условие |
Описание |
X-Request-ID |
UUID |
Обязательно |
Идентификатор запроса, уникальный для вызова, определяемый инициирующей стороной. |
PSU-IP-Address |
String |
Условно |
Поле заголовка пересылаемого IP-адреса состоит из соответствующего поля IP-адреса HTTP-запроса между пользователем и TPP. Оно должно содержаться только в том случае, если этот запрос был активно инициирован пользователем. |
Consent-ID |
String |
Обязательно |
Идентификация согласия на этот доступ, предоставленного пользователем. |
Authorization |
String |
Условно |
Содержится только в том случае, если на предварительном этапе была выполнена аутентификация на основе OAuth2 или при соответствующей авторизации согласия была выполнена аутентификация SCA на основе OAuth2. |
Запрос тело
Запрос тело нет.
Код ответа
Код ответа HTTP равен 200.
Заголовка ответа
Атрибут |
Тип |
Условие |
Описание |
X-Request-ID |
UUID |
Обязательно |
Идентификатор запроса, уникальный для вызова, определяемый инициирующей стороной. |
Ответ тело
Атрибут |
Тип |
Условие |
Описание |
cardAccount |
Account Reference |
Обязательно |
Идентификатор счета адресованной карты. |
debitAccounting |
Boolean |
Необязательно |
Если true, суммы дебетов в отчетах указываются положительными с соответствующими последствиями для остатков. Если false, суммы дебетов в отчетах указываются отрицательными. |
cardTransactions |
Card Account Report |
Необязательно |
Отчет по счету на основе JSON. |
balances |
Array of Balance |
Необязательно |
Список остатков по данному счету, который может быть ограничен текущим остатком. |
_links |
Links |
Необязательно |
Список гиперссылок, которые должен распознать TPP. Тип ссылок, разрешенных в этом ответе:
«download»: ссылка на ресурс, откуда можно загрузить список транзакций в случае, если списки транзакций имеют огромный размер. |