Совершить B2B/B2P-перевод
Схема работы функциональности
Шаги
- Получить access_token
- Получить данные для перевода
- Получить размер комиссии
- Создать заявление на перевод
- Получить статус заявления
Usecase
Участники
- Сотрудник - представитель ЮЛ/ИП, на которого была выпущена бизнес-карта и который имеет пользовательский профиль в СберБизнес своей компании (наличие права подписи необязательно);
- Платформа - любое программное обеспечение для внутреннего использования компании или web-ресурс (интернет-магазин, мобильное приложение и т.д.), который Вы используете в рамках клиентского пути Клиентов;
- СберБизнес ID - единая учетная запись пользователя ЮЛ/ИП, используемая для регистрации и входа пользователей в продукты и сервисы Банка и партнеров Sber API;
- Банк - в контексте usecase включает в себя ресурсы Sber API и любые службы ПАО "Сбербанк";
Предусловия
- Сотрудник авторизован на Платформе
- Сотрудник находится на Платформе
Постусловия
- Осуществлен перевод с бизнес-карты на другую карту
- Процесс получения access_token необходимо реализовать с помощью сервиса СберБизнес ID.
Получение информации по бизнес-картам (/v1/corporate-cards)
https://fintech.sberbank.ru:9443/fintech/api/v1/corporate-cards
Ресурс /v1/corporate-cards
позволяет получить информацию по всем бизнес-картам конкретного пользователя, чей access_token используется для запроса.
Для получения списка бизнес-карт пользователя необходимо отправить GET-запрос /v1/corporate-cards
с токеном доступа (access_token) пользователя в параметре Authorization заголовка.
В параметре scope ссылки авторизации пользователя должен быть указан сервис CORPORATE_CARDS
для получения доступа к этому ресурсу.
Для обращения к ресурсу необходимо отправлять запрос на:
- Промышленный контур
https://fintech.sberbank.ru:9443/fintech/api
Request
/v1/corporate-cards
- Модель
- Пример
Наименование | Тип | Формат | Regexp | Обязательность | Описание |
---|---|---|---|---|---|
HEADER | |||||
Authorization | string | string | ^([a-zA-Z0-9]){38}$ | required | Access token пользователя, полученный через SSO. |
GET /fintech/api/v1/corporate-cards HTTP/1.1
Authorization: Bearer 1382b8bc-4dff-4f07-8cba-c2593e05f2f7-2
Responses
200 (OK)
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Inline Model [ | |||
Inline Model 1 | Array[Inline Model 1] | required | Перечень всех бизнес-карт сотрудника |
] | |||
Inline Model 1 { | |||
account | string | optional | Номер счета, к которому привязана карта, |
cardExpiredDate | string | optional | Дата окончания действия карты, |
cardIssuedDate | string | optional | Дата выдачи карты, |
cardPan | string | optional | Номер карты, |
cardType | string | optional | Тип карты, |
corpCardId | string | optional | Идентификатор бизнес-карты, |
embossedText | string | optional | Эмбоссированный текст, |
limits | Array[CorpCardLimit] | optional | Лимиты по карте |
} | |||
CorpCardLimit [ | |||
{ | |||
amount | number | optional | Значение лимита, |
code | string | optional | Код типа лимита |
} | |||
] |
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
[
{
"account": "40802810600000200000",
"cardExpiredDate": "2018-12-31",
"cardIssuedDate": "2018-12-31",
"cardPan": "484349******8524",
"cardType": "Visa Business Credit",
"corpCardId": "22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6",
"embossedText": "EMBOSSED ORG",
"limits": [
{
"amount": 1.01,
"code": "T_MN_BUS"
}
]
}
]
400 (Bad request)
Cause | Message | Description |
---|---|---|
DESERIALIZATION_FAULT | Неверный формат запроса | Данные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в responce в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request ресурса. Скорректируйте заполнение атрибутов и повторите запрос. |
VALIDATION_FAULT | Ошибка валидации | Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request ресурса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |
WORKFLOW_FAULT | Для внешнего сервиса недоступны операции по счету: номер счета | Для Платформы недоступны операции по счету: - счет не добавлен в список разрешенных в оферте; - счет указан неверно. Отсутствует доступный открытый рублевый расчетный счет. |
Не найден тип карты название типа карты для платежной системой название платежной системы | Для указанного типа бизнес-карты нет возможности выпуска с указанной платежной системой. Проверьте на сайте Банка доступные платежные системы для требуемого типа бизнес-карты. | |
Не найден тип карты название типа карты | Для параметра typeName используется значение не из справочника СorpCardType. Получите корректные доступные значения для параметра, используя ресурс /v1/dicts |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
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, не указана операция CORPORATE_CARDS . Необходимо добавить эту операцию в 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": "Внутренняя ошибка сервера"
}
Шифрование номера бизнес-карты
В поле receiverCardNumber не допускается передача номера карты получателя в открытом виде, значение номера карты должно быть обязательно зашифровано. Номер карты перед шифрованием не должен содержать пробелов и спецсимволов. Получившуюся строку необходимо зашифровать, используя алгоритм RSA шифрования "RSA/OAEP" с ключом длиной 2048.
RSA/OAEP (Optimal Asymmetric Encryption Padding) - это алгоритм шифрования, разработанный для улучшения безопасности и защиты от атак на основе подобранных открытых текстов в асимметричных системах шифрования. RSA/OAEP использует ключ длиной 2048 бит, что является достаточно длинным и сложным для обеспечения безопасности.
Алгоритм RSA/OAEP состоит из следующих шагов:
- Генерация ключей: Выбираются два больших простых числа p и q. Затем вычисляются n = pq и phi(n) = (p-1)(q-1). Выбирается произвольное число e, взаимно простое с phi(n)+1, и вычисляется d, такое что ed ≡ 1 (mod φ(n)+1). Открытые ключи состоят из n и e, а секретные ключи - из n, d и phi(n).
- Шифрование: Данные разбиваются на блоки, каждый из которых имеет длину меньше n. Затем каждый блок данных представляется в виде числа в интервале от 0 до n-1. Для каждого блока данных выбирается случайное число l, такое что 1 ≤ l ≤ n-2. Затем выбирается функция хэширования, такая как SHA-256 или SHA-3, и вычисляется дайджест сообщения (hash) H.
- Создание расширенного сообщения: Расширенное сообщение представляет собой строку, состоящую из трех частей: сначала идет l нулевых битов, затем l битов из дайджеста сообщения, и наконец, l битов данных.
- Кодирование расширенного сообщения: Используется функция кодировщика, которая берет расширенное сообщение и преобразует его в строку символов, представляющих числа от 0 до n-1, используя таблицу символов.\
- Шифрование: Зашифрованное сообщение получается путем умножения кодированного расширенного сообщения на e по модулю n.
- Дешифрирование: Для дешифрирования используется секретный ключ, и зашифрованное сообщение умножается на d по модулю n. Полученное значение преобразуется обратно в строку, и удаляются лишние нулевые биты.
Таким образом, алгоритм RSA/OAEP обеспечивает улучшенную безопасность по сравнению с обычным RSA за счет использования оптимального асимметричного шифрования и кодирования расширенного сообщения.
Пример: Строка перед шифрованием - 0000000000000000
Зашифрованная строка - HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT
Список открытых ключей для шифрования номера бизнес-карты по алгоритму RSA/ECB/OAEPWithSHA-1AndMGF1Padding:
Стенд | Сертификат RSA |
---|---|
Пром контур: https://sbi.sberbank.ru:9443 | Скачать |
Выбор способа перевода
В зависимости от типа перевода (перевод B2B или B2P) карта получателя может быть указана разными способами.
Переводы B2P
Переводы с бизнес-карт Сбера физическому лицу могут осуществляться с помощью:
- Указания номера карты получателя (любая карта ПАО Сбербанк и других банков-эмитентов РФ). В этом случае в заявлении на перевод заполняется поле receiverCardNumber, а receiverPhoneNumber не заполняется;
- Указания номера телефона получателя (карта ФЛ ПАО Сбербанк). В этом случае в заявлении на перевод должно заполняться поле receiverPhoneNumber (формат заполнения поля: 79000000000), а receiverCardNumber не заполняется.
Переводы B2B
В случае перевода с бизнес-карты Сбера юридическому лицу перевод осуществляется только с указанием номера карты получателя (любая карта ПАО Сбербанк и других банков-эмитентов РФ). В заявлении на перевод заполняется поле receiverCardNumber, а receiverPhoneNumber не заполняется.
Получение комиссии за перевод (/v1/business-cards/transfer/commission)
https://fintech.sberbank.ru:9443/fintech/api/v1/business-cards/transfer/commission
Ресурс /v1/business-cards/transfer/commission
позволяет получать актуальный размер комиссии за перевод между бизнес-картами. Значение комиссии, которое возвращается в ответе на запрос, должно использоваться далее при формировании заявления на перевод между бизнес-картами.
Для получения размера комиссии за перевод отправить POST-запрос /v1/business-cards/transfer/commission
с токеном доступа (access_token) пользователя в параметре Authorization заголовка и реквизитами перевода для расчета комиссии в теле запросе.
В параметре scope ссылки авторизации пользователя должен быть указан сервис BUSINESS_CARDS_TRANSFER
для получения доступа к этому ресурсу.
Для обращения к ресурсу необходимо отправлять запрос на:
- Промышленный контур
https://fintech.sberbank.ru:9443/fintech/api
Request
/v1/business-cards/transfer/commission
- Модель
- Пример
Наименование | Тип | Формат | Regexp | Обязательность | Описание |
---|---|---|---|---|---|
HEADER | |||||
Authorization | string | string | ^([a-zA-Z0-9]){38}$ | required | Access token пользователя, полученный через SSO. |
BODY | |||||
BusinessCardCommissionRequest { | |||||
amount | number | float | ^[0-9]+(.[0-9]+)?$ | required | Сумма перевода в рублях, |
receiverCardNumber | string | base64 | ^[a-zA-Z0-9]+$ | optional | Зашифрованный номер карты получателя, |
receiverPhoneNumber | string | string | ^7\d{10}$ | optional | Номер телефона получателя, |
senderBusinessCardId | string | UUID | ^([0-9A-Fa-f]{8})-([0-9A-Fa-f]{4})-([0-9A-Za-z]{4})-([0-9A-Fa-f]{12})$ | required | ID карты-отправителя. senderBusinessCardId = BusinessCardId = corpCardId. Идентификатор бизнес-карты вы получили на предыдущем шаге с помощью ресурса /v1/corporate-cards |
} |
POST /fintech/api/v1/business-cards/transfer/commission HTTP/1.1
Authorization: Bearer f8ad3141-b7e8-4924-92de-3de4fd0a464e-1
Content-Type: application/json
{
"amount": 1000.00,
"receiverCardNumber": "HlaeIHXXEcGT1bFxo1NlpAzpr+kJ224S0mPfVCU75sieOMt71TBS7w==",
"senderBusinessCardId": "8ad3141-b7e8-4924-92de-3de4fd0a464e-1"
}
Responses
200 (OK)
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
BusinessCardCommissionRequest { | |||
amount | number | required | Сумма перевода в рублях, |
commission | number | required | Размер комиссии в рублях, |
receiverCardNumber | string | optional | Зашифрованный номер карты получателя, |
receiverPhoneNumber | string | optional | Номер телефона получателя, |
senderBusinessCardId | string | required | ID карты-отправителя |
} |
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"amount": 1000.00,
"commission": 25,
"receiverCardNumber": "HlaeIHXXEcGT1bFxo1NlpAzpr+kJ224S0mPfVCU75sieOMt71TBS7w==",
"senderBusinessCardId": "8ad3141-b7e8-4924-92de-3de4fd0a464e-1"
}
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": "WORKFLOW_FAULT",
"referenceId": "1f132a7b-17f2-45ed-a1de-ed209a615419",
"message": "При запросе на получении комиссии возникла ошибка {Error: Операция в данный момент недоступна, попробуйте повторить позднее.; 804}",
"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_CARDS_TRANSFER . Необходимо добавить эту операцию в 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": "Внутренняя ошибка сервера"
}
Отправка заявления на перевод между бизнес-картами (/v1/business-cards/transfer)
https://fintech.sberbank.ru:9443/fintech/api/v1/business-cards/transfer
Ресурс /v1/business-cards/transfer
позволяет создавать документ «Заявление на перевод между бизнес-картами». Документ можно создать без подписи в виде черновика либо сразу с подписью. Банк начинает обработку заявления при наличии подписи.
Для создания заявления за перевод отправить POST-запрос /v1/business-cards/transfer
с токеном доступа (access_token) пользователя в параметре Authorization заголовка и реквизитами перевода в теле запросе.
В параметре scope ссылки авторизации пользователя должен быть указан сервис BUSINESS_CARDS_TRANSFER
для получения доступа к этому ресурсу.
Операции перевода по бизнес-карте может выполнять только собственник карты (cardholder). Для создания заявления на перевод по бизнес-карте потребуется:
- Access_token пользователя-владельца бизнес-карты
- Идентификатор бизнес-карты (businessCardId)
- Реквизиты перевода
- Данные ЭП пользователя-владельца бизнес-карты
- Учетная запись СберБизнес пользователя-владельца бизнес-карты (чей access_token будем использовать в запросе) должна быть с типом «Единственная подпись» и ролью, которая позволяет работать с бизнес-картами
Для обращения к ресурсу необходимо отправлять запрос на:
- Промышленный контур
https://fintech.sberbank.ru:9443/fintech/api
Request
/v1/business-cards/transfer
- Модель
- Пример
Наименование | Тип | Формат | Regexp | Обязательность | Описание |
---|---|---|---|---|---|
HEADER | |||||
Authorization | string | string | ^([a-zA-Z0-9]){38}$ | required | Access token пользователя, полученный через SSO. |
BODY | |||||
BusinessCardsTransfer { | |||||
amount | number | float | ^[0-9]+(.[0-9]+)?$ | required | Сумма перевода в рублях, |
commission | number | float | ^[0-9]+(.[0-9]+)?$ | 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 | Внешний идентификатор заявления на перевод, |
purpose | string | string | ^[a-zA-Z0-9]+$ | required | Назначение перевода, |
receiverCardNumber | string | base64 | ^[a-zA-Z0-9]+$ | optional | Зашифрованный номер карты получателя, |
receiverPhoneNumber | string | string | ^7\d{10}$ | optional | Номер телефона получателя, |
senderBusinessCardId | string | UUID | ^([0-9A-Fa-f]{8})-([0-9A-Fa-f]{4})-([0-9A-Za-z]{4})-([0-9A-Fa-f]{12})$ | required | ID карты-отправителя. senderBusinessCardId = BusinessCardId = corpCardId. Идентификатор бизнес-карты вы получили на предыдущем шаге с помощью ресурса /v1/corporate-cards |
} | |||||
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/transfer HTTP/1.1
Authorization: Bearer 44f2022d-f097-42dc-b95a-f9bc5b83b957-2
Content-Type: application/json
{
"amount": 1.01,
"commission": 1.01,
"digestSignatures": [
{
"base64Encoded": "HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w==",
"certificateUuid": "22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"
}
],
"externalId": "22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6",
"purpose": "Иванов Иван Ильич, 1234 987654; ПСА №123 от 01.01.2020; лом стальной, 123 кг, 15000 руб./т.; без НДС",
"receiverCardNumber": "HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w==",
"senderBusinessCardId": "22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"
}
digestSignatures
Передача электронной подписи
Передача электронной подписи (ЭП) осуществляется с использованием массива digestSignatures, где каждый элемент представляет собой подпись (Signature). Каждая подпись должна содержать следующие обязательные поля:
Наименование поля | Описание поля | Пример |
---|---|---|
base64Encoded (string) | Значение ЭП документа | HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w== |
certificateUuid (string) | Идентификатор сертификата, использованного при создании ЭП (можно узнать, обратившись к ресурсу /v1/crypto или /v1/crypto/eio ) | 22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6 |
В документе можно передать одну или две электронных подписи вместе с реквизитами создаваемого документа. Если подписи переданы через API, то они сохраняются вместе с документом, а сам документ продолжает свой жизненный цикл. Если подписи не были переданы, то документ сохраняется в начальном статусе и ожидает дальнейшей подписи в интерфейсе СберБизнес.
Документ может быть подписан следующими наборами подписей:
- одна (единственная) подпись;
- первая и вторая подписи.
При этом нельзя сочетать подпись, имеющую единственное полномочие, с подписью, имеющей первую или вторую подписи.
Порядок наложения подписи не имеет значения при наложении первой и второй подписей. Состав полей дайджеста не изменяется. Тип подписи указывается в настройках криптопрофиля при создании пользователя в СберБизнес.
Алгоритм сортировки
В дайджесте в соответствии с запросом должно быть указано либо поле receiverCardNumber, либо поле receiverPhoneNumber.
- Поля дайджеста должны быть отсортированы по алфавиту.
- Значения суммы платежа и комиссии должны задаваться с точностью 2-х знаков после запятой.
- Разделитель строк должен быть в формате unix (одиночный \n).
- Последняя строка дайджеста не должна содержать перевод строки.
- В назначении платежа допустимо использовать определенные символы, а перевод строк должен быть экранирован как \n.
Формат дайджеста
- Формат
- Пример
Наименование поля | Описание поля | Пример |
---|---|---|
amount | Размер перевода | 25.00 |
commission | Размер комиссии | 2.00 |
externalId | Внешний идентификатор документа | f8ad3141-b7e8-4924-92de-3de4fd0a464e |
purpose | Назначение перевода | Иванов Иван Ильич, 1234 987654; ПСА №123 от 01.01.2020; лом стальной, 123 кг, 15000 руб./т.; без НДС |
receiverCardNumber | Зашифрованный номер карты получателя | HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep |
receiverPhoneNumber | Номер телефона получателя | 79880098877 |
senderBusinessCardId | ID карты отправителя бизнес-карты | 31663ef5-7975-4016-b0f3-f1d70a4e9c22 |
amount=25.00
commission=2.00
externalId=f8ad3141-b7e8-4924-92de-3de4fd0a464e
purpose=Иванов Иван Ильич, 1234 987654; ПСА №123 от 01.01.2020; лом стальной, 123 кг, 15000 руб./т.; без НДС
receiverCardNumber=HlaeIHXXEcGT1bFxo1NlpAzpr
receiverPhoneNumber=79880098877
senderBusinessCardId=31663ef5-7975-4016-b0f3-f1d70a4e9c22
Responses
201 (Created)
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
BusinessCardsTransfer { | |||
amount | number | required | Сумма перевода в рублях, |
bankComment | string | required | Банковский комментарий к статусу документа, |
bankStatus | string | required | Статус документа, |
commission | number | required | Размер комиссии, |
digestSignatures | Array[Signature] | optional | Электронные подписи по дайджесту документа, |
externalId | string | required | Внешний идентификатор заявления на перевод, |
purpose | string | required | Назначение перевода, |
receiverCardNumber | string | optional | Зашифрованный номер карты получателя, |
receiverPhoneNumber | string | optional | Номер телефона получателя, |
senderBusinessCardId | string | required | ID карты-отправителя. senderBusinessCardId = BusinessCardId = corpCardId. Идентификатор бизнес-карты вы получили на предыдущем шаге с помощью ресурса /v1/corporate-cards |
} | |||
Signature [ | |||
{ | |||
base64Encoded | string | optional | Значение электронной подписи (ЭП), закодированное в Base64. Можно передать одну или две ЭП вместе с реквизитами создаваемого документа - ссылка на ЭП. Если ЭП передана/ы в API, то они сохраняются вместе с документом, а сам документ продвигается дальше по своему жизненному циклу. Если ЭП не была/и передана/ы, то документ сохраняется в своем начальном статусе и ожидает дальнейшего подписания в интерфейсе СберБизнес, |
certificateUuid | string | optional | Уникальный идентификатор сертификата ключа проверки электронной подписи |
} | |||
] |
HTTP/1.1 201 Created
Content-Type: application/json;charset=UTF-8
{
"amount": 1.01,
"bankComment": "string",
"bankStatus": "string",
"commission": 1.01,
"digestSignatures": [
{
"base64Encoded": "HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w==",
"certificateUuid": "22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"
}
],
"externalId": "22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6",
"purpose": "Иванов Иван Ильич, 1234 987654; ПСА №123 от 01.01.2020; лом стальной, 123 кг, 15000 руб./т.; без НДС",
"receiverCardNumber": "HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w==",
"senderBusinessCardId": "22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"
}
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 ресурса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |
WORKFLOW_FAULT | Ошибка расчета комиссии, операция отклонена. Обратитесь к агрегатору | Проверка полученной комиссии от Платформы на минимально возможную не пройдена. |
Операция отклонена. Обратитесь к агрегатору | Размер выставленной суммы комиссии за перевод равен "0" или равен = меньше установленной суммы. | |
Карта списания неактивна | ||
Перевод невозможен, данные держателя карты не совпадают с данными вашей учетной записи | В запросе используете access_token пользователя, который не является держателем бизнес-карты отправителя. | |
Не установлен лимит на транзакцию для перевода с карты на карту | Необходимо для карты списания установить лимит на операции перевода. | |
Сумма перевода превышает лимит на транзакцию для перевода с карты на карту | Необходимо для карты списания установить лимит на операции перевода в размере, превышающим сумму операции. | |
Некорректный номер карты зачисления | Перевод не может быть выполнен. Проверьте номер карты получателя | |
Для карты зачисления указан тот же счет, что и у карты списания | ||
Недостаточно средств | ||
Операция недоступна для выбранной карты |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
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": "DESERIALIZATION_FAULT",
"referenceId": "4a0e6754-ad22-4d7d-ac82-810afd08b5b2",
"message": "Неверный формат запроса",
"checks": [
{
"level": "ERROR",
"message": "Cannot deserialize instance of `java.util.ArrayList<Signature>` out of START_OBJECT token",
"fields": [
"digestSignatures"
]
}
],
"fieldNames": [
"digestSignatures"
]
}
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_CARDS_TRANSFER . Необходимо добавить эту операцию в 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": "Операция не может быть выполнена: доступ к ресурсу запрещен"
}
404 (Not found)
Cause | Message | Description |
---|---|---|
NOT_FOUND | Документ с указанным ID не найден | |
CARD_ID_NOT_FOUND | Бизнес-карта с указанным ID не найдена | Невозможно найти бизнес-карту отправителя с указанным внешним идентификатором |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор ошибки (UUID), |
message | string | optional | Сообщение, |
} |
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
{
"cause": "NOT_FOUND",
"referenceId": "1bd1b8b9-1bd3-4159-9909-d30536211114",
"message": "Документ с указанным ID не найден"
}
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": "Внутренняя ошибка сервера"
}
Получение статуса заявления на перевод (/v1/business-cards/transfer/{externalId}/state)
https://fintech.sberbank.ru:9443/fintech/api/v1/business-cards/transfer/{externalId}/state
Ресурс /v1/business-cards/transfer/{externalId}/state
позволяет получить статус ранее отправленного заявления на перевод между бизнес-картами.
Для получения информации о статусе заявления на перевод по бизнес-карты необходимо отправить GET-запрос /v1/business-cards/transfer/{externalId}/state
с токеном доступа (access_token) пользователя в параметре Authorization заголовка и идентификатор заявления (externalId) в path-параметре запроса.
В параметре scope ссылки авторизации пользователя должен быть указан сервис BUSINESS_CARDS_TRANSFER
для получения доступа к этому ресурсу.
Для обращения к ресурсу необходимо отправлять запрос на:
- Промышленный контур
https://fintech.sberbank.ru:9443/fintech/api
Request
/v1/business-cards/transfer/:externalId/state
- Модель
- Пример
Наименование | Тип | Формат | Regexp | Обязательность | Описание |
---|---|---|---|---|---|
HEADER | |||||
Authorization | string | string | ^([a-zA-Z0-9]){38}$ | required | Access token пользователя, полученный через SSO. |
PATH PARAMETERS | |||||
externalId | string | UUID | ^([0-9A-Fa-f]{8})-([0-9A-Fa-f]{4})-([0-9A-Za-z]{4})-([0-9A-Fa-f]{12})$ | required | Идентификатор заявления на перевод по бизнес-карте, который вы присвоили документу при его создании |
GET /fintech/api/v1/business-cards/transfer/6a54593d-464b-4c8e-a7e2-742a05e5c241/state HTTP/1.1
Authorization: Bearer 1382b8bc-4dff-4f07-8cba-c2593e05f2f7-2
Responses
200 (OK)
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
CorpCardIssueRequestState { | |||
bankComment | string | optional | Банковский комментарий к статусу документа, |
bankStatus | string | optional | Статус документа, |
corpCardId | string | optional | Идентификатор бизнес-карты |
} |
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"bankComment": "Документ в обработке",
"bankStatus": "PROCESSING",
"corpCardId": "22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"
}
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_CARDS_TRANSFER . Необходимо добавить эту операцию в 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": "Операция не может быть выполнена: доступ к ресурсу запрещен"
}
404 (Not found)
Cause | Message | Description |
---|---|---|
NOT_FOUND | Документ с указанным ID не найден |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Notice { | |||
cause | string | optional | Причина или основание сообщения, |
referenceId | string | optional | Уникальный идентификатор ошибки (UUID), |
message | string | optional | Сообщение, |
} |
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
{
"cause": "NOT_FOUND",
"referenceId": "1bd1b8b9-1bd3-4159-9909-d30536211114",
"message": "Документ с указанным ID не найден"
}
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": "Внутренняя ошибка сервера"
}
Статусы заявления на перевод
bankStatus (string)
Статус | Наименование статуса | Описание |
---|---|---|
Промежуточный/Продолжать опрашивать | ||
ACCEPTED | Принят | Электронный документ принят на стороне Банка |
ACCEPTED_BY_ABS | Принят АБС или Принят | Электронный документ был принят к обработке в АБС Банка |
CREATED | Создан | Документ записан в БД, проверки не выполнились |
DELAYED | Приостановлен | Обработка электронного документа была приостановлена |
DELIVERED | Доставлен | Запрос доставлен в ДБО и взят в обработку |
EXPORTED | Выгружен | Электронный документ выгружен Банком в АБС |
FRAUDALLOW | Одобрен ФРОД | Проверка во ФРОДЕ прошла успешно, переход на «Принят» |
FRAUDREVIEW | На проверке у специалиста Банка | Со стороны ФРОД-анализа получен статус документа «На проверке у специалиста Банка» |
FRAUDSENT | Отправлен во ФРОД | Документ отправлен на проверку в АС Fraud-мониторинг |
FRAUDSMS | Требуется подтверждение sms-паролем | Со стороны ФРОД-анализа получен статус документа «Требуется подтверждение sms-паролем» |
PARTSIGNED | Частично подписан | ЭД подписан частью подписей, входящих в предусмотренный для данного документа комплект подписей |
PROCESSING | В обработке | Клиент сформировал "Заявление об акцепте/частичном акцепте" |
SIGNED | Подписан | ЭД подписан предусмотренным для него комплектом подписей |
SUBMITTED | Представлен | ЭД принят ВК |
Окончательный (Не успешный)/Прекратить опрос | ||
FRAUDDENY | Отвергнут ФРОД | Документ отказан на основе проверки в АС Fraud-мониторинг, переходим в «Отвергнут банком» |
CHECKERROR_BANK | Ошибка контроля, Банк | ЭД сформирован, но при сохранении не прошел проверку корректности заполнения полей и сохранен с имеющимися в нем ошибками |
INVALIDEDS | ЭП/АСП не верна Подпись неверна | Проверка ЭП под ЭД на стороне Банка дала отрицательный результат |
RECALL | Отозван | Электронный документ был отозван Клиентом по запросу |
REFUSEDBYABS | Отказан АБС | Электронный документ не прошел проверки в АБС |
REQUISITEERROR | Ошибка реквизитов | В ЭД указаны ошибочные реквизиты |
REFUSED_BY_RZK | Отказан контролирующей организацией | Электронный документ не прошел проверки контролирующей организацией |
Окончательный (Успешный)/Прекратить опрос | ||
IMPLEMENTED | Исполнен | Электронный документ исполнен Банком |