В объект OBRUErrorResponseErrorCode
Добавлен код ошибки RU.CBR.Authenticate.SuspiciousActivityDetected - 403 - Доступ к ресурсу приостановлен по причине выявления подозрения на мошеннические действия.
Добавлен код ошибки HTTP RU.CBR.Operation.Unprocessable
, статус 400
. Операция по извлечению ресурса не может быть выполнена или недопустима
Добавлено описание возможных значений атрибутов type
для блоков ReferredDocumentInformation
и CreditorReferenceInformation
Значения простых атрибутов блока ReferredDocumentInformation
приведено к нижнему регистру (lowerCamelCase)
В блок PaymentTypeInformation
в атрибут localInstrument
добавлены коды 03 и 04
Добавлено ограничение на формат номера мобильного телефона для схемы PartyIdentification
;
для поля mobileNumber
- Мобильный номер телефона устаноален pattern: ^\d{11,15}$ (приведено к формату E.164. Допустимы только цифры 0-9.Максимум 15 цифр).
Добавлены описания в блок info
и ссылки на UML диаграммы для основных методов
Отредактирован pattern для следующих полей:
consentId
: ^[a-zA-Z0-9-_]{1,40}$
x-fapi-auth-date
: ^[a-zA-Z0-9 :,]{29}$
x-fapi-customer-ip-address
: ^([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4}|(\d{1,3}\.){3}\d{1,3}$
Для заголовока x-customer-user-agent
установлен формат:
Внесены изменения, касательно кодов ошибок:
HTTP статус 400 – исключены
HTTP статус 403 – оставлена возможность применения только следующих кодов;
Форматы значений для парраметров заголовков x-fapi-interaction-id
и x-idempotency-key
установлен UUID, паттерн удален.
Отменено требование обязательного наличия в ответах полезной нагрузки:
Links
и Meta
.CardTransaction.Card.paymentCardData.expiryDate
Внесены изменения, касательно кодов ошибок:
Внесены следущие изменения в спецификацию:
x-jws-signature
для прикладных запросов и ответов, имеющих полезную нагрузкуmaxItems: 1000
на maxItems: 1000
(максимальное колличество элементов на одной странице для полезной нагрузки до 50)x-fapi-interaction-id
, в том числе в сообщениях об ошибкеДобавлен параметр Transaction.groupId - идентификатор группы операций
Поле Transaction.Ammount - сделано не обязательным
Параметр permissions
установлен на обязательный в ответах на создание согласия га доступ счету (Consent) и получение информации о согласии
Список статусов согласия на доступ к счету приведены к стандарту (исключен статус consumed
)
Изменен объект Transaction
для истории операций:
PostalAddress
для Creditor
и Debtor
(только townName
, country
)MerchantInformation
для Creditor
и Debtor
, содержащий merchantId
и merchantCategoryCode
transactionCategory
из CardTransaction.Transaction
т.к. он дублирует MerchantInformation.merchantCategoryCode
Удален параметр operationId
из компонента Transaction
.
Добавлен код ошибки HTTP 501 Not Implemented
для методов post
.
Изменен объект: Transactions
:
Creditor.Identification
и DebtorAccount.Identification
установлены как необязательныеCreditor
и Debtor
BankTransactionCode
установлен как обязательныеПараметры, содержащие uppercase URL
переименованы `lowerCase url'
Переименован префикс для кода ошибки с RU.SBRF
на RU.CBR Для методов получения информации о платежной карты
get /payment-cardsи
get /accounts/{accountId}/payment-carsблок
Dataприведен к массиву объектов
PaymentCard`
Изменен тип данных указания суммы для истории операций InstructedAmount
с AmountAndCurrencyExchangeDetails
на ActiveOrHistoricCurrencyAndAmount
Operation
- история операций, в котором:transactionIdentification
заменен на operationId
CardTransaction
удалены необязательные объекты и поляCreditorAgentAccount
, UltimateCreditor
, DebtorAgentAccount
, UltimateDebtor
, PaymentTypeInformation
, Balance
transactionInformation
-Сообщение отправителя получателю денежных средствRemittanceInformation/unstructed
Добавлены примеры для сообщений об ошибках
Требования к структуре возвращаемых контрактов приведены к одному виду:
required:
- Data
- Links
- Meta
Изменен pattern для суммы денежныъ средств ActiveCurrencyAndAmountSimpleType
на ^\d{1,15}\.\d{2,4}$
Servicer/OrganizationIdentification [1..*]
Servicer/CorrespondentAccount [1..1]
Servicer/PostalAddress [1..1]
productName [1..1]
paymentCardName [1..1]
paymentCardData [1..1]
cardScheme [1..1]
accountId [1..1]
Параметру consentId установлены свойства:
type: string
pattern: ^[a-zA-Z0-9-]{1,40}$
maxLength: 40
minLength: 1
Изменен паттерн для идентификаторов ресурсов - ^[a-zA-Z0-9-]{1,40}$
(удален лишний маскирующий флэш)
^[a-zA-Z0-9\-]{1,40}$
paymentCardType
Тип платежной карты enum (- debit, - credit)^[0-9]{4}$
Servicer/PostalAddress
установлена кратность 0..1 (addressLine
- остался обязательным)Набор методов в профайле публикуемой спецификации сокращен до требований пилота
Скорректированы кратности массива данных, minItems = 1
оставлен для массивов, которые не могут возвращаться с пустыми значениями
Исключен код ошибок HTTP ErrorCode 501 - Not Implemented
для post
, так как данный код ошибки применим только для методов HTTP get
и head
.
slug
40 символов^[a-z0-9]+(-[a-z0-9]+){1,40}$
accountId
paymentCardId
productId
securitySchemes
scope account
на accounts
enum
определены не обязательные параметры параметры:
x-enum-descriptions
- описание значение на русском языкеx-enum-varnames
- предлагаемое значение переменной (используется при управлении генерации кода, например для enum item = 01, x-enum-varnames = _01)ActiveCurrencyAndAmountSimpleType
на ^\d{1,15}\.\d{0,4}$
paymentCardId
- установлено maxLength: 40paymentCardName
- установлено maxLength: 64paymentCardDescription
, PaymentCardData/cardSequenceNumber
PaymentCardData/cardStatus
- изменена кратность на 1..1 (обязательный)PaymentCardData/PAN
- (передаем только последние 4 цифры) изменено описание и pattern = ^\*[0-9]{4}$
cardScheme
-тип данных изменен с массива на строку enumlimitAmount
, usedAmount
, availableAmount
переведены в формат CamelCase. get /payment-card-balances
, который возвращает информацию об остатке по всем платежным картам, связанными со счетами, на который пользователь дал согласиеget /payment-card-balances
, который возвращает информацию об остатке по всем платежным картам, связанными со счетами, на который пользователь дал согласиеstatus
- изменена кратность на 1..1 (обязательный)accountDescription
- установлено maxLength: 128, изменена кратность на 1..1 (обязательный)Servicer/BankIdentification/identification
- изменена кратность на 1..12 для использования массива идентификаторов (BIC, BICFI)Servicer/OrganizationIdentification
- изменена кратность на 1..12 для использования массива идентификаторов (TAXID, TAXT и т.п.)Servicer/CorrespondentAccount/name
- исключен из контрактаServicer/PostalAddress
для пилота с единственным обязательным элементом addressLine
Product
(было не корректно Products)productName
- установлено maxLength: 64CommonProductType
, SupplementaryData
В responses
для всех конечных точек:
HTTP ErrorCode 503 - The service is temporarily unavailable.
) - Сервис временно не доступенВ responses
для всех конечных точек:
HTTP ErrorCode 501 - Not Implemented
) - Сторонний поставщик не поддерживает функции, необходимые для выполнения запросаheaders
) запроса и ответа x-fapi-interaction-id
определен как обязательныйAccountProduct
:PaymentCard
OtherProductType
переименован в CommonProductType
(Информация о банковском продукте, применимая ко всем типам продуктов, основанных на процентных ставках)GET /accounts/{accountId}/payment-cards
и GET /accounts/payment-cards
):AccountPaymentCardsData
добавлена подробная информация о платежной карте
Добавлены методы для получения информации о платежных картах, на всех счетах, на которые пользователь дал согласия
URI для обозначения наименования лимитов по платежной карте обозначен как payment-card-limits
Параметр creditDebitIndicator
в объектах изменен на обязательный
Account/Servicer
на BranchAndFinancialInstitutionInformation
, содержащую расширенные реквизиты (идентификаторы организации, корсчет, адрес)^[\w\W]*$
, в случаях, где он был не установлен (за исключением enum
)Изменен объект AccountProduct/PaymentCard
(APIs get /accounts/{accountId}/product
; get /product
):
AvailableBalance
(остаток по карте предлагается отражать в доступных средствах по лимитамpaymentCardId
для обеспечения корреляции с апи по идентификатору карты (например /payment-card/{paymentCardId}/limits
)Добавлены API:
/accounts/{accountId}/payment-cards
- Конечная точка позволяет получать список платежных карт и их идентификаторы paymentCardId
по идентификатору счета accountId
.ReadPaymentCards
)/payment-card/{paymentCardId}/limits
- Конечная точка позволяет получить информацию об ограничениях, связанных с операциями по платежной карте c идентификатором paymentCardId
ReadPaymentCards
)/accounts/{accountId}/limits
- Конечная точка позволяет получить информацию об ограничениях, связанных с операциями на счете ПользователяИзменен объект PermissionsType
:
ReadPaymentCards
Изменен объект AccountProduct
(get /accounts/{accountId}/product; get /product):
PaymentCard
и ее остатке;SupplementaryData
OtherProductType
RepaymentFeeChargeDetail
из объекта Repayment
required: - ReadAccountsBasic
из объекта PermissionsType
required: - unstructured
из объекта ReferredDocumentInformation
type
= ActiveOrHistoricCurrencyCode
для параметра tierCurrency
enum
markdown стиль (использование |
) перенесен в описаниеproductId
из объекта AccountProduct
MCCAindividual
- Мультивалютный счет физического лица в ProductType
Изменен объект Transactions:
Добавлены идентификационные схемы в схему PartyIdentificationCode для переводов по сокращенным реквизитам:
В Назначение платежа (RemittanceInformation) добавлены объекты:
В Операцию по счету (Transaction) добавлены объекты:
Добавлены АПИ, связанные с продуктом на счете:
Изменен тип данных с number у следующих объектов:
Transaction.product.productAmount на ActiveCurrencyAndAmountSimpleType`
Transaction.product.productQuantity
type: string
maxLength: 19
pattern: '^[0-9]*$|^[0-9]*.[0-9]*$'
example: "10.2"
Transaction.product.untiPrice на ActiveCurrencyAndAmountSimpleType
CurrencyExchange. exchangeRate
type: string
maxLength: 12
example: "0.7"