Заявление о внесении изменений
Для обращения к ресурсу необходимо отправлять запрос на:
Текущий тестовый контур
https://edupirfintech.sberbank.ru:9443
Новый тестовый контур
https://iftfintech.testsbi.sberbank.ru:9443
Промышленный контур
https://fintech.sberbank.ru:9443
Ресурс /v1/bank-control-statements/change-curr-contracts
Ресурс позволяет создать заявление о внесении изменений в I раздел ВБК (валютный контракт с нерезидентом) в Банке через SberBusinessAPI (Fintech API) по собственной/дочерней организации.
Шаги
1. Получить AccessToken.
2. Сформировать ЭП.
3. Отправить запрос.
4. Получить статус.
Для создания запроса на регистрацию документа необходимо отправить POST-запрос (/v1/bank-control-statements/change-curr-contracts), в котором передать авторизационный токен к данным собственной/дочерней организации (Access Token) и реквизиты документа. Авторизационный токен передается в параметре Authorization заголовка запроса.
Чтобы получить доступ к ресурсу, необходимо передать в scope сервис BANK_CONTROL_STATEMENT_CHANGE_APPLICATION
.
Модель запроса и ответа
Наименование | Описание |
---|---|
Параметры заголовка | |
Authorization (String) | Access token собственной/дочерней организации, полученный через SSO Пример: Bearer 8190f687-c916-453b-9d68-0ce22f4f3f9d-1 |
Параметры тела запроса | |
CurrContractChangeApplication { | |
amount (number, optional) | Сумма контракта , |
bankComment (string, optional, read only) | Банковский комментарий к статусу документа , |
bankControlStatementChangeApplicationInfo (BankControlStatementChangeApplicationInfo) | Информация о заявлении о внесении изменений в I раздел ВБК , |
bankStatus (string, optional, read only) | Статус документа , |
contractDate (string) | Дата контракта , |
contractEndDate (string, optional) | Дата окончания обязательств по контракту , |
contractNumber (string, optional) | Номер контракта , |
currencyCode (string, optional) | Цифровой код валюты контракта , |
date (string) | Дата составления документа , |
digestSignatures (Array[Signature], optional) | Электронные подписи по дайджесту документа , |
nonResidents (Array[BankControlStatementNonResident], optional) | Информация о нерезидентах , |
number (string, optional) | Номер документа |
}BankControlStatementChangeApplicationInfo { | |
authPersonName (string) | ФИО ответственного лица , |
authPersonTelfax (string) | Телефон ответственного лица , |
basisDocs (Array[BankControlStatementChangeBasisDoc], optional) | Документы-основания для внесения изменений , |
bfAttachments (Array[BfAttachment], optional) | Прикрепленные большие файлы, |
contentInfo (string, optional) | Информация об изменениях При переуступке валютного контракта физическому лицу - резиденту, в данном поле необходимо указать информацию о физ.лице - резиденте в следующем порядке: Переуступка физическому лицу - резиденту; <ФИО>; <ИНН>; <Субъект Российской Федерации>, <Район, город>, <Населенный пункт>, <Улица (проспект, переулок и т. д.)>, <Дом (владение)>, <Корпус (строение)>, <Офис (квартира)> При данном виде изменения необходимо обязательно добавить подтверждающие документы во вложение (блок BfAttachment) , |
contractExternalId (string) | Идентификатор изменяемого контракта в организации-партнере , |
externalId (string) | Идентификатор документа в организации-партнере , |
inUSRLE (boolean) | Изменения в ЕГРЮЛ/ЕГРИП , |
prolongation (boolean) | Пролонгация |
}Signature { | |
base64Encoded (string) | Значение электронной подписи, закодированное в Base64 , |
certificateUuid (string) | Уникальный идентификатор сертификата ключа проверки электронной подписи (UUID) |
}BankControlStatementNonResident { | |
countryCode (string) | Цифровой код страны , |
countryName (string) | Наименование страны , |
name (string) | Наименование иностранного контрагента |
}BankControlStatementChangeBasisDoc { | |
date (string) | Дата документа-основания , |
number (string, optional) | Номер документа-основания |
}BfAttachment { | |
fileId (string, optional) | Уникальный идентификатор файла , |
fileName (string, optional, read only) | Имя файла |
} |
Пример запроса
{
"amount":1.01,
"bankComment":"string",
"bankControlStatementChangeApplicationInfo":{
"authPersonName":"Иванов Иван Иванович",
"authPersonTelfax":"4955005550",
"basisDocs":[
{
"date":"2018-12-31",
"number":"2222222222"
}
],
"bfAttachments":[
{
"fileId":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6",
"fileName":"SB_7718830000_40702810038290010000_T18.txt"
}
],
"contentInfo":"Требуются изменения в связи с пролонгацией по условиям договора",
"contractExternalId":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6",
"externalId":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6",
"inUSRLE":false,
"prolongation":false
},
"bankStatus":"string",
"contractDate":"2018-12-31",
"contractEndDate":"2018-12-31",
"contractNumber":"123АБВ",
"currencyCode":"840",
"date":"2018-12-31",
"digestSignatures":[
{
"base64Encoded":"HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w==",
"certificateUuid":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"
}
],
"nonResidents":[
{
"countryCode":"643",
"countryName":"РОССИЯ",
"name":"Kazan"
}
],
"number":"1"
}
В случае, если необходимо:
Удалить бизнес-данные - отправляется параметр со значением null "a": null
Удалить json объект:
- отправляется json объект в виде "creditAttractions": [{"a": 1}, null, {"b": 1}]
- сортировка объектов в массиве должна соответствовать сортировке в контракте, которую требуется изменить
- новый объект в массив добавляется последним.
Изменить бизнес-данные - отправляется параметр/объект с измененными значениями
Добавить бизнес-данные - добавить параметр со значением НЕ null
Заявление о внесении изменений, в котором абсолютно все бизнес-данные соответствуют валютному контракту, обработано не будет, т.е. документ должен содержать дельту.
Передача электронной подписи вместе с документом
Для передачи ЭП под документом используется массив digestSignatures, в котором передаются элементы типа Signature (все поля обязательны):
Наименования поля | Описания поля | Пример |
---|---|---|
base64Encoded (string) | Значение ЭП документа | HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w== |
certificateUuid (string) | Идентификатор сертификата, использованного при создании ЭП ( можно узнать, обратившись к ресурсу /v1/crypto) | 22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6 |
Для документов, создаваемых по собственным счетам, можно передать одну или две электронных подписей (или не передавать при отсутствии ЭП) вместе с реквизитами создаваемого документа.
Если ЭП передана/ы в API, то они сохраняются вместе с документом, а сам документ продвигается дальше по своему жизненному циклу.
Если ЭП не была/и передана/ы, то документ сохраняется в своем начальном статусе и ожидает дальнейшего подписания в интерфейсе СББОЛ.
Документ может быть подписан следующими наборами подписей:
- одна (единственная) подпись;
- первая и вторая подписи.
При этом подписант, обладающий полномочием единственной подписи, не может «сочетаться» с подписантом, владеющим первой или второй подписью.
Очередность наложения ЭП при наложении первой и второй подписей не имеет значения, состав полей дайджеста не изменяется. Тип подписи указывается в настройках криптопрофиля, когда пользователь Партнера создается в Банке.
Алгоритм сортировки дайджеста
Теги дайджеста должны быть отсортированы по алфавиту.
В таблице bfAttachments UUID-ы сортируются по возрастанию.
В таблице NonResidents данные сортируются аналогично сортировке в исходном документе.
В дайджесте не указываются значения Number и блок linkedDocs.
Формат дайджеста
Наименование поля | Описание поля | Пример |
---|---|---|
amount | Сумма контракта | 1.00 |
bankControlStatementChangeApplicationInfo.authPersonName | ФИО ответственного лица | Шагов Вадим Юрьевич |
bankControlStatementChangeApplicationInfo.authPersonTelfax | Телефон ответственного лица | 79161965789 |
bankControlStatementChangeApplicationInfo.contentInfo | Информация об изменениях | Требуются изменения в связи с пролонгацией по условиям договора |
bankControlStatementChangeApplicationInfo.contractExternalId | Идентификатор документа, по которому отправляется ЗОВИ | 11a6dd81-103a-4r3a-8e9b-0ba4b527f5f6 |
bankControlStatementChangeApplicationInfo.externalId | Идентификатор документа в организации-партнере | 22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6 |
bankControlStatementChangeApplicationInfo.inUSRLE | Изменения в ЕГРЮЛ/ЕГРИП | true |
bankControlStatementChangeApplicationInfo.prolongation | Пролонгация | true |
contractDate | Дата кредитного договора | 29.11.2018 |
contractEndDate | Дата окончания обязательств по кредитному договору | 29.11.2022 |
contractNumber | Номер контракта | 123АБВ |
currencyCode | Цифровой код валюты контракта | 840 |
date | Дата создания документа по местному времени в формате YYYY-MM-DD | 29.03.2019 |
Table=BasisDocs | Значения указываются при наличии даты документы и номера документа или только даты | |
date | Дата документа-основания | 12.03.2019 |
number | Номер документа-основания | 2222222222 |
# | Разделитель значений UUID-ов больших файлов | |
Table=BfAttachments | Значение указывается при наличии UUID-ов больших файлов | |
fileId | UUID больших файлов | 31663ef5-7975-4016-b0f3-f1d70a4e9c22 |
# | Разделитель значений UUID-ов больших файлов | |
Table=NonResidents | Таблица с нерезидентами | |
countryCode | Цифровой код страны нерезидента | |
countryName | Наименование страны | |
name | Наименование нерезидента | |
# |
Пример дайджеста
amount=1.00
bankControlStatementChangeApplicationInfo.authPersonName=Иванов Иван Иванович
bankControlStatementChangeApplicationInfo.authPersonTelfax=4955005550
bankControlStatementChangeApplicationInfo.contentInfo=Требуются изменения в связи с пролонгацией по условиям договора
bankControlStatementChangeApplicationInfo.contractExternalId=1e86c524-4c7b-4bbb-9af5-eb86d22760bd
bankControlStatementChangeApplicationInfo.externalId=d48d95e9-ae3e-491e-a9b3-53d6d5bc683b
bankControlStatementChangeApplicationInfo.inUSRLE=false
bankControlStatementChangeApplicationInfo.prolongation=false
collateralAmount=1.01
contractDate=2020-06-08
contractEndDate=2019-12-31
contractNumber=123АБВ
creditPayPeriodCode=1
currencyCode=840
currencyEarningsAmount=1.01
date=2020-06-08
hasDirectInvesting=false
increaseRate=1.0100
liborRate=Л06
otherPayments=АБВ123
transferAmount=1.01
TABLES
Table=BasisDocs
date=2020-06-08
number=2222222222
#
Table=CredRepayPayments
condition=АБВ123
currencyCode=840
interestAmount=1.01
interestDate=2020-06-08
#
Table=CreditAttractions
amount=1.01
nonResidentCountryCode=643
nonResidentName=Kazan
#
Table=NonResidents
countryCode=398
countryName=КАЗАХСТАН
name=KAZAH
#
countryCode=036
countryName=АВСТРАЛИЯ
name=COMPANY3
#
Table=Tranches
amount=1.01
currencyCode=840
entryDate=2020-06-08
periodCode=1
#
Ресурс /v1/bank-control-statements/change-curr-cred-contracts
Ресурс позволяет создать заявление о внесении изменений в раздел I ВБК (кредитный договор с нерезидентом) в Банке через SberBusinessAPI (Fintech API) по собственной/дочерней организации.
Шаги
1. Получить AccessToken.
2. Сформировать ЭП.
3. Отправить запрос.
4. Получить статус.
Для создания запроса на регистрацию документа «Заявление о внесении изменений в раздел I ВБК (кредитный договор с нерезидентом)» необходимо отправить POST-запрос (/v1/bank-control-statements/change-curr-cred-contracts), в котором передать авторизационный токен к данным собственной/дочерней организации (Access Token) и реквизиты документа. Авторизационный токен передается в параметре Authorization заголовка запроса.
Чтобы получить доступ к ресурсу, необходимо передать в scope сервис BANK_CONTROL_STATEMENT_CHANGE_APPLICATION
.
Модель запроса и ответа
Наименование | Описание |
---|---|
Параметры заголовка | |
Authorization (String) | Access token собственной/дочерней организации, полученный через SSO Пример: Bearer daf9a14c-821d-4bde-9c10-0e56e63d54a0-1 |
Параметры тела запроса | |
CurrCredContractChangeApplication { | |
actualDebtAmount (number, optional) | Сумма фактической задолженности по основному долгу, |
amount (number, optional) | Сумма контракта , |
bankComment (string, optional, read only) | Банковский комментарий к статусу документа , |
bankControlStatementChangeApplicationInfo (BankControlStatementChangeApplicationInfo) | Информация о заявлении о внесении изменений в I раздел ВБК , |
bankStatus (string, optional, read only) | Статус документа , |
collateralAmount (number, optional) | Сумма залогового или другого обеспечения , |
contractDate (string) | Дата контракта , |
contractEndDate (string, optional) | Дата окончания обязательств по контракту , |
contractNumber (string, optional) | Номер контракта , |
credRepayPayments (Array[CredRepayPaymentChangeable], optional) | График платежей по кредитному договору , |
creditAttractions (Array[CreditAttractionChangeable], optional) | Привлечение кредита на синдицированной (консорциональной) основе , |
creditPayPeriodCode (string, optional) | Код срока привлечения (предоставления) , |
currFixInterestRate (number, optional) | Фиксированный размер процентной ставки , |
currencyCode (string, optional) | Цифровой код валюты контракта , |
currencyEarningsAmount (number, optional) | Сумма, подлежащая погашению за счет валютной выручки , |
date (string) | Дата составления документа , |
digestSignatures (Array[Signature], optional) | Электронные подписи по дайджесту документа , |
hasDirectInvesting (boolean, optional) | Признак наличия отношений прямого инвестирования , |
increaseRate (number, optional) | Размер процентной надбавки , |
liborRate (string, optional) | Код ставки Libor , |
nonResidents (Array[BankControlStatementNonResident], optional) | Информация о нерезидентах , |
number (string, optional) | Номер документа , |
otherPayments (string, optional) | Иные платежи, предусмотренные кредитным договором , |
otherRateMethod (string, optional) | Описание метода определения ставки , |
tranches (Array[CurrCredTrancheChangeable], optional) | Информация о траншах по кредиту , |
transferAmount (number, optional) | Сумма, подлежащая зачислению на счета за рубежом |
}BankControlStatementChangeApplicationInfo { | |
authPersonName (string) | ФИО ответственного лица , |
authPersonTelfax (string) | Телефон ответственного лица , |
basisDocs (Array[BankControlStatementChangeBasisDoc], optional) | Документы-основания для внесения изменений , |
bfAttachments (Array[BfAttachment], optional) | Прикрепленные большие файлы , |
contentInfo (string, optional) | Информация об изменениях При переуступке валютного кредитного договора физическому лицу - резиденту, в данном поле необходимо указать информацию о физ.лице - резиденте в следующем порядке: Переуступка физическому лицу - резиденту; <ФИО>; <ИНН>; <Субъект Российской Федерации>, <Район, город>, <Населенный пункт>, <Улица (проспект, переулок и т. д.)>, <Дом (владение)>, <Корпус (строение)>, <Офис (квартира)>. При данном виде изменения необходимо обязательно добавить подтверждающие документы во вложение (блок BfAttachment) , |
contractExternalId (string) | Идентификатор изменяемого контракта в организации-партнере , |
externalId (string) | Идентификатор документа в организации-партнере , |
inUSRLE (boolean) | Изменения в ЕГРЮЛ/ЕГРИП , |
prolongation (boolean) | Пролонгация |
}CredRepayPaymentChangeable { | |
condition (string, optional) | Особые условия , |
currencyCode (string) | Цифровой код валюты платежа , |
interestAmount (number, optional) | Сумма платежа по процентам , |
interestDate (string, optional) | Дата платежа (процентный) , |
principalAmount (number, optional) | Сумма платежа по основному долгу , |
principalDate (string, optional) | Дата платежа (основной долг) |
}CreditAttractionChangeable { | |
amount (number, optional) | Сумма привлечения резидентом кредита, предоставленного нерезидентами , |
interestCredit (number, optional) | Доля в общей сумме кредита, % , |
nonResidentCountryCode (string, optional) | Цифровой код страны нерезидента , |
nonResidentName (string, optional) | Наименование нерезидента |
}Signature { | |
base64Encoded (string) | Значение электронной подписи, закодированное в Base64 , |
certificateUuid (string) | Уникальный идентификатор сертификата ключа проверки электронной подписи (UUID) |
}BankControlStatementNonResident { | |
countryCode (string) | Цифровой код страны , |
countryName (string) | Наименование страны , |
name (string) | Наименование иностранного контрагента |
}CurrCredTrancheChangeable { | |
amount (number, optional) | Сумма , |
currencyCode (string, optional) | Цифровой код валюты , |
entryDate (string, optional) | Ожидаемая дата поступления , |
periodCode (string, optional) | Код срока привлечения |
}BankControlStatementChangeBasisDoc { | |
date (string) | Дата документа-основания , |
number (string, optional) | Номер документа-основания |
}BfAttachment { | |
fileId (string, optional) | Уникальный идентификатор файла , |
fileName (string, optional, read only) | Имя файла |
} |
Пример запроса
{
"actualDebtAmount":1.01,
"amount":1.01,
"bankComment":"string",
"bankControlStatementChangeApplicationInfo":{
"authPersonName":"Иванов Иван Иванович",
"authPersonTelfax":"4955005550",
"basisDocs":[
{
"date":"2018-12-31",
"number":"2222222222"
}
],
"bfAttachments":[
{
"fileId":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6",
"fileName":"SB_7718830000_40702810038290010000_T18.txt"
}
],
"contentInfo":"Изменение траншей и процентных платежей по кредитному договору",
"contractExternalId":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6",
"externalId":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6",
"inUSRLE":false,
"prolongation":false
},
"bankStatus":"string",
"collateralAmount":1.01,
"contractDate":"2018-12-31",
"contractEndDate":"2018-12-31",
"contractNumber":"123АБВ",
"credRepayPayments":[
{
"condition":"АБВ123",
"currencyCode":"840",
"interestAmount":1.01,
"interestDate":"2018-12-31",
"principalAmount":1.01,
"principalDate":"2018-12-31"
}
],
"creditAttractions":[
{
"amount":1.01,
"interestCredit":1.01,
"nonResidentCountryCode":"643",
"nonResidentName":"Kazan"
}
],
"creditPayPeriodCode":"1",
"currFixInterestRate":1.01,
"currencyCode":"840",
"currencyEarningsAmount":1.01,
"date":"2018-12-31",
"digestSignatures":[
{
"base64Encoded":"HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w==",
"certificateUuid":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"
}
],
"hasDirectInvesting":false,
"increaseRate":1.01,
"liborRate":"Л06",
"nonResidents":[
{
"countryCode":"643",
"countryName":"РОССИЯ",
"name":"Kazan"
}
],
"number":"1",
"otherPayments":"АБВ123",
"otherRateMethod":"АБВ123",
"tranches":[
{
"amount":1.01,
"currencyCode":"840",
"entryDate":"2018-12-31",
"periodCode":"1"
}
],
"transferAmount":1.01
}
В случае, если необходимо:
Удалить бизнес-данные - отправляется параметр со значением null "a": null
Удалить json объект:
- отправляется json объект в виде "creditAttractions": [{"a": 1}, null, {"b": 1}]
- сортировка объектов в массиве должна соответствовать сортировке в контракте, которую требуется изменить
- новый объект в массив добавляется последним.
Изменить бизнес-данные - отправляется параметр/объект с измененными значениями
Добавить бизнес-данные - добавить параметр со значением НЕ null
Заявление о внесении изменений, в котором абсолютно все бизнес-данные соответствуют валютному контракту, обработано не будет, т.е. документ должен содержать дельту.
Передача электронной подписи вместе с документом
Для передачи ЭП под документом используется массив digestSignatures, в котором передаются элементы типа Signature (все поля обязательны):
Наименования поля | Описания поля | Пример |
---|---|---|
base64Encoded (string) | Значение ЭП документа | HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w== |
certificateUuid (string) | Идентификатор сертификата, использованного при создании ЭП ( можно узнать, обратившись к ресурсу /v1/crypto) | 22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6 |
Для документов, создаваемых по собственным счетам, можно передать одну или две электронных подписей (или не передавать при отсутствии ЭП) вместе с реквизитами создаваемого документа.
Если ЭП передана/ы в API, то они сохраняются вместе с документом, а сам документ продвигается дальше по своему жизненному циклу.
Если ЭП не была/и передана/ы, то документ сохраняется в своем начальном статусе и ожидает дальнейшего подписания в интерфейсе СББОЛ.
Документ может быть подписан следующими наборами подписей:
- одна (единственная) подпись;
- первая и вторая подписи.
При этом подписант, обладающий полномочием единственной подписи, не может «сочетаться» с подписантом, владеющим первой или второй подписью.
Очередность наложения ЭП при наложении первой и второй подписей не имеет значения, состав полей дайджеста не изменяется. Тип подписи указывается в настройках криптопрофиля, когда пользователь Партнера создается в Банке.
Алгоритм сортировки дайджеста
Теги дайджеста должны быть отсортированы по алфавиту.
В таблице bfAttachments UUID-ы сортируются по возрастанию.
В таблице NonResidents данные сортируются аналогично сортировке в исходном документе.
В дайджесте не указываются значения Number и блок linkedDocs.
Формат дайджеста
Наименование поля | Описание поля | Пример |
---|---|---|
actualDebtAmount | Сумма фактической задолженности по основному долгу | 1.00 |
amount | Сумма кредитного договора | 1.00 |
bankControlStatementChangeApplicationInfo.authPersonName | ФИО ответственного лица | Иванов Иван Иванович |
bankControlStatementChangeApplicationInfo.authPersonTelfax | Телефон ответственного лица | 4955005550 |
bankControlStatementChangeApplicationInfo.contentInfo | Информация об изменениях | Изменение траншей и процентных платежей по кредитному договору |
bankControlStatementChangeApplicationInfo.contractExternalId | Идентификатор документа, по которому отправляется ЗОВИ | |
bankControlStatementChangeApplicationInfo.externalId | Идентификатор документа в организации-партнере | c18835bc-c43e-425c-80ba-354d62094e93 |
bankControlStatementChangeApplicationInfo.inUSRLE | Наименование организации клиента | ООО "ТЕСТ" |
bankControlStatementChangeApplicationInfo.prolongation | ИНН организации клиента | 7707083893 |
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 |
liborRate | Код ставки Libor | Л06 |
Заполняется, если interestRateMethod=1 | ||
otherPayments | Иные платежи, предусмотренные кредитным договором | АБВ123 |
otherRateMethod | Описание метода определения ставки | АБВ123 |
transferAmount | Сумма, подлежащая зачислению на счета за рубежом | 1.00 |
TABLES | Значение указывается при наличии UUID-ов больших файлов или данных по платежам/траншам/нерезидентам | |
Table=BasicDocs | Документы-основания для внесения изменений в ВБК | |
date | Дата документа-основания | 26.09.2019 |
number | Номер документа-основания | 12 |
Table=BfAttachments | Значение указывается при наличии UUID-ов больших файлов | |
fileId | UUID БФ | 853b4bf6-2c6e-4020-a18f-289df39f78b8 |
# | Разделитель | |
Table=CredRepayPayments | График платежей по кредитному договору | |
condition | Особые условия | АБВ123 |
currencyCode | Цифровой код валюты | USD |
interestAmount | Сумма платежа по процентам | 1.00 |
interestDate | Дата платежа (процентный) | 26.09.2019 |
principalAmount | Сумма платежа по основному долгу | 1.00 |
principalDate | Дата платежа (основной долг) | 26.09.2019 |
# | ||
Table=CreditAttractions | Привлечение кредита на синдицированной (консорциональной) основе | |
amount | Сумма | 1.00 |
currencyCode | Цифровой код валюты | 840 |
interestCredit | Доля в общей сумме кредита, % | 1.00 |
nonResidentCountryCode | Цифровой код страны нерезидента | 38 |
nonResidentName | Наименование нерезидента | Kazan |
# | Разделитель | |
Table=NonResidents | ||
countryCode | Цифровой код страны | 38 |
countryName | Наименование страны | Казахстан |
name | Наименование нерезидента | Kazan |
# | Разделитель | |
Table=Tranches | Информация о траншах по кредиту | |
amount | Сумма транша | 1.00 |
currencyCode | Цифровой код валюты транша | 840 |
entryDate | Ожидаемая дата поступления | 26.09.2019 |
periodCode | Код срока привлечения | 1 |
# | Разделитель |
Пример дайджеста
actualDebtAmount=1.00
amount=1.00
bankControlStatementChangeApplicationInfo.authPersonName=Иванов Иван Иванович
bankControlStatementChangeApplicationInfo.authPersonTelfax=4955005550
bankControlStatementChangeApplicationInfo.contentInfo=Изменение траншей и процентных платежей по кредитному договору
bankControlStatementChangeApplicationInfo.contractExternalId=1e86c524-4c7b-4bbb-9af5-eb86d22760bd
bankControlStatementChangeApplicationInfo.externalId=d48d95e9-ae3e-491e-a9b3-53d6d5bc683b
bankControlStatementChangeApplicationInfo.inUSRLE=false
bankControlStatementChangeApplicationInfo.prolongation=false
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
liborRate=Л06
otherPayments=АБВ123
otherRateMethod=АБВ123
transferAmount=1.00
TABLES
Table=BasicDocs
date=2019-09-26
number=123АБВ
#
Table=BfAttachments
fileId=853b4bf6-2c6e-4020-a18f-289df39f78b8
#
Table=CredRepayPayments
condition=АБВ123
currencyCode=840
interestAmount=1.00
interestDate=2019-09-26
principalAmount=1.00
principalDate=2019-09-26
#
Table=CreditAttractions
amount=1.00
currencyCode=840
interestCredit=1.00
nonResidentCountryCode=038
nonResidentName=Kazan
#
Table=NonResidents
countryCode=038
countryName=Казахстан
name=Kazan
#
Table=Tranches
amount=1.00
currencyCode=840
entryDate=2019-09-26
periodCode=1
#
Ресурс /v1/bank-control-statements/change-applications/{externalId}/state
Ресурс позволяет получить статус документа отправленного в Банк.
Шаги
1. Получить AccessToken.
2. Отправить запрос
Для создания запроса на получения статуса документа «Заявление о внесении изменений в раздел I ВБК» необходимо отправить GET-запрос (/v1/bank-control-statements/change-applications/{externalId}/state), в котором передать авторизационный токен к данным собственной/дочерней организации (Access Token) и идентификатор документа (externalId). Авторизационный токен передается в параметре Authorization заголовка запроса.
Чтобы получить доступ к ресурсу, необходимо передать в scope сервис BANK_CONTROL_STATEMENT_CHANGE_APPLICATION
.
Модель запроса
Наименование | Описание |
---|---|
Параметры заголовка | |
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://edupirfintech.sberbank.ru:9443/fintech/api/v1/bank-control-statements/change
applications/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 | Выгружен |
PARTSIGNED | Частично подписан. Документ не отправлен в банк, требуется подпись |
SIGNED | Подписан. Документ не отправлен в банк, требуется отправка |
TRIED_BY_CFE | Проверяется ВК |
Окончательные статусы/Прекратить опрос | |
CHECKERROR | ЭД не прошел логические контроли при приеме на стороне Банка |
INVALIDEDS | ЭП/АСП не верна |
REQUISITEERROR | Ошибка реквизитов |
REFUSEDBYABS | Отказан АБС |
REFUSED_BY_CFE | Отказан ВК |
UNABLE_TO_SEND_ATT | Ошибка выгрузки в ЕСМ |
Окончательные(Успешные) статусы/Прекратить опрос | |
ACCEPTED_BY_CFE | Принят ВК |
Дополнительная информация
Подписание запроса транспортной подписью
Content-Type может содержать одно из двух значений:
- application/json – запрос без подписи
- application/jose – запрос, подписанный транспортной подписью
Если Content-Type имеет значение application/jose, то запрос должен содержать данные (реквизитный состав платежного документа) в виде компактной сериализации RFC 7515: JSON Web Signature (JWS).
JWS состоит из:
1. Заголовка (Header)
2. JSON-документа с реквизитным составом платежного поручения (Payload)
3. Подписи запроса (Signature)
Формирование компактной сериализации JWS
JWS формируется из трех составляющих:
Base64Url(Header) || ’.’ || Base64Url(Payload) || ’.’ || Base64Url(Signature)
Signature - это подпись данных приватной частью ключевой пары клиента (используется приватный ключ парный сертификату клиента с UUID, указанному в Заголовке (Header) в параметре kid).
Подпись вычисляется по алгоритму указанному в Заголовке (Header) в параметре alg, в данном случае gost34.10-2012, и вычисляется от исходных данных:
Base64Url(Header) || ‘.’ || Base64Url(Payload).
Формирование исходных данных для вычисления подписи описано в спецификации RFC 7515: JSON Web Signature (JWS).
Следует отметить, что при кодировании JWS используется преобразование Base64Url, отличающееся от Base64 преобразования.
Условно это преобразование можно представить следующим образом:
Base64Url(x) := Base64(x).Split(‘=’)[0].Replace(‘+’, ’-’).Replace(‘/’, ’_’)
здесь функция Split(x), разбивает строку на части ([i] означает взятие i–ой части), используя символ разделитель x, функция Replace(x,y) заменяет все вхождения символа x на символ y.
Преобразование BASE64URL, отличается от BASE64 преобразования:
- Используются другие вспомогательные символы Base 64 Encoding with URL and Filename Safe Alphabet.
BASE64URL | BASE64 |
---|---|
- (minus) | + |
_ (underline) | / |
- В BASE64URL не используется (опускается) padding, т.е. не добавляются знаки ‘=’ на конце закодированного содержимого Padding of Encoded Data.
В ответе на запрос сервер возвращает JSON-документ, который содержит реквизитный состав подготовленного черновика рублевого платежного поручения в статусе Создан.
Коды возврата
Код возврата | Описание кода возврата | Причина возникновения | |
---|---|---|---|
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 | ||
Операция не может быть выполнена: доступ к ресурсу запрещен | У пользователя нет прав на использование соответствующего сервиса SberBusinessAPI, доступ к которому не предусмотрен настройками scope; У пользователя отсутствует оферта с внешним сервисом. | ||
415 | JWS_EXCEPTED | ||
В соответствии с текущими настройками сервиса с clientId=%s необходимо использовать запрос в формате JWS Compact Serialization | Ошибка возникает, если в настройках внешних сервисов выставлен флаг "Требуется подпись для внешнего сервиса" | ||
500 | UNKNOWN_EXCEPTION | ||
Внутренняя ошибка сервера | |||
503 | UNAVAILABLE_RESOURCE_EXCEPTION | ||
Сервис временно недоступен | Проводятся технические работы |