Сведения о валютной операции
Для обращения к ресурсу необходимо отправлять запрос на:
Тестовый контур
https://iftfintech.testsbi.sberbank.ru:9443
Промышленный контур
https://fintech.sberbank.ru:9443
Ресурс /v1/currency-operation-details
Ресурс позволяет создать документ Сведения о валютных операциях (далее СВО). Документ может быть отправлен по собственной/дочерней организации.
Шаги
1. Получить AccessToken.
2. Сформировать ЭП.
3. Отправить запрос.
4. Получить статус.
Для создания документа необходимо отправить POST-запрос (/v1/currency-operation-details), в котором передать авторизационный токен к данным собственной/дочерней организации (Access Token) и реквизиты СВО. Авторизационный токен передается в параметре Authorization заголовка запроса.
Чтобы получить доступ к ресурсу, необходимо передать в scope сервис CURRENCY_OPERATION_DETAILS
.
Модель запроса и ответа
Наименование | Описание |
---|---|
Параметры заголовка | |
Authorization (String) | Access token собственной/дочерней организации, полученный через SSO Пример: Bearer 8190f687-c916-453b-9d68-0ce22f4f3f9d-1 |
Параметры запроса | |
CurrencyOperationDetails { | |
acceptDate (string, optional, read only) | Дата представления в банк , |
accountNumber (string) | Номер счета , 20 символов |
addInfo (string, optional) | Дополнительная информация , 2000 Символов |
authPersonName (string, optional) | ФИО ответственного лица , 60 символов |
authPersonTelfax (string, optional) | Телефон ответственного лица , 40 символов |
bankComment (string, optional, read only) | Банковский комментарий к статусу документа , |
bankNonResidentCountryName (string, optional) | Наименование страны , 255 Символов |
bankNonResidentCountryNumericCode (string, optional) | Код страны, 3 цифры , |
bankStatus (string, optional, read only) | Статус документа , |
bfAttachments (Array[BfAttachment], optional) | Приложенные к документу отсканированные образы-вложения - для АС БФ , |
correction (boolean) | Признак корректировки , |
correctionNumber (integer, optional) | Порядковый номер корректировки, integerMax. Value: 999 |
currencyDocDate (string, optional) | Дата валютного документа , YYYY-MM-DD |
currencyDocNumber (string, optional) | Номер документа по валютной операций , 100 символов |
currencyDocType (string, optional) | Тип валютного документа = ['MandatorySale', 'PayDocCur', 'PayDocRu', 'CurrencyNotices'] stringEnum: "MandatorySale", "PayDocCur", "PayDocRu", "CurrencyNotices", |
date (string) | Дата составления документа , YYYY-MM-DD |
digestSignatures (Array[Signature], optional) | Электронные подписи по дайджесту документа , |
executorEmployeeName (string, optional, read only) | Должность ответственного лица , |
executorName (string, optional, read only) | Подпись ответственного лица , |
externalId (string) | Идентификатор документа, присвоенный партнером (UUID) , 36 символов , |
failReasons (Array[FailReason], optional, read only) | Причины отказа , |
isAccountInOtherBank (boolean) | Признак счета в другом банке , |
isNumberAbsent (boolean) | Признак отсутствия номера валютного документа , |
linkedDocs (Array[LinkedDoc], optional) | Cвязанные документы , |
number (string, optional) | Номер документа , 7 символов |
operationDate (string, optional) | Дата операции , YYYY-MM-DD , |
operations (Array[CurrencyOperationDetailsDoc]) | Документы валютного контроля , |
paymentAmount (AmountCurrency) | Сумма и валюта платежа , |
paymentDirection (string) | Направление платежа = ['1', '2'] stringEnum: "1", "2", 1-зачисление, 2-списание |
senderInn (string) | ИНН резидента, указываемый в документе , 5 , 10 или 12 цифр , |
senderName (string) | Полное наименование организации, указываемое в документе , до 1024 символов , |
senderOkpo (string) | ОКПО клиента, указываемый в документе , от 8 до 10 цифр , |
valueDate (string, optional, read only) | Дата принятия/возврата |
}BfAttachment { | |
fileId (string, optional) | Уникальный идентификатор файла , |
fileName (string, optional, read only) | Имя файла |
}Signature { | |
base64Encoded (string) | Значение электронной подписи, закодированное в Base64 , |
certificateUuid (string) | Уникальный идентификатор сертификата ключа проверки электронной подписи (UUID), 36 символов |
}FailReason { | |
docField (string, optional) | Поле документа , |
reasonComment (string, optional) | Правило заполнения/замечания , |
reasonId (string, optional) | Код причины отказа, |
returnComment (string, optional) | Комментарий |
}LinkedDoc { | |
docExtId (string) | Идентификатор документа во внешней системе (UUID) , 36 символов |
type (string) | Тип связанного документа , от 1 до 50 символов |
}CurrencyOperationDetailsDoc { | |
additionalInfo (string, optional) | Примечание , 300 символов |
amount (AmountCurrency) | Сумма платежа , от 0.01 , |
contractDate (string, optional) | Дата договора , YYYY-MM-DD |
contractNumber (string, optional) | Номер договора. Указывается обязательно если contractNumberType = 0 или 1 , до 100 цифр , |
contractNumberType (string, optional) | Тип указание номера договора = ['0', '1', '2'] stringEnum: "0", "1", "2", Тип указания номера договора: 0 - Указывается номеру и дата договора 1 - Указывается только дата договора 2 - Указывается уникальный номер контракта (кредитного договора) |
creditAmount (AmountCurrency, optional) | Сумма платежа в валюте цены контракта (кредитного договора) , Сумма и код валюты договора Заполнение блока не требуется, если сумма и валюта договора совпадает с суммой и валютой платежа |
dataComposition (string, optional) | Состав предоставляемой информации = ['1', '2', '3', '4', '5', '6', '8'] stringEnum: "1", "2", "3", "4", "5", "6", "8", Состав предоставляемой информации: 1 - Информация об Уникальном номере контракта 2 - Документы, связанные с проведением операции (кредитного договора) 3 - Информация о коде вида операции 4 - Информация о Коде вида операции + Информация об Уникальном номере контракта 5 - Документы, связанные с проведением операции + Информация об Уникальном номере контракта 6 - Документы, связанные с проведением операции представлены ранее 8 - Сведения Уполномоченного банка о проведении операции с указанием Уникального номера контракта (кредитного договора) |
expectedDate (string, optional) | Ожидаемый срок , YYYY-MM-DD Значение expectedDate должно быть >= contractDate |
operationCode (string) | Код вида валютной операции , 5 Символов |
operationCodeDescription (string) | Описание валютной операции , 2000 Символов |
operationReason (string) | Основание проведения операции = ['1', '2', '3', '4'] stringEnum: "1", "2", "3", "4", Основание проведения операции: 1 - Контракт (кредитный договор) с нерезидентом, сумма которого ≤ 600 000 рублей РФ 2 - Контракт (кредитный договор) с нерезидентом, не требующий постановки на учет, сумма которого > 600 000 рублей РФ 3 - Контракт (кредитный договор), поставленный на учет в банке. 4 - Иные |
passportNumber (string, optional) | Уникальный номер контракта (кредитного договора) , указывается обязательно, если contractNumberType = 2 ([0-9]{2}((0[1-9])|(1[0-2]))[0-9] {2}[0-9A-Z]{1}[0-9]{1}/)[0-9]{4}/ ([G][U][0-9]{2}|[0-9]{4})/([1234569]/)[0-3] |
paymentConditions (string, optional) | Условия расчета = ['0', '1'] stringEnum: "0", "1", 0 - Аванс 1 - По факту |
serialNumber (integer) | Номер по порядку, 3 символа |
}AmountCurrency { | |
amount (number) | Сумма , Number(18, 2) |
currencyCode (string) | Цифровой код валюты , 3 символа |
currencyName (string) | Буквенный ISO-код валюты, 3 символа |
} |
Пример запроса
{
"accountNumber":"40802840600000200000",
"addInfo":"Дополнительная информация",
"authPersonName":"Иванов Иван Иванович",
"authPersonTelfax":"4955005550",
"bankNonResidentCountryName":"РОССИЯ",
"bankNonResidentCountryNumericCode":"643",
"bfAttachments":[
{
"fileId":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"
}
],
"correction":false,
"correctionNumber":0,
"currencyDocDate":"2018-12-31",
"currencyDocNumber":"123",
"currencyDocType":"PayDocCur",
"date":"2018-12-31",
"digestSignatures":[
{
"base64Encoded":"HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w==",
"certificateUuid":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"
}
],
"externalId":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6",
"isAccountInOtherBank":false,
"isNumberAbsent":false,
"linkedDocs":[
{
"docExtId":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6",
"type":"PayDocCur"
}
],
"number":"1",
"operationDate":"2018-12-31",
"operations":[
{
"additionalInfo":"Дополнительная информация",
"amount":{
"amount":1.01,
"currencyCode":"840",
"currencyName":"USD"
},
"contractDate":"2018-12-31",
"contractNumber":"123",
"contractNumberType":"0",
"creditAmount":{
"amount":1.01,
"currencyCode":"840",
"currencyName":"USD"
},
"dataComposition":"1",
"expectedDate":"2018-12-31",
"operationCode":"20300",
"operationCodeDescription":"Оплата нерезидента резиденту по договору аренды движимого или недвижимого имущества",
"operationReason":"1",
"passportNumber":"120123A0/1234/GU23/1/2",
"paymentConditions":"0",
"serialNumber":1
}
],
"paymentAmount":{
"amount":1.01,
"currencyCode":"840",
"currencyName":"USD"
},
"paymentDirection":"1",
"senderInn":"7707083893",
"senderName":"Общество с ограниченной ответственностью \"Клиент\"",
"senderOkpo":"222221001"
}
Алгоритм сортировки дайджеста
Если в запросе contractNumberType = 2, то в дайджесте необходимо указать passportNumber.
Теги дайджеста должны быть отсортированы по алфавиту, в формировании дайджеста не участвует поля таблицы linkedDocs и поле number.
Если значение поля не определено, то тег в дайджесте не используется.
В таблице BfAttachments строки сортируются по возрастанию fileId.
В таблице Operations строки сортируются по возрастанию serialNumber.
Передача электронной подписи вместе с документом
Передача электронной подписи (ЭП) осуществляется с использованием массива digestSignatures, где каждый элемент представляет собой подпись (Signature). Каждая подпись должна содержать следующие обязательные поля:
Наименование поля | Описание поля | Пример |
---|---|---|
base64Encoded (string) | Значение ЭП документа | HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w== |
certificateUuid (string) | Идентификатор сертификата, использованного при создании ЭП (можно узнать, обратившись к ресурсу /v1/crypto или /v1/crypto/eio) | 22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6 |
В документе можно передать одну или две электронных подписи вместе с реквизитами создаваемого документа. Если подписи переданы через API, то они сохраняются вместе с документом, а сам документ продолжает свой жизненный цикл. Если подписи не были переданы, то документ сохраняется в начальном статусе и ожидает дальнейшей подписи в интерфейсе СберБизнес.
Документ может быть подписан следующими наборами подписей:
- одна (единственная) подпись;
- первая или вторая подписи.
При этом нельзя сочетать подпись, имеющую единственное полномочие, с подписью, имеющей первую или вторую подписи.
Состав полей дайджеста не изменяется. Тип подписи указывается в настройках криптопрофиля при создании пользователя в СберБизнес.
Подробнее о работе с ЭЦП в Sber API можно ознакомиться в соответствующем разделе документации.
Формат дайджеста
Наименование поля | Описание поля | Пример |
---|---|---|
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
#
Ресурс /v1/currency-operation-details/{externalId}/state
Ресурс позволяет получить статус ранее отправленного электронного документа.
Шаги
1. Получить AccessToken.
2. Отправить запрос
Для получения статуса документа необходимо отправить GET-запрос (/v1/currency-operation-details/{externalId}/state), в котором передать авторизационный токен к данным собственной/дочерней организации (Access Token) и идентификатор документа (externalId). Авторизационный токен передается в параметре Authorization заголовка запроса.
Чтобы получить доступ к ресурсу, необходимо передать в scope сервис CURRENCY_OPERATION_DETAILS
.
Модель запроса
Наименование | Описание |
---|---|
Параметры заголовка | |
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/currency
operation-details/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 | Создан |
CREATED_CS | Создан КЦ |
DELIVERED | Доставлен |
EXPORTED | Выгружен |
IMPORTED | Импортирован |
PARTSIGNED | Частично подписан |
SIGNED | Подписан |
TRIED_BY_CFE | Проверяется ВК |
TEMPLATE | Шаблон документа |
Окончательные статусы/Прекратить опрос | |
CHECKERROR | Ошибка контроля |
INVALIDEDS | ЭП/АСП не верна |
REQUISITEERROR | Ошибка реквизитов |
REFUSEDBYABS | Отказан АБС |
REFUSED_BY_CFE | Отказан ВК |
TRIED | Проверен |
UNABLE_TO_RECEIVE | Ошибка при приеме |
Окончательные(Успешные) статусы/Прекратить опрос | |
ACCEPTED_BY_CFE | Принят ВК |
IMPLEMENTED | Исполнен |
Ресурс /v1/currency-operation-details/{externalId}
Метод позволяет получить ранее отправленный электронный документ с информацией о причинах возврата/отказа электронного документа.
Шаги
1. Получить AccessToken.
2. Отправить запрос.
Для получения документа необходимо отправить GET-запрос (/v1/currency-operation-details/{externalId}), в котором передать авторизационный токен к данным собственной/дочерней организации (Access Token) и идентификатор документа (externalId). Авторизационный токен передается в параметре Authorization заголовка запроса.
Чтобы получить доступ к ресурсу, необходимо передать в scope сервис CURRENCY_OPERATION_DETAILS
.
Модель запроса и ответа
Наименование | Описание |
---|---|
Параметры заголовка | |
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/currency-operation-details/22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6'
Модель ответа
Соответствует модели запроса и ответа /v1/currency-operation-details
Ресурс /v1/bank-control-statements/{externalId}/linked-docs-list
Ресурс позволяет получить, связанные с валютным контрактом (кредитным контрактом), СВО по собственной/дочерней организации.
Шаги
1. Получить AccessToken.
2. Отправить запрос.
Для получения документа необходимо отправить GET-запрос (/v1/bank-control-statements/{externalId}/linked-docs-list), в котором необходимо передать авторизационный токен к данным собственной организации/дочерней организации (Access Token), внешний идентификатор документа (externalId) и тип возвращаемых документов docType (СВО). Авторизационный токен передается в параметре Authorization заголовка запроса.
Чтобы получить доступ к ресурсу, необходимо передать в scope сервис BANK_CONTROL_STATEMENT
.
Модель запроса
Наименование | Описание |
---|---|
Параметры заголовка | |
Authorization | String Access token, полученный через SSO. Пример: Bearer f8ad3141-b7e8-4924-92de-3de4fd0a464e-1 |
Параметры запроса | |
externalId | String Идентификатор документа, присвоенный сервисом |
docType | String Тип требуемого к возврату валютного документа CurrencyOperationDetails - СВО |
Пример запроса
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/69ec14cf-48bf-4119-804b
49bedc72047d/linked-docs-list?docType=СurrencyOperationDetails'
Модель ответа
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 | |
Сервис временно недоступен | Проводятся технические работы |