Создание валютного контракта с нерезидентом (ВБК в банк)
Для создания заявления на регистрацию ВК необходимо отправить POST-запрос /fintech/api/v1/bank-control-statements/reg-curr-contracts с токеном доступа (access_token) пользователя в параметре Authorization заголовка и реквизитами на регистрацию контракта.
В параметре scope ссылки авторизации пользователя должен быть указан сервис BANK_CONTROL_STATEMENT для получения доступа к этому запросу.
- Если в запросе на создание заявления передать ЭП к документу (объект digestSignatures), то Банк сразу начнет обработку документа.
- Если в запросе не передавать ЭП к документу, то заявление будет создано в статусе черновик. Для начала обработки документа Банком потребуется зайти в интерфейс СберБизнес и подписать его.
Дайджест это текстовый документ, содержащий перечень и значения полей запроса, к которому он относится и предназначенный для подписания ЭЦП. Сохраняйте порядок и количество полей дайджеста, как показано в примере ниже, иначе подписать его не получится.
Формат дайджеста:
| Наименование поля | Описание поля | Пример |
|---|---|---|
| amount | Сумма контракта | 1.01 |
| bankControlStatementInfo.authPersonName | ФИО ответственного лица | Петров Петр Иванович |
| bankControlStatementInfo.authPersonTelfax | Телефон ответственного лица | 79263689379 |
| bankControlStatementInfo.creationMode | Режим создания ВБК | ICS_CONTRACT_REGISTRATION |
| bankControlStatementInfo.currencyName | Буквенный ISO-код валюты договора | USD |
| bankControlStatementInfo.externalId | Идентификатор документа в организации-партнере | 550e8400-e29b-41d4-a716-446655440000 |
| contractDate | Дата договора | 2019-05-16 |
| contractEndDate | Дата договора | 2019-05-16 |
| contractNumber | Номер контракта | 2442 |
| contractType | Код вида контракта, заполняемый для экспортных контрактов при представлении сведений по контракту без контракта (Режим создания ВБК) | MULTI_CONTRACT |
| currencyCode | Цифровой код валюты договора | 840 |
| date | Дата создания документа по местному времени | 2019-05-16 |
| TABLES | Значение указывается при наличии UUID-ов больших файлов или данных о нерезидентах | |
| Table=BfAttachments | Значение указывается при наличии UUID-ов больших файлов | |
| fileId | UUID больших файлов | 31663ef5-7975-4016-b0f3-f1d70a4e9c22 |
| # | Разделитель значений UUID-ов больших файлов | |
| fileId | UUID больших файлов | 51663ef5-7975-4016-b0f3-f1d70a4e9c22 |
| # | Разделитель значений UUID-ов больших файлов | |
| Table=NonResidents | ||
| countryCode | Цифровой код страны иностранного контрагента | 38 |
| countryName | Наименование страны иностранного контрагента | Казахстан |
| name | Наименование иностранного контрагента | Kazan |
| # | Разделитель нерезидентов |
Пример дайджеста:
amount=1.01
bankControlStatementInfo.authPersonName=Иванов Иван Иванович
bankControlStatementInfo.authPersonTelfax=4955005550
bankControlStatementInfo.creationMode=ICS_CONTRACT_REGISTRATION
bankControlStatementInfo.currencyName=USD
bankControlStatementInfo.externalId=16d6a46e-e05f-48eb-ac69-a44980ae64cf
contractDate=2019-09-26
contractEndDate=2019-09-26
contractNumber=123АБВ
contractType=MULTI_CONTRACT
currencyCode=840
date=2019-09-26
TABLES
Table=NonResidents
countryCode=038
countryName=Казахстан
name=Kazan
#
При тестировании создания валютного контракта с нерезидентом в Песочнице соблюдайте правила:
- Не нужно устанавливать промышленные сертификаты электронной подписи (ЭП) — Песочница использует тестовые идентификаторы ЭП (certificateUuid).
- Все остальные поля запроса заполняйте произвольными данными (реквизиты, суммы) в соответствии с требованиями в документации.
Сценарии тестирования
Для тестирования сценариев используйте фиксированные значения certificateUuid. При использовании любых других значений certificateUuid вернется ошибка INVALIDEDS.
1. Чтобы создать черновик ВБК, отправьте запрос без объекта digestSignatures.
2. Для отправки документа с единственной или двумя подписями передайте в объекте digestSignatures тестовые certificateUuid.
Параметры:
- bb014b5d-8159-40be-97c1-eafeed4a8c3d (единственная подпись)
- d5d4f811-f4d4-4205-a70f-58f772eeab72 (первая подпись)
- 4f29c8ef-b55d-43c7-a321-f2b1303a29cd (вторая подпись)
Статус в ответе: bankStatus: "EXPORTED"
Пример:
#Единственная подпись
"digestSignatures": [
\{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c3d",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
#Первая и вторая подпись
"digestSignatures": [
\{
"certificateUuid": "d5d4f811-f4d4-4205-a70f-58f772eeab72",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\},
\{
"certificateUuid": "4f29c8ef-b55d-43c7-a321-f2b1303a29cd",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
Запрос
Ответы
Создан
Операция не завершена полностью
"Ошибка в запросе или его жизненном цикле"
| Cause | Message | Description |
|---|---|---|
| DESERIALIZATION_FAULT | Неверный формат запроса | Данные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в response в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request запроса. Скорректируйте заполнение атрибутов и повторите запрос. |
| VALIDATION_FAULT | Ошибка валидации | Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request запроса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |
"Не авторизован"
| Cause | Message | Description |
|---|---|---|
| UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |
"Запрещено"
| Cause | Message | Description |
|---|---|---|
| ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция BANK_CONTROL_STATEMENT. Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |
Превышен лимит запросов
"Внутренняя ошибка сервера"
| Cause | Message | Description |
|---|---|---|
| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
"Сервис временно недоступен"
| Cause | Message | Description |
|---|---|---|
| UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |