Валютный кредитный договор
Для обращения к ресурсу необходимо отправлять запрос на:
Тестовый контур
https://iftfintech.testsbi.sberbank.ru:9443
Промышленный контур
https://fintech.sberbank.ru:9443
Ресурс /v1/bank-control-statements/reg-curr-cred-contracts
Ресурс позволяет создать документ «Валютный кредитный договор с нерезидентом (ВБК в банк)» по собственной/дочерней организации.
Шаги
1. Получить AccessToken.
2. Сформировать ЭП.
3. Отправить запрос.
4. Получить статус.
5. Получить документ.
Для создания запроса на регистрацию валютного кредитного договора необходимо отправить POST-запрос (/v1/bank-control-statements/reg-curr-cred-contracts), в котором передать авторизационный токен к данным собственной/дочерней организации (Access Token) и реквизиты запроса на регистрацию валютного кредитного договора. Авторизационный токен передается в параметре Authorization заголовка запроса.
Чтобы получить доступ к ресурсу, необходимо передать в scope сервис BANK_CONTROL_STATEMENT
.
Модель запроса и ответа
Наименование | Описание |
---|---|
Параметры заголовка | |
Authorization (String) | Access token собственной/дочерней организации, полученный через SSO Пример: Bearer 8190f687-c916-453b-9d68-0ce22f4f3f9d-1 |
Параметры тела запроса | |
CurrCredContract { | |
actualDebtAmount (number, optional) | Сумма фактической задолженности по основному долгу , |
actualDebtCurrencyCode (string, optional) | Цифровой код валюты фактической задолженности по основному долгу , |
actualDebtCurrencyName (string, optional) | Буквенный ISO-код валюты фактической задолженности по основному долгу , |
amount (number, optional) | Сумма контракта , |
bankComment (string, optional, read only) | Банковский комментарий к статусу документа , |
bankControlStatementInfo (BankControlStatementInfo) | Информация о ведомости банковского контроля , |
bankStatus (string, optional, read only) | Статус документа , |
calcDate (string, optional, read only) | Дата расчета , |
collateralAmount (number, optional) | Сумма залогового или другого обеспечения , |
contractDate (string) | Дата контракта , |
contractEndDate (string, optional) | Дата окончания обязательств по контракту , |
contractNumber (string, optional) | Номер контракта , |
credRepayPayments (Array[CredRepayPayment], optional) | График платежей по кредитному договору , |
creditAttractions (Array[CreditAttraction], optional) | Привлечение кредита на синдицированной (консорциональной) основе , |
creditPayPeriodCode (string, optional) | Код срока привлечения (предоставления) , 0 - до 30 дней 1 - от 31 до 90 дней 2 - от 91 до 180 дней 3 - от 181 дня до 1 года 4 - от 1 года до 3 лет 6 - до востребования 7 - от 3 лет до 5 лет 8 - от 5 лет до 10 лет 9 - Свыше 10 лет |
currFixInterestRate (number, optional) | Фиксированный размер процентной ставки , |
currencyCode (string, optional) | Цифровой код валюты контракта , |
currencyEarningsAmount (number, optional) | Сумма, подлежащая погашению за счет валютной выручки , |
date (string) | Дата составления документа , |
decAmount (number, optional, read only) | Сумма уменьшения задолженности по основному долгу по иным основаниям , |
digestSignatures (Array[Signature], optional) | Электронные подписи по дайджесту документа , |
enrollAmount (number, optional, read only) | Сумма денежных средств, переведенных (зачисленных) в счет погашения основного долга , |
finalDebtAmount (number, optional, read only) | Задолженность по основному долгу на дату расчета (на дату снятия с учета кредитного договора) , |
finalDebtСurrencyCode (string, optional, read only) | Цифровой код страны , |
finalDebtСurrencyName (string, optional, read only) | Буквенный ISO-код валюты , |
hasDirectInvesting (boolean, optional) | Признак наличия отношений прямого инвестирования , |
hasSchedulePaymentsInCredit (boolean, optional) | Основания для заполнения графика платежей (п. 8.2 181-И) , |
incAmount (number, optional, read only) | Сумма увеличения задолженности по основному долгу по иным основаниям , |
increaseRate (number, optional) | Размер процентной надбавки , |
interestRateMethod (string, optional) | Метод определения процентной ставки: 0 - Фиксированный размер процентной ставки 1 - Ставка ЛИБОР 2 - Другой метод определения ставки |
liborRate (string, optional) | Код ставки ЛИБОР , |
loanAmount (number, optional, read only) | Сумма денежных средств, полученных (предоставленных) по кредиту (займу) , |
nonResidents (Array[BankControlStatementNonResident], optional) | Информация о нерезидентах , |
number (string, optional) | Номер документа , |
otherPayments (string, optional) | Иные платежи, предусмотренные кредитным договором , |
otherRateMethod (string, optional) | Описание метода определения ставки , |
tranches (Array[CurrCredTranche], optional) | Информация о траншах по кредиту , |
transferAmount (number, optional) | Сумма, подлежащая зачислению на счета за рубежом |
}BankControlStatementInfo { | |
authPersonName (string, optional) | ФИО ответственного лица , |
authPersonTelfax (string, optional) | Телефон ответственного лица , |
bankCommentAuthor (string, optional, read only) | Автор комментария , |
bankDate (string, optional, read only) | Дата постановки контракта/договора на учет , , |
bfAttachments (Array[BfAttachment], optional) | Прикрепленные большие файлы , |
chainId (string, optional, read only) | Id цепочки , |
creationMode (string) | Режим создания ВБК = ICS_CREDIT_REGISTRATION stringEnum: "ICS_CREDIT_REGISTRATION" , |
currencyName (string, optional) | Буквенный ISO-код валюты контракта , |
externalId (string) | Идентификатор документа в организации-партнере , |
failReasons (Array[FailReason], optional, read only) | Причины отказа , |
isActual (boolean, optional, read only) | Признак актуальности ВБК , |
unk (string, optional) | |
}CredRepayPayment { | |
condition (string, optional) | Особые условия , |
currencyCode (string) | Цифровой код валюты платежа , |
currencyName (string, optional) | Буквенный ISO-код валюты платежа , |
interestAmount (number, optional) | Сумма платежа по процентам , |
interestDate (string, optional) | Дата платежа (процентный) , |
principalAmount (number, optional) | Сумма платежа по основному долгу , |
principalDate (string, optional) | Дата платежа (основной долг) |
}CreditAttraction { | |
amount (number, optional) | Сумма привлечения резидентом кредита, предоставленного нерезидентами , |
currencyCode (string, optional) | Цифровой код валюты привлечения резидентом кредита, предоставленного нерезидентами , |
currencyName (string, optional) | Буквенный ISO-код валюты привлечения резидентом кредита, предоставленного нерезидентами , |
hasPercentType (boolean) | Доля или сумма (false - сумма, true - доля) , |
interestCredit (number, optional) | Доля в общей сумме кредита, % , |
nonResidentCountryCode (string, optional) | Цифровой код страны нерезидента , |
nonResidentCountryName (string, optional) | Наименование страны нерезидента , |
nonResidentName (string, optional) | Наименование нерезидента |
}Signature { | |
base64Encoded (string) | Значение электронной подписи, закодированное в Base64 , |
certificateUuid (string) | Уникальный идентификатор сертификата ключа проверки электронной подписи (UUID) |
}BankControlStatementNonResident { | |
countryCode (string) | Цифровой код страны , |
countryName (string) | Наименование страны , |
name (string) | Наименование иностранного контрагента |
}CurrCredTranche { | |
amount (number, optional) | Сумма , |
currencyCode (string, optional) | Цифровой код валюты , |
currencyName (string, optional) | Буквенный ISO-код валюты , |
entryDate (string, optional) | Ожидаемая дата поступления , |
periodCode (string, optional) | Код срока привлечения (предоставления) , 0 - до 30 дней 1 - от 31 до 90 дней 2 - от 91 до 180 дней 3 - от 181 дня до 1 года 4 - от 1 года до 3 лет 6 - до востребования 7 - от 3 лет до 5 лет 8 - от 5 лет до 10 лет 9 - Свыше 10 лет |
}BfAttachment { | |
fileId (string, optional) | Уникальный идентификатор файла , |
fileName (string, optional, read only) | Имя файла |
}FailReason { | |
docField (string, optional) | Поле документа , |
reasonComment (string, optional) | Правило заполнения/замечания , |
reasonId (string, optional) | Код причины отказа , |
returnComment (string, optional) | Комментарий |
} |
Пример запроса
{
"actualDebtAmount":1.01,
"actualDebtCurrencyCode":"840",
"actualDebtCurrencyName":"USD",
"amount":1.01,
"bankComment":"string",
"bankControlStatementInfo":{
"authPersonName":"Иванов Иван Иванович",
"authPersonTelfax":"4955005550",
"bankCommentAuthor":"Иванов Иван Иванович",
"bankDate": "string",
"bfAttachments":[
{
"fileId":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6",
"fileName":"SB_7718830000_40702810038290010000_T18.txt"
}
],
"chainId":"1234567890123",
"creationMode":"ICS_CREDIT_REGISTRATION",
"currencyName":"USD",
"externalId":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6",
"failReasons":[
{
"docField":"Номер контракта",
"reasonComment":"Указан неверно",
"reasonId":"PS_REST_REJ_PART_2-9",
"returnComment":"Отказ проверки"
}
],
"isActual":false,
"unk":"string"
},
"bankStatus":"string",
"calcDate":"2018-12-31",
"collateralAmount":1.01,
"contractDate":"2018-12-31",
"contractEndDate":"2018-12-31",
"contractNumber":"123АБВ",
"credRepayPayments":[
{
"condition":"АБВ123",
"currencyCode":"840",
"currencyName":"USD",
"interestAmount":1.01,
"interestDate":"2018-12-31",
"principalAmount":1.01,
"principalDate":"2018-12-31"
}
],
"creditAttractions":[
{
"amount":1.01,
"currencyCode":"840",
"currencyName":"USD",
"hasPercentType":false,
"interestCredit":1.01,
"nonResidentCountryCode":"643",
"nonResidentCountryName":"РОССИЯ",
"nonResidentName":"Kazan"
}
],
"creditPayPeriodCode":"1",
"currFixInterestRate":1.01,
"currencyCode":"840",
"currencyEarningsAmount":1.01,
"date":"2018-12-31",
"decAmount":1.01,
"digestSignatures":[
{
"base64Encoded":"HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w==",
"certificateUuid":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"
}
],
"enrollAmount":1.01,
"finalDebtAmount":1.01,
"finalDebtСurrencyCode":"643",
"finalDebtСurrencyName":"USD",
"hasDirectInvesting":false,
"hasSchedulePaymentsInCredit":false,
"incAmount":1.01,
"increaseRate":1.01,
"interestRateMethod":"1",
"liborRate":"Л06",
"loanAmount":1.01,
"nonResidents":[
{
"countryCode":"643",
"countryName":"РОССИЯ",
"name":"Kazan"
}
],
"number":"1",
"otherPayments":"АБВ123",
"otherRateMethod":"АБВ123",
"tranches":[
{
"amount":1.01,
"currencyCode":"840",
"currencyName":"USD",
"entryDate":"2018-12-31",
"periodCode":"1"
}
],
"transferAmount":1.01
}
Передача электронной подписи вместе с документом
Передача электронной подписи (ЭП) осуществляется с использованием массива digestSignatures, где каждый элемент представляет собой подпись (Signature). Каждая подпись должна содержать следующие обязательные поля:
Наименование поля | Описание поля | Пример |
---|---|---|
base64Encoded (string) | Значение ЭП документа | HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w== |
certificateUuid (string) | Идентификатор сертификата, использованного при создании ЭП (можно узнать, обратившись к ресурсу /v1/crypto или /v1/crypto/eio) | 22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6 |
В документе можно передать одну или две электронных подписи вместе с реквизитами создаваемого документа. Если подписи переданы через API, то они сохраняются вместе с документом, а сам документ продолжает свой жизненный цикл. Если подписи не были переданы, то документ сохраняется в начальном статусе и ожидает дальнейшей подписи в интерфейсе СберБизнес.
Документ может быть подписан следующими наборами подписей:
- одна (единственная) подпись;
- первая или вторая подписи.
При этом нельзя сочетать подпись, имеющую единственное полномочие, с подписью, имеющей первую или вторую подписи.
Состав полей дайджеста не изменяется. Тип подписи указывается в настройках криптопрофиля при создании пользователя в СберБизнес.
Подробнее о работе с ЭЦП в Sber API можно ознакомиться в соответствующем разделе документации.
Алгоритм сортировки дайджеста
Теги дайджеста должны быть отсортированы по алфавиту.
В таблице bfAttachments UUID-ы сортируются по возрастанию.
В таблице NonResidents данные сортируются аналогично сортировке в исходном документе.
В дайджесте не указываются значения Number и блок linkedDocs.
Формат дайджеста
Наименование поля | Описание поля | Пример |
---|---|---|
actualDebtAmount | Сумма фактической задолженности по основному долгу | 1.00 |
actualDebtCurrencyCode | Цифровой код валюты | 840 |
actualDebtCurrencyName | Буквенный ISO-код валюты | USD |
amount | Сумма кредитного договора | 1.00 |
bankControlStatementInfo.authPersonName | ФИО ответственного лица | Иванов Иван Иванович |
bankControlStatementInfo.authPersonTelfax | Телефон ответственного лица | 4955005550 |
bankControlStatementInfo.creationMode | Режим создания ВБК | ICS_CREDIT_REGISTRATION |
bankControlStatementInfo.currencyName | Буквенный ISO-код валюты кредитного договора | USD |
bankControlStatementInfo.externalId | Идентификатор документа в организации-партнере | c18835bc-c43e-425c-80ba-354d62094e93 |
collateralAmount | Сумма залогового или другого обеспечения | 1.00 |
contractDate | Дата кредитного договора | 26.09.2019 |
contractEndDate | Дата окончания обязательств по договору | 26.09.2019 |
contractNumber | Номер кредитного договора | 123АБВ |
creditPayPeriodCode | Код срока привлечения (предоставления) | 1 |
currFixInterestRate | Фиксированный размер процентной ставки | 1.0000 |
currencyCode | Цифровой код валюты кредитного договора | 840 |
currencyEarningsAmount | умма, подлежащая погашению за счет валютной выручки | 1.00 |
date | Дата создания документа по местному времени в формате YYYY-MM-DD | 26.09.2019 |
hasDirectInvesting | Признак наличия отношений прямого инвестирования | true |
hasSchedulePaymentsInCredit | Основания для заполнения графика платежей (п. 8.2 181-И) | true |
increaseRate | Размер процентной надбавки | 1.0000 |
interestRateMethod | Метод определения процентной ставки | 1 |
liborRate | Код ставки Libor | Л06 |
otherPayments | Иные платежи, предусмотренные кредитным договором | АБВ123 |
otherRateMethod | Описание метода определения ставки | АБВ123 |
transferAmount | Сумма, подлежащая зачислению на счета за рубежом | 1.00 |
TABLES | Значение указывается при наличии UUID-ов больших файлов или данных по платежам/траншам/нерезидентам | |
Table=BfAttachments | Значение указывается при наличии UUID-ов больших файлов | |
fileId | UUID БФ | 853b4bf6-2c6e-4020-a18f-289df39f78b8 |
# | Разделитель | |
Table=CredRepayPayments | График платежей по кредитному договору | |
condition | Особые условия | АБВ123 |
currencyCode | Цифровой код валюты | USD |
currencyName | Буквенный ISO-код валюты | USD |
interestAmount | Сумма платежа по процентам | 1.00 |
interestDate | Дата платежа (процентный) | 26.09.2019 |
principalAmount | Сумма платежа по основному долгу | 1.00 |
principalDate | Дата платежа (основной долг) | 26.09.2019 |
# | ||
Table=CreditAttractions | Привлечение кредита на синдицированной (консорциональной) основе | |
amount | Сумма | 1.00 |
currencyCode | Цифровой код валюты | 840 |
currencyName | Буквенный ISO-код валюты | USD |
hasPercentType | Доля или сумма | true |
interestCredit | Доля в общей сумме кредита, % | 1.00 |
nonResidentCountryCode | Цифровой код страны нерезидента | 38 |
nonResidentCountryName | Наименование страны нерезидента | Казахстан |
nonResidentName | Наименование нерезидента | Kazan |
# | Разделитель | |
Table=NonResidents | ||
countryCode | Цифровой код страны | 38 |
countryName | Наименование страны | Казахстан |
name | Наименование нерезидента | Kazan |
# | Разделитель | |
Table=Tranches | Информация о траншах по кредиту | |
amount | Сумма транша | 1.00 |
currencyCode | Цифровой код валюты транша | 840 |
currencyName | Буквенный код валюты | USD |
entryDate | Ожидаемая дата поступления | 26.09.2019 |
periodCode | Код срока привлечения | 1 |
# | Разделитель |
Пример дайджеста
actualDebtAmount=1.00
actualDebtCurrencyCode=840
actualDebtCurrencyName=USD
amount=1.00
bankControlStatementInfo.authPersonName=Иванов Иван Иванович
bankControlStatementInfo.authPersonTelfax=4955005550
bankControlStatementInfo.creationMode=ICS_CREDIT_REGISTRATION
bankControlStatementInfo.currencyName=USD
bankControlStatementInfo.externalId=c18835bc-c43e-425c-80ba-354d62094e93
collateralAmount=1.00
contractDate=2019-09-26
contractEndDate=2019-09-26
contractNumber=123АБВ
creditPayPeriodCode=1
currFixInterestRate=1.0000
currencyCode=840
currencyEarningsAmount=1.00
date=2019-09-26
hasDirectInvesting=true
hasSchedulePaymentsInCredit=true
increaseRate=1.0000
interestRateMethod=1
liborRate=Л06
otherPayments=АБВ123
otherRateMethod=АБВ123
transferAmount=1.00
TABLES
Table=BfAttachments
fileId=853b4bf6-2c6e-4020-a18f-289df39f78b8
#
Table=CredRepayPayments
condition=АБВ123
currencyCode=USD
currencyName=USD
interestAmount=1.00
interestDate=2019-09-26
principalAmount=1.00
principalDate=2019-09-26
#
Table=CreditAttractions
amount=1.00
currencyCode=840
currencyName=USD
hasPercentType=true
interestCredit=1.00
nonResidentCountryCode=038
nonResidentCountryName=Казахстан
nonResidentName=Kazan
#
Table=NonResidents
countryCode=038
countryName=Казахстан
name=Kazan
#
Table=Tranches
amount=1.00
currencyCode=840
currencyName=USD
entryDate=2019-09-26
periodCode=1
#
Ресурс /v1/bank-control-statements/{externalId}/state
Ресурс позволяет получить статус отправленного документа валютный кредитный договор (ВБК в банк).
Шаги
1. Получить AccessToken.
2. Отправить запрос
Для получения статуса документа необходимо отправить GET-запрос (/v1/bank-control-statements/{externalId}/state), в котором передать авторизационный токен к данным собственной/дочерней организации (Access Token) и идентификатор документа (externalId). Авторизационный токен передается в параметре Authorization заголовка запроса.
Чтобы получить доступ к ресурсу, необходимо передать в scope сервис BANK_CONTROL_STATEMENT
.
Модель запроса
Наименование | Описание |
---|---|
Параметры заголовка | |
Authorization (String) | Access token, полученный через SSO Пример: Bearer daf9a14c-821d-4bde-9c10-0e56e63d54a0-1 |
Параметры запроса | |
externalId (String) | Идентификатор документа, присвоенный клиентом |
Пример запроса
curl -X GET --header 'Accept: application/json' --header
'Authorization: Bearer daf9a14c-821d-4bde-9c10-0e56e63d54a0-1'
'https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/
bank-control-statements/22a6dd81-103a-4d3a-8e9b-0ba4b527f010/state'
Модель ответа
Наименование | Описание |
---|---|
DocState | |
bankComment (string, optional, read only) | Банковский комментарий к статусу документа, |
bankStatus (string, optional) | Статус документа, |
channelInfo (string, optional, read only) | Комментарий, специфичный для документа, полученного по данному каналу, |
Пример ответа
{
"bankStatus":"DELIVERED",
"bankComment":null,
"channelInfo":null
}
Возможные статусы
Код состояние документа | Наименование статуса |
---|---|
Промежуточные статусы/Продолжать опрашивать | |
ACCEPTED | Принят |
ACCEPTED_BY_ABS | Принят АБС |
CREATED | Создан |
DELIVERED | Доставлен |
EXPORTED | Выгружен |
TRIED_BY_CFE | Проверяется ВК |
WAITSENDDOCUMENT | Ожидает досыла документа |
Окончательные статусы/Прекратить опрос | |
CHECKERROR | Ошибка контроля |
INVALIDEDS | ЭП/АСП не верна |
REQUISITEERROR | Ошибка реквизитов |
REFUSEDBYABS | Отказан АБС |
REFUSED_BY_CFE | Отказан ВК |
Окончательные(Успешные) статусы/Прекратить опрос | |
ACCEPTED_BY_CFE | Принят ВК |
Ресурс /v1/bank-control-statements/reg-curr-cred-contracts/{externalId}
Ресурс позволяет получить ранее отправленный документ валютный кредитный договор (ВБК в банк).
Шаги
1. Получить AccessToken.
2. Отправить запрос.
Для получение ранее отправленного документа необходимо отправить GET-запрос (/v1/bank-control-statements/reg-curr-cred-contracts/{externalId}), в котором передать авторизационный токен к данным собственной/дочерней организации (Access Token) и идентификатор документа (externalId). Авторизационный токен передается в параметре Authorization заголовка запроса.
Чтобы получить доступ к ресурсу, необходимо передать в scope сервис BANK_CONTROL_STATEMENT
.
Модель запроса и ответа
Наименование | Описание |
---|---|
Параметры заголовка | |
Authorization (String) | Access token, полученный через SSO Пример: Bearer f8ad3141-b7e8-4924-92de-3de4fd0a464e-1 |
Параметры запроса | |
externalId (String) | Идентификатор документа, присвоенный сервисом |
Пример запроса
curl -X GET --header 'Accept: application/json' --header
'Authorization: Bearer f8ad3141-b7e8-4924-92de-3de4fd0a464e-1'
'https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/bank-control-statements/
reg-curr-cred-contracts/22a6dd81-103a-4d3a-8e9b0ba4b527f5f6'
Модель ответа
Соответствует модели запроса и ответа /v1/bank-control-statements/reg-curr-cred-contract
Ресурс /v1/bank-control-statements/reg-curr-cred-contracts/list
Ресурс позволяет получить UUID Валютных кредитных контрактов, зарегистрированных в Банке. Пользовательская версия документа, который клиент подписал и отправил в банк (форма постановки на учет контракта или кредитного договора) является первой версией в рамках документа Ведомость банковского контроля. До обработки такой ВБК банком - эта версия является актуальной. После обработки новая версия документа получит признак актуальности, при этом начальная пользовательская версия станет неактуальной. Также, если сам Пользователь захочет внести изменение в ВБК, оформляя заявку (ЗоВИ), также создается новая версия ВБК с признаком актуальности, у предыдущей версии этот признак снимается. Каждое изменение должно быть создано к последней актуальной версии ВБК, поэтому важно знать externalId актуальной версии ВБК.
Шаги
1. Получить AccessToken.
2. Отправить запрос.
Для создания запроса на получение UUID Валютных кредитных контрактов необходимо отправить GET-запрос (/v1/bank-control-statements/reg-curr-cred-contracts/list), в котором передать авторизационный токен к данным собственной/дочерней организации (Access Token) и реквизиты запроса. Авторизационный токен передается в параметре Authorization заголовка запроса.
Чтобы получить доступ к ресурсу, необходимо передать в scope сервис BANK_CONTROL_STATEMENT
.
Модель запроса
Наименование | Описание |
---|---|
Параметры заголовка | |
Authorization (String) | Access token, полученный через SSO Пример: Bearer f8ad3141-b7e8-4924-92de-3de4fd0a464e-1 |
Параметры запроса | |
date (Date) | Дата создания документа по местному времени (yyyy-MM-dd) |
isActual (String) | Признак актуальности ВБК false - возвращаются актуальные и архивные идентификаторы ВБК true - возвращаются актуальные идентификаторы ВБК |
page (Number) | Номер страницы |
Пример запроса
curl -X GET --header 'Accept: /' --header
'Authorization: Bearer f8ad3141-b7e8-4924-92de-3de4fd0a464e-1'
'https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/bank-control-statements/
reg-curr-cred-contracts/list?date=2019-11 -25&isActual=false&page=1'
Модель ответа
Наименование | Описание |
---|---|
FintechCurrContractsUUID | |
_links (Array[Link], optional) | Ссылки на связанные ресурсы, |
externalId (Array[string], optional) | ВБК |
}Link { | |
href (string) | Абсолютный или относительный адрес, |
rel (string) | Отношение ссылки к текущей сущности (next, prev) |
Пример ответа
{
"_links":[
{
"href":"? date=2018-03-15&isActual=false&page=3",
"rel":"next"
}
],
"externalId":[
"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6",
"26a6dd81-103a-4d3a-8e9b-0ba4b527f5f8",
"12a6dd31-103a-4d3a-8e9b-0ba4b527f5f4"
]
}
Дополнительная информация
Подписание запроса транспортной подписью
Content-Type может содержать одно из двух значений:
- application/json – запрос без подписи
- application/jose – запрос, подписанный транспортной подписью
Если Content-Type имеет значение application/jose, то запрос должен содержать данные в виде компактной сериализации RFC 7515: JSON Web Signature (JWS).
JWS состоит из трёх частей:
- Заголовок (Header) - определяет алгоритм подписи и тип токена
- Полезная нагрузка (Payload) - содержит данные, которые необходимо защитить
- Электронная подпись (Signature) - вычисляется с использованием приватного ключа клиента
Base64Url(Header) || ’.’ || Base64Url(Payload) || ’.’ || Base64Url(Signature)
Каждая часть ответа, разделенная точкой, должна декодироваться отдельно. Для декодирования следует воспользоваться алгоритмом Base64URL Encoding.
Signature - это подпись данных приватной частью ключевой пары клиента (используется приватный ключ парный сертификату клиента). Подпись вычисляется по алгоритму указанному в Заголовке (Header) в параметре alg (в нашем случае gost34.10-2012) и вычисляется от исходных данных:
Base64Url(Header) || ‘.’ || Base64Url(Payload).
Формирование исходных данных для вычисления подписи описано в спецификации RFC 7515: JSON Web Signature (JWS).
При кодировании JWS используется преобразование Base64Url. Преобразование можно представить следующим образом:
Base64Url(x) := Base64(x).Split(‘=’)[0].Replace(‘+’, ’-’).Replace(‘/’, ’_’)
- функция Split(x), разбивает строку на части ([i] означает взятие i–ой части), используя символ разделитель x,
- функция Replace(x,y) заменяет все вхождения символа x на символ y.
Преобразование Base64Url, отличается от Base64 преобразования:
- В Base64Url не используется (опускается) padding, т.е. не добавляются знаки ‘=’ на конце закодированного содержимого Padding of Encoded Data.
- Используются другие вспомогательные символы Base 64 Encoding with URL and Filename Safe Alphabet.
BASE64URL | BASE64 |
---|---|
- (minus) | + |
_ (underline) | / |
Коды возврата
Код возврата | Описание кода возврата | Причина возникновения | |
---|---|---|---|
200 (GET-запрос) | ОК | ||
201 (POST-запрос) | CREATED | ||
Создан | |||
400 | DESERIALIZATION_FAULT | ||
Неверный формат запроса | Неверный формат запроса | ||
WORKFLOW_FAULT | |||
Для внешнего сервиса недоступны операции по счету: 40702810ХХХХХХХХХХХХ | Для внешнего сервиса недоступны операции по счету: счет не добавлен в список разрешенных в оферте; внешний сервис заблокирован в СББОЛ; счет указан неверно. Отсутствует доступный открытый рублевый расчетный счет у организации плательщика | ||
Документ с такими реквизитами уже существует | Документ с такими реквизитами уже существует. Проверка по номер документа в течении года. | ||
Не указан идентификатор сертификата подписи | Не указан идентификатор сертификата подписи(параметр kid заголовка JWS) | ||
Некорректный формат параметра kid заголовка JWS | Некорректный формат параметра kid заголовка JWS(ожидается UUID) | ||
VALIDATION_FAULT | |||
Ошибка валидации | Ошибка валидации данных запроса с указанием некорректных значений. Значения полей модели или параметров запроса не соответствуют допустимым и определенным в модели. | ||
SIGN_CHECK_EXCEPTION | |||
Подлинность подписи не установлена/Сертификат не обнаружен или не является активным | Ошибка возникает, если не удалось установить подлинность подписи | ||
401 | UNAUTHORIZED | ||
accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. | ||
403 | ACTION_ACCESS_EXCEPTION | ||
Операция не может быть выполнена: доступ к ресурсу запрещен | У пользователя нет прав на использование соответствующего сервиса Sber API, доступ к которому не предусмотрен настройками scope; У пользователя отсутствует оферта с внешним сервисом. | ||
404 | NOT_FOUND | ||
Документ с указанным ID не найден | Невозможно найти документ с указанным внешним идентификатором. | ||
415 | JWS_EXCEPTED | ||
В соответствии с текущими настройками сервиса с clientId=%s необходимо использовать запрос в формате JWS Compact Serialization | Ошибка возникает, если в настройках внешних сервисов выставлен флаг "Требуется подпись для внешнего сервиса" | ||
500 | UNKNOWN_EXCEPTION | ||
Внутренняя ошибка сервера | |||
503 | UNAVAILABLE_RESOURCE_EXCEPTION | ||
Сервис временно недоступен | Проводятся технические работы |