Создание сведений о валютной операции
Для создания СВО необходимо отправить POST-запрос /fintech/api/v1/currency-operation-details с токеном доступа (access_token) пользователя в параметре Authorization заголовка и реквизитами документа в теле.
В параметре scope ссылки авторизации пользователя должен быть указан сервис CURRENCY_OPERATION_DETAILS для получения доступа к этому запросу.
- Если в запросе на создание заявления передать ЭП к документу (объект digestSignatures), то Банк сразу начнет обработку документа.
- Если в запросе не передавать ЭП к документу, то заявление будет создано в статусе черновик. Для начала обработки документа Банком потребуется зайти в интерфейс СберБизнес и подписать его.
Дайджест это текстовый документ, содержащий перечень и значения полей запроса, к которому он относится и предназначенный для подписания ЭЦП. Сохраняйте порядок и количество полей дайджеста, как показано в примере ниже, иначе подписать его не получится.
Формат дайджеста:
Если в запросе contractNumberType = 2, то в дайджесте необходимо указать passportNumber.
| Наименование поля | Описание поля | Пример |
|---|---|---|
| accountNumber | Номер счета | 40702810123643875107 |
| addInfo | Дополнительная информация | Дополнительная информация |
| authPersonName | ФИО ответственного лица | Иванов Иван Иванович |
| authPersonTelfax | Телефон ответственного лица | +7 123 1456 56 56 |
| bankNonResidentCountryName | Наименование страны | СОЕДИНЕННОЕ КОРОЛЕВСТВО |
| bankNonResidentCountryNumericCode | Код страны | 826 |
| correction | Признак корректировки | false |
| correctionNumber | Номер корректировки | 1 |
| currencyDocDate | Дата валютного документа | 2019-05-16 |
| currencyDocNumber | Номер валютного документа | 54321 |
| currencyDocType | Тип валютного документа | PayDocCur |
| date | Дата документа | 2019-05-16 |
| externalId | Идентификатор документа в организации-партнере | 75d8d497-05cc-4cc6-9b78-070ae0a605fd |
| isAccountInOtherBank | Признак счета в другом банке | false |
| isNumberAbsent | Признак отсутствия номера валютного документа | false |
| paymentAmount.amount | Сумма платежа | 2.02 |
| paymentAmount.currencyCode | Цифровой код валюты платежа | 840 |
| paymentAmount.currencyName | ISO код валюты платежа | USD |
| paymentDirection | Направление платежа | 1 |
| senderInn | ИНН клиента | 7582099944 |
| senderName | Полное наименование клиента | Организация NyJurbsIJTXzRTL |
| senderOkpo | ОКПО клиента | 1350995802 |
| TABLES | Значение указывается при наличии UUID-ов больших файлов или Операций | |
| Table=BfAttachments | Значение указывается при наличии UUID-ов больших файлов | |
| fileId | UUID больших файлов | 08ba3412-118a-4f4d-be23-e93f81d58fdc |
| # | Разделитель строк таблицы | |
| fileId | UUID больших файлов | 81ff03ad-bceb-4a8a-b5bf-8c8439519bab |
| # | Разделитель строк таблицы | |
| Table=Operations | Значение указывается при наличии операций | |
| additionalInfo | Дополнительная информация | Примечание |
| amount.amount | Сумма платежа | 2.02 |
| amount.currencyCode | Цифровой код валюты платежа | 840 |
| amount.currencyName | ISO код валюты платежа | USD |
| contractDate | Дата договора | 2019-05-16 |
| contractNumber | Номер договора | 123 |
| contractNumberType | Тип заполнения номера договора | 0 |
| creditAmount.amount | Сумма договора | 33.33 |
| creditAmount.currencyCode | Цифровой код валюты договора | 840 |
| creditAmount.currencyName | ISO код валюты договора | USD |
| dataComposition | Состав предоставляемой информации | 3 |
| expectedDate | Ожидаемый срок | 2019-05-16 |
| operationCode | Код вида валютной операции | 20300 |
| operationCodeDescription | Описание валютной опе рации | Оплата нерезидента резиденту по договору аренды движимого или недвижимого имущества |
| operationReason | Основание проведения операции | 1 |
| passportNumber | Уникальный номер контракта (кредитного договора) | 120123A0/1234/GU23/1/2 |
| paymentConditions | Условия расчета | 1 |
| serialNumber | Номер по порядку | 0 |
Пример дайджеста:
accountNumber=40702810123643875107
addInfo=Дополнительная информация
authPersonName=Иванов Иван Иванович
authPersonTelfax=+7 123 1456 56 56
bankNonResidentCountryName=СОЕДИНЕННОЕ КОРОЛЕВСТВО
bankNonResidentCountryNumericCode=826
correction=false
correctionNumber=1
currencyDocDate=2019-05-16
currencyDocNumber=54321
currencyDocType=PayDocCur
date=2019-05-16
externalId=75d8d497-05cc-4cc6-9b78-070ae0a605fd
isAccountInOtherBank=false
isNumberAbsent=false
paymentAmount.amount=2.02
paymentAmount.currencyCode=840
paymentAmount.currencyName=USD
paymentDirection=1
senderInn=7582099944
senderName=Организация NyJurbsIJTXzRTL
senderOkpo=1350995802
TABLES
Table=BfAttachments
fileId=08ba3412-118a-4f4d-be23-e93f81d58fdc
#
fileId=81ff03ad-bceb-4a8a-b5bf-8c8439519bab
#
Table=Operations
additionalInfo=Примечание
amount.amount=2.02
amount.currencyCode=840
amount.currencyName=USD
contractDate=2019-05-16
contractNumber=123
contractNumberType=0
creditAmount.amount=33.33
creditAmount.currencyCode=840
creditAmount.currencyName=USD
dataComposition=3
expectedDate=2019-05-16
operationCode=20300
operationCodeDescription=Оплата нерезидента резиденту по договору аренды движимого или недвижимого имущества
operationReason=1
passportNumber=120123A0/1234/GU23/1/
paymentConditions=1
serialNumber=0
#
При тестировании создания сведений о валютной операции в Песочнице соблюдайте правила:
- Не нужно устанавливать промышленные сертификаты электронной подписи (ЭП) — Песочница использует тестовые идентификаторы ЭП (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 ресурса. Скорректируйте заполнение атрибутов и повторите запрос. |
| WORKFLOW_FAULT | Документ с такими реквизитами уже существует | В АС Банка также присутствует проверка на дублирование документов по полям. Если поля совпадают с уже существующим в банке документом, то такой документ получает статус "bankStatus": "CHECKERROR", а комментарий "bankComment": "Документ с такими реквизитами уже существует." |
| VALIDATION_FAULT | Ошибка валидации | Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request ресурса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |
"Не авторизован"
| Cause | Message | Description |
|---|---|---|
| UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |
| Некорректное значение Access Token | Указан некорректный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |
"Запрещено"
| Cause | Message | Description |
|---|---|---|
| ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция CURRENCY_OPERATION_DETAILS. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |
"Превышен лимит запросов"
| Cause | Message | Description |
|---|---|---|
| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |
"Внутренняя ошибка сервера"
| Cause | Message | Description |
|---|---|---|
| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
"Сервис временно недоступен"
| Cause | Message | Description |
|---|---|---|
| UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |