В объект 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и merchantCategoryCodetransactionCategory из CardTransaction.Transaction т.к. он дублирует MerchantInformation.merchantCategoryCodeУдален параметр operationId из компонента Transaction.
Добавлен код ошибки HTTP 501 Not Implemented для методов post.
Изменен объект: Transactions:
Creditor.Identification и DebtorAccount.Identification установлены как необязательныеCreditor и DebtorBankTransactionCode установлен как обязательныеПараметры, содержащие uppercase URL переименованы `lowerCase url'
Переименован префикс для кода ошибки с RU.SBRF на RU.CBR Для методов получения информации о платежной карты get /payment-cardsиget /accounts/{accountId}/payment-carsблокDataприведен к массиву объектовPaymentCard`
Изменен тип данных указания суммы для истории операций InstructedAmount с AmountAndCurrencyExchangeDetails на ActiveOrHistoricCurrencyAndAmount
Operation - история операций, в котором:transactionIdentification заменен на operationIdCardTransaction удалены необязательные объекты и поляCreditorAgentAccount, UltimateCreditor, DebtorAgentAccount, UltimateDebtor, PaymentTypeInformation, BalancetransactionInformation -Сообщение отправителя получателю денежных средств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 productIdsecuritySchemes scope account на accountsenum определены не обязательные параметры параметры:
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/cardSequenceNumberPaymentCardData/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 для пилота с единственным обязательным элементом addressLineProduct (было не корректно 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:PaymentCardOtherProductType переименован в 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 идентификатором paymentCardIdReadPaymentCards)/accounts/{accountId}/limits - Конечная точка позволяет получить информацию об ограничениях, связанных с операциями на счете ПользователяИзменен объект PermissionsType:
ReadPaymentCardsИзменен объект AccountProduct (get /accounts/{accountId}/product; get /product):
PaymentCard и ее остатке;SupplementaryDataOtherProductTypeRepaymentFeeChargeDetail из объекта Repaymentrequired: - ReadAccountsBasic из объекта PermissionsTyperequired: - unstructured из объекта ReferredDocumentInformationtype = ActiveOrHistoricCurrencyCode для параметра tierCurrencyenum markdown стиль (использование |) перенесен в описаниеproductId из объекта AccountProductMCCAindividual - Мультивалютный счет физического лица в 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"