Выписки по счету
Информация о продукте
Банковская выписка — это документ, содержащий список всех операций по счету за определенный период (неделю, месяц, квартал). Она отражает состояние счета на начало и конец периода, приход и расход средств, а также адресатов и отправителей платежей.
Выписка нужна для того, чтобы видеть, когда и сколько денег переводили со счета и получали на счет, а также общее количество поступлений и списаний за период. Это помогает анализировать траты и поступления, корректировать деятельность и планировать финансы.
Авторизация
Все запросы в Sber API выполняются от имени конкретного пользователя СберБизнес, в том числе при интеграции для работы с информацией только по собственной компании. Запросы в Sber API в заголовке (Header) содержат параметр - Authorization. В нем требуется передавать токен доступа (access_token) пользователя. Получение токена доступа осуществляется с помощью сервиса СберБизнес ID. Подробно о подключении и работе сервиса авторизации рассказали в соответствующем разделе документации.
При интеграции по собственной компании потребуется выбрать одного пользователя СберБизнес и пройти им авторизацию через СберБизнес ID единоразово. В дальнейшем вам потребуется своевременно обновлять токен доступа при помощи токена обновления - обновить токен доступа.
Варианты реализации
Ниже будут приведены примеры реализации. Сценарии могут быть для вас отправной точкой и идеей для финального способа реализации функциональности.
Сценарии описали общие, для более легкого восприятия информации описания работы с продуктом Выписки по счету в Sber API.
Можно использовать разные триггеры запуска того или иного сценария - действия пользователя, регламентный запуск по времени, наступление определенных событий и другие варианты.
Получение выписки по счету
Шаги
- Получить информацию по счетам
- Запросить выписку
- Отразить выписку Пользователю
Участники usecase
- Пользователь - сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках Платформы
- Платформа - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
- Sber API - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
Предусловия
- Пользователь имеет пользовательский профиль в СберБизнес своей компании
- Пользователь находится в пространстве Платформы
- Пользователь прошел авторизацию с помощью СберБизнес ID
Постусловия
- Пользователь получил выписку по счету в рамках UI Платформы
Используемые ресурсы
№ | Метод | Точка вызова | Описание | Операция в scope | Шаг в схеме |
---|---|---|---|---|---|
1 | /ic/sso/api/v2/oauth/user-info | Получение информации | openid | 1. Получить информацию по счетам | |
2 | /fintech/api/v2/statement/transactions | Получить выписку по счету | GET_STATEMENT_ACCOUNT | 2. Запросить выписку | |
3 | /ic/sso/api/v2/oauth/token | Обновление токена доступа | openid | 2. Запросить выписку |
Получение реквизитов операции
Шаги
- Получить реквизиты операции
Участники usecase
- Пользователь - сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках Платформы
- Платформа - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
- Sber API - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
Предусловия
- Успешно выполнен сценарий "Получение выписки по счету"
- В сценарии "Получение выписки по счету" Платформа сохранила идентификаторы операций из выписки (operationId) в своей БД
Постусловия
- Пользователь получил информацию по операции
Используемые ресурсы
№ | Метод | Точка вызова | Описание | Операция в scope | Шаг в схеме |
---|---|---|---|---|---|
1 | /fintech/api/v2/statement/transactionId | Получить информацию из выписки по одной операции | GET_STATEMENT_ACCOUNT | 1. Получить реквизиты операции | |
2 | /ic/sso/api/v2/oauth/token | Обновление токена доступа | openid | 1. Получить реквизиты операции |
Получение печатной формы операции
Шаги
- Запросить печатную форму
- Декодировать файл
Участники usecase
- Пользователь - сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках Платформы
- Платформа - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
- Sber API - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
Предусловия
- Успешно выполнен сценарий "Получение выписки по счету"
- В сценарии "Получение выписки по счету" Платформа сохранила идентификаторы операций из выписки (operationId) в своей БД
Постусловия
- Пользователь получил печатную форму по операции
Используемые ресурсы
№ | Метод | Точка вызова | Описание | Операция в scope | Шаг в схеме |
---|---|---|---|---|---|
1 | /fintech/api/v2/statement/transactionId/print | Получить операцию из выписки в печатном формате файла | GET_STATEMENT_TRANSACTION | 1. Получить реквизиты операции | |
2 | /ic/sso/api/v2/oauth/token | Обновление токена доступа | openid | 1. Получить реквизиты операции |
Получение информации по оборотам
Шаги
- Получить информацию по счетам
- Запросить информацию по оборотам
- Отразить информацию Пользователю
Участники usecase
- Пользователь - сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках Платформы
- Платформа - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
- Sber API - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
Предусловия
- Пользователь имеет пользовательский профиль в СберБизнес своей компании
- Пользователь находится в пространстве Платформы
- Пользователь прошел авторизацию с помощью СберБизнес ID
Постусловия
- Пользователь получил информацию по оборотам счета в рамках UI Платформы
Используемые ресурсы
№ | Метод | Точка вызова | Описание | Операция в scope | Шаг в схеме |
---|---|---|---|---|---|
1 | /ic/sso/api/v2/oauth/user-info | Получение информации | openid | 1. Получить информацию по счетам | |
1 | /fintech/api/v2/statement/summary | Получить информацию по оборотам счета | GET_STATEMENT_ACCOUNT | 2. Запросить информацию по оборотам | |
2 | /ic/sso/api/v2/oauth/token | Обновление токена доступа | openid | 1. Получить информацию по счетам |
Получение печатной формы выписки по счету
Шаги
- Получить информацию по счетам
- Запросить печатную форму выписки
- Скачать и отразить выписку в UI
Участники usecase
- Пользователь - сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках Платформы
- Платформа - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
- Sber API - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
Предусловия
- Пользователь имеет пользовательский профиль в СберБизнес своей компании
- Пользователь находится в пространстве Платформы
- Пользователь прошел авторизацию с помощью СберБизнес ID
Постусловия
- Пользователь получил печатную форму выписки по счету
Используемые ресурсы
№ | Метод | Точка вызова | Описание | Операция в scope | Шаг в схеме |
---|---|---|---|---|---|
1 | /ic/sso/api/v2/oauth/user-info | Получение информации | openid | 1. Получить информацию по счетам | |
2 | /fintech/api/v1/statement/print | Получить выписку в печатном формате файла | GET_STATEMENT_ACCOUNT | 2. Запросить печатную форму выписки | |
3 | /ic/sso/api/v2/oauth/token | Обновление токена доступа | openid | 2. Запросить печатную форму выписки | |
4 | /fintech/api/v1/files/tasks-for-download | Получение ссылки для загрузки формы | FILES | 3. Скачать и отразить выписку в UI |
Выгрузка для экспорта в другие системы
Шаги
- Получить информацию по счетам
- Запросить файл выписки для экспорта
- Скачать и отразить выписку в UI
Участники usecase
- Пользователь - сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках Платформы
- Платформа - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
- Sber API - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
Предусловия
- Пользователь имеет пользовательский профиль в СберБизнес своей компании
- Пользователь находится в пространстве Платформы
- Пользователь прошел авторизацию с помощью СберБизнес ID
Постусловия
- Пользователь получил печатную форму выписки по счету
Используемые ресурсы
№ | Метод | Точка вызова | Описание | Операция в scope | Шаг в схеме |
---|---|---|---|---|---|
1 | /ic/sso/api/v2/oauth/user-info | Получение информации | openid | 1. Получить информацию по счетам | |
2 | /fintech/api/v1/statement/files | Запросить выписку для экспорта в другие системы | GET_STATEMENT_ACCOUNT | 2. Запросить печатную форму выписки | |
3 | /ic/sso/api/v2/oauth/token | Обновление токена доступа | openid | 2. Запросить печатную форму выписки | |
4 | /v1/files/tasks-for-download | Получение ссылки для загрузки формы | FILES | 3. Скачать и отразить выписку в UI |
Получить выписку по счету
/fintech/api/v2/statement/transactions
Ресурс позволяет получить выписку по счету (рублевому или валютному) за выбранную дату. Необходимо запрашивать постранично данные операции, начиная с первой страницы.
Для получения выписки по счету необходимо отправить GET-запрос /fintech/api/v2/statement/transactions
с токеном доступа (access_token) пользователя в параметре Authorization заголовка, номером счета (accountNumber), датой выписки (statementDate) и номером запрашиваемой страницы (page) в query-параметрах.
- Максимальное количество операций, возвращаемых на одной странице выписки, равно 100 операций для промышленного контура.
- Дата запрашиваемой выписки не может быть ранее 1.01.2017.
- В получаемой выписке внутри каждой операции сначала отображается информация по плательщику, а затем информация по получателю.
В параметре scope ссылки авторизации пользователя должен быть указана операция GET_STATEMENT_ACCOUNT
для получения доступа к этому ресурсу.
Для обращения к ресурсу необходимо отправлять запрос на:
- Тестовый контур
https://iftfintech.testsbi.sberbank.ru:9443
- Промышленный контур
https://fintech.sberbank.ru:9443
Request
/fintech/api/v2/statement/transactions
- Модель
- Пример
Наименование | Тип | Формат | Regexp | Обязательность | Описание |
---|---|---|---|---|---|
HEADER | |||||
Authorization | string | string | ^[a-zA-Z0-9]{38}$ | required | Access token пользователя собственной организации, полученный через SSO. |
Accept | string | string | ^(application/json|application/jose) | optional | Указывает на формат данных, который вы готовы принять от Банка. Если ответ не требуется в зашифрованном виде, то может быть не указан или передан со значением application/json. Если необходимо получить ответ на запрос токена в зашифрованном виде, то необходимо передать параметр со значением application/jose. |
Query-parameters | |||||
accountNumber | string | string | ^[0-9]{20}$ | required | Номер счета. |
statementDate | DateTime | ISO 8601 YYYY-MM-DD | ^([0-9]{4})-([0-9]{2})-([0-9]{2})$ | required | Дата запрашиваемой выписки. |
page | integer | integer | ^\d+$ | required | Номер запрашиваемой страницы. По умолчанию 100 операций на странице. |
curFormat | string | string | ^(curTransfer|swiftTransfer)$ | optional | Формат операции по валютному счету. Если поле curFormat не заполнено, то в ответе на запрос по валютному счету будет передан объект swiftTransfer в формате МТ103. |
GET /fintech/api/v2/statement/transactions?accountNumber=40802810706000000087&statementDate=2023-11-14&page=1 HTTP/1.1
Accept: application/json
Authorization: Bearer a80e9443a795e34c7dvb707z3bd97f80b1e053
Responses
200 (ОК)
На запрос первой страницы в ответе вернется список операций (если существуют операции за выбранную дату и счет) и контейнер links с параметром (href) на следующую страницу и признаком "rel": "next".
На запрос второй страницы в ответе вернется список операций и контейнер links с параметром (href) на следующую и предыдущую страницы и признаками: "rel": "prev", "rel": "next". Получение последующих страниц производится по аналогии.
Если следующей страницы нет, в полученном ответе перестанет приходить href c признаком "rel": "next".
- Модель
- Пример (рублевый)
- Пример (валютный)
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
StatementTransactionsV2 { | |||
_links | Array[Link] | optional | Ссылки на связанные ресурсы, |
transactions | Array[StatementTransactionV2] | optional | Данные по операциям выписки v2 |
} | |||
Link { | |||
href | string | required | Абсолютный или относительный адрес, |
rel | string | required | Отношение ссылки к текущей сущности (next, prev) |
} | |||
StatementTransactionV2 { | |||
amount | Amount | optional | Сумма в валюте счета, |
amountRub | Amount | optional | Сумма в рублях, |
correspondingAccount | string | optional | Корреспондирующий счет, |
curTransfer | CurTransfer | optional | Данные валютной операции. Объект заполняется, если: - Данная операция валютная, - В запросе параметр curFormat заполнен значением curTransfer, |
direction | string | optional | Направление транзакции DEBIT/CREDIT, |
documentDate | string | optional | Дата документа, |
filial | string | optional | Наименование филиала, |
number | string | optional | Номер операции, |
operationCode | string | optional | Тип операции, |
operationDate | string | optional | Дата и время операции, |
operationId | string | optional | Идентификатор операции, |
paymentPurpose | string | optional | Назначение платежа, |
priority | string | optional | Очередность платежа, |
revaln | string | optional | Признак операции переоценки (ПК - пересчет курса, ДП - дооценка руб. покрытия), |
rurTransfer | RURTransfer | optional | Данные рублевой операции. Объект заполняется, если: - Данная операция рублевая, |
swiftTransfer | SWIFTTransfer | optional | Данные перевода SWIFT MT103. Объект заполняется, если: - Данная операция валютная, - В запросе параметр curFormat не заполнен или заполнен значением swiftTransfer, |
transactionId | integer | optional | Идентификатор операции, |
uuid | string | optional | Уникальный идентификатор операции |
} | |||
Amount { | |||
amount | number | optional | Сумма, |
currencyName | string | optional | Буквенный ISO-код валюты |
} | |||
CurTransfer { | |||
bankOperationCode | string | optional | Код банковской операции (формат MT103), |
beneficiaryBankAccount | string | optional | Номер счета банка бенефициара. 1-я часть значения поля 57 в формате MT103, |
beneficiaryBankName | string | optional | Код BIC, расположение или название и адрес банка бенефициара. Содержимое поля 57 (за исключением номера счета, с разделителями) в формате MT103, |
beneficiaryBankOption | string | optional | Признак вида поля банка бенефициара (поле 57 в формате MT103). Возможные значения: A, B, С, D, |
beneficiaryCustomerAccount | string | optional | Номер счета бенефициара. 1-я часть значения поля 59 в формате MT103, |
beneficiaryCustomerName | string | optional | Код BIC/BEI или название и адрес бенефициара. Содержимое поля 59 (за исключением номера счета, с разделителями) в формате MT103, |
detailsOfCharges | string | optional | Сведения о расходах (формат MT103), |
exchangeRate | string | optional | Курс конвертации (формат MT103), |
instructedAmount | string | optional | Валюта/сумма по инструкции (формат MT103), |
instructionCode | string | optional | Код инструкции (формат MT103), |
intermediaryBankAccount | string | optional | Номер счета банка-посредника. 1-я часть значения поля 56 в формате MT103, |
intermediaryBankName | string | optional | Код BIC или название банка-посредника. Содержимое поля 56 (за исключением номера счета, с разделителями) в формате MT103, |
intermediaryBankOption | string | optional | Признак вида поля банка-посредника (поле 56 в формате MT103). Возможные значения: A, С, D, |
messageDestinator | string | optional | Получатель сообщения SWIFT (формат MT103) |
messageIdentifier | string | optional | Уникальный системный номер сообщения SWIFT (формат MT103), |
messageOriginator | string | optional | Отправитель сообщения SWIFT (формат MT103), |
messageReceiveTime | string | optional | Дата и время получения сообщения SWIFT (формат MT103), |
messageSendTime | string | optional | Дата и время отправки сообщения SWIFT (формат MT103), |
messageType | string | optional | Тип сообщения SWIFT, |
orderingCustomerAccount | string | optional | Номер счета плательщика в формате IBAN или BBAN (для внутренних платежей). 1-я часть значения поля 50 в формате MT103, |
orderingCustomerName | string | optional | Код BIC/BEI или название и адрес плательщика. Содержимое поля 50 (за исключением номера счета, с разделителями) в формате MT103, |
orderingCustomerOption | string | optional | Признак вида поля плательщика (поле 50 в формате MT103). Возможные значения: A, F, K, |
orderingInstitutionAccount | string | optional | Номер счета банка плательщика. 1-я часть значения поля 52 в формате MT103, |
orderingInstitutionName | string | optional | Код BIC или название и адрес банка плательщика. Содержимое поля 52 (за исключением номера счета, с разделителями) в формате MT103, |
orderingInstitutionOption | string | optional | Признак вида поля банка плательщика (поле 52 в формате MT-103). Возможные значения: A, D, |
payeeAccount | string | optional | Номер счета получателя, |
payeeBankBic | string | optional | БИК банка получателя, |
payeeBankCorrAccount | string | optional | Корсчет банка получателя, |
payeeBankName | string | optional | Наименование банка получателя, |
payeeInn | string | optional | ИНН получателя, |
payeeKpp | string | optional | КПП получателя, |
payeeName | string | optional | Наименование получателя, |
payerAccount | string | optional | Номер счета плательщика, |
payerBankBic | string | optional | БИК банка плательщика, |
payerBankCorrAccount | string | optional | Корсчет банка плательщика, |
payerBankName | string | optional | Наименование банка плательщика, |
payerInn | string | optional | ИНН плательщика, |
payerKpp | string | optional | КПП плательщика, |
payerName | string | optional | Наименование плательщика, |
receiverCharges | string | optional | Расходы получателя (формат MT103), |
receiverCorrespondentAccount | string | optional | Номер счета корреспондента получателя. 1-я часть значения поля 54 в формате MT103, |
receiverCorrespondentName | string | optional | Код BIC, расположение или название и адрес корреспондента получателя. Содержимое поля 54 (за исключением номера счета, с разделителями) в формате MT103, |
receiverCorrespondentOption | string | optional | Признак вида поля корреспондента получателя (поле 54 в формате MT103). Возможные значения: A, B, D, |
regulatoryReporting | string | optional | Контрольная отчетность (формат MT103), |
remittanceInformation | string | optional | Сведения о переводе (формат MT103), |
senderCharges | string | optional | Расходы отправителя (формат MT103), |
senderCorrespondentAccount | string | optional | Номер счета корреспондента отправителя. 1-я часть значения поля 53 в формате MT103, |
senderCorrespondentName | string | optional | Код BIC, расположение или название и адрес корреспондента отправителя. Содержимое поля 53 (за исключением номера счета, с разделителями) в формате MT103, |
senderCorrespondentOption | string | optional | Признак вида поля корреспондента отправителя (поле 53 в формате MT103). Возможные значения: A, B, D, |
senderToReceiverInformation | string | optional | Информация отправителя получателю (формат MT103), |
transactionReferenceNumber | string | optional | Референс операции (формат MT103), |
transactionRelatedReference | string | optional | Связанный референс (формат MT103), |
transactionTypeCode | string | optional | Код типа операции (формат MT103), |
urgent | string | optional | Признак срочности операции (формат MT103). Возможные значения: URGENT, NORMAL, |
valueDateCurrencyInterbankSettledAmount | string | optional | Дата валютирования, код валюты, сумма межбанковского расчета (формат MT103) |
} | |||
RURTransfer { | |||
cartInfo | CartInfo | optional | Дополнительная информация о документе (картотека), |
deliveryKind | string | optional | Способ отправки документа, |
departmentalInfo | DepartmentalInfo | optional | Реквизиты налогового, таможенного или иного бюджетного платежа, |
payeeAccount | string | optional | Номер счета получателя, |
payeeBankBic | string | optional | БИК банка получателя, |
payeeBankCorrAccount | string | optional | Корсчет банка получателя, |
payeeBankName | string | optional | Наименование банка получателя, |
payeeInn | string | optional | ИНН получателя, |
payeeKpp | string | optional | КПП получателя, |
payeeName | string | optional | Наименование получателя, |
payerAccount | string | optional | Номер счета плательщика, |
payerBankBic | string | optional | БИК банка плательщика, |
payerBankCorrAccount | string | optional | Корсчет банка плательщика, |
payerBankName | string | optional | Наименование банка плательщика, |
payerInn | string | optional | ИНН плательщика, |
payerKpp | string | optional | КПП плательщика, |
payerName | string | optional | Наименование плательщика, |
payingCondition | string | optional | Условие оплаты (для 02), |
purposeCode | string | optional | Кодовое назначение платежа Коды:<br/ >1 - Заработная плата и иные доходы, в отношении которых ст. 99 229-ФЗ установлены ограничения размеров удержания. 2 - Периодические доходы, на которые в соответствии с ч. 1 ст. 101 229-ФЗ не может быть обращено взыскание, за исключением доходов, указанных в ч. 2 ст. 101 229-ФЗ. 3 - Периодические доходы, к которым согласно ч. 2 ст. 101 229-ФЗ ограничения по взысканию не применяются. 4 - Единовременный доход, на который в соответствии с ч. 1 ст. 101 229-ФЗ не может быть обращено взыскание, за исключением доходов, указанных в ч. 2 ст. 101 229-ФЗ. 5 - Единовременный доход, к которому согласно ч. 2 ст. 101 229-ФЗ ограничения по взысканию не применяются. null - Код дохода указывать не нужно, если денежные средства не относятся к доходам с установленными ограничениями согласно ст. 99 и запретом согласно ст. 101 229-ФЗ. |
receiptDate | string | optional | Дата поступления в банк плательщика, |
valueDate | string | optional | Дата валютирования |
} | |||
**SWIFTTransfer {** | |||
bankOperationCode | string | optional | Код банковской операции (формат MT103), |
beneficiaryBankAccount | string | optional | Номер счета банка бенефициара. 1-я часть значения поля 57 в формате MT103, |
beneficiaryBankName | string | optional | Код BIC, расположение или название и адрес банка бенефициара. Содержимое поля 57 (за исключением номера счета, с разделителями) в формате MT103, |
beneficiaryBankOption | string | optional | Признак вида поля банка бенефициара (поле 57 в формате MT103). Возможные значения: A, B, С, D, |
beneficiaryCustomerAccount | string | optional | Номер счета бенефициара. 1-я часть значения поля 59 в формате MT103, |
beneficiaryCustomerName | string | optional | Код BIC/BEI или название и адрес бенефициара. Содержимое поля 59 (за исключением номера счета, с разделителями) в формате MT103, |
detailsOfCharges | string | optional | Сведения о расходах (формат MT103), |
exchangeRate | string | optional | Курс конвертации (формат MT103), |
instructedAmount | string | optional | Валюта/сумма по инструкции (формат MT103), |
instructionCode | string | optional | Код инструкции (формат MT103), |
intermediaryBankAccount | string | optional | Номер счета банка-посредника. 1-я часть значения поля 56 в формате MT103, |
intermediaryBankName | string | optional | Код BIC или название банка-посредника. Содержимое поля 56 (за исключением номера счета, с разделителями) в формате MT103, |
intermediaryBankOption | string | optional | Признак вида поля банка-посредника (поле 56 в формате MT103). Возможные значения: A, С, D, |
messageDestinator | string | optional | Получатель сообщения SWIFT (формат MT103) |
messageIdentifier | string | optional | Уникальный системный номер сообщения SWIFT (формат MT103), |
messageOriginator | string | optional | Отправитель сообщения SWIFT (формат MT103), |
messageReceiveTime | string | optional | Дата и время получения сообщения SWIFT (формат MT103), |
messageSendTime | string | optional | Дата и время отправки сообщения SWIFT (формат MT103), |
messageType | string | optional | Тип сообщения SWIFT, |
orderingCustomerAccount | string | optional | Номер счета плательщика в формате IBAN или BBAN (для внутренних платежей). 1-я часть значения поля 50 в формате MT103, |
orderingCustomerName | string | optional | Код BIC/BEI или название и адрес плательщика. Содержимое поля 50 (за исключением номера счета, с разделителями) в формате MT103, |
orderingCustomerOption | string | optional | Признак вида поля плательщика (поле 50 в формате MT103). Возможные значения: A, F, K, |
orderingInstitutionAccount | string | optional | Номер счета банка плательщика. 1-я часть значения поля 52 в формате MT103, |
orderingInstitutionName | string | optional | Код BIC или название и адрес банка плательщика. Содержимое поля 52 (за исключением номера счета, с разделителями) в формате MT103, |
orderingInstitutionOption | string | optional | Признак вида поля банка плательщика (поле 52 в формате MT-103). Возможные значения: A, D, |
receiverCharges | string | optional | Расходы получателя (формат MT103), |
receiverCorrespondentAccount | string | optional | Номер счета корреспондента получателя. 1-я часть значения поля 54 в формате MT103, |
receiverCorrespondentName | string | optional | Код BIC, расположение или название и адрес корреспондента получателя. Содержимое поля 54 (за исключением номера счета, с разделителями) в формате MT103, |
receiverCorrespondentOption | string | optional | Признак вида поля корреспондента получателя (поле 54 в формате MT103). Возможные значения: A, B, D, |
regulatoryReporting | string | optional | Контрольная отчетность (формат MT103), |
remittanceInformation | string | optional | Сведения о переводе (формат MT103), |
senderCharges | string | optional | Расходы отправителя (формат MT103), |
senderCorrespondentAccount | string | optional | Номер счета корреспондента отправителя. 1-я часть значения поля 53 в формате MT103, |
senderCorrespondentName | string | optional | Код BIC, расположение или название и адрес корреспондента отправителя. Содержимое поля 53 (за исключением номера счета, с разделителями) в формате MT103, |
senderCorrespondentOption | string | optional | Признак вида поля корреспондента отправителя (поле 53 в формате MT103). Возможные значения: A, B, D, |
senderToReceiverInformation | string | optional | Информация отправителя получателю (формат MT103), |
transactionReferenceNumber | string | optional | Референс операции (формат MT103), |
transactionRelatedReference | string | optional | Связанный референс (формат MT103), |
transactionTypeCode | string | optional | Код типа операции (формат MT103), |
urgent | string | optional | Признак срочности операции (формат MT103). Возможные значения: URGENT, NORMAL, |
valueDateCurrencyInterbankSettledAmount | string | optional | Дата валютирования, код валюты, сумма межбанковского расчета (формат MT103) |
} | |||
CartInfo { | |||
documentCode | string | optional | Шифр документа (картотека) (для 16), |
documentContent | string | optional | Содержание операции (для 16), |
documentDate | string | optional | Дата документа (картотека) (для 16), |
documentNumber | string | optional | Номер документа (картотека) (для 16), |
paymentNumber | string | optional | Номер платежа (картотека) (для 16), |
restAmount | number | optional | Сумма остатка платежа (картотека) (для 16) |
} | |||
DepartmentalInfo { | |||
uip | string | required | Уникальный идентификатор платежа, |
drawerStatus101 | string | required | Показатель статуса налогоплательщика (реквизит - 101), |
kbk | string | required | Код бюджетной классификации (реквизит - 104), |
oktmo | string | required | Код OKTMO (реквизит - 105), |
reasonCode106 | string | required | Показатель основания платежа (реквизит - 106), |
taxPeriod107 | string | required | Налоговый период / код таможенного органа (реквизит - 107), |
docNumber108 | string | required | Номер налогового документа (реквизит - 108), |
docDate109 | string | required | Дата налогового документа (реквизит - 109), |
paymentKind110 | string | optional | Тип налогового платежа (реквизит - 110) |
} |
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"transactions": [
{
"transactionId": 1900688,
"uuid": "ad107e12-9061-34df-bce8-6045714a4dba",
"operationDate": "2023-11-14T12:25:06",
"number": "1",
"operationCode": "01",
"amount": {
"amount": "100.00",
"currencyName": "RUB"
},
"amountRub": {
"amount": "100.00",
"currencyName": "RUB"
},
"paymentPurpose": "Оплата заказа №123. НДС 20%",
"priority": "5",
"direction": "DEBIT",
"documentDate": "2023-11-14",
"filial": null,
"revaln": null,
"correspondingAccount": "40702810006000001792",
"swiftTransfer": null,
"curTransfer": null,
"rurTransfer": {
"payerAccount": "40802810706000000087",
"payerName": "ИП_Автотест_Клиент_ЕКС_20231027092336",
"payerInn": "213504669246",
"payerKpp": "346801713",
"payerBankName": "БАШКИРСКОЕ ОТДЕЛЕНИЕ N8598 ПАО СБЕРБАНК, г. Уфа",
"payerBankBic": "048073601",
"payerBankCorrAccount": "30101810300000000601",
"payeeAccount": "40702810006000001792",
"payeeName": "ТЕСТ9036",
"payeeInn": "7379190522",
"payeeKpp": "683801910",
"payeeBankName": "БАШКИРСКОЕ ОТДЕЛЕНИЕ N8598 ПАО СБЕРБАНК, г. Уфа",
"payeeBankBic": "048073601",
"payeeBankCorrAccount": "30101810300000000601",
"receiptDate": "2023-11-14",
"valueDate": "2023-11-14",
"deliveryKind": "электронно",
"payingCondition": null,
"departmentalInfo": null,
"cartInfo": null,
"purposeCode": null
},
"operationId": "25767887288472"
},
{
"transactionId": 1900686,
"uuid": "1867615e-7b02-318e-a31a-3e87a31e9079",
"operationDate": "2023-11-14T10:15:16",
"number": "1",
"operationCode": "01",
"amount": {
"amount": "1000.00",
"currencyName": "RUB"
},
"amountRub": {
"amount": "1000.00",
"currencyName": "RUB"
},
"paymentPurpose": "В том числе НДС 20 % - 166.67 рублей.",
"priority": "5",
"direction": "DEBIT",
"documentDate": "2023-11-14",
"filial": null,
"revaln": null,
"correspondingAccount": "40702810006000001792",
"swiftTransfer": null,
"curTransfer": null,
"rurTransfer": {
"payerAccount": "40802810706000000087",
"payerName": "ИП_Автотест_Клиент_ЕКС_20231027092336",
"payerInn": "213504669246",
"payerKpp": "346801713",
"payerBankName": "БАШКИРСКОЕ ОТДЕЛЕНИЕ N8598 ПАО СБЕРБАНК, г. Уфа",
"payerBankBic": "048073601",
"payerBankCorrAccount": "30101810300000000601",
"payeeAccount": "40702810006000001792",
"payeeName": "ООО_Автотест_Клиент_ЕКС_20231027092414",
"payeeInn": "7379190522",
"payeeKpp": "683801910",
"payeeBankName": "БАШКИРСКОЕ ОТДЕЛЕНИЕ N8598 ПАО СБЕРБАНК, г. Уфа",
"payeeBankBic": "048073601",
"payeeBankCorrAccount": "30101810300000000601",
"receiptDate": "2023-11-14",
"valueDate": "2023-11-14",
"deliveryKind": "электронно",
"payingCondition": null,
"departmentalInfo": null,
"cartInfo": null,
"purposeCode": null
},
"operationId": "25767883839290"
}
],
"_links": []
}
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"_links": [
{
"href": "?accountNumber=40702810500006103990&statementDate=2018-03-15&page=3",
"rel": "next"
}
],
"transactions": [
{
"amount": {
"amount": "1.01",
"currencyName": "USD"
},
"amountRub": {
"amount": "1.01",
"currencyName": "USD"
},
"correspondingAccount": "30101810400000000225",
"curTransfer": {
"bankOperationCode": "CRED",
"beneficiaryBankAccount": "LOYDGB21321",
"beneficiaryBankName": "BANCO DE SABADELL, S.A. 1, PLAZA CATALUNYA SABADELL ES",
"beneficiaryBankOption": "D",
"beneficiaryCustomerAccount": "/FI8850000120266333",
"beneficiaryCustomerName": "SUN-KING KNITTED BELT PRODUCT LTD. N.39,DONGMEN ROAD FUQING CITY,FUJIAN,CHINA",
"detailsOfCharges": "OUR",
"exchangeRate": "67,74",
"instructedAmount": "USD70,",
"instructionCode": "URGP",
"intermediaryBankAccount": "COBADEFF",
"intermediaryBankName": "BANCA POPOLARE DELL'ETRURIA E DEL LAZIO (SEDE DI MILANO) MILANO",
"intermediaryBankOption": "D",
"messageDestinator": "LAPBLV2X",
"messageIdentifier": "S000013082900014",
"messageOriginator": "SABRRU2P",
"messageReceiveTime": "15-05-27 14:01",
"messageSendTime": "15-05-27 13:21",
"messageType": "103",
"orderingCustomerAccount": "/08251801040004813",
"orderingCustomerName": "DONGNING JIXIN INDUSTRY AND TRADE(GROUP) CO.,LTD.NO.98 FANRONG STREET DONGNING COUNTY",
"orderingCustomerOption": "K",
"orderingInstitutionAccount": "ABOCBNBJ080",
"orderingInstitutionName": "AGRICULTURAL BANK OF CHINA, THE(HEILONGJIANG BRANCH) HARBIN",
"orderingInstitutionOption": "A",
"payeeAccount": "40802810600000200000",
"payeeBankBic": "044525225",
"payeeBankCorrAccount": "30101810400000000225",
"payeeBankName": "ПАО СБЕРБАНК",
"payeeInn": "7707083893",
"payeeKpp": "222201001",
"payeeName": "Общество с ограниченной ответственностью \"Клиент\"",
"payerAccount": "40802810600000200000",
"payerBankBic": "044525225",
"payerBankCorrAccount": "30101810400000000225",
"payerBankName": "ПАО СБЕРБАНК",
"payerInn": "7707083893",
"payerKpp": "222201001",
"payerName": "Общество с ограниченной ответственностью \"Клиент\"",
"receiverCharges": "EUR13,19",
"receiverCorrespondentAccount": "CHASDEFX",
"receiverCorrespondentName": "THE BANK OF NEW YORK MELLON NEW YORK,NY",
"receiverCorrespondentOption": "D",
"regulatoryReporting": "/N10/NS/N4/12345678901234567890/N5/12345678901/N6/TP/N7/МS.05.2003/N8/123456789012345/N9/12.05.2003",
"remittanceInformation": "CONTRACT NO SE/00233 DATED 06.03.2012, INVOICE NO 4783",
"senderCharges": "USD7,03",
"senderCorrespondentAccount": "BOTKGB2L",
"senderCorrespondentName": "CITIBANK N.A. NEW YORK,NY",
"senderCorrespondentOption": "D",
"senderToReceiverInformation": "/NZP/OT 15.03.2009. NDS NE OBLAGAETSYA",
"transactionReferenceNumber": "S380609091426498",
"transactionRelatedReference": "S380609091426498",
"transactionTypeCode": "N1",
"urgent": "NORMAL",
"valueDateCurrencyInterbankSettledAmount": "130824EUR5447,34"
},
"direction": "CREDIT",
"documentDate": "2018-12-31",
"filial": "ОСБ 3",
"number": "4",
"operationCode": "01",
"operationDate": "2018-12-31T23:59:59",
"operationId": "7875656558406",
"paymentPurpose": "Оплата заказа №123. НДС нет.",
"priority": "5",
"revaln": "ПК",
"rurTransfer": null,
"deliveryKind": "электронно",
"departmentalInfo": {
"uip": "0",
"drawerStatus101": "01",
"kbk": "18210102010011000110",
"oktmo": "01701000",
"reasonCode106": "ТП",
"taxPeriod107": "ГД.00.2018",
"docNumber108": "123",
"docDate109": "0",
"paymentKind110": "1"
},
"payeeAccount": "40802810600000200000",
"payeeBankBic": "044525225",
"payeeBankCorrAccount": "30101810400000000225",
"payeeBankName": "ПАО СБЕРБАНК",
"payeeInn": "7707083893",
"payeeKpp": "222201001",
"payeeName": "Общество с ограниченной ответственностью \"Клиент\"",
"payerAccount": "40802810600000200000",
"payerBankBic": "044525225",
"payerBankCorrAccount": "30101810400000000225",
"payerBankName": "ПАО СБЕРБАНК",
"payerInn": "7707083893",
"payerKpp": "222201001",
"payerName": "Общество с ограниченной ответственностью \"Клиент\"",
"payingCondition": "string",
"purposeCode": "1",
"receiptDate": "2018-12-31",
"valueDate": "2018-12-31"
},
"swiftTransfer": {
"bankOperationCode": "CRED",
"beneficiaryBankAccount": "LOYDGB21321",
"beneficiaryBankName": "BANCO DE SABADELL, S.A. 1, PLAZA CATALUNYA SABADELL ES",
"beneficiaryBankOption": "D",
"beneficiaryCustomerAccount": "/FI8850000120266333",
"beneficiaryCustomerName": "SUN-KING KNITTED BELT PRODUCT LTD. N.39,DONGMEN ROAD FUQING CITY,FUJIAN,CHINA",
"detailsOfCharges": "OUR",
"exchangeRate": "67,74",
"instructedAmount": "USD70,",
"instructionCode": "URGP",
"intermediaryBankAccount": "COBADEFF",
"intermediaryBankName": "BANCA POPOLARE DELL'ETRURIA E DEL LAZIO (SEDE DI MILANO) MILANO",
"intermediaryBankOption": "D",
"messageDestinator": "LAPBLV2X",
"messageIdentifier": "S000013082900014",
"messageOriginator": "SABRRU2P",
"messageReceiveTime": "15-05-27 14:01",
"messageSendTime": "15-05-27 13:21",
"messageType": "103",
"orderingCustomerAccount": "/08251801040004813",
"orderingCustomerName": "DONGNING JIXIN INDUSTRY AND TRADE(GROUP) CO.,LTD. NO.98 FANRONG STREET DONGNING COUNTY",
"orderingCustomerOption": "K",
"orderingInstitutionAccount": "ABOCBNBJ080",
"orderingInstitutionName": "AGRICULTURAL BANK OF CHINA, THE(HEILONGJIANG BRANCH) HARBIN",
"orderingInstitutionOption": "A",
"receiverCharges": "EUR13,19",
"receiverCorrespondentAccount": "CHASDEFX",
"receiverCorrespondentName": "THE BANK OF NEW YORK MELLON NEW YORK,NY",
"receiverCorrespondentOption": "D",
"regulatoryReporting": "/N10/NS/N4/12345678901234567890/N5/12345678901/N6/TP/N7/МS.05.2003/N8/123456789012345/N9/12.05.2003",
"remittanceInformation": "CONTRACT NO SE/00233 DATED 06.03.2012, INVOICE NO 4783",
"senderCharges": "USD7,03",
"senderCorrespondentAccount": "BOTKGB2L",
"senderCorrespondentName": "CITIBANK N.A. NEW YORK,NY",
"senderCorrespondentOption": "D",
"senderToReceiverInformation": "/NZP/OT 15.03.2009. NDS NE OBLAGAETSYA",
"transactionReferenceNumber": "S380609091426498",
"transactionRelatedReference": "S380609091426498",
"transactionTypeCode": "N1",
"urgent": "NORMAL",
"valueDateCurrencyInterbankSettledAmount": "130824EUR5447,34"
},
"transactionId": 11111,
"uuid": "55daccdf-de87-3879-976c-8b8415c8caf9"
}
]
}
202 (Accepted)
Cause | Message | Description |
---|---|---|
STATEMENT_RESPONSE_PROCESSING | Выписка в процессе формирования, пожалуйста, запросите ее позже |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 202 Accepted
Content-Type: application/json;charset=UTF-8
{
"cause": "STATEMENT_RESPONSE_PROCESSING",
"referenceId": "6ca369ff-f951-496d-b00e-49e40f92556b",
"message": "Выписка в процессе формирования, пожалуйста, запросите ее позже"
}
400 (Bad request)
Cause | Message | Description |
---|---|---|
DESERIALIZATION_FAULT | Неверный формат запроса | Данные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в responce в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request ресурса. Скорректируйте заполнение атрибутов и повторите запрос. |
WORKFLOW_FAULT | Дата выписки позже текущей. Нельзя запросить выписку за дату в будущем. | |
Счет не является действующим на запрошенную дату. | ||
Запрошенной страницы с операциями не существует. | Проверьте контейнер links с параметром (href) на следующую и предыдущую страницы и признаками: "rel": "prev", "rel": "next". Если следующей страницы нет, в полученном ответе перестанет приходить href c признаком "rel": "next". | |
VALIDATION_FAULT | Ошибка при разборе параметров запроса | Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request ресурса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
ResourceFault { | |||
referenceId | string | optional | Уникальный идентификатор ошибки (UUID), |
message | string | optional | Сообщение, |
checks | Array[Check] | optional | Список проверок, приведших к ошибке, |
fieldNames | Array[string] | optional | Названия полей с некорректным значением (только для VALIDATION_FAULT) |
} | |||
Check { | |||
level | string | optional | Уровень результата \= ['ERROR', 'WARNING'], |
message | string | optional | Сообщение, |
fields | Array[string] | optional | Названия полей (при наличии связи с моделью) |
} |
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
{
"cause": "WORKFLOW_FAULT",
"referenceId": "a5e7d822-70c6-4e79-9603-9941c113f297",
"message": "Параметр \"accountNumber\" не соответствует регулярному выражению: ^[0-9]{20}$",
"checks": [],
"fieldNames": null
}
401 (Unauthorized Error)
Cause | Message | Description |
---|---|---|
UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=UTF-8
{
"cause": "UNAUTHORIZED",
"referenceId": "014ec3a1-3e41-4805-9e22-d07947b012af",
"message": "accessToken not found by value = 3513f959dbbd57490aa9f9ff67fb7380fae5m3"
}
403 (Forbidden)
Cause | Message | Description |
---|---|---|
ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция GET_STATEMENT_ACCOUNT . Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |
ACCESS_EXCEPTION | Для внешнего сервиса недоступны операции по счету: {номер счета} | В процессе авторизации через СберБизнес ID пользователь должен подписать Согласие и указать счета, к которым Платформа получит доступ. Однако для данного счета доступ не был предоставлен при подписании Согласия. Чтобы решить эту проблему, пользователю необходимо войти в СберБизнес, отменить текущее Согласие, затем заново авторизоваться в Платформе, используя СберБизнес ID. Затем СберБизнес ID предложит пользователю снова подписать Согласие. Перед подписанием ему нужно будет отметить нужный счет как доступный для Платформы. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 403 Forbidden
Content-Type: application/json;charset=UTF-8
{
"cause": "ACCESS_EXCEPTION",
"referenceId": "5650c1e4-5039-4038-8cad-afab64003f61",
"message": "Для внешнего сервиса недоступны операции по счету: 40702810006000001792"
}
404 (Not Found)
Cause | Message | Description |
---|---|---|
DATA_NOT_FOUND_EXCEPTION | Выписка за указанную дату недоступна, пожалуйста, обратитесь в техническую поддержку | Необходимо собрать полный лог запроса и сформировать обращение в техническую поддержку Банка (supportdbo2@sberbank.ru) |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
{
"cause": "DATA_NOT_FOUND_EXCEPTION",
"referenceId": "cc78b3aa-c057-4533-b9db-898bbaad9061",
"message": "Выписка за указанную дату недоступна, пожалуйста, обратитесь в техническую поддержку"
}
429 (Too Many Requests)
Cause | Message | Description |
---|---|---|
TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор ошибки (UUID), |
message | string | optional | Сообщение, |
} |
HTTP/1.1 429 Too Many Requests
Content-Type: application/json;charset=UTF-8
{
"cause": " TOO_MANY_REQUESTS ",
"referenceId": "5650c1e4-5039-4038-8cad-afab64003f61",
"message": " Превышен лимит запросов. Повторите операцию позже"
}
500 (Internal Server Error)
Cause | Message | Description |
---|---|---|
UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
{
"cause": "UNKNOWN_EXCEPTION",
"referenceId": "9e209109-4b0d-408c-a2fd-e1983c20a65d",
"message": "Внутренняя ошибка сервера"
}
503 (Service Temporarily Unavailable)
Cause | Message | Description |
---|---|---|
UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 503 Service Temporarily Unavailable
Content-Type: application/json;charset=UTF-8
{
"cause": "UNAVAILABLE_RESOURCE_EXCEPTION",
"referenceId": "9e209109-4b0d-408c-a2fd-e1983c20a67d",
"message": "Внутренняя ошибка сервера"
}
Получить информацию из выписки по одной операции
/fintech/api/v2/statement/transactionId
Ресурс позволяет получить реквизиты операции из выписки.
Для получения реквизитов операции необходимо отправить GET-запрос /fintech/api/v2/statement/transactionId
с токеном доступа (access_token) пользователя в параметре Authorization заголовка, номером счета (accountNumber), датой выписки (statementDate) и идентификатором операции (operationId) в query-параметрах запроса.
В параметре scope ссылки авторизации пользователя должен быть указана операция GET_STATEMENT_ACCOUNT
для получения доступа к этому ресурсу.
Для обращения к ресурсу необходимо отправлять запрос на:
- Тестовый контур
https://iftfintech.testsbi.sberbank.ru:9443
- Промышленный контур
https://fintech.sberbank.ru:9443
Request
/fintech/api/v2/statement/transactionId
- Модель
- Пример
Наименование | Тип | Формат | Regexp | Обязательность | Описание |
---|---|---|---|---|---|
HEADER | |||||
Authorization | string | string | ^[a-zA-Z0-9]{38}$ | required | Access token пользователя, полученный через SSO. |
Accept | string | string | ^(application/json|application/jose) | optional | Указывает на формат данных, который вы готовы принять от Банка. Если ответ не требуется в зашифрованном виде, то может быть не указан или передан со значением application/json. Если необходимо получить ответ на запрос токена в зашифрованном виде, то необходимо передать параметр со значением application/jose. |
QUERY-PARAMETERS | |||||
id | string | string | required | Идентификатор операции (operationId), который можно получить в ответе ресурса /fintech/api/v2/statement/transactions | |
accountNumber | string | string | ^[0-9]{20}$ | required | Номер счета. |
operationDate | DateTime | ISO 8601 YYYY-MM-DD | ^([0-9]{4}-[0-9]{2}-[0-9]{2})$ | required | Дата запрашиваемой выписки. |
GET /fintech/api/v2/statement/transactionId?id=25767887288472&accountNumber=40802810706000000087&operationDate=2023-11-14 HTTP/1.1
Accept: application/json
Authorization: Bearer b5e09fd4a0f9456bafb748c6dbdf03dd2db4h20
Responses
200 (ОК)
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
StatementTransactionV2 { | |||
amount | Amount | optional | Сумма в валюте счета, |
amountRub | Amount | optional | Сумма в рублях, |
correspondingAccount | string | optional | Корреспондирующий счет, |
curTransfer | CurTransfer | optional | Данные валютной операции. Объект заполняется, если: - Данная операция валютная, - В запросе параметр curFormat заполнен значением curTransfer, |
direction | string | optional | Направление транзакции DEBIT/CREDIT, |
documentDate | string | optional | Дата документа, |
filial | string | optional | Наименование филиала, |
number | string | optional | Номер операции, |
operationCode | string | optional | Тип операции, |
operationDate | string | optional | Дата и время операции, |
operationId | string | optional | Идентификатор операции, |
paymentPurpose | string | optional | Назначение платежа, |
priority | string | optional | Очередность платежа, |
revaln | string | optional | Признак операции переоценки (ПК - пересчет курса, ДП - дооценка руб. покрытия), |
rurTransfer | RURTransfer | optional | Данные рублевой операции. Объект заполняется, если: - Данная операция рублевая, |
swiftTransfer | SWIFTTransfer | optional | Данные перевода SWIFT MT103. Объект заполняется, если: - Данная операция валютная, - В запросе параметр curFormat не заполнен или заполнен значением swiftTransfer, |
transactionId | integer | optional | Идентификатор операции, |
uuid | string | optional | Уникальный идентификатор операции |
} | |||
Amount { | |||
amount | number | optional | Сумма, |
currencyName | string | optional | Буквенный ISO-код валюты |
} | |||
CurTransfer { | |||
bankOperationCode | string | optional | Код банковской операции (формат MT103), |
beneficiaryBankAccount | string | optional | Номер счета банка бенефициара. 1-я часть значения поля 57 в формате MT103, |
beneficiaryBankName | string | optional | Код BIC, расположение или название и адрес банка бенефициара. Содержимое поля 57 (за исключением номера счета, с разделителями) в формате MT103, |
beneficiaryBankOption | string | optional | Признак вида поля банка бенефициара (поле 57 в формате MT103). Возможные значения: A, B, С, D, |
beneficiaryCustomerAccount | string | optional | Номер счета бенефициара. 1-я часть значения поля 59 в формате MT103, |
beneficiaryCustomerName | string | optional | Код BIC/BEI или название и адрес бенефициара. Содержимое поля 59 (за исключением номера счета, с разделителями) в формате MT103, |
detailsOfCharges | string | optional | Сведения о расходах (формат MT103), |
exchangeRate | string | optional | Курс конвертации (формат MT103), |
instructedAmount | string | optional | Валюта/сумма по инструкции (формат MT103), |
instructionCode | string | optional | Код инструкции (формат MT103), |
intermediaryBankAccount | string | optional | Номер счета банка-посредника. 1-я часть значения поля 56 в формате MT103, |
intermediaryBankName | string | optional | Код BIC или название банка-посредника. Содержимое поля 56 (за исключением номера счета, с разделителями) в формате MT103, |
intermediaryBankOption | string | optional | Признак вида поля банка-посредника (поле 56 в формате MT103). Возможные значения: A, С, D, |
messageDestinator | string | optional | Получатель сообщения SWIFT (формат MT103) |
messageIdentifier | string | optional | Уникальный системный номер сообщения SWIFT (формат MT103), |
messageOriginator | string | optional | Отправитель сообщения SWIFT (формат MT103), |
messageReceiveTime | string | optional | Дата и время получения сообщения SWIFT (формат MT103), |
messageSendTime | string | optional | Дата и время отправки сообщения SWIFT (формат MT103), |
messageType | string | optional | Тип сообщения SWIFT, |
orderingCustomerAccount | string | optional | Номер счета плательщика в формате IBAN или BBAN (для внутренних платежей). 1-я часть значения поля 50 в формате MT103, |
orderingCustomerName | string | optional | Код BIC/BEI или название и адрес плательщика. Содержимое поля 50 (за исключением номера счета, с разделителями) в формате MT103, |
orderingCustomerOption | string | optional | Признак вида поля плательщика (поле 50 в формате MT103). Возможные значения: A, F, K, |
orderingInstitutionAccount | string | optional | Номер счета банка плательщика. 1-я часть значения поля 52 в формате MT103, |
orderingInstitutionName | string | optional | Код BIC или название и адрес банка плательщика. Содержимое поля 52 (за исключением номера счета, с разделителями) в формате MT103, |
orderingInstitutionOption | string | optional | Признак вида поля банка плательщика (поле 52 в формате MT-103). Возможные значения: A, D, |
payeeAccount | string | optional | Номер счета получателя, |
payeeBankBic | string | optional | БИК банка получателя, |
payeeBankCorrAccount | string | optional | Корсчет банка получателя, |
payeeBankName | string | optional | Наименование банка получателя, |
payeeInn | string | optional | ИНН получателя, |
payeeKpp | string | optional | КПП получателя, |
payeeName | string | optional | Наименование получателя, |
payerAccount | string | optional | Номер счета плательщика, |
payerBankBic | string | optional | БИК банка плательщика, |
payerBankCorrAccount | string | optional | Корсчет банка плательщика, |
payerBankName | string | optional | Наименование банка плательщика, |
payerInn | string | optional | ИНН плательщика, |
payerKpp | string | optional | КПП плательщика, |
payerName | string | optional | Наименование плательщика, |
receiverCharges | string | optional | Расходы получателя (формат MT103), |
receiverCorrespondentAccount | string | optional | Номер счета корреспондента получателя. 1-я часть значения поля 54 в формате MT103, |
receiverCorrespondentName | string | optional | Код BIC, расположение или название и адрес корреспондента получателя. Содержимое поля 54 (за исключением номера счета, с разделителями) в формате MT103, |
receiverCorrespondentOption | string | optional | Признак вида поля корреспондента получателя (поле 54 в формате MT103). Возможные значения: A, B, D, |
regulatoryReporting | string | optional | Контрольная отчетность (формат MT103), |
remittanceInformation | string | optional | Сведения о переводе (формат MT103), |
senderCharges | string | optional | Расходы отправителя (формат MT103), |
senderCorrespondentAccount | string | optional | Номер счета корреспондента отправителя. 1-я часть значения поля 53 в формате MT103, |
senderCorrespondentName | string | optional | Код BIC, расположение или название и адрес корреспондента отправителя. Содержимое поля 53 (за исключением номера счета, с разделителями) в формате MT103, |
senderCorrespondentOption | string | optional | Признак вида поля корреспондента отправителя (поле 53 в формате MT103). Возможные значения: A, B, D, |
senderToReceiverInformation | string | optional | Информация отправителя получателю (формат MT103), |
transactionReferenceNumber | string | optional | Референс операции (формат MT103), |
transactionRelatedReference | string | optional | Связанный референс (формат MT103), |
transactionTypeCode | string | optional | Код типа операции (формат MT103), |
urgent | string | optional | Признак срочности операции (формат MT103). Возможные значения: URGENT, NORMAL, |
valueDateCurrencyInterbankSettledAmount | string | optional | Дата валютирования, код валюты, сумма межбанковского расчета (формат MT103) |
} | |||
RURTransfer { | |||
cartInfo | CartInfo | optional | Дополнительная информация о документе (картотека), |
deliveryKind | string | optional | Способ отправки документа, |
departmentalInfo | DepartmentalInfo | optional | Реквизиты налогового, таможенного или иного бюджетного платежа, |
payeeAccount | string | optional | Номер счета получателя, |
payeeBankBic | string | optional | БИК банка получателя, |
payeeBankCorrAccount | string | optional | Корсчет банка получателя, |
payeeBankName | string | optional | Наименование банка получателя, |
payeeInn | string | optional | ИНН получателя, |
payeeKpp | string | optional | КПП получателя, |
payeeName | string | optional | Наименование получателя, |
payerAccount | string | optional | Номер счета плательщика, |
payerBankBic | string | optional | БИК банка плательщика, |
payerBankCorrAccount | string | optional | Корсчет банка плательщика, |
payerBankName | string | optional | Наименование банка плательщика, |
payerInn | string | optional | ИНН плательщика, |
payerKpp | string | optional | КПП плательщика, |
payerName | string | optional | Наименование плательщика, |
payingCondition | string | optional | Условие оплаты (для 02), |
purposeCode | string | optional | Кодовое назначение платежа Коды:<br/ >1 - Заработная плата и иные доходы, в отношении которых ст. 99 229-ФЗ установлены ограничения размеров удержания. 2 - Периодические доходы, на которые в соответствии с ч. 1 ст. 101 229-ФЗ не может быть обращено взыскание, за исключением доходов, указанных в ч. 2 ст. 101 229-ФЗ. 3 - Периодические доходы, к которым согласно ч. 2 ст. 101 229-ФЗ ограничения по взысканию не применяются. 4 - Единовременный доход, на который в соответствии с ч. 1 ст. 101 229-ФЗ не может быть обращено взыскание, за исключением доходов, указанных в ч. 2 ст. 101 229-ФЗ. 5 - Единовременный доход, к которому согласно ч. 2 ст. 101 229-ФЗ ограничения по взысканию не применяются. null - Код дохода указывать не нужно, если денежные средства не относятся к доходам с установленными ограничениями согласно ст. 99 и запретом согласно ст. 101 229-ФЗ. |
receiptDate | string | optional | Дата поступления в банк плательщика, |
valueDate | string | optional | Дата валютирования |
} | |||
**SWIFTTransfer {** | |||
bankOperationCode | string | optional | Код банковской операции (формат MT103), |
beneficiaryBankAccount | string | optional | Номер счета банка бенефициара. 1-я часть значения поля 57 в формате MT103, |
beneficiaryBankName | string | optional | Код BIC, расположение или название и адрес банка бенефициара. Содержимое поля 57 (за исключением номера счета, с разделителями) в формате MT103, |
beneficiaryBankOption | string | optional | Признак вида поля банка бенефициара (поле 57 в формате MT103). Возможные значения: A, B, С, D, |
beneficiaryCustomerAccount | string | optional | Номер счета бенефициара. 1-я часть значения поля 59 в формате MT103, |
beneficiaryCustomerName | string | optional | Код BIC/BEI или название и адрес бенефициара. Содержимое поля 59 (за исключением номера счета, с разделителями) в формате MT103, |
detailsOfCharges | string | optional | Сведения о расходах (формат MT103), |
exchangeRate | string | optional | Курс конвертации (формат MT103), |
instructedAmount | string | optional | Валюта/сумма по инструкции (формат MT103), |
instructionCode | string | optional | Код инструкции (формат MT103), |
intermediaryBankAccount | string | optional | Номер счета банка-посредника. 1-я часть значения поля 56 в формате MT103, |
intermediaryBankName | string | optional | Код BIC или название банка-посредника. Содержимое поля 56 (за исключением номера счета, с разделителями) в формате MT103, |
intermediaryBankOption | string | optional | Признак вида поля банка-посредника (поле 56 в формате MT103). Возможные значения: A, С, D, |
messageDestinator | string | optional | Получатель сообщения SWIFT (формат MT103) |
messageIdentifier | string | optional | Уникальный системный номер сообщения SWIFT (формат MT103), |
messageOriginator | string | optional | Отправитель сообщения SWIFT (формат MT103), |
messageReceiveTime | string | optional | Дата и время получения сообщения SWIFT (формат MT103), |
messageSendTime | string | optional | Дата и время отправки сообщения SWIFT (формат MT103), |
messageType | string | optional | Тип сообщения SWIFT, |
orderingCustomerAccount | string | optional | Номер счета плательщика в формате IBAN или BBAN (для внутренних платежей). 1-я часть значения поля 50 в формате MT103, |
orderingCustomerName | string | optional | Код BIC/BEI или название и адрес плательщика. Содержимое поля 50 (за исключением номера счета, с разделителями) в формате MT103, |
orderingCustomerOption | string | optional | Признак вида поля плательщика (поле 50 в формате MT103). Возможные значения: A, F, K, |
orderingInstitutionAccount | string | optional | Номер счета банка плательщика. 1-я часть значения поля 52 в формате MT103, |
orderingInstitutionName | string | optional | Код BIC или название и адрес банка плательщика. Содержимое поля 52 (за исключением номера счета, с разделителями) в формате MT103, |
orderingInstitutionOption | string | optional | Признак вида поля банка плательщика (поле 52 в формате MT-103). Возможные значения: A, D, |
receiverCharges | string | optional | Расходы получателя (формат MT103), |
receiverCorrespondentAccount | string | optional | Номер счета корреспондента получателя. 1-я часть значения поля 54 в формате MT103, |
receiverCorrespondentName | string | optional | Код BIC, расположение или название и адрес корреспондента получателя. Содержимое поля 54 (за исключением номера счета, с разделителями) в формате MT103, |
receiverCorrespondentOption | string | optional | Признак вида поля корреспондента получателя (поле 54 в формате MT103). Возможные значения: A, B, D, |
regulatoryReporting | string | optional | Контрольная отчетность (формат MT103), |
remittanceInformation | string | optional | Сведения о переводе (формат MT103), |
senderCharges | string | optional | Расходы отправителя (формат MT103), |
senderCorrespondentAccount | string | optional | Номер счета корреспондента отправителя. 1-я часть значения поля 53 в формате MT103, |
senderCorrespondentName | string | optional | Код BIC, расположение или название и адрес корреспондента отправителя. Содержимое поля 53 (за исключением номера счета, с разделителями) в формате MT103, |
senderCorrespondentOption | string | optional | Признак вида поля корреспондента отправителя (поле 53 в формате MT103). Возможные значения: A, B, D, |
senderToReceiverInformation | string | optional | Информация отправителя получателю (формат MT103), |
transactionReferenceNumber | string | optional | Референс операции (формат MT103), |
transactionRelatedReference | string | optional | Связанный референс (формат MT103), |
transactionTypeCode | string | optional | Код типа операции (формат MT103), |
urgent | string | optional | Признак срочности операции (формат MT103). Возможные значения: URGENT, NORMAL, |
valueDateCurrencyInterbankSettledAmount | string | optional | Дата валютирования, код валюты, сумма межбанковского расчета (формат MT103) |
} | |||
CartInfo { | |||
documentCode | string | optional | Шифр документа (картотека) (для 16), |
documentContent | string | optional | Содержание операции (для 16), |
documentDate | string | optional | Дата документа (картотека) (для 16), |
documentNumber | string | optional | Номер документа (картотека) (для 16), |
paymentNumber | string | optional | Номер платежа (картотека) (для 16), |
restAmount | number | optional | Сумма остатка платежа (картотека) (для 16) |
} | |||
DepartmentalInfo { | |||
uip | string | required | Уникальный идентификатор платежа, |
drawerStatus101 | string | required | Показатель статуса налогоплательщика (реквизит - 101), |
kbk | string | required | Код бюджетной классификации (реквизит - 104), |
oktmo | string | required | Код OKTMO (реквизит - 105), |
reasonCode106 | string | required | Показатель основания платежа (реквизит - 106), |
taxPeriod107 | string | required | Налоговый период / код таможенного органа (реквизит - 107), |
docNumber108 | string | required | Номер налогового документа (реквизит - 108), |
docDate109 | string | required | Дата налогового документа (реквизит - 109), |
paymentKind110 | string | optional | Тип налогового платежа (реквизит - 110) |
} |
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"transactionId": 1900688,
"uuid": "ad107e12-9061-34df-bce8-6045714a4dba",
"operationDate": "2023-11-14T12:25:06",
"number": "1",
"operationCode": "01",
"amount": {
"amount": "100.00",
"currencyName": "RUB"
},
"amountRub": {
"amount": "100.00",
"currencyName": "RUB"
},
"paymentPurpose": "Оплата заказа №123. НДС 20%",
"priority": "5",
"direction": "DEBIT",
"documentDate": "2023-11-14",
"filial": null,
"revaln": null,
"correspondingAccount": "40702810006000001792",
"swiftTransfer": null,
"curTransfer": null,
"rurTransfer": {
"payerAccount": "40802810706000000087",
"payerName": "ИП_Автотест_Клиент_ЕКС_20231027092336",
"payerInn": "213504669246",
"payerKpp": "346801713",
"payerBankName": "БАШКИРСКОЕ ОТДЕЛЕНИЕ N8598 ПАО СБЕРБАНК, г. Уфа",
"payerBankBic": "048073601",
"payerBankCorrAccount": "30101810300000000601",
"payeeAccount": "40702810006000001792",
"payeeName": "ТЕСТ9036",
"payeeInn": "7379190522",
"payeeKpp": "683801910",
"payeeBankName": "БАШКИРСКОЕ ОТДЕЛЕНИЕ N8598 ПАО СБЕРБАНК, г. Уфа",
"payeeBankBic": "048073601",
"payeeBankCorrAccount": "30101810300000000601",
"receiptDate": "2023-11-14",
"valueDate": "2023-11-14",
"deliveryKind": "электронно",
"payingCondition": null,
"departmentalInfo": null,
"cartInfo": null,
"purposeCode": null
},
"operationId": "25767887288472"
}
400 (Bad request)
Cause | Message | Description |
---|---|---|
DESERIALIZATION_FAULT | Неверный формат запроса | Данные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в responce в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request ресурса. Скорректируйте заполнение атрибутов и повторите запрос. |
WORKFLOW_FAULT | Дата выписки позже текущей. Нельзя запросить выписку за дату в будущем. | |
Счет не является действующим на запрошенную дату. | ||
Запрошенной страницы с операциями не существует. | Проверьте контейнер links с параметром (href) на следующую и предыдущую страницы и признаками: "rel": "prev", "rel": "next". Если следующей страницы нет, в полученном ответе перестанет приходить href c признаком "rel": "next". | |
VALIDATION_FAULT | Ошибка при разборе параметров запроса | Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request ресурса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
ResourceFault { | |||
referenceId | string | optional | Уникальный идентификатор ошибки (UUID), |
message | string | optional | Сообщение, |
checks | Array[Check] | optional | Список проверок, приведших к ошибке, |
fieldNames | Array[string] | optional | Названия полей с некорректным значением (только для VALIDATION_FAULT) |
} | |||
Check { | |||
level | string | optional | Уровень результата \= ['ERROR', 'WARNING'], |
message | string | optional | Сообщение, |
fields | Array[string] | optional | Названия полей (при наличии связи с моделью) |
} |
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
{
"cause": "VALIDATION_FAULT",
"referenceId": "182edbd7-52df-40e3-88b3-77803c14c7b7",
"message": "Ошибка при разборе параметров запроса",
"checks": [
{
"level": "ERROR",
"message": "Unparseable date: \"2023\"",
"fields": [
"operationDate"
]
}
],
"fieldNames": [
"operationDate"
]
}
401 (Unauthorized Error)
Cause | Message | Description |
---|---|---|
UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=UTF-8
{
"cause": "UNAUTHORIZED",
"referenceId": "014ec3a1-3e41-4805-9e22-d07947b012af",
"message": "accessToken not found by value = 3513f959dbbd57490aa9f9ff67fb7380fae5m3"
}
403 (Forbidden)
Cause | Message | Description |
---|---|---|
ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция GET_STATEMENT_ACCOUNT . Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 403 Forbidden
Content-Type: application/json;charset=UTF-8
{
"cause": "ACTION_ACCESS_EXCEPTION",
"referenceId": "7535c2bb-7706-4b16-9882-d68aedbf2fef",
"message": "Операция не может быть выполнена: доступ к ресурсу запрещен"
}
404 (Not Found)
Cause | Message | Description |
---|---|---|
DATA_NOT_FOUND_EXCEPTION | Операция по выписке по переданному идентификатору: {operationId из запроса} не найдена. Выполните запрос GET /statement/transactions/ для получения актуальных идентификаторов. | Выполните запрос /fintech/api/v2/statement/transactionId для получения актуальных идентификаторов. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
{
"cause": "DATA_NOT_FOUND_EXCEPTION",
"referenceId": "b4f6417c-7172-4eb5-90b4-5493e886477e",
"message": "Операция по выписке по переданному идентификатору: 1900688 не найдена. Выполните запрос GET /statement/transactions/ для получения актуальных идентификаторов."
}
429 (Too Many Requests)
Cause | Message | Description |
---|---|---|
TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор ошибки (UUID), |
message | string | optional | Сообщение, |
} |
HTTP/1.1 429 Too Many Requests
Content-Type: application/json;charset=UTF-8
{
"cause": " TOO_MANY_REQUESTS ",
"referenceId": "5650c1e4-5039-4038-8cad-afab64003f61",
"message": " Превышен лимит запросов. Повторите операцию позже"
}
500 (Internal Server Error)
Cause | Message | Description |
---|---|---|
UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
{
"cause": "UNKNOWN_EXCEPTION",
"referenceId": "9e209109-4b0d-408c-a2fd-e1983c20a65d",
"message": "Внутренняя ошибка сервера"
}
503 (Service Temporarily Unavailable)
Cause | Message | Description |
---|---|---|
UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 503 Service Temporarily Unavailable
Content-Type: application/json;charset=UTF-8
{
"cause": "UNAVAILABLE_RESOURCE_EXCEPTION",
"referenceId": "9e209109-4b0d-408c-a2fd-e1983c20a67d",
"message": "Внутренняя ошибка сервера"
}
Получить операцию из выписки в печатном формате файла
/fintech/api/v2/statement/transactionId/print
Ресурс позволяет получить печатную форму выписки по одной операции в разных форматах. Полученный ответ необходимо декодировать с помощью алгоритма Base64 Encoding.
Для получения печатной формы операции необходимо отправить GET-запрос /fintech/api/v2/statement/transactionId/print
с токеном доступа (access_token) пользователя в параметре Authorization заголовка, номером счета (accountNumber), датой выписки (statementDate), идентификатором операции (operationId) и форматом запрашиваемой печатной формы (format) в query-параметрах запроса.
В параметре scope ссылки авторизации пользователя должен быть указана операция GET_STATEMENT_TRANSACTION
для получения доступа к этому ресурсу.
Для обращения к ресурсу необходимо отправлять запрос на:
- Тестовый контур
https://iftfintech.testsbi.sberbank.ru:9443
- Промышленный контур
https://fintech.sberbank.ru:9443
Request
/fintech/api/v2/statement/transactionId/print
- Модель
- Пример
Наименование | Тип | Формат | Regexp | Обязательность | Описание |
---|---|---|---|---|---|
HEADER | |||||
Authorization | string | string | ^[a-zA-Z0-9]{38}$ | required | Access token пользователя, полученный через SSO. |
Accept | string | string | ^(application/json|application/jose) | optional | Указывает на формат данных, который вы готовы принять от Банка. Если ответ не требуется в зашифрованном виде, то может быть не указан или передан со значением application/json. Если необходимо получить ответ на запрос токена в зашифрованном виде, то необходимо передать параметр со значением application/jose. |
QUERY-PARAMETERS | |||||
id | string | string | required | Идентификатор операции (operationId), который можно получить в ответе ресурса /fintech/api/v2/statement/transactions | |
accountNumber | string | string | ^[0-9]{20}$ | required | Номер счета. |
operationDate | DateTime | ISO 8601 YYYY-MM-DD | ^([0-9]{4}-[0-9]{2}-[0-9]{2})$ | required | Дата запрашиваемой платежки. |
format | string | string | ^(PDF|EXCEL|DOCX|RTF)$ | required | Форматы запрашиваемой платежки. |
GET /fintech/api/v2/statement/transactionId/print?format=PDF&id=25767887288472&accountNumber=40802810706000000087&operationDate=2023-11-14 HTTP/1.1
Accept: application/json
Authorization: Bearer b5e09fd445a0f9456b4vzafb748c6dbdf03ddb
Responses
200 (ОК)
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
FintechStatementPrint { | |||
file | string | optional | Base64 представление печатной формы операции |
} |
Ответ из примера вы можете декодировать и полученный результат сохранить в файл с расширением PDF.
Должно получиться так: Пример выписки по операции.pdf
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"file": "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IAowMDAwMDAyNDcwIDAwMDAwIG4gCjAwMDAwMzMwMDcgMDAwMDAgbiAKMDAwMDA0NzEwMyAwMDAwMCBuIAowMDAwMDAwMDE1IDAwMDAwIG4gCjAwMDAwNDcyNDcgMDAwMDAgbiAKMDAwMDAwMjcyMCAwMDAwMCBuIAowMDAwMDAyNzU1IDAwMDAwIG4gCjAwMDAwMzE2MjAgMDAwMDAgbiAKMDAwMDAzMTgxMCAwMDAwMCBuIAowMDAwMDMyMzMwIDAwMDAwIG4gCjAwMDAwMzMxNDUgMDAwMDAgbiAKMDAwMDA0NjIxMiAwMDAwMCBuIAowMDAwMDQ2NDEzIDAwMDAwIG4gCjAwMDAwNDY3MjQgMDAwMDAgbiAKMDAwMDA0NzMxMCAwMDAwMCBuIAowMDAwMDQ3MzY1IDAwMDAwIG4gCjAwMDAwNDczOTkgMDAwMDAgbiAKMDAwMDA0NzUwNCAwMDAwMCBuIAp0cmFpbGVyCjw8L0luZm8gMTggMCBSL0lEIFs8ZWI1ZTQ1MDRiMzhkM2IzYjMyZWUwMjZlZTcwY2ZlNzI+PGY4MjEzNDczODg4ZDVmMzFkYWM5NTBiOGE2MTY1NDMxPl0vUm9vdCAxNyAwIFIvU2l6ZSAxOT4+CnN0YXJ0eHJlZgo0NzY3MgolJUVPRgo="
}
400 (Bad request)
Cause | Message | Description |
---|---|---|
DESERIALIZATION_FAULT | Неверный формат запроса. | Данные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в responce в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request ресурса. Скорректируйте заполнение атрибутов и повторите запрос. |
WORKFLOW_FAULT | Параметр \"accountNumber\" не соответствует регулярному выражению: ^[0-9]{20}$ | Проверьте корректность заполнения атрибута accountNumber. При необходимости дополнительной проверки получите информацию о доступных счета для работы в Sber API с помощью ресурса /fintech/api/v2/oauth/user-info |
Дата выписки позже текущей. Нельзя запросить выписку за дату в будущем. | ||
Счет не является действующим на запрошенную дату. | ||
Запрошенной страницы с операциями не существует. | Проверьте контейнер links с параметром (href) на следующую и предыдущую страницы и признаками: "rel": "prev", "rel": "next". Если следующей страницы нет, в полученном ответе перестанет приходить href c признаком "rel": "next". | |
Неверный тип [значение из атрибута format]! | Допустимые значения для атрибута format: PDF, RTF, EXCEL, DOCX | |
VALIDATION_FAULT | Ошибка валидации | Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request метода, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
ResourceFault { | |||
referenceId | string | optional | Уникальный идентификатор ошибки (UUID), |
message | string | optional | Сообщение, |
checks | Array[Check] | optional | Список проверок, приведших к ошибке, |
fieldNames | Array[string] | optional | Названия полей с некорректным значением (только для VALIDATION_FAULT) |
} | |||
Check { | |||
level | string | optional | Уровень результата \= ['ERROR', 'WARNING'], |
message | string | optional | Сообщение, |
fields | Array[string] | optional | Названия полей (при наличии связи с моделью) |
} |
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
{
"cause": "VALIDATION_FAULT",
"referenceId": "111a27f1-dea3-417d-8b19-ca2d681a0ebb",
"message": "Ошибка при разборе параметров запроса",
"checks": [
{
"level": "ERROR",
"message": "Unparseable date: \"2023-11-\"",
"fields": [
"operationDate"
]
}
],
"fieldNames": [
"operationDate"
]
}
401 (Unauthorized Error)
Cause | Message | Description |
---|---|---|
UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=UTF-8
{
"cause": "UNAUTHORIZED",
"referenceId": "014ec3a1-3e41-4805-9e22-d07947b012af",
"message": "accessToken not found by value = 3513f959dbbd57490aa9f9ff67fb7380fae5m3"
}
403 (Forbidden)
Cause | Message | Description |
---|---|---|
ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция GET_STATEMENT_ACCOUNT . Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 403 Forbidden
Content-Type: application/json;charset=UTF-8
{
"cause": "ACTION_ACCESS_EXCEPTION",
"referenceId": "7535c2bb-7706-4b16-9882-d68aedbf2fef",
"message": "Операция не может быть выполнена: доступ к ресурсу запрещен"
}
404 (Not Found)
Cause | Message | Description |
---|---|---|
DATA_NOT_FOUND_EXCEPTION | Операция по выписке по переданному идентификатору: {operationId из запроса} не найдена. Выполните запрос GET /statement/transactions/ для получения актуальных идентификаторов. | Выполните запрос /fintech/api/v2/statement/transactionId для получения актуальных идентификаторов. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
{
"cause": "DATA_NOT_FOUND_EXCEPTION",
"referenceId": "b4f6417c-7172-4eb5-90b4-5493e886477e",
"message": "Операция по выписке по переданному идентификатору: 1900688 не найдена. Выполните запрос GET /statement/transactions/ для получения актуальных идентификаторов."
}
429 (Too Many Requests)
Cause | Message | Description |
---|---|---|
TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор ошибки (UUID), |
message | string | optional | Сообщение, |
} |
HTTP/1.1 429 Too Many Requests
Content-Type: application/json;charset=UTF-8
{
"cause": " TOO_MANY_REQUESTS ",
"referenceId": "5650c1e4-5039-4038-8cad-afab64003f61",
"message": " Превышен лимит запросов. Повторите операцию позже"
}
500 (Internal Server Error)
Cause | Message | Description |
---|---|---|
UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
{
"cause": "UNKNOWN_EXCEPTION",
"referenceId": "9e209109-4b0d-408c-a2fd-e1983c20a65d",
"message": "Внутренняя ошибка сервера"
}
503 (Service Temporarily Unavailable)
Cause | Message | Description |
---|---|---|
UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 503 Service Temporarily Unavailable
Content-Type: application/json;charset=UTF-8
{
"cause": "UNAVAILABLE_RESOURCE_EXCEPTION",
"referenceId": "9e209109-4b0d-408c-a2fd-e1983c20a67d",
"message": "Внутренняя ошибка сервера"
}
Получить информацию по оборотам счета
/fintech/api/v2/statement/summary
Ресурс позволяет получить информацию о входящих/исходящих остатках и суммарных оборотах за один день по счету. Дата запрашиваемой информации об остатках не может быть ранее 01.01.2017.
Для получения информации о входящих/исходящих остатках и суммарных оборотах необходимо отправить GET-запрос /fintech/api/v2/statement/summary
с токеном доступа (access_token) пользователя в параметре Authorization заголовка, номером счета (accountNumber) и датой выписки (statementDate) в query-параметрах запроса.
В параметре scope ссылки авторизации пользователя должен быть указана операция GET_STATEMENT_ACCOUNT
для получения доступа к этому ресурсу.
Для обращения к ресурсу необходимо отправлять запрос на:
- Тестовый контур
https://iftfintech.testsbi.sberbank.ru:9443
- Промышленный контур
https://fintech.sberbank.ru:9443
Request
/fintech/api/v2/statement/summary
- Модель
- Пример
Наименование | Тип | Формат | Regexp | Обязательность | Описание |
---|---|---|---|---|---|
HEADER | |||||
Authorization | string | string | ^[a-zA-Z0-9]{38}$ | required | Access token пользователя, полученный через SSO. |
Accept | string | string | ^(application/json|application/jose) | optional | Указывает на формат данных, который вы готовы принять от Банка. Если ответ не требуется в зашифрованном виде, то может быть не указан или передан со значением application/json. Если необходимо получить ответ на запрос токена в зашифрованном виде, то необходимо передать параметр со значением application/jose. |
QUERY-PARAMETERS | |||||
accountNumber | string | string | ^[0-9]{20}$ | required | Номер счета. |
statementDate | DateTime | ISO 8601 YYYY-MM-DD | ^([0-9]{4}-[0-9]{2}-[0-9]{2})$ | required | Дата запрашиваемой выписки. |
GET /fintech/api/v2/statement/summary?accountNumber=40802810706000000087&statementDate=2023-11-14 HTTP/1.1
Accept: application/json
Authorization: Bearer 61019d6723ea4537b18a9e87fe458a1c2234f
Responses
200 (ОК)
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
StatementSummary { | |||
closingBalance | Amount | optional | Исходящий остаток в валюте счета |
closingBalanceRub | Amount | optional | Исходящий остаток в рублях |
composedDateTime | string | optional | Дата и время составления сводки |
creditTransactionsNumber | integer | optional | Количество кредитовых операций по счету |
creditTurnover | Amount | optional | Кредитовый оборот в валюте счета |
creditTurnoverRub | Amount | optional | Кредитовый оборот в рублях |
debitTransactionsNumber | integer | optional | Количество дебетовых операций по счету |
debitTurnover | Amount | optional | Дебетовый оборот в валюте счета |
debitTurnoverRub | Amount | optional | Дебетовый оборот в рублях |
lastMovementDate | string | optional | Дата последней операции по счету за запрошенный период |
openingBalance | Amount | optional | Входящий остаток в валюте счета |
openingBalanceRub | Amount | optional | Входящий остаток в рублях |
openingRate | Number | optional | Курс ЦБ за единицу валюты на начало периода |
} | |||
Amount { | |||
amount | Number | optional | Сумма |
currencyName | string | optional | Буквенный ISO-код валюты |
} |
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"composedDateTime": "2023-11-14T00:00:00",
"lastMovementDate": "2023-11-14",
"openingRate": null,
"openingBalance": {
"amount": "9999999.00",
"currencyName": "RUB"
},
"openingBalanceRub": {
"amount": "9999999.00",
"currencyName": "RUB"
},
"closingBalance": {
"amount": "9998899.00",
"currencyName": "RUB"
},
"closingBalanceRub": {
"amount": "9998899.00",
"currencyName": "RUB"
},
"debitTurnover": {
"amount": "1100.00",
"currencyName": "RUB"
},
"debitTurnoverRub": {
"amount": "1100.00",
"currencyName": "RUB"
},
"debitTransactionsNumber": 2,
"creditTurnover": {
"amount": "0.00",
"currencyName": "RUB"
},
"creditTurnoverRub": {
"amount": "0.00",
"currencyName": "RUB"
},
"creditTransactionsNumber": 0
}
202 (Accepted)
Cause | Message | Description |
---|---|---|
STATEMENT_RESPONSE_PROCESSING | Сводка по выписке не готова или данные в ней неактуальны. Следует запросить позже. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 202 Accepted
Content-Type: application/json;charset=UTF-8
{
"cause": "STATEMENT_RESPONSE_PROCESSING",
"referenceId": "a5e7d822-70c6-4e79-9603-9941c113f297",
"message": "Сводка по выписке не готова или данные в ней неактуальны. Следует запросить позже."
}
400 (Bad request)
Cause | Message | Description |
---|---|---|
DESERIALIZATION_FAULT | Неверный формат запроса | Данные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в responce в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request ресурса. Скорректируйте заполнение атрибутов и повторите запрос. |
WORKFLOW_FAULT | Дата выписки позже текущей. Нельзя запросить выписку за дату в будущем. | |
Счет не является действующим на запрошенную дату. | ||
Запрошенной страницы с операциями не существует. | ||
VALIDATION_FAULT | Ошибка при разборе параметров запроса | Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request ресурса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
ResourceFault { | |||
referenceId | string | optional | Уникальный идентификатор ошибки (UUID), |
message | string | optional | Сообщение, |
checks | Array[Check] | optional | Список проверок, приведших к ошибке, |
fieldNames | Array[string] | optional | Названия полей с некорректным значением (только для VALIDATION_FAULT) |
} | |||
Check { | |||
level | string | optional | Уровень результата \= ['ERROR', 'WARNING'], |
message | string | optional | Сообщение, |
fields | Array[string] | optional | Названия полей (при наличии связи с моделью) |
} |
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
{
"cause": "WORKFLOW_FAULT",
"referenceId": "a5e7d822-70c6-4e79-9603-9941c113f297",
"message": "Параметр \"accountNumber\" не соответствует регулярному выражению: ^[0-9]{20}$",
"checks": [],
"fieldNames": null
}
401 (Unauthorized Error)
Cause | Message | Description |
---|---|---|
UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=UTF-8
{
"cause": "UNAUTHORIZED",
"referenceId": "014ec3a1-3e41-4805-9e22-d07947b012af",
"message": "accessToken not found by value = 3513f959dbbd57490aa9f9ff67fb7380fae5m3"
}
403 (Forbidden)
Cause | Message | Description |
---|---|---|
ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция GET_STATEMENT_ACCOUNT . Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |
ACCESS_EXCEPTION | Для внешнего сервиса недоступны операции по счету: {номер счета} | В процессе авторизации через СберБизнес ID пользователь должен подписать Согласие и указать счета, к которым Платформа получит доступ. Однако для данного счета доступ не был предоставлен при подписании Согласия. Чтобы решить эту проблему, пользователю необходимо войти в СберБизнес, отменить текущее Согласие, затем заново авторизоваться в Платформе, используя СберБизнес ID. Затем СберБизнес ID предложит пользователю снова подписать Согласие. Перед подписанием ему нужно будет отметить нужный счет как доступный для Платформы. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 403 Forbidden
Content-Type: application/json;charset=UTF-8
{
"cause": "ACCESS_EXCEPTION",
"referenceId": "5650c1e4-5039-4038-8cad-afab64003f61",
"message": "Для внешнего сервиса недоступны операции по счету: 40702810006000001792"
}
404 (Not Found)
Cause | Message | Description |
---|---|---|
DATA_NOT_FOUND_EXCEPTION | Выписка за указанную дату недоступна, пожалуйста, обратитесь в техническую поддержку | Необходимо собрать полный лог запроса и сформировать обращение в техническую поддержку Банка (supportdbo2@sberbank.ru) |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
{
"cause": "DATA_NOT_FOUND_EXCEPTION",
"referenceId": "cc78b3aa-c057-4533-b9db-898bbaad9061",
"message": "Выписка за указанную дату недоступна, пожалуйста, обратитесь в техническую поддержку"
}
429 (Too Many Requests)
Cause | Message | Description |
---|---|---|
TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор ошибки (UUID), |
message | string | optional | Сообщение, |
} |
HTTP/1.1 429 Too Many Requests
Content-Type: application/json;charset=UTF-8
{
"cause": " TOO_MANY_REQUESTS ",
"referenceId": "5650c1e4-5039-4038-8cad-afab64003f61",
"message": " Превышен лимит запросов. Повторите операцию позже"
}
500 (Internal Server Error)
Cause | Message | Description |
---|---|---|
UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
{
"cause": "UNKNOWN_EXCEPTION",
"referenceId": "9e209109-4b0d-408c-a2fd-e1983c20a65d",
"message": "Внутренняя ошибка сервера"
}
503 (Service Temporarily Unavailable)
Cause | Message | Description |
---|---|---|
UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 503 Service Temporarily Unavailable
Content-Type: application/json;charset=UTF-8
{
"cause": "UNAVAILABLE_RESOURCE_EXCEPTION",
"referenceId": "9e209109-4b0d-408c-a2fd-e1983c20a67d",
"message": "Внутренняя ошибка сервера"
}
Запросить выписку для экспорта в другие системы
/fintech/api/v1/statement/files
Ресурс позволяет запросить формирование выписки для экспорта в другие системы в разных форматах. При выполнении запроса в ответ получаете идентификатор задачи (id) на формирование выписки в необходимом формате. При готовности выписки ссылку на скачивание можно получить с помощью ресурса /v1/files/tasks-for-download
.
Для осуществления запроса на формирование выписки в нужном формате необходимо отправить GET-запрос /fintech/api/v1/statement/files
с токеном доступа (access_token) пользователя в параметре Authorization заголовка, номером счета (accountNumber), датой выписки (statementDate), необходимой кодировкой (encoding) и форматом (format) в query-параметрах запроса.
В параметре scope ссылки авторизации пользователя должен быть указана операция GET_STATEMENT_ACCOUNT
для получения доступа к этому ресурсу.
Для обращения к ресурсу необходимо отправлять запрос на:
- Тестовый контур
https://iftfintech.testsbi.sberbank.ru:9443
- Промышленный контур
https://fintech.sberbank.ru:9443
Request
/fintech/api/v1/statement/files
- Модель
- Пример
Наименование | Тип | Формат | Regexp | Обязательность | Описание |
---|---|---|---|---|---|
HEADER | |||||
Authorization | string | string | ^[a-zA-Z0-9]{38}$ | required | Access token пользователя, полученный через SSO. |
Accept | string | string | ^(application/json|application/jose) | optional | Указывает на формат данных, который вы готовы принять от Банка. Если ответ не требуется в зашифрованном виде, то может быть не указан или передан со значением application/json. Если необходимо получить ответ на запрос токена в зашифрованном виде, то необходимо передать параметр со значением application/jose. |
QUERY-PARAMETERS | |||||
accountNumber | string | string | ^[0-9]{20}$ | required | Номер счета. |
statementDate | DateTime | ISO 8601 YYYY-MM-DD | ^([0-9]{4}-[0-9]{2}-[0-9]{2})$ | optional | Дата запрашиваемой выписки. Если не заполнять, по умолчанию текущий день. |
format | string | string | ^(1C|MT940|camt053)$ | required | Форматы запрашиваемой выписки. |
encodin | string | string | ^(DOS|WINDOWS|UTF8)$ | optional | Кодировка выписки. Если не заполнять, по умолчанию WINDOWS |
GET /fintech/api/v1/statement/files?format=1C&accountNumber=40802810706000000087&statementDate=2023-11-14&encoding=WINDOWS HTTP/1.1
Accept: */*
Authorization: Bearer c727000a071fc243538a0291fd7c8ad1c1cbdf
Responses
200 (ОК)
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
number | required | Идентификатор задачи для получения ссылки на скачивание. Возвращается один идентификатор задачи на все выбранные форматы. Для проверки готовности выписки и получения ссылки на скачивание используется ресурс /v1/files/tasks-for-download/{taskId} |
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
264411
400 (Bad request)
Cause | Message | Description |
---|---|---|
DESERIALIZATION_FAULT | Неверный формат запроса. | Данные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в responce в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request ресурса. Скорректируйте заполнение атрибутов и повторите запрос. |
WORKFLOW_FAULT | Дата выписки позже текущей. Нельзя запросить выписку за дату в будущем. | |
Счет не является действующим на запрошенную дату. | ||
Запрошенной страницы с операциями не существует. | Проверьте контейнер links с параметром (href) на следующую и предыдущую страницы и признаками: "rel": "prev", "rel": "next". Если следующей страницы нет, в полученном ответе перестанет приходить href c признаком "rel": "next". | |
VALIDATION_FAULT | Ошибка валидации | Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request метода, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
ResourceFault { | |||
referenceId | string | optional | Уникальный идентификатор ошибки (UUID), |
message | string | optional | Сообщение, |
checks | Array[Check] | optional | Список проверок, приведших к ошибке, |
fieldNames | Array[string] | optional | Названия полей с некорректным значением (только для VALIDATION_FAULT) |
} | |||
Check { | |||
level | string | optional | Уровень результата \= ['ERROR', 'WARNING'], |
message | string | optional | Сообщение, |
fields | Array[string] | optional | Названия полей (при наличии связи с моделью) |
} |
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
{
"cause": "WORKFLOW_FAULT",
"referenceId": "d277c48a-9427-4985-81c1-1eed78ef8a9a",
"message": "Неподдерживаемая кодировка: WINDOWSs",
"checks": [],
"fieldNames": null
}
401 (Unauthorized Error)
Cause | Message | Description |
---|---|---|
UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=UTF-8
{
"cause": "UNAUTHORIZED",
"referenceId": "014ec3a1-3e41-4805-9e22-d07947b012af",
"message": "accessToken not found by value = 3513f959dbbd57490aa9f9ff67fb7380fae5m3"
}
403 (Forbidden)
Cause | Message | Description |
---|---|---|
ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция GET_STATEMENT_ACCOUNT . Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |
ACCESS_EXCEPTION | Для внешнего сервиса недоступны операции по счету: {номер счета} | В процессе авторизации через СберБизнес ID пользователь должен подписать Согласие и указать счета, к которым Платформа получит доступ. Однако для данного счета доступ не был предоставлен при подписании Согласия. Чтобы решить эту проблему, пользователю необходимо войти в СберБизнес, отменить текущее Согласие, затем заново авторизоваться в Платформе, используя СберБизнес ID. Затем СберБизнес ID предложит пользователю снова подписать Согласие. Перед подписанием ему нужно будет отметить нужный счет как доступный для Платформы. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 403 Forbidden
Content-Type: application/json;charset=UTF-8
{
"cause": "ACCESS_EXCEPTION",
"referenceId": "5650c1e4-5039-4038-8cad-afab64003f61",
"message": "Для внешнего сервиса недоступны операции по счету: 40702810006000001792"
}
404 (Not Found)
Cause | Message | Description |
---|---|---|
DATA_NOT_FOUND_EXCEPTION | Выписка за указанную дату недоступна, пожалуйста, обратитесь в техническую поддержку | Необходимо собрать полный лог запроса и сформировать обращение в техническую поддержку Банка (supportdbo2@sberbank.ru) |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
{
"cause": "DATA_NOT_FOUND_EXCEPTION",
"referenceId": "cc78b3aa-c057-4533-b9db-898bbaad9061",
"message": "Выписка за указанную дату недоступна, пожалуйста, обратитесь в техническую поддержку"
}
429 (Too Many Requests)
Cause | Message | Description |
---|---|---|
TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор ошибки (UUID), |
message | string | optional | Сообщение, |
} |
HTTP/1.1 429 Too Many Requests
Content-Type: application/json;charset=UTF-8
{
"cause": " TOO_MANY_REQUESTS ",
"referenceId": "5650c1e4-5039-4038-8cad-afab64003f61",
"message": " Превышен лимит запросов. Повторите операцию позже"
}
500 (Internal Server Error)
Cause | Message | Description |
---|---|---|
UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
{
"cause": "UNKNOWN_EXCEPTION",
"referenceId": "9e209109-4b0d-408c-a2fd-e1983c20a65d",
"message": "Внутренняя ошибка сервера"
}
503 (Service Temporarily Unavailable)
Cause | Message | Description |
---|---|---|
UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 503 Service Temporarily Unavailable
Content-Type: application/json;charset=UTF-8
{
"cause": "UNAVAILABLE_RESOURCE_EXCEPTION",
"referenceId": "9e209109-4b0d-408c-a2fd-e1983c20a67d",
"message": "Внутренняя ошибка сервера"
}
Получить выписку в печатном формате файла
/fintech/api/v1/statement/print
Ресурс позволяет запросить формирование выписки за нужную дату в форматах PDF, EXCEL, DOCX, и RTF. При выполнении запроса в ответ получаете идентификатор задачи (id) на формирование выписки в необходимом формате. При готовности выписки ссылку на скачивание можно получить с помощью ресурса /fintech/api/v1/files/tasks-for-download
.
Для осуществления запроса на формирование выписки в нужном формате необходимо отправить GET-запрос /fintech/api/v1/statement/print
с токеном доступа (access_token) пользователя в параметре Authorization заголовка, номером счета (accountNumber), датой выписки (statementDate) и форматом запрашиваемой печатной формы (format) в query-параметрах запроса.
В параметре scope ссылки авторизации пользователя должен быть указана операция GET_STATEMENT_ACCOUNT
для получения доступа к этому ресурсу.
Для обращения к ресурсу необходимо отправлять запрос на:
- Тестовый контур
https://iftfintech.testsbi.sberbank.ru:9443
- Промышленный контур
https://fintech.sberbank.ru:9443
Request
/fintech/api/v1/statement/print
- Модель
- Пример
Наименование | Тип | Формат | Regexp | Обязательность | Описание |
---|---|---|---|---|---|
HEADER | |||||
Authorization | string | string | ^[a-zA-Z0-9]{38}$ | required | Access token пользователя, полученный через SSO. |
Accept | string | string | ^(application/json|application/jose) | optional | Указывает на формат данных, который вы готовы принять от Банка. Если ответ не требуется в зашифрованном виде, то может быть не указан или передан со значением application/json. Если необходимо получить ответ на запрос токена в зашифрованном виде, то необходимо передать параметр со значением application/jose. |
QUERY-PARAMETERS | |||||
accountNumber | string | string | ^[0-9]{20}$ | required | Номер счета. |
statementDate | DateTime | ISO 8601 YYYY-MM-DD | ^([0-9]{4}-[0-9]{2}-[0-9]{2})$ | optional | Дата запрашиваемой выписки. Если не заполнять, по умолчанию текущий день. |
format | Array[string] | string | ^(PDF|EXCEL|DOCX|RTF)$ | required | Форматы запрашиваемой выписки. Возможно передать запрос на предоставление выписки в нескольких форматах: - с использованием перечисления форматов через символ & format=PDF&format=EXCEL&format=DOCX&format=RTF - с использованием перечисления форматов через запятую format=PDF,EXCEL,DOCX,RTF |
GET /fintech/api/v1/statement/print?accountNumber=40802810706000000087&statementDate=2023-11-14&format=PDF HTTP/1.1
Accept: */*
Authorization: Bearer c727000a071fc54353134a029fd7c8ad1c1cbh
Responses
200 (ОК)
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
number | required | Идентификатор задачи для получения ссылки на скачивание. Возвращается один идентификатор задачи на все выбранные форматы. Для проверки готовности выписки и получения ссылки на скачивание используется ресурс /v1/files/tasks-for-download/{taskId} |
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
264415
400 (Bad request)
Cause | Message | Description |
---|---|---|
DESERIALIZATION_FAULT | Неверный формат запроса. | Данные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в responce в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request ресурса. Скорректируйте заполнение атрибутов и повторите запрос. |
WORKFLOW_FAULT | Дата выписки позже текущей. Нельзя запросить выписку за дату в будущем. | |
Счет не является действующим на запрошенную дату. | ||
Запрошенной страницы с операциями не существует. | Проверьте контейнер links с параметром (href) на следующую и предыдущую страницы и признаками: "rel": "prev", "rel": "next". Если следующей страницы нет, в полученном ответе перестанет приходить href c признаком "rel": "next". | |
VALIDATION_FAULT | Ошибка валидации | Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request метода, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
ResourceFault { | |||
referenceId | string | optional | Уникальный идентификатор ошибки (UUID), |
message | string | optional | Сообщение, |
checks | Array[Check] | optional | Список проверок, приведших к ошибке, |
fieldNames | Array[string] | optional | Названия полей с некорректным значением (только для VALIDATION_FAULT) |
} | |||
Check { | |||
level | string | optional | Уровень результата \= ['ERROR', 'WARNING'], |
message | string | optional | Сообщение, |
fields | Array[string] | optional | Названия полей (при наличии связи с моделью) |
} |
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
{
"cause": "WORKFLOW_FAULT",
"referenceId": "2ea90b75-5967-4b1d-bd0c-45c7e951ab25",
"message": "Неподдерживаемый формат печати: PDFh",
"checks": [],
"fieldNames": null
}
401 (Unauthorized Error)
Cause | Message | Description |
---|---|---|
UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=UTF-8
{
"cause": "UNAUTHORIZED",
"referenceId": "014ec3a1-3e41-4805-9e22-d07947b012af",
"message": "accessToken not found by value = 3513f959dbbd57490aa9f9ff67fb7380fae5m3"
}
403 (Forbidden)
Cause | Message | Description |
---|---|---|
ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция GET_STATEMENT_ACCOUNT . Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |
ACCESS_EXCEPTION | Для внешнего сервиса недоступны операции по счету: {номер счета} | В процессе авторизации через СберБизнес ID пользователь должен подписать Согласие и указать счета, к которым Платформа получит доступ. Однако для данного счета доступ не был предоставлен при подписании Согласия. Чтобы решить эту проблему, пользователю необходимо войти в СберБизнес, отменить текущее Согласие, затем заново авторизоваться в Платформе, используя СберБизнес ID. Затем СберБизнес ID предложит пользователю снова подписать Согласие. Перед подписанием ему нужно будет отметить нужный счет как доступный для Платформы. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 403 Forbidden
Content-Type: application/json;charset=UTF-8
{
"cause": "ACCESS_EXCEPTION",
"referenceId": "5650c1e4-5039-4038-8cad-afab64003f61",
"message": "Для внешнего сервиса недоступны операции по счету: 40702810006000001792"
}
404 (Not Found)
Cause | Message | Description |
---|---|---|
DATA_NOT_FOUND_EXCEPTION | Выписка за указанную дату недоступна, пожалуйста, обратитесь в техническую поддержку | Необходимо собрать полный лог запроса и сформировать обращение в техническую поддержку Банка (supportdbo2@sberbank.ru) |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
{
"cause": "DATA_NOT_FOUND_EXCEPTION",
"referenceId": "cc78b3aa-c057-4533-b9db-898bbaad9061",
"message": "Выписка за указанную дату недоступна, пожалуйста, обратитесь в техническую поддержку"
}
429 (Too Many Requests)
Cause | Message | Description |
---|---|---|
TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор ошибки (UUID), |
message | string | optional | Сообщение, |
} |
HTTP/1.1 429 Too Many Requests
Content-Type: application/json;charset=UTF-8
{
"cause": " TOO_MANY_REQUESTS ",
"referenceId": "5650c1e4-5039-4038-8cad-afab64003f61",
"message": " Превышен лимит запросов. Повторите операцию позже"
}
500 (Internal Server Error)
Cause | Message | Description |
---|---|---|
UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
{
"cause": "UNKNOWN_EXCEPTION",
"referenceId": "9e209109-4b0d-408c-a2fd-e1983c20a65d",
"message": "Внутренняя ошибка сервера"
}
503 (Service Temporarily Unavailable)
Cause | Message | Description |
---|---|---|
UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор (UUID), |
message | string | optional | Сообщение |
} |
HTTP/1.1 503 Service Temporarily Unavailable
Content-Type: application/json;charset=UTF-8
{
"cause": "UNAVAILABLE_RESOURCE_EXCEPTION",
"referenceId": "9e209109-4b0d-408c-a2fd-e1983c20a67d",
"message": "Внутренняя ошибка сервера"
}