2. Коди помилок (Message Codes)
Редакція OpenBanking Ukraine
Коди помилок (Message Codes) застосовуються для надання більш детальної інформації про помилку додатково до HTTP Response Code.
2.1. Загальні Message Codes
| Message Code | HTTP Response Code | Опис |
|---|---|---|
| CERTIFICATE_INVALID | 401 | QWAC не відповідає вимогам до атрибутів сертифікату. |
| ROLE_INVALID | 401 | TPP не має відповідної ролі, щоб отримати доступ до цієї послуги |
| CERTIFICATE_EXPIRED | 401 | Термін дії QWAC закінчився. Примітка: якщо ресурс створено — використовується відповідний код причини статусу замість цього повідомлення. |
| CERTIFICATE_BLOCKED | 401 | QWAC заблокований кваліфікованим надавачем електронних довірчих послуг (НБУ, тощо) або ASPSP. Примітка: якщо ресурс створено — використовується відповідний код причини статусу замість цього повідомлення. |
| CERTIFICATE_REVOKED | 401 | Свідоцтво про підпис/печатку відкликано. Примітка: якщо ресурс створено — використовується відповідний код причини статусу замість цього повідомлення. |
| CERTIFICATE_MISSING | 401 | Сертифікат підпису/печатки не був доступним у запиті, але обов’язковий. Примітка: якщо ресурс створено — використовується відповідний код причини статусу замість цього повідомлення. |
| FORMAT_ERROR | 400 | Формат певних полів запиту не відповідає вимогам специфікації. Це стосується header і елементів body. Він також застосовується у випадках помилкових, не існуючих даних, пустих полів. Наприклад, неправильно сформований IBAN. У повідомленні-відповіді ASPSP може вказати у полі “text” явний шлях до відповідного поля: “Format of certain request [fields name] are not matching the SRS”. |
| PARAMETER_NOT_CONSISTENT | 400 | Параметри, представлені API client, не узгоджуються. Це стосується лише параметрів запиту. У повідомленні-відповіді у полі “text” ASPSP може вказати, які саме параметри не узгоджуються: “Parameters [name] submitted by API Client are not consistent”. |
| PARAMETER_NOT_SUPPORTED | 400 | Параметр не підтримується ASPSP. Цей код повинен використовуватися тільки для параметрів, які описуються як опціональні, якщо підтримуються ASPSP. У повідомленні-відповіді у полі “text” ASPSP може вказати, який саме параметр не підтримується: “The parameter [name] is not supported by the API provider”. |
| PSU_CREDENTIALS_INVALID | 401 | Ідентифікатор PSU не пов’язаний з цим ASPSP або перевірка ідентифікатора не пройдена. У повідомленні-відповіді у полі “text” ASPSP може вказати додаткову інформацію. |
| SERVICE_INVALID | 400 (if payload) / 405 (if HTTP method) | Викликаний сервіс не відповідає запитуваному ресурсу або наданим у запиті даним. |
| SERVICE_BLOCKED | 403 | Цей сервіс недоступний для вказаного PSU. Наприклад, PSU заборонив доступ TPP до своїх рахунків по API або ASPSP з причини шахрайськіих дій, пов’язаних з цим PSU, тощо. У повідомленні-відповіді у полі “text” ASPSP може вказати додаткову інформацію: “This service is not reachable for the addressed PSU because [reason]”. |
| CORPORATE_ID_INVALID | 401 | PSU-Corporate-ID не співпадає з даними у ASPSP. |
| CONSENT_UNKNOWN | 403 (if path) / 400 (if header) | Ідентифікатор згоди (consentId) не знайдений ASPSP. |
| CONSENT_INVALID | 401 | Застосовується у викликах GET, DEL при роботі зі згодами та GET для отримання відомостей по рахунку (AIS). Наприклад, згода надана тільки на отримання балансу, а у запиті вказано отримання історії операцій або статус згоди не дорівнює valid, expired. |
| CONSENT_EXPIRED | 401 | Згода була створена цим TPP, але термін її дії закінчився і потребує створення нової згоди. |
| TOKEN_UNKNOWN | 401 | OAuth2-токен не співпадає з даними ASPSP щодо TPP. |
| TOKEN_INVALID | 401 | OAuth2-токен пов’язаний з TPP, але є недійсним для зазначеної послуги/ресурсу. |
| TOKEN_EXPIRED | 401 | OAuth2-токен, пов’язаний з TPP, протерміновий і потребує оновлення. |
| RESOURCE_UNKNOWN | 404 (if account-id in path) / 403 (if other resource in path) / 400 (if payload) | Запитуваний ресурс невідомий відносно API client (ідентифікатор ресурсу не знайдений у цього ASPSP). |
| RESOURCE_EXPIRED | 403 (if path) / 400 (if payload) | Запитуваний ресурс пов’язаний з TPP, але термін його дії закінчився і більше не доступний. Наприклад, термін дії лінку для проходження SCA закінчився. |
| TIMESTAMP_INVALID | 400 | timestamp не входить у прийнятний період. |
| PERIOD_INVALID | 400 | Запитаний період часу поза дозволеними межами. Наприклад, при запиті у рамках базових API при створенні згоди запитуваний термін дії перевищує 180 днів. |
| CONSENT_TYPE_NOT_SUPPORTED | 400 | consentType, вибраний в об’єкті згоди, не підтримується ASPSP. У повідомленні-відповіді у полі “text” ASPSP може вказати додаткову інформацію щодо підтримуваних consentType: “We are supporting consentTypes: [name]“. |
| CONTENT_TEMPORARILY_NOT_AVAILABLE | 404 | Зміст відповіді тимчасово не можна отримати, тому що послуга наразі недоступна. У повідомленні-відповіді у полі “text” ASPSP може вказати додаткову інформацію щодо причин недоступності або очікуваного часу відновлення. |
| ACCESS_EXCEEDED | 429 | Перевищена кількість дозволених запитів по рахунку за добу без залучення PSU. |
| REQUESTED_FORMATS_INVALID | 406 | Запитані формати в записі header Accept не відповідають форматам, запропонованим ASPSP. У повідомленні-відповіді у полі “text” ASPSP може вказати додаткову інформацію щодо підтримуваних форматів header Accept: “We are supporting header Accept: [name]“. |
2.2. PIS Message Codes
| Message Code | HTTP Response Code | Опис |
|---|---|---|
| PRODUCT_INVALID | 403 | Запитуваний продукт недоступний для даного PSU. Ця помилка застосовується, коли переданий коректний payment product (instant-credit-transfers — миттєвий кредитовий переказ або credit-transfers — кредитовий переказ), але він з якихось причин недоступний цьому PSU. У повідомленні-відповіді у полі “text” ASPSP може вказати додаткову інформацію. |
| PRODUCT_UNKNOWN | 404 | Запитуваний продукт недоступний. Ця помилка застосовується, коли переданий payment product не підтримується ASPSP. Наприклад, instant-credit-transfers — миттєвий кредитовий переказ — ASPSP не підтримує. У повідомленні-відповіді у полі “text” ASPSP може вказати додаткову інформацію. |
| PAYMENT_FAILED | 400 | Ініціація платежу була неуспішною. Ця помилка застосовується коли POST на ініціювання платіжної операції був неуспішним з будь-яких причин. Наприклад, у атрибуті платника вказаний рахунок, з якого заборонено виконання платіжних операцій (не дозволяє режим рахунку або валюта). Або якщо у PSU-ID та атрибуті платника власник рахунку не співпадає. У повідомленні-відповіді у полі “text” ASPSP може вказати додаткову інформацію. |