Спецификация API определяет следующие конечные точки
Наименование API |
Метод | Обязательность | Описание |
Метод авторизации |
---|---|---|---|---|
Transactions |
Да |
Список операций по всем счетам |
Client Authorization code flow; scopes: obru-accounts-pe: Доступ к информации о счете |
get /transactions
Список операций по всем счетам (getTransactions )
Конечная точка позволяет СПИУ получить список операций по всем счетам, которые авторизованы пользователем с помощью согласия
Наименование |
Обязательность |
Тип |
Описание |
Паттерн |
---|---|---|---|---|
x-fapi-auth-date |
(Нет) |
String |
Время последнего входа Пользователя в систему с TPP. Значение предоставляется в виде HTTP-date, как в разделе 7.1.1.1 [RFC7231]. Например, x-fapi-auth-date: Mon, 26 Aug 2019 12:23:11 GMT |
/^[a-zA-Z0-9 :,]{29}$/ |
x-fapi-customer-ip-address |
(Нет) |
String |
IP-адрес Пользователя, если Пользователь в данный момент подключен к Стороннему Поставщику (авторизован в приложении Стороннего Поставщика). |
/^([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4}|(\d{1,3}.){3}\d{1,3}$/ |
x-fapi-interaction-id |
(Да) |
UUID |
RFC4122 UID, используемый в качестве идентификатора корреляции. Если необходимо, то Сторонний поставщик передает обратно значение идентификатора корреляции в заголовке ответа x-fapi-interaction-id. |
|
x-customer-user-agent |
(Нет) |
String |
В заголовке указывается тип устройства (user-agent), который использует Пользователь. Сторонний Поставщик может заполнить это поле значением типа устройства (user-agent), указанным Пользователем. Если Пользователь использует мобильное приложение Стороннего Поставщика, Сторонний Поставщик проверяет, что строка типа устройства (user-agent) отличается от строки типа устройства (user-agent) на основе браузера. |
Наименование |
Обязательность |
Тип |
Описание |
Паттерн |
---|---|---|---|---|
page |
(Нет) |
Integer |
Номер страницы |
|
fromBookingDateTime |
(Нет) |
Date |
Дата и время (в формате RFC3339 5.6) начала фильтрации списка операций по счету. Фильтрация предполагается по дате и времени изменения операции (updateDateTime). |
|
toBookingDateTime |
(Нет) |
Date |
Дата и время (в формате RFC3339 5.6) окончания фильтрации списка операций по счету. Фильтрация предполагается по дате и времени изменения операции (updateDateTime). |
Данный метод API предоставляет следующие типы данных (media types):
application/json
Значение должно быть указано в параметре заголовка запроса Accept и возвращены в ответе с указанием в параметре заголовка Content-Type
HTTP код |
Тип ответа |
---|---|
200 |
|
400 |
|
401 |
|
403 |
|
405 |
|
406 |
|
429 |
|
500 |
|
501 |
|
503 |
Спецификация API определяет типы и форматы данных, значения по умолчанию, перечисления и справочную информацию.
ActiveOrHistoricCurrencyAndAmount
Сумма денежных средств и код валюты
Наименование |
Обязательность |
Тип |
Описание |
Шаблон/Список |
---|---|---|---|---|
amount |
(Да) |
String |
Сумма денежных средств |
/^\d{1,15}.\d{2,4}$/ |
currency |
(Да) |
String |
Код валюты, соответствующий международного стандарта ISO 4217 |
/^[A-Z]{3,3}$/ |
CashAccount
Идентификация счета
Наименование |
Обязательность |
Тип |
Описание |
Шаблон/Список |
---|---|---|---|---|
schemeName |
(Да) |
Наименование схемы идентификации счета |
||
identification |
(Да) |
String |
Идентификатор счета, соответствующий схеме идентификации, известный владельцу счета (номер банковского счета, номер карты, номер телефона ...) |
/^[\w\W]{1,256}$/ |
DataTransactionResponse
Полезная нагрузка ответа на запрос об операциях по счету
Наименование |
Обязательность |
Тип |
Описание |
Шаблон/Список |
---|---|---|---|---|
Transaction |
(Нет) |
Список операций по счету |
Links
Поставщик услуг предоставляет постраничный ответ для операций GET, которые возвращают множественные записи.
Наименование |
Обязательность |
Тип |
Описание |
Шаблон/Список |
---|---|---|---|---|
self |
(Да) |
URI |
Текущая ссылка |
|
first |
(Нет) |
URI |
Первая ссылка |
|
prev |
(Нет) |
URI |
Предыдущая ссылка |
|
next |
(Нет) |
URI |
Следующая ссылка |
|
last |
(Нет) |
URI |
Последняя ссылка |
MerchantInfo
Информация о продавце
Наименование |
Обязательность |
Тип |
Описание |
Шаблон/Список |
---|---|---|---|---|
merchantId |
(Нет) |
String |
Код точки продаж из эквайринга (поле i042 в ISO 8583) |
/^[A-Z0-9]{1,40}$/ |
merchantCategoryCode |
(Нет) |
String |
Код категории соответствует ISO 18245 и относится к типу услуг или товаров, которые продавец предоставляет для транзакции (поле i018 в ISO 8583) |
/^\d{3,4}$/ |
acquirerId |
(Нет) |
String |
Идентификатор эквайера (поле i032 в ISO 8583) |
/^\d{1,11}$/ |
terminalId |
(Нет) |
String |
Идентификатор терминала оплаты (поле i041 в ISO 8583) |
/^[\w\W]{8,8}$/ |
Meta
Дополнительные данные о запросе. «totalPages», указывает на количество передаваемых страниц. Если передается более одной страницы, то элемент «totalPages» обязательно присутствует.
Наименование |
Обязательность |
Тип |
Описание |
Шаблон/Список |
---|---|---|---|---|
totalPages |
(Нет) |
Integer |
Указывает на количество передаваемых страниц |
OBRUError
Контейнер с ошибкой
Наименование |
Обязательность |
Тип |
Описание |
Шаблон/Список |
---|---|---|---|---|
errorCode |
(Да) |
|
||
message |
(Да) |
String |
Описание ошибки |
/^[\w\W]{1,500}$/ |
path |
(Нет) |
String |
Путь к элементу с ошибкой в JSON объекте. Рекомендуемое, но не обязательное поле |
/^[\w\W]{1,500}$/ |
url |
(Нет) |
URI |
URL для помощи в устранении проблемы, Также через URL можно предоставлять дополнительную информацию |
OBRUErrorResponse
Контейнер с детализацией ошибки
Наименование |
Обязательность |
Тип |
Описание |
Шаблон/Список |
---|---|---|---|---|
code |
(Да) |
String |
Высокоуровневый текстовый код ошибки, необходимый для классификации |
/^[a-zA-Z0-9-]{1,40}$/ |
id |
(Нет) |
String |
Уникальный идентификатор ошибки, для целей аудита, в случае неизвестных / не классифицированных ошибок |
/^[a-zA-Z0-9-]{1,40}$/ |
message |
(Да) |
String |
Краткое сообщение об ошибке. Например, «что-то не так с предоставленными параметрами запроса» |
/^[\w\W]{1,500}$/ |
Errors |
(Да) |
|
TransactionHistory
Операция по счету
Наименование |
Обязательность |
Тип |
Описание |
Шаблон/Список |
---|---|---|---|---|
transactionId |
(Да) |
String |
Уникальный и неизменный идентификатор, используемый для идентификации рессурса операции по счету |
/^[a-zA-Z0-9-]{1,40}$/ |
accountId |
(Да) |
String |
Уникальный и неизменный идентификатор, используемый для идентификации ресурса accounts |
/^[a-zA-Z0-9-]{1,40}$/ |
transactionInformation |
(Нет) |
String |
Сообщение отправителя получателю денежных средств |
/^[\w\W]{1,240}$/ |
AccountAmount |
(Нет) |
Информация о сумме и валюте операции в валюте счета |
||
creditDebitIndicator |
(Да) |
Определяет является ли операция дебетовая или кредитовая |
||
status |
(Да) |
Статус операции по счету |
||
bankTransactionCode |
(Нет) |
|
||
bookingDateTime |
(Да) |
Date |
Дата и время создания операции. Используется стандарт RFC3339 5.6 |
|
updateDateTime |
(Нет) |
Date |
Дата изменения операции (в том числе перехода между статусами). Используется стандарт RFC3339 5.6 |
|
ChargeAmount |
(Нет) |
Комиссия за операциию по счету |
||
InstructedAmount |
(Да) |
Сумма денег, подлежащая переводу между плательщиком и получателем денежных средств в валюте операции |
||
partyCardIdentification |
(Нет) |
|
||
CounterParty |
(Нет) |
|
||
CounterPartyAccount |
(Нет) |
Идентификатор счета второго участника операции (физического или юридического лица) |
||
rejectionReason |
(Нет) |
String |
Причина отказа по операции |
/^[\w\W]{1,140}$/ |
groupId |
(Нет) |
String |
Уникальный идентификатор, используемый для идентификации группы связанных операций по счету |
/^[a-zA-Z0-9-]{1,40}$/ |
TransactionHistory_CounterParty
Второй участник операции (физическое или юридическое лицо)
Наименование |
Обязательность |
Тип |
Описание |
Шаблон/Список |
---|---|---|---|---|
name |
(Да) |
String |
Наименование организации или имя физического лица |
/^[\w\W]{1,160}$/ |
MerchantInformation |
(Нет) |
|
||
PostalAddress |
(Нет) |
|
TransactionHistory_CounterParty_PostalAddress
Почтовый адрес
Наименование |
Обязательность |
Тип |
Описание |
Шаблон/Список |
---|---|---|---|---|
townName |
(Нет) |
String |
Наименование населённого пункта или территории, находящейся вне границ поселений |
/^[\w\W]{1,35}$/ |
country |
(Нет) |
String |
Код страны в формате ISO 3166-1 alpha-3 |
/^[A-Z]{3,3}$/ |
address |
(Нет) |
String |
Строка адреса |
/^[\w\W]{1,200}$/ |
TransactionHistory_partyCardIdentification
Идентификатор карты клиента, по которой проведена операция (только для карточных операций)
Наименование |
Обязательность |
Тип |
Описание |
Шаблон/Список |
---|---|---|---|---|
identification |
(Да) |
String |
Идентификатор карты соответствующий схеме идентификации, известный владельцу счета |
/^[\w\W]{1,256}$/ |
schemeName |
(Да) |
Наименование идентификационной схемы юридического или физического лица |
TransactionResponse
Ответ на запрос информации об операциях по счету
Наименование |
Обязательность |
Тип |
Описание |
Шаблон/Список |
---|---|---|---|---|
Data |
(Да) |
Полезная нагрузка ответа на запрос об операциях по счету |
||
Links |
(Нет) |
Раздел для указания ссылок |
||
Meta |
(Нет) |
Раздел метаданных |
В рамках текущей спецификации определены статические типы данных в виде кодов, и динамические типы данных, представляющие собой расширяемый список значений. В случае необходимости Поставщик услуг
может расширить список значений динамических данных, опубликовав информацию на портале разработчиков. Значения динамических типов данных располагаются в соответствующих пространствах имен, для
идентификации источника, использующего расширение. Стандартные динамические значения представлены в данном стандарте и с префиксом RU.CBR. При добавлении собственных значений в справочники участники
помещают такие значения в пространство имен, состоящее из двухбуквенного кода страны (код ISO 3166-1 Alpha-2), наименование организации в виде кода и значения справочного кода, разделенных между собой
точкой, например:
RU.VTB.CODE1
RU.VTB.CODE2
AccountIdentificationCode
Схема идентификации счета
BankTransactionCode
Код типа банковской операции
Значение |
Описание |
---|---|
ObOtherPayment |
Платеж |
ObPayment |
Оплата товара |
ObPaymentByQrSBP |
Оплата по QR-коду СБП |
ObPaymentByBankDetails |
Оплата по реквизитам |
ObPaymentByQr |
Оплата по QR-коду |
ObTipsPayment |
Оплата чаевых |
ObPaymentInBank |
Оплата в отделении банка |
ObServicePayment |
Оплата услуги |
ObInsurancePayment |
Страхование |
ObSubscriptionPayment |
Оплата подписки |
ObSubscriptionAutoPayment |
Автопродление подписки |
ObPaymentRefund |
Возврат покупки |
ObTransferRefund |
Отмена перевода |
ObOtherRefund |
Возврат |
ObRecovery |
Взыскание |
ObTransfer |
Перевод |
ObTransferToOrganization |
Перевод организации |
ObTransferByNumber |
Перевод по номеру телефона |
ObTransferBySBP |
Перевод по СБП |
ObForeignTransfer |
Иностранный перевод |
ObTransferMe2meBySBP |
Перевод между счетами по СБП |
ObTransferMe2me |
Перевод между счетами |
ObAutoTransfer |
Автоперевод |
ObAutoTransferMe2me |
Автоперевод между счетами |
ObExternalTransfer |
Межбанковский перевод |
ObSalaryAdding |
Зарплата |
ObPensionAdding |
Пенсия |
ObCashWithdrawal |
Выдача наличных |
ObCashDeposit |
Внесение наличных |
ObBankServicePayment |
Услуги банка |
ObTransferFee |
Комиссия за перевод |
ObLoanRepayment |
Погашение кредита |
ObLoanPayment |
Оплата по кредиту |
ObDepositCapitalization |
Капитализация по вкладу |
ObDepositClose |
Закрытие вклада |
ObDepositOpen |
Открытие вклада |
ObDepositWithdrawal |
Снятие со вклада |
ObDepositAdding |
Пополнение вклада |
ObDepositProlongation |
Пролонгация вклада |
ObValuableMetals |
Ценные металлы |
ObSecurities |
Ценные бумаги |
ObInvestment |
Инвестиции |
ObDebtRepayment |
Погашение задолженности |
ObOtherDebiting |
Списание |
ObOtherReceipt |
Поступление |
ObCashback |
Кэшбэк |
CreditDebitCode
Признак дебета/кредита
OBRUErrorResponseErrorCode
Низкоуровневое описание ошибки. Поставщик услуг должен заполнить сообщение детальным описанием ошибки, не раскрывая конфиденциальную информацию.
PartyCardIdentificationCode
Схема идентификации платежной карты физического или юридического лица
TransactionStatusCode
Статус записи операции по счету