3. Прикладний рівень: керівні принципи
Цей розділ визначає керівні принципи прикладного рівня для Consent API: обов’язкові endpoints, особливості надання згоди для мультивалютних рахунків та правила використання статусів згоди (consentStatus) у межах процесу встановлення згоди та її життєвого циклу.
3.1. Методи доступу до API
У {consent-category} підтримується категорія згоди: account-access.
Всі endpoints, вказані у цій таблиці є обов’язковими для реалізації.
| Endpoint | Метод | Умова | Опис |
|---|---|---|---|
consents/account-access | POST | Mandatory | Створює ресурс згоди, визначивши права доступу до виділених рахунків певного PSU-ID. Ці рахунки явно розглядаються в методі як параметри основної функції. (Detailed consent model) Розділ 5. |
consents/account-access/{consentId} | GET | Mandatory | Повертає вміст об’єкту згоди вказаного ресурсу згоди, включаючи статус. Розділ 6.1. |
consents/{consent-category}/{consentId}/status | GET | Mandatory | Повертає статус об’єкту згоди вказаного ресурсу згоди. Розділ 6.2. |
consents/{consent-category}/{consentId} | DELETE | Mandatory | Відкликає вказану згоду. Розділ 7. |
3.2. Особливості надання згоди для мультивалютних рахунків
При наданні згоди на доступ до мультивалютних рахунків використовується IBAN.
Якщо у запиті на створення згоди на отримання відомостей з мультивалютного рахунку не вказана валюта — то згода надається на усі валюти мультивалютного рахунку.
Якщо у запиті на створення згоди на отримання інформації по мультивалютному рахунку вказана валюта — то згода надається тільки на доступ до мультивалютного рахунку з вказаною валютою.
3.3. Інформація про статус згоди у межах процесу встановлення згоди та життєвого циклу
Статус ресурсу згоди змінюється в процесі ініціації та життєвого циклу. Елемент даних для статусу згоди визначається як consentStatus.
На етапі ініціації згоди підтримуються наступні consentStatus для цього процесу: received, rejected та valid.
Після успішної авторизації згоди PSU, ресурс згоди може змінити свій статус протягом життєвого циклу. На етапі життєвого циклу згоди підтримуються такі consentStatus після статусу valid:
expired: термін дії згоди закінчився (наприклад, після закінчення періоду часу, передбаченого чинним нормативним актом).revokedByPsu: згода була відкликана PSU через платіжний застосунок (інші онлайн-канали) ASPSP.terminatedByTpp: згода була відкликана через платіжний застосунок AISP, AISP для припинення дії згоди викликав методDELETE /v2/consents/{consent-category}/{consentId}.replacedByTPP: AISP припинив дію згоди неявно, після успішного надання нової згоди PSU для того самого рахунку PSU.
AISP може отримати статус згоди у повідомленні GET Status Response Message.
Примітка: Статус expired також застосовуватиметься до разових згод після того, як був здійснений успішний виклик одного з endpoints отримання відомостей з рахунку (GET /v2/accounts/{account-id}/balances або GET /v2/accounts/{account-id}/transactions {query-parameters}) або термін дії згоди завершився.
Примітка: статус згоди expired може застосовуватись також до згоди якщо у відповіді на виклик GET /v2/accounts {query-parameters} ASPSP підтримує повернення балансу у цьому endpoint (атрибут withBalance).
Рекомендовано вживати наступні транслітерації статусів згоди для відображення PSU у платіжному застосунку:
- Received — Очікує підтвердження;
- Rejected — Відхилена;
- Valid — Активна;
- RevokedByPSU — Відкликана;
- Expired — Прострочена;
- TerminatedByTPP — Відкликана;
- ReplacedByTPP — Не активна;
- PartiallyAuthorised — Частково підтверджена (це статус для юридичних осіб, у цій специфікації не використовується).