Создание заявления на изменение лимита бизнес-карты (/v1/business-cards/limits)
https://fintech.sberbank.ru:9443/fintech/api/v1/business-cards/limits
Ресурс /v1/business-cards/limits
позволяет создавать документ: «Заявления на изменение лимита бизнес-карты». Документ можно создать без подписи в виде черновика либо сразу с подписью. Банк начинает обработку заявления при наличии подписи.
Для создания заявления на изменение лимита по бизнес-карте необходимо отправить POST-запрос /v1/business-cards/limits
с токеном доступа (access_token) пользователя в параметре Authorization заголовка и реквизиты заявления в теле запроса.
В параметре scope ссылки авторизации пользователя должен быть указан сервис BUSINESS_CARD_LIMIT
для получения доступа к этому ресурсу.
Для обращения к ресурсу необходимо отправлять запрос на:
- Промышленный контур
https://fintech.sberbank.ru:9443/fintech/api
Request
/v1/business-cards/limits
- Модель
- Пример
Наименование | Тип | Формат | Regexp | Обязательность | Описание |
---|---|---|---|---|---|
HEADER | |||||
Authorization | string | string | ^([a-zA-Z0-9]){38}$ | required | Access token пользователя, полученный через SSO. |
BODY | |||||
BusinessCardLimitChange { | |||||
businessCardId | string | UUID | ^([0-9A-Fa-f]{8})-([0-9A-Fa-f]{4})-([0-9A-Za-z]{4})-([0-9A-Fa-f]{12})$ | required | Идентификатор бизнес-карты, |
code | string | string | ^[a-zA-Z0-9._ -]{1,19}$ Актуальный список значений можно получить с помощью справочника CorpCardLimitType | required | Код лимита, |
digestSignatures | Array[Signature] | optional | Электронные подписи по дайджесту документа, | ||
externalId | string | UUID | ^([0-9A-Fa-f]{8})-([0-9A-Fa-f]{4})-([0-9A-Za-z]{4})-([0-9A-Fa-f]{12})$ | required | Внешний идентификатор заявления на изменение лимита, |
limit | number | float | ^[0-9]+(.[0-9]+)?$ | required | Размер лимита на период |
} | |||||
Signature [ | |||||
{ | |||||
base64Encoded | string | base64 | ^[a-zA-Z0-9]+$ | optional | Значение электронной подписи (ЭП), закодированное в Base64. Можно передать одну или две ЭП вместе с реквизитами создаваемого документа - ссылка на ЭП. Если ЭП передана/ы в API, то они сохраняются вместе с документом, а сам документ продвигается дальше по своему жизненному циклу. Если ЭП не была/и передана/ы, то документ сохраняется в своем начальном статусе и ожидает дальнейшего подписания в интерфейсе СберБизнес, |
certificateUuid | string | UUID | ^([0-9A-Fa-f]{8})-([0-9A-Fa-f]{4})-([0-9A-Za-z]{4})-([0-9A-Fa-f]{12})$ | optional | Уникальный идентификатор сертификата ключа проверки электронной подписи |
} | |||||
] |
POST /fintech/api/v1/business-cards/limits HTTP/1.1
Content-Type: application/json
Authorization: Bearer 2cd2bb31-cee5-4b1d-8a31-581c9200931c-2
{
"businessCardId": "ccf62938-cbda-4785-a008-12bd300bef80",
"code": "NON_RENEW",
"digestSignatures": [
{
"base64Encoded": "HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w==",
"certificateUuid": "22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"
}
],
"externalId": "9c95a4e5-26a0-478c-ae56-6c1686f53a06",
"limit": 1.01
}
digestSignatures
Передача электронной подписи
Передача электронной подписи (ЭП) осуществляется с использованием массива digestSignatures, где каждый элемент представляет собой подпись (Signature). Каждая подпись должна содержать следующие обязательные поля:
Наименование поля | Описание поля | Пример |
---|---|---|
base64Encoded (string) | Значение ЭП документа | HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w== |
certificateUuid (string) | Идентификатор сертификата, использованного при создании ЭП (можно узнать, обратившись к ресурсу /v1/crypto или /v1/crypto/eio) | 22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6 |
В документе можно передать одну или две электронных подписи вместе с реквизитами создаваемого документа. Если подписи переданы через API, то они сохраняются вместе с документом, а сам документ продолжает свой жизненный цикл. Если подписи не были переданы, то документ сохраняется в начальном статусе и ожидает дальнейшей подписи в интерфейсе СберБизнес.
Документ может быть подписан следующими наборами подписей:
- одна (единственная) подпись;
- первая и вторая подписи.
При этом нельзя сочетать подпись, имеющую единственное полномочие, с подписью, имеющей первую или вторую подписи.
Порядок наложения подписи не имеет значения при наложении первой и второй подписей. Состав полей дайджеста не изменяется. Тип подписи указывается в настройках криптопрофиля при создании пользователя в СберБизнес.
Алгоритм сортировки
- Поля дайджеста должны быть отсортированы по алфавиту.
- Разделитель строк должен быть в формате unix (одиночный \n).
- Последняя строка дайджеста не должна содержать перевод строки.
- Перевод строк должен быть экранирован как \n.
Формат дайджеста
- Формат
- Пример
Наименование поля | Описание поля | Пример |
---|---|---|
businessCardId | Идентификатор бизнес-карты | ccf62938-cbda-4785-a008-12bd300bef80 |
limit | Размер лимита на период | 2650000.00 |
code | Код лимита | NON_RENEW |
externalId | Идентификатор заявления | 31663ef5-7975-4016-b0f3-f1d70a4e9c22 |
businessCardId=31663ef5-7975-4016-b0f3-f1d70a4e9c22
code=NON_RENEW
externalId=31663ef5-7975-4016-b0f3-f1d70a4e9c22
limit=2650000.00
Responses
201 (Created)
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
BusinessCardLimitChangeRes { | |||
bankComment | string | optional | Банковский комментарий к статусу документа, |
bankStatus | string | optional | Статус документа, |
businessCardId | string | required | Идентификатор бизнес-карты, |
code | string | required | Код лимита, |
date | string | required | Дата составления документа, |
digestSignatures | Array[Signature] | optional | Электронные подписи по дайджесту документа, |
externalId | string | required | Внешний идентификатор заявления на изменение лимита, |
limit | number | required | Размер лимита на период, |
number | string | required | Номер документа |
} | |||
Signature [ | |||
{ | |||
base64Encoded | string | optional | Значение электронной подписи (ЭП), закодированное в Base64. Можно передать одну или две ЭП вместе с реквизитами создаваемого документа - ссылка на ЭП. Если ЭП передана/ы в API, то они сохраняются вместе с документом, а сам документ продвигается дальше по своему жизненному циклу. Если ЭП не была/и передана/ы, то документ сохраняется в своем начальном статусе и ожидает дальнейшего подписания в интерфейсе СберБизнес, |
certificateUuid | string | optional | Уникальный идентификатор сертификата ключа проверки электронной подписи |
} | |||
] |
HTTP/1.1 201 Created
Content-Type: application/json;charset=UTF-8
{
"bankComment": "string",
"bankStatus": "string",
"businessCardId": "22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6",
"code": "NON_RENEW",
"date": "2018-12-31",
"digestSignatures": [
{
"base64Encoded": "HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w==",
"certificateUuid": "22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"
}
],
"externalId": "22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6",
"limit": 1.01,
"number": "1"
}
202 (Accepted)
Cause | Message | Description |
---|---|---|
WORKFLOW_FAULT | Документ сохранен, но обработка ЭП или принятие документа завершились ошибкой. ЭП не может быть принята | Неизвестный идентификатор сертификата. Проверьте корректность отправленной ЭП в запросе. Возможно, была отправлена ЭП с типом "Первая подпись" или "Вторая подпись". Для случаев, когда используется ЭП подписантов с типом "Первая подпись" или "Вторая подпись" для принятия документа в обработку требуется передать в запросе данные обеих подписей. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
WorkflowFault { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор ошибки (UUID), |
message | string | optional | Сообщение, |
checks | Array[Check] | optional | Список проверок, приведших к ошибке, |
fieldNames | Array[string] | optional | Названия полей с некорректным значением (только для VALIDATION_FAULT) |
} | |||
Check [ | |||
{ | |||
level | string | optional | Уровень результата = ['ERROR', 'WARNING'], |
message | string | optional | Сообщение, |
fields | Array[string] | optional | Названия полей (при наличии связи с моделью) |
} | |||
] |
HTTP/1.1 202 Accepted
Content-Type: application/json;charset=UTF-8
{
"cause": "WORKFLOW_FAULT",
"referenceId": "3412e029-9d97-461b-b22a-93c490e804ba",
"message": "Документ сохранен, но обработка ЭП или принятие документа завершились ошибкой. ЭП не может быть принята",
"checks": [
{
"level": "ERROR",
"message": "Неизвестный идентификатор сертификата: 22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6",
"fields": []
}
],
"fieldNames": null
}
400 (Bad request)
Cause | Message | Description |
---|---|---|
DESERIALIZATION_FAULT | Неверный формат запроса | Данные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в responce в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request ресурса. Скорректируйте заполнение атрибутов и повторите запрос. |
VALIDATION_FAULT | Ошибка валидации | Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request ресурса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
ResourceFault { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор ошибки (UUID), |
message | string | optional | Сообщение, |
checks | Array[Check] | optional | Список проверок, приведших к ошибке, |
fieldNames | Array[string] | optional | Названия полей с некорректным значением (только для VALIDATION_FAULT) |
} | |||
Check [ | |||
{ | |||
level | string | optional | Уровень результата = ['ERROR', 'WARNING'], |
message | string | optional | Сообщение, |
fields | Array[string] | optional | Названия полей (при наличии связи с моделью) |
} | |||
] |
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
{
"cause": "VALIDATION_FAULT",
"referenceId": "0d6a80ba-7d35-4858-8443-9a77039ad9f1",
"message": "Параметр \"externalId\" не соответствует регулярному выражению: [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",
"checks": [],
"fieldNames": null
}
401 (Unauthorized Error)
Cause | Message | Description |
---|---|---|
UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор ошибки (UUID), |
message | string | optional | Сообщение, |
} |
HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=UTF-8
{
"cause": "UNAUTHORIZED",
"referenceId": "014ec3a1-3e41-4805-9e22-d07947b012af",
"message": "accessToken not found by value = 3513f959-bbd5-490a-9f9f-67fb7380fae5-2"
}
403 (Forbidden)
Cause | Message | Description |
---|---|---|
ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В строке аутентификации СберБизнес ID, в параметре scope, не указана операция BUSINESS_CARD_LIMIT . Необходимо добавить эту операцию в scope. Пользователю потребуется пройти аутентификацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор ошибки (UUID), |
message | string | optional | Сообщение, |
} |
HTTP/1.1 403 Forbidden
Content-Type: application/json;charset=UTF-8
{
"cause": "ACTION_ACCESS_EXCEPTION",
"referenceId": "7535c2bb-7706-4b16-9882-d68aedbf2fef",
"message": "Операция не может быть выполнена: доступ к ресурсу запрещен"
}
500 (Internal Server Error)
Cause | Message | Description |
---|---|---|
UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор ошибки (UUID), |
message | string | optional | Сообщение, |
} |
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
{
"cause": "UNKNOWN_EXCEPTION",
"referenceId": "9e209109-4b0d-408c-a2fd-e1983c20a65d",
"message": "Внутренняя ошибка сервера"
}
503 (Service Temporarily Unavailable)
Cause | Message | Description |
---|---|---|
UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор ошибки (UUID), |
message | string | optional | Сообщение, |
} |
HTTP/1.1 503 Service Temporarily Unavailable
Content-Type: application/json;charset=UTF-8
{
"cause": "UNAVAILABLE_RESOURCE_EXCEPTION",
"referenceId": "9e209109-4b0d-408c-a2fd-e1983c20a67d",
"message": "Внутренняя ошибка сервера"
}