5. Встановлення згоди PSU на отримання інформації по рахунку (Establish Consent)

Редакція OpenBanking Ukraine

Цей розділ описує процес встановлення згоди PSU на отримання інформації по рахунку через API відкритого банкінгу шляхом створення ресурсу згоди в ASPSP.

POST /v2/consents/account-access

Створює ресурс згоди для подальшого доступу до інформації по рахунку PSU в ASPSP.

Додаткові опції щодо встановлення статусу згоди

  1. Якщо у запиті на створення згоди recurringIndicator дорівнює true і у цього PSU для цього TPP і рахунку вже існує діюча множинна згода, тоді попередня згода автоматично втрачає чинність, як тільки нова згода буде успішно авторизована PSU.
  2. Якщо у запиті на створення згоди recurringIndicator дорівнює false і у цього PSU для цього TPP і рахунку існує діюча множинна згода, то припинення дії попередньої згоди може не відбуватись. Тобто, створення разової згоди не обов’язково призводить до відкликання множинної згоди — про свій варіант реалізації ASPSP має зазначити на порталі.

Query Parameters

Немає.

Request Header

АтрибутТипУмоваОпис
X-Request-IDUUIDMandatoryІдентифікатор запиту, унікальний для виклику, визначений стороною-ініціатором.
PSU-IP-AddressStringMandatoryПоле header IP-адреси, що пересилається, складається з відповідного поля IP-адреси HTTP request між PSU і TPP.
AuthorizationStringConditionalАтрибут заповнюється, якщо обрано OAuth2 як попередній крок для автентифікації PSU.
PSU-IDStringConditionalІдентифікатор PSU-фізичної особи в клієнтському інтерфейсі ASPSP. Якщо використовується Decoupled SCA — цей атрибут передається обов’язково.
PSU-ID-TypeStringConditionalТип PSU-ID фізичної особи, можливі значення визначені у розділі 8.2 Протоколу функцій та заходів безпеки.
PSU-Corporate-IDStringConditionalІдентифікатор PSU-ФОП в клієнтському інтерфейсі ASPSP. Якщо використовується Decoupled SCA — цей атрибут передається обов’язково.
PSU-Corporate-ID-TypeStringConditionalТип PSU-ID ФОП, можливі значення визначені у розділі 8.2 Протоколу функцій та заходів безпеки.

Path parameters

АтрибутТипУмоваОпис
Provider Identification-MandatoryЦе URL у servers у yaml файлі.

Request Body

АтрибутТипУмоваОпис
accessAccount AccessMandatoryТип доступу: balances; transactions; accountDetails (технічний доступ для можливості виклику GET /v2/accounts {query-parameters} для отримання ID рахунків. PSU даний тип доступу для вибору (підтвердження) недоступний, він завжди передається TPP до ASPSP). Деталізацію атрибуту див. нижче у таблиці.
consentTypeConsent Type CodeMandatoryТип технічної згоди: detailed.
recurringIndicatorBooleanMandatorytrue, якщо згода на повторний доступ до даних рахунку (множинна на певний термін). false, якщо згода на один доступ до даних рахунку протягом терміну дії згоди.
validToISODateMandatoryДата, до якої має діяти згода. Локальна дата ASPSP у форматі ISODate, наприклад 2024-10-30. Максимальний термін дії згоди (разової або множинної) — 180 днів, включаючи дату створення і дату закінчення.
frequencyPerDayIntegerMandatoryМаксимальна кількість запитів доступу до рахунку без залучення PSU на день (для AIS сервісів: баланс, історія операцій; не стосується endpoint отримання статусу згоди та перегляду списку рахунків). Для разової згоди значення 1, для множинної згоди значення 4, якщо інше не домовлено двосторонньо між TPP та ASPSP.

Деталізація атрибуту Account Access

АтрибутТипУмоваОпис
ibanstring UA[0-9]{27,27}optionalIBAN.
currencystring (pattern: [A-Z]{3})optionalКод валюти відповідно до Класифікатора іноземних валют НБУ (ISO 4217 Alpha 3 currency code). Примітка: валюту потрібно передавати тільки для мультивалютних рахунків, якщо ASPSP зазначив про це на порталі.

Приклад запиту

{
  "access": {
    "payments": [
      {
        "rights": [
          "transactions",
          "balances"
        ],
        "account": {
          "iban": "UA233077700000026205011558000"
        }
      }
    ]
  },
  "validTo": "2024-05-10",
  "consentType": "detailed",
  "frequencyPerDay": 2,
  "recurringIndicator": true
}

Response

Response Code

HTTP Response Code = 201.

Response Header

АтрибутТипУмоваОпис
LocationStringMandatoryРозташування створеного ресурсу згоди.
X-Request-IDUUIDMandatoryІдентифікатор запиту, унікальний для виклику, визначений стороною-ініціатором.
ASPSP-SCA- ApproachStringConditionalМожливі значення: DECOUPLED, REDIRECT. OAuth2 буде включено до постійного значення REDIRECT.

Response Body

АтрибутТипУмоваОпис
consentStatusConsent StatusMandatoryСтатус згоди; у випадку успішного створення ресурсу згоди consentStatus=received.
consentIdStringMandatoryІдентифікатор ресурсу згоди, який використовується в структурі API.
_linksLinksMandatoryСписок гіперпосилань, які розпізнає API client. Тип посилань, дозволених у цій відповіді (може бути розширений ASPSP, як зазначено в його документації доступу до рахунку): визначено у розділі 4.6 Протоколу функцій та заходів безпеки.
psuMessageMax500TextOptionalТекст для PSU. Для Decoupled SCA рекомендовано надсилати обов’язково.

Приклад відповіді

{
  "_links": {
    "status": {
      "href": "/v1/consents/account-access/96b9969f-b95c-4de7-b596-4840def7a8d1/status"
    },
    "startAuthorisationWithPsuIdentification": {
      "href": "/v2/consents/account-access/77be3221-f29f-42b0-8aa3-050571595e30/authorisations"
    }
  },
  "consentStatus": "received",
  "consentId": "96b9969f-b95c-4de7-b596-4840def7a8d1"
}