Бизнес-карты
Общая информация о бизнес-картах
Бизнес-карта - это платежный инструмент, предназначенный для использования в деловых операциях. Привязана к банковскому счету компании или индивидуального предпринимателя.
Бизнес-карты могут использовать:
- Сотрудники компании для оплаты деловых расходов, таких как командировочные расходы, оплата товаров и услуг, связанных с бизнесом, а также для снятия наличных денег.
- Владельцы бизнеса или индивидуальные предприниматели (в случае, если у них есть отдельная карта).
Доступны операции:
- Оплата товаров и услуг в торговых точках и онлайн магазинах, принимающих к оплате карты.
- Снятие наличных в банкоматах.
- Переводы между своими счетами и другими счетами (как внутри страны, так и за рубежом).
- Использование в качестве инструмента для контроля расходов сотрудников.
Бизнес-карты помогают компаниям контролировать и управлять деловыми расходами своих сотрудников. С помощью бизнес-карт сотрудники могут оплачивать только необходимые для работы расходы, что упрощает учет и контроль над затратами.
Кроме того, бизнес-карты могут предлагать различные бонусы и скидки для пользователей, такие как кэшбэк, льготные условия кредитования и т.д.
Подробно о бизнес-картах можно узнать на сайте.
Авторизация
Все запросы в Sber API выполняются от имени конкретного пользователя СберБизнес, в том числе при интеграции для работы с информацией только по собственной компании. Запросы в Sber API в заголовке (Header) содержат параметр - Authorization. В нем требуется передавать токен доступа (access_token) конкретного пользователя. Получение токена доступа осуществляется с помощью сервиса СберБизнес ID. Подробно о подключении и работе сервиса СберБизнес ID рассказали в соответствующем разделе документации.
При интеграции по собственной компании потребуется выбрать одного пользователя СберБизнес и пройти им авторизацию через СберБизнес ID единоразово. В дальнейшем вам потребуется своевременно обновлять токен доступа при помощи токена обновления - обновить токен доступа.
Схема работы продукта
- Графическое описание
- Текстовое описание
Шаг | Что делаем | Подробности |
---|---|---|
1 | Авторизуйте Пользователя с помощью СберБизнес ID | Подробно о подключении и работе сервиса СберБизнес ID рассказали в соответствующем разделе документации. |
2 | Получите информацию по бизнес-картам Пользователя | Ресурс /fintech/api/v2/corporate-cards/list позволит вам получить информацию о всех бизнес-карта Пользователя, чей токен доступа (access_token) будет использоваться в запросе. |
3 | Получите данные для перевода | Разработайте для Пользователя форму для заполнения данных. Эти данные потребуются для расчёта комиссия за перевод и для создания перевода по бизнес-карте |
4 | Создайте заявление на перевод и получите размер комиссии | Опциональное действие, которое будет актуалено, если перевод получателю будет осуществляться по номеру карты: С помощью ресурса /fintech/api/v2/corporate-cards/transfer/public-key получите ключ шифрования. Ключём вы сможете зашифровать номер карты получателя.Ресурс /fintech/api/v2/сorporate-cards/transfer/commission позволит вам создать черновик заявления на перевод по бизнес-карте и в ответе на успешный запрос получить информацию о размере комиссии за перевод.Далее вам потребуется подтверждение на осуществление перевода от Пользователя. Если условия перевода устраивают Пользователя, то переходите к следующему шагу. |
5 | Подпишите заявление на перевод | Создайте ЭП к заявлению на перевод (подробно о подписании документов в Sber API). Подписывать документ необходимо ЭП Пользователя, чей токен доступа (access_token) используется в запросах API. С помощью ресурса /fintech/api/v2/corporate-cards/sign-and-approve и идентификатора (externalId) ранее созданного черновика заявления на перевод по бизнес-карте вы сможете передать ЭП. Банк начнёт обработку заявления на перевод. |
6 | Проверьте статус и корректность оплаты (в разработке) | С помощью ресурса в разработке получите информацию о статусе исполнения заявления на перевод. Информация позволит вам разработать механизмы реакции вашей Платформы на разные стадии переводов. |
Варианты реализации
Ниже будут приведены примеры реализации, в которых инициатором сценария всегда выступает Пользователь Платформы. Сценарии описали общие, для более легкого восприятия информации описания работы с бизнес-картами в Sber API.
Можно использовать разные триггеры запуска того или иного сценария - действия пользователя, регламентный запуск по времени, наступление определенных событий на вашей Платформе и другие триггеры.
Итоговые варианты вы формируете самостоятельно.
Получение информации по бизнес-картам
Шаги
- Получить список бизнес-карт
Участники usecase
- Пользователь - представитель ЮЛ/ИП, на которого была выпущена бизнес-карта и который имеет пользовательский профиль в СберБизнес своей компании (наличие права подписи необязательно);
- Платформа - любое программное обеспечение для внутреннего использования компании (например, ERP-система) или web-ресурс (интернет-магазин, мобильное приложение и т.д.), который Вы используете в рамках клиентского пути Клиентов;
- Банк - в контексте usecase включает в себя ресурсы Sber API и любые службы ПАО «Сбербанк».
Предусловия
- Пользователь имеет пользовательский профиль в СберБизнес своей компании;
- Пользователь находится в пространстве Платформы;
- Пользователь прошёл авторизацию с помощью СберБизнес ID.
Постусловия
- Получена информация о всех бизнес-карт Пользователя.
Используемые ресурсы
№ | Метод | Точка вызова | Описание | Операция в scope | Шаг в схеме |
---|---|---|---|---|---|
1 | /v2/corporate-cards/list | Получение информации по бизнес-картам | CORPORATE_CARDS | 1. Получить список бизнес-карт | |
2 | /v2/oauth/token | Обновление токена доступа | openid | 1. Получить список бизнес-карт |
Осуществление перевода по бизнес-карте
Шаги
- Получить данные для перевода
- Создать заявление на перевод и получить размер комиссии
- Подписать заявление на перевод
Участники usecase
- Пользователь - представитель ЮЛ/ИП, на которого была выпущена бизнес-карта и который имеет пользовательский профиль в СберБизнес своей компании (наличие права подписи необязательно);
- Платформа - любое программное обеспечение для внутреннего использования компании (например, ERP-система) или web-ресурс (интернет-магазин, мобильное приложение и т.д.), который Вы используете в рамках клиентского пути Клиентов;
- Банк - в контексте usecase включает в себя ресурсы Sber API и любые службы ПАО «Сбербанк».
Предусловия
- Успешно выполнен сценарий "Получение информации по бизнес-картам"
- Платформа сохранила идентификаторы активных бизнес-карт Пользователя
Постусловия
- Подписано заявление на перевод по бизнес-карте.
Используемые ресурсы
№ | Метод | Точка вызова | Описание | Операция в scope | Шаг в схеме |
---|---|---|---|---|---|
1 | /fintech/api/v2/corporate-cards/transfer/public-key | Получение ключа шифрования | CORPORATE_CARDS | 2. Создать заявление на перевод и получить размер комиссии | |
2 | /fintech/api/v2/сorporate-cards/transfer/commission | Создание заявления на перевод по бизнес-карте | BUSINESS_CARDS_TRANSFER | 2. Создать заявление на перевод и получить размер комиссии | |
3 | /fintech/api/v2/corporate-cards/sign-and-approve | Подписать заявление на перевод по бизнес-карте | BUSINESS_CARDS_TRANSFER | 3. Подписать заявление на перевод |
Выбор способа перевода
В зависимости от типа перевода (перевод B2B или B2P) карта получателя может быть указана разными способами.
Переводы B2P
Переводы с бизнес-карт Сбера физическому лицу могут осуществляться с помощью:
- Указания номера карты получателя (любая карта ПАО «Сбербанк» и других банков-эмитентов РФ). В этом случае в заявлении на перевод заполняется поле encryptedCardNumber, а phoneNumber не заполняется;
- Указания номера телефона получателя (карта ФЛ ПАО «Сбербанк»). В этом случае в заявлении на перевод должно заполняться поле phoneNumber (формат заполнения поля: 79000000000), а encryptedCardNumber не заполняется.
Переводы B2B
В случае перевода с бизнес-карты Сбера юридическому лицу перевод осуществляется только с указанием номера карты получателя (любая карта ПАО Сбербанк и других банков-эмитентов РФ). В заявлении на перевод заполняется поле encryptedCardNumber, а phoneNumber не заполняется.
Шифрование номера карты получателя
В поле encryptedCardNumber не допускается передача номера карты получателя в открытом виде, значение номера карты должно быть обязательно зашифровано. Для шифрования номера карты необходимо получить публичный ключ. Номер карты перед шифрованием не должен содержать пробелов и спецсимволов. Получившуюся строку необходимо зашифровать, используя алгоритм RSA шифрования "RSA/OAEP" с ключом длиной 2048.
RSA/OAEP (Optimal Asymmetric Encryption Padding) - это алгоритм шифрования, разработанный для улучшения безопасности и защиты от атак на основе подобранных открытых текстов в асимметричных системах шифрования. RSA/OAEP использует ключ длиной 2048 бит, что является достаточно длинным и сложным для обеспечения безопасности.
Пример: Строка перед шифрованием - 0000000000000000
Зашифрованная строка - HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT
Для получения публичного ключа шифрования необходимо отправить GET-запрос /fintech/api/v2/corporate-cards/transfer/public-key
Получение информации по бизнес-картам
/fintech/api/v2/corporate-cards/list
Ресурс позволяет получить информацию по всем бизнес-картам пользователя, чей access_token используется для запроса.
Для получения списка бизнес-карт пользователя необходимо отправить GET-запрос /fintech/api/v2/сorporate-cards/list
с токеном доступа (access_token) пользователя в параметре Authorization заголовка и информацией о количестве карт, которое нужно вывести, в теле запроса.
В параметре scope ссылки авторизации пользователя должен быть указан сервис CORPORATE_CARDS
для получения доступа к этому ресурсу.
Для обращения к методу необходимо отправлять запрос на:
- Тестовый контур
https://iftfintech.testsbi.sberbank.ru:9443
- Промышленный контур
https://fintech.sberbank.ru:9443
Request
/fintech/api/v2/corporate-cards/list
- Модель
- Пример
Наименование | Тип | Формат | Regexp | Обязательность | Описание |
---|---|---|---|---|---|
HEADER | |||||
Authorization | string | string | ^[a-zA-Z0-9]{38}$ | required | Access token пользователя, полученный через SSO. |
BODY | |||||
pagination { | |||||
count | number | integer | ^[0-9]{10000}$ | required | Количество карт, которое нужно вывести на странице, |
offset | number | integer | ^[0-9]$ | required | Оффсет, количество карт, которые необходимо пропустить |
} |
POST /fintech/api/v2/corporate-cards/list HTTP/1.1
Content-Type: application/json
Authorization: Bearer xbgDF3brf456ghi789jkl012mNKFtEpqr678
{
"pagination": {
"count": 5,
"offset": 0
}
}
Responses
200 (OK)
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
Cards { | |||
cards | array[Cards] | required | Данные НДС, |
pagination | pagination | required | Параметры запроса по отражения бизнес-карт |
} | |||
Cards { | |||
businessCardId | string | required | Внешний идентификатор карты, |
cardStatus | string | required | Статус карты: ACTIVE - Активна, NOT_ACTIVE - Неактивна, BLOCKED - Заблокирована клиентом, BLOCKED_BY_BANK - Заблокирована банком, |
accountNumber | string | required | Номер счета, к которому привязана карта, |
maskedCardNumber | string | required | Замаскированный номер карты, |
embossedName | string | optional | Эмбоссированное имя клиента на карте, |
holderName | string | required | ФИО держателя карты, |
userIsHolder | string | required | Признак держателя карты, |
cardOpenDate | string | optional | Дата выдачи карты, |
cardExpiryDate | string | optional | Дата окончания действия карты. |
} | |||
pagination { | |||
hasNextPage | boolean | required | Признак наличия следующей страницы, |
count | number | required | Запрошенное количество карт, |
offset | number | required | Запрошенный оффсет. |
} |
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"cards": [
{
"businessCardId": "53b6b78a8e23432e8e2249ad4f254a17",
"cardStatus": "ACTIVE",
"accountNumber": "40802810600000200000",
"maskedCardNumber": "484349******8524",
"embossedName": "IVAN IVANOV",
"holderName": "ИВАН ИВАНОВИЧ И.",
"userIsHolder": true,
"cardOpenDate": "2023-12-31",
"cardExpiryDate": "2028"
}
],
"pagination": {
"hasNextPage": true,
"offset": "0",
"count": "5"
}
}
400 (Bad request)
Cause | Message | Description |
---|---|---|
VALIDATION_ERROR | Ошибка валидации | Данные не соответствуют требованиям валидации. Подробные требования к атрибутам описаны в request метода, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |
Ошибка валидации запроса. Код ошибки: 428-001. | Проверьте данные запроса. Попробуйте скорректировать запрос и отправить его повторно. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
{ | |||
errorCode | string | optional | Код ошибки, |
errorName | string | optional | Название ошибки, |
errorDesc | string | optional | Описание ошибки. |
} |
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
{
"errorCode": "428-001",
"errorName": "VALIDATION_ERROR",
"errorDesc": "Ошибка валидации запроса. Код ошибки: 428-001."
}
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. |
Вы использовали access_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 |
---|---|---|
VALIDATION_ERROR | Ошибка валидации | Данные не соответствуют требованиям валидации. Подробные требования к атрибутам описаны в request метода, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |
Попробуйте позднее. Код ошибки: 428-006 / 428-007 / 428-008 / 428-029. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Ошибка валидации ответа. Код ошибки: 428-002. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Ошибка валидации запроса. Код ошибки: 428-003. | Недопустимые символы в теле запроса - сработало правило детектирования SQL-иньекций. | |
Ошибка валидации запроса. Код ошибки: 428-004. | Недопустимые символы в теле запроса - сработало правило детектирования lfI-атаки | |
GATEWAY_ERROR | Ошибка подключения к прокси-серверу. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
Попробуйте позднее. Код ошибки: 428-009 / 428-010. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
CONTEXT_ERROR | Ошибка получения сессионных данных. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
UNEXPECTED_SERVER_ERROR | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
Непредвиденная ошибка. Код ошибки: 428-021. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
FORBIDDEN_ERROR | Отсутствуют полномочия | Недостаточно полномочий для исполнения запроса. |
Нет полномочий. Код ошибки: 428-422. | Недостаточно полномочий для исполнения запроса. | |
Попробуйте позднее. Код ошибки: 428-423 / 428-424 / 428-425. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
INTEGRATION_ERROR | Интеграционная ошибка | Ошибка обращения к мастер-системе. |
Попробуйте позднее. Код ошибки: 428-426 / 428-427 / 428-428. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
{ | |||
errorCode | string | optional | Код ошибки, |
errorName | string | optional | Название ошибки, |
errorDesc | string | optional | Описание ошибки. |
} |
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
{
"errorCode": "428-459",
"errorName": "BUSINESS_LOGIC_ERROR",
"errorDesc": "Задан слишком большой период для выборки транзакций. Код ошибки: 428-459."
}
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": "Внутренняя ошибка сервера"
}
Получение ключа шифрования
/fintech/api/v2/corporate-cards/transfer/public-key
Ресурс позволяет получить публичный ключ для шифрования номера карты получателя перевода.
Для получения публичного ключа шифрования необходимо отправить GET-запрос /fintech/api/v2/corporate-cards/transfer/public-key
с токеном доступа (access_token) пользователя в параметре Authorization заголовка.
В параметре scope ссылки авторизации пользователя должен быть указан сервис CORPORATE_CARDS
для получения доступа к этому ресурсу.
Для обращения к методу необходимо отправлять запрос на:
- Тестовый контур
https://iftfintech.testsbi.sberbank.ru:9443
- Промышленный контур
https://fintech.sberbank.ru:9443
Request
/fintech/api/v2/corporate-cards/transfer/public-key
- Модель
- Пример
Наименование | Тип | Формат | Regexp | Обязательность | Описание |
---|---|---|---|---|---|
HEADER | |||||
Authorization | string | string | ^[a-zA-Z0-9]{38}$ | required | Access token пользователя, полученный через SSO. |
GET /fintech/api/v2/corporate-cards/transfer/public-key HTTP/1.1
Content-Type: application/json
Authorization: Bearer xbgDF3brf456ghi789jkl012mNKFtEpqr678
Responses
200 (OK)
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
key { | |||
publicKey | string | optional | Открытый ключ, |
keyId | string | optional | Идентификатор ключа, |
keyExpirationTime | string | optional | Дата истечения срока действия ключа |
} |
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"key": {
"publicKey": "S7/3TKJaKgBAncsk7AQY6aQfmztWIWoY Pg6XMFRYncY=",
"keyId": "8ad3141b7e8",
"keyExpirationTime": "2024-03-21T06:49:46.679+00:00"
}
}
400 (Bad request)
Cause | Message | Description |
---|---|---|
VALIDATION_ERROR | Ошибка валидации | Данные не соответствуют требованиям валидации. Подробные требования к атрибутам описаны в request метода, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |
Ошибка валидации запроса. Код ошибки: 428-001. | Проверьте данные запроса. Попробуйте скорректировать запрос и отправить его повторно. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
{ | |||
errorCode | string | optional | Код ошибки, |
errorName | string | optional | Название ошибки, |
errorDesc | string | optional | Описание ошибки. |
} |
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
{
"errorCode": "428-001",
"errorName": "VALIDATION_ERROR",
"errorDesc": "Ошибка валидации запроса. Код ошибки: 428-001."
}
401 (Unauthorized Error)
Cause | Message | Description |
---|---|---|
UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
{ | |||
errorCode | string | optional | Код ошибки, |
errorName | string | optional | Название ошибки, |
errorDesc | 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. |
Вы использовали access_token пользователя вашей организации, а не Клиента. Нужно использовать access_token пользователя Клиента. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
{ | |||
errorCode | string | optional | Код ошибки, |
errorName | string | optional | Название ошибки, |
errorDesc | 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 |
---|---|---|
VALIDATION_ERROR | Ошибка валидации | Данные не соответствуют требованиям валидации. Подробные требования к атрибутам описаны в request метода, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |
Ошибка валидации ответа. Код ошибки: 428-002. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Ошибка валидации запроса. Код ошибки: 428-003. | Недопустимые символы в теле запроса - сработало правило детектирования SQL-иньекций. | |
Ошибка валидации запроса. Код ошибки: 428-004. | Недопустимые символы в теле запроса - сработало правило детектирования lfI-атаки | |
UNEXPECTED_SERVER_ERROR | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
Непредвиденная ошибка. Код ошибки: 428-041. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
GATEWAY_ERROR | Ошибка подключения к прокси-серверу. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
Попробуйте позднее. Код ошибки: 428-009 / 428-010 / 428-042. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
CONTEXT_ERROR | Ошибка получения сессионных данных. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
Попробуйте позднее. Код ошибки: 428-006 / 428-007 / 428-008. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
FORBIDDEN_ERROR | Отсутствуют полномочия | Недостаточно полномочий для исполнения запроса. |
Нет полномочий. Код ошибки: 428-043. | Недостаточно полномочий для исполнения запроса. | |
Попробуйте позднее. Код ошибки: 428-044 / 428-045 / 428-046. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
INTEGRATION_ERROR | Интеграционная ошибка | Ошибка обращения к мастер-системе. |
Техническая ошибка. Код ошибки: 428-047 / 428-055. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Превышен лимит времени ожидания запроса. Код ошибки: 428-054. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Попробуйте позднее. Код ошибки: 428-048 / 428-049 / 428-052 / 428-053 / 428-056 / 428-057. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
BUSINESS_LOGIC_ERROR | Ошибка бизнес-логики | Нарушена бизнес-логика запроса. Сведения об ошибке содержатся в атрибуте errorDesc. |
Сгенерируйте новый ключ. Код ошибки: 428-050. | Необходимо сгенерировать новый ключ. | |
Не найден договор на совершение ERP-переводов. Код ошибки: 428-051. | Обратитесь в Банк для заключения договора на совершение ERP-переводов. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
{ | |||
errorCode | string | optional | Код ошибки, |
errorName | string | optional | Название ошибки, |
errorDesc | string | optional | Описание ошибки. |
} |
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
{
"errorCode": "428-050",
"errorName": "BUSINESS_LOGIC_ERROR",
"errorDesc": "Ключи не могут быть сгенерированы. Код ошибки: 428-050."
}
503 (Service Temporarily Unavailable)
Cause | Message | Description |
---|---|---|
UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
{ | |||
errorCode | string | optional | Код ошибки, |
errorName | string | optional | Название ошибки, |
errorDesc | 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": "Внутренняя ошибка сервера"
}
Создание заявления на перевод по бизнес-карте
/fintech/api/v2/сorporate-cards/transfer/commission
Ресурс позволяет создать черновик документа «Заявление на перевод между бизнес-картами» и получить актуальный размер комиссии за перевод между бизнес-картами в ответе.
Для получения создания черновика документа «Заявление на перевод между бизнес-картами» необходимо отправить POST-запрос /fintech/api/v2/сorporate-cards/transfer/commission
с токеном доступа (access_token) пользователя в параметре Authorization заголовка и реквизитами перевода для расчета комиссии в теле запросе. В блоке receiverInfo указывается либо номер карты получателя, либо номер телефона получателя, в зависимости от способа перевода.
В параметре scope ссылки авторизации пользователя должен быть указан сервис BUSINESS_CARDS_TRANSFER
для получения доступа к этому ресурсу.
Для обращения к методу необходимо отправлять запрос на:
- Тестовый контур
https://iftfintech.testsbi.sberbank.ru:9443
- Промышленный контур
https://fintech.sberbank.ru:9443
Request
/fintech/api/v2/сorporate-cards/transfer/commission
- Модель
- Пример
Наименование | Тип | Формат | Regexp | Обязательность | Описание |
---|---|---|---|---|---|
HEADER | |||||
Authorization | string | string | ^[a-zA-Z0-9]{38}$ | required | Access token пользователя, полученный через SSO. |
BODY | |||||
{ | |||||
amount | number | float | ^[0-9]{1,16}\.[0-9]{2}$ | required | Сумма перевода в рублях, |
externalId | string | UUID | ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ | required | Уникальный идентификатор заявления на перевод, генерируется на стороне Клиента, |
transferPurpose | string | string | ^[a-zA-Z0-9]+$ | required | Назначение перевода, |
receiverInfo | array[receiverInfo] | array[object] | Реквизиты получателя, | ||
senderInfo | array[senderInfo] | array[object] | Реквизиты отправителя | ||
} | |||||
receiverInfo { | |||||
encryptedCardNumber | string | string | ^[a-zA-Z0-9]+$ | optional | Зашифрованный номер карты получателя перевода (указывается, если перевод по номеру карты), |
phoneNumber | string | string | ^7\d{10}$ | optional | Номер телефона получателя перевода(указывается, если перевод по номеру телефона). |
} | |||||
senderInfo { | |||||
businessCardId | string | string | ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ | required | ID карты-отправителя. Идентификатор бизнес-карты вы получили на предыдущем шаге с помощью ресурса /fintech/api/v2/corporate-cards/list |
} |
POST /fintech/api/v2/сorporate-cards/transfer/commission HTTP/1.1
Content-Type: application/json
Authorization: Bearer xbgDF3brf456ghi789jkl012mNKFtEpqr678
{
"amount": "1000.00",
"externalId": "293e94c4-ecef-4e4d-a923-9453b16dbddd",
"transferPurpose": "За товар по договору №2 от 12/01/2024",
"receiverInfo": [
{
"encryptedCardNumber": "HlaeIHXXEcGT1bFxo1NlpAzpr+kJ224S0mPfVCU75sieOMt71TBS7w==",
"phoneNumber":
}
],
"sendererInfo": [
{
"businessCardId": "8ad3141-b7e8-4924-92de-3de4fd0a464e-1"
}
]
}
Responses
200 (OK)
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
externalId | string | optional | Уникальный идентификатор заявления на перевод, |
transferPurpose | string | required | Назначение перевода, |
transferAmount { | |||
amount | number | required | Сумма перевода, |
currency | string | required | Валюта перевода. |
} | |||
transferComission { | |||
amount | number | required | Комиссия за перевод, |
currency | string | required | Валюта комиссии за перевод. |
} | |||
senderInfo { | |||
businessCardId | string | required | ID карты-отправителя. |
} | |||
receiverInfo { | |||
encryptedCardNumber | string | optional | Зашифрованный номер карты получателя, |
phoneNumber | string | optional | Номер телефона получателя, |
lastName | string | optional | Фамилия получателя, |
firstName | string | optional | Имя получателя, |
middleName | string | optional | Отчество получателя, |
bankName | string | optional | Банк получателя, |
organizationName | string | optional | Наименование организации получателя. |
} |
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"externalId": "293e94c4-ecef-4e4d-a923-9453b16dbddd",
"transferPurpose": "За товар по договору №2 от 12/01/2024",
"transferAmount": {
"amount": 1000.00,
"сurrency": "RUR"
},
"transferComission": {
"amount": 10.00,
"сurrency": "RUR"
},
"senderInfo": {
"businessCardId": "8ad3141-b7e8-4924-92de-3de4fd0a464e-1"
},
"receiverInfo": {
"encryptedCardNumber": "HlaeIHXXEcGT1bFxo1NlpAzpr+kJ224S0mPfVCU75sieOMt71TBS7w==",
"lastName": "Иванов",
"firstName": "Иван",
"middleName": "Иванович",
"bankName": "Сбербанк",
"organizationName": "ПАО ВСПЫШКА"
}
}
400 (Bad request)
Cause | Message | Description |
---|---|---|
VALIDATION_ERROR | Ошибка валидации | Данные не соответствуют требованиям валидации. Подробные требования к атрибутам описаны в request метода, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |
Ошибка валидации запроса. Код ошибки: 428-001. | Проверьте данные запроса. Попробуйте скорректировать запрос и отправить его повторно. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
{ | |||
errorCode | string | optional | Код ошибки, |
errorName | string | optional | Название ошибки, |
errorDesc | string | optional | Описание ошибки. |
} |
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
{
"errorCode": "428-001",
"errorName": "VALIDATION_ERROR",
"errorDesc": "Ошибка валидации запроса. Код ошибки: 428-001."
}
401 (Unauthorized Error)
Cause | Message | Description |
---|---|---|
UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
{ | |||
errorCode | string | optional | Код ошибки, |
errorName | string | optional | Название ошибки, |
errorDesc | 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. |
Вы использовали access_token пользователя вашей организации, а не Клиента. Нужно использовать access_token пользователя Клиента. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
{ | |||
errorCode | string | optional | Код ошибки, |
errorName | string | optional | Название ошибки, |
errorDesc | 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 |
---|---|---|
VALIDATION_ERROR | Ошибка валидации | Данные не соответствуют требованиям валидации. Подробные требования к атрибутам описаны в request метода, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |
Ошибка валидации ответа. Код ошибки: 428-002. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Ошибка валидации запроса. Код ошибки: 428-003. | Недопустимые символы в теле запроса - сработало правило детектирования SQL-иньекций. | |
Ошибка валидации запроса. Код ошибки: 428-004. | Недопустимые символы в теле запроса - сработало правило детектирования lfI-атаки | |
UNEXPECTED_SERVER_ERROR | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
Непредвиденная ошибка. Код ошибки: 428-061. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
GATEWAY_ERROR | Ошибка подключения к прокси-серверу. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
Попробуйте позднее. Код ошибки: 428-009 / 428-010 / 428-062. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
CONTEXT_ERROR | Ошибка получения сессионных данных. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
Попробуйте позднее. Код ошибки: 428-006 / 428-007 / 428-008 / 428-063. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
FORBIDDEN_ERROR | Отсутствуют полномочия | Недостаточно полномочий для исполнения запроса. |
Нет полномочий. Код ошибки: 428-064. | Недостаточно полномочий для исполнения запроса. | |
Попробуйте позднее. Код ошибки: 428-065 / 428-066 / 428-067. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
INTEGRATION_ERROR | Интеграционная ошибка | Ошибка обращения к мастер-системе. |
Попробуйте позднее. Код ошибки: 428-068 / 428-069 / 428-070 / 428-079 / 428-082 / 428-090. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Не удалось получить информацию об организации. Повторите попытку позднее. Код ошибки: 428-085 / 428-086. | ||
Некорректный номер карты отправителя/получателя. Код ошибки: 428-087 / 428-088. | Проверьте корректность заполнения карты отправителя/получателя. | |
Техническая ошибка. Код ошибки: 428-089. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
BUSINESS_LOGIC_ERROR | Ошибка бизнес-логики | Нарушена бизнес-логика запроса. Сведения об ошибке содержатся в атрибуте errorDesc. |
Укажите номер карты или номер телефона получателя перевода. Код ошибки: 428-071. | Для получения размера комиссии необходимо указать данные получателя пмеревода. | |
Неверно указана сумма перевода. Код ошибки: 428-072. | Укажите корректную сумму перевода. Она должна быть больше 0. | |
Карта получателя совпадает с картой отправителя. Код ошибки: 428-073. | Карта получателя не может совпадать с картой отправителя. Укажите корректные данные перевода. | |
Запрещен перевод на карту валютного счета. Код ошибки: 428-074. | Укажите рублевый счет для перевода. | |
Не найдены ключи по договору на совершение ERP-переводов. Код ошибки: 428-075. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Не найден договор на совершение ERP-переводов. Код ошибки: 428-076. | Обратитесь в Банк для заключения договора на совершение ERP-переводов. | |
Не удалось определить платформу. Код ошибки: 428-077. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Проверьте корректность номера телефона. Код ошибки: 428-078. | Указан некорректный номер телефона получателя перевода или клиент с таким номером телефона не найден. Проверьте указанный номер телефона. | |
Не удалось определить данные карты отправителя. Код ошибки: 428-080. | Проверьте данные карты, с которой совершается перевод. | |
Невозможно произвести зачисление на карту, привязанную к данному номеру телефона. Код ошибки: 428-081. | Невозможно совершить перевод на указанную карту. | |
Некорректный номер карты отправителя/получателя. Код ошибки: 428-083. | Проверьте корректность заполнения карты отправителя/получателя. | |
Некорректный номер карты отправителя. Код ошибки: 428-084. | Проверьте корректность заполнения карты отправителя. | |
Статус карты получателя не допускает возможность перевода. Код ошибки: 428-075. | Невозможно совершить перевод на указанную карту. Возможно, карта закрыта или заблокирована. Уточните данные у получателя. | |
Запрещен перевод между картами одного счета. Код ошибки: 428-077. | Нельзя осуществлять перевод между картами одного счета. Укажите корректные данные перевода. | |
Не удалось создать заявку на перевод. Код ошибки: 428-080. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Попробуйте позднее. Код ошибки: 428-081. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
{ | |||
errorCode | string | optional | Код ошибки, |
errorName | string | optional | Название ошибки, |
errorDesc | string | optional | Описание ошибки. |
} |
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
{
"errorCode": "428-073",
"errorName": "BUSINESS_LOGIC_ERROR",
"errorDesc": "Карта получателя совпадает с картой отправителя. Код ошибки: 428-073."
}
503 (Service Temporarily Unavailable)
Cause | Message | Description |
---|---|---|
UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
{ | |||
errorCode | string | optional | Код ошибки, |
errorName | string | optional | Название ошибки, |
errorDesc | 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": "Внутренняя ошибка сервера"
}
Отправка заявления на перевод между бизнес-картами
/fintech/api/v2/corporate-cards/sign-and-approve
Ресурс позволяет подписывать документ «Заявление на перевод между бизнес-картами».
Для подписания документа «Заявление на перевод между бизнес-картами» необходимо отправить POST-запрос /fintech/api/v2/corporate-cards/sign-and-approve
с токеном доступа (access_token) пользователя в параметре Authorization заголовка и уникальным идентификатором заявки (externalId) на перевод, который был сгенерирован Клиентом на предыдущем шаге для запроса /fintech/api/v2/сorporate-cards/transfer/commission, и данными ЭП отправителя перевода (digestSignatures) в теле запроса.
Для подписи необходимо сформировать файл с дайджестом. Дайджест для подписания необходимо формировать строго в соответствии с примером:
В параметре scope ссылки авторизации пользователя должен быть указан сервис BUSINESS_CARDS_TRANSFER
для получения доступа к этому ресурсу.
В ответе вы можете получить следующие статусы заявки:
IN PROGRESS
Заявка на подтверждении или отправлена на исполнение. Проверьте статус перевода позднее;PROCESSING
Заявка в неопределенном статусе. Проверьте статус перевода позднее;END
Перевод выполнен успешно. Перевод исполнен, дополнительных действий не требуется;ERROR_EXECUTION
Ошибка на этапе исполнения заявки. Сформируйте новую заявку на перевод.
Для обращения к методу необходимо отправлять запрос на:
- Тестовый контур
https://iftfintech.testsbi.sberbank.ru:9443
- Промышленный контур
https://fintech.sberbank.ru:9443
Request
/fintech/api/v2/corporate-cards/sign-and-approve
- Модель
- Пример
Наименование | Тип | Формат | Regexp | Обязательность | Описание |
---|---|---|---|---|---|
HEADER | |||||
Authorization | string | string | ^[a-zA-Z0-9]{38}$ | required | Access token пользователя, полученный через SSO. |
BODY | |||||
{ | |||||
externalId | string | UUID | ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ | required | Уникальный идентификатор заявления на перевод, который был сгенерирован на предыдущем шаге для запроса /fintech/api/v2/сorporate-cards/transfer/commission , |
docType | string | string | ^(TRANSFER)$ | required | Тип документа: TRANSFER |
digestSignatures | array[Signature] | array[object] | required | Электронные подписи по дайджесту документа. Если ЭП передана/ы в API, то они сохраняются вместе с документом, а сам документ продвигается дальше по своему жизненному циклу. Если ЭП не была/и передана/ы, то документ сохраняется в своем начальном статусе и ожидает дальнейшего подписания в интерфейсе СберБизнес. О подписании дайджеста платёжного документа подробно рассказали в соответствующем разделе документации | |
} | |||||
Signature { | |||||
base64Encoded | string | base64 | ^[a-zA-Z0-9]+$ | required | Значение электронной подписи, закодированное в Base64, |
certificateUuid | string | UUID | ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ | required | Уникальный идентификатор сертификата ключа проверки электронной подписи |
} |
POST /fintech/api/v2/сorporate-cards/transfer/sign-and-approve HTTP/1.1
Content-Type: application/json
Authorization: Bearer xbgDF3brf456ghi789jkl012mNKFtEpqr678
{
"externalId": "22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6",
"docType": "TRANSFER",
"digestSignatures": [
{
"base64Encoded": "HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w==",
"certificateUuid": "22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"
}
],
}
digestSignatures
Формат дайджеста
- Формат
- Пример
Наименование поля | Описание поля | Пример |
---|---|---|
externalId | Внешний идентификатор документа | f8ad3141-b7e8-4924-92de-3de4fd0a464e |
transferPurpose | Назначение перевода | Иванов Иван Ильич, 1234 987654; ПСА №123 от 01.01.2020; лом стальной, 123 кг, 15000 руб./т.; без НДС |
transferAmount | ||
amount | Размер перевода | 25.00 |
сurrency | Валюта перевода | RUR |
transferCommission | ||
commission | Размер комиссии | 2.00 |
сurrency | Валюта комиссии | RUR |
senderInfo | ||
senderBusinessCardId | ID карты отправителя бизнес-карты | 31663ef5-7975-4016-b0f3-f1d70a4e9c22 |
receiverInfo | ||
encryptedCardNumber | Зашифрованный номер карты получателя (указывается, если перевод по номеру карты) | HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep |
phoneNumber | Номер телефона получателя (указывается, если перевод по номеру телефона) | 79880098877 |
lastName | Фамилия получателя | И. |
firstName | Имя получателя | ИВАН |
lastName | Отчество получателя | ИВАНОВИЧ |
bankName | Банк получателя перевода | Сбербанк |
organizationName | Организация получателя | ПАО ВСПЫШКА |
Дайджест перевода по номеру карты:
externalId=607e9b20-ff6b-4e1a-1111-af12d56caa60
transferPurpose=За товар по договору №2 от 12/01/2024
transferAmount.amount=1000.00
transferAmount.сurrency=RUR
transferCommission.amount=10.00
transferCommission.сurrency=RUR
senderInfo.businessCardId=c114a123-44f5-4fc5-8a79-cbb09f40ca8b
receiverInfo.encryptedCardNumber=GK1rG0H+ULhAvi8wjkZUIY+ymA/WmmItbrWm1xY0Lbb44bXzw+uO7qU1MaN0/IM1eQ6MmehnX608J6NExJwmheRofwT8aZG7sVg6PQADvpPcMhGUPBOPe4KcMD/rR04/BxA/EB0c/mooLPPRu9NYyuEfIvZCXhXxSSEklpsOOyN7oPYnUC2X7/Ec+8eRmaSEA7l6r+ObDnrQKwpKFqHgTzihuInic+g8oHbR4K3ksS+KwCbPPokyGItahMWnAoRYX2oeRBg7Fvbn+r0aaUVU+eJC2wUqkhdkVjvkk6sijPrcKiK+DRBBxYK66LVGGrqEaROU/wzBwOGKHpw3JFtXwQ==
receiverInfo.lastName=И.
receiverInfo.firstName=ИВАН
receiverInfo.middleName=ИВАНОВИЧ
receiverInfo.bankName=Сбербанк
receiverInfo.organizationName=ПАО ВСПЫШКА
Дайджест перевода по номеру телефона:
externalId=607e9b20-ff6b-4e1a-1111-af12d56caa60
transferPurpose=За товар по договору №2 от 12/01/2024
transferAmount.amount=1000.00
transferAmount.сurrency=RUR
transferCommission.amount=10.00
transferCommission.сurrency=RUR
senderInfo.businessCardId=c114a123-44f5-4fc5-8a79-cbb09f40ca8b
receiverInfo.phoneNumber=79880098877
receiverInfo.lastName=И.
receiverInfo.firstName=ИВАН
receiverInfo.middleName=ИВАНОВИЧ
receiverInfo.bankName=Сбербанк
receiverInfo.organizationName=ПАО ВСПЫШКА
Responses
200 (OK)
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
statusTransfer | string | optional | Статус документа «Заявление на перевод между бизнес-картами», |
createDateDoc | string | optional | Дата и время создания документа. |
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"statusTransfer": "string",
"createDateDoc": "2024-03-18T12:07:02.298Z"
}
400 (Bad request)
Cause | Message | Description |
---|---|---|
VALIDATION_ERROR | Ошибка валидации | Данные не соответствуют требованиям валидации. Подробные требования к атрибутам описаны в request метода, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |
Ошибка валидации запроса. Код ошибки: 428-001. | Проверьте данные запроса. Попробуйте скорректировать запрос и отправить его повторно. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
{ | |||
errorCode | string | optional | Код ошибки, |
errorName | string | optional | Название ошибки, |
errorDesc | string | optional | Описание ошибки. |
} |
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
{
"errorCode": "428-001",
"errorName": "VALIDATION_ERROR",
"errorDesc": "Ошибка валидации запроса. Код ошибки: 428-001."
}
401 (Unauthorized Error)
Cause | Message | Description |
---|---|---|
UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
{ | |||
errorCode | string | optional | Код ошибки, |
errorName | string | optional | Название ошибки, |
errorDesc | 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. |
Вы использовали access_token пользователя вашей организации, а не Клиента. Нужно использовать access_token пользователя Клиента. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
{ | |||
errorCode | string | optional | Код ошибки, |
errorName | string | optional | Название ошибки, |
errorDesc | 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 |
---|---|---|
VALIDATION_ERROR | Ошибка валидации | Данные не соответствуют требованиям валидации. Подробные требования к атрибутам описаны в request метода, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |
Ошибка валидации ответа. Код ошибки: 428-002. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Ошибка валидации запроса. Код ошибки: 428-003. | Недопустимые символы в теле запроса - сработало правило детектирования SQL-иньекций. | |
Ошибка валидации запроса. Код ошибки: 428-004. | Недопустимые символы в теле запроса - сработало правило детектирования lfI-атаки | |
UNEXPECTED_SERVER_ERROR | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
GATEWAY_ERROR | Ошибка подключения к прокси-серверу. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
Попробуйте позднее. Код ошибки: 428-009 / 428-010 / 428-149. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Непредвиденная ошибка. Код ошибки: 428-091. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
CONTEXT_ERROR | Ошибка получения сессионных данных. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
Попробуйте позднее. Код ошибки: 428-006 / 428-007 / 428-008 / 428-142 / 428-150 / 428-151. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
FORBIDDEN_ERROR | Отсутствуют полномочия | Недостаточно полномочий для исполнения запроса. |
Нет полномочий. Код ошибки: 428-131. | Недостаточно полномочий для исполнения запроса. | |
Попробуйте позднее. Код ошибки: 428-132 / 428-133 / 428-134. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
INTEGRATION_ERROR | Интеграционная ошибка | Ошибка обращения к мастер-системе. |
Превышен лимит времени ожидания запроса. Код ошибки: 428-167. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Попробуйте позднее. Код ошибки: 428-092 / 428-093 / 428-094 / 428-096 / 428-097 / 428-098 / 428-102 / 428-103 / 428-104 / 428-106 / 428-107 / 428-108 / 428-113 / 428-114 / 428-115 / 428-123 / 428-124 / 428-125 / 428-135 / 428-136 / 428-137 / 428-144 / 428-145 / 428-146 / 428-166. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
На данный вид карты невозможно совершить перевод. Код ошибки: 428-169. | На указанную карту получателя невозможно совершить перевод. Выберите другую карту для перевода. | |
BUSINESS_LOGIC_ERROR | Ошибка бизнес-логики | Нарушена бизнес-логика запроса. Сведения об ошибке содержатся в атрибуте errorDesc. |
Ошибка проверки подписи: Сертификат не является активным в криптопрофиле. Код ошибки: 428-095. | Обновите сертификат подписи с помощью refresh_token. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Ошибка проверки подписи: Средство подписи не является активным. Код ошибки: 428-099. | Обновите токен доступа с помощью refresh_token. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Ошибка проверки подписи: Средство подписи не является токеном. Код ошибки: 428-100. | Проверьте токен доступа. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Ошибка проверки подписи: Пользователь не является владельцем подписи. Код ошибки: 428-101. | Авторизуйтесь под пользователем, который является владельцем токена. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Ошибка при сохранении документа: Невозможно определить подразделение документа для сохранения. Код ошибки: 428-105. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Ошибка проверки подписи: Не удалось получить права подписи. Код ошибки: 428-109. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Ошибка проверки подписи: Отсутствуют права подписи. Код ошибки: 428-110. | У авторизированного пользователя отсутствует право подписи. | |
Ошибка проверки подписи: Более одного права подписи. Код ошибки: 428-111. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Ошибка проверки подписи: Невалидное право подписи. Код ошибки: 428-112. | Проверьте валидность подписи. | |
Ошибка подписи: Неожиданная ошибка. Код ошибки: 428-116. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Ошибка подписи: Ошибка валидации запроса. Код ошибки: 428-117. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Ошибка подписи: Ошибка сохранения в аудит. Код ошибки: 428-118. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Ошибка подписи: Попробуйте позднее. Код ошибки: 428-119. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Ошибка подписи: Ошибки проверки подписи и подписанта. Код ошибки: 428-120. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Ошибка подписи: Ошибки сохранения подписи. Код ошибки: 428-121. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Ошибка подписи: Попробуйте позднее. Код ошибки: 428-122. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Сертификат не найден. Код ошибки: 428-126. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Заявка с указанным externalId не найдена. Код ошибки: 428-138. | Укажите externalId существующей заявки. | |
Срок подтверждения заявки на перевод истек. Код ошибки: 428-139. | Создайте новую заявку на перевод. | |
Статус карты получателя не допускает возможность перевода. Код ошибки: 428-140. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Ошибка при сохранении документа: Клиент не является держателем карты. Код ошибки: 428-143. | Отправитель перевода должен быть держателем карты. | |
Операция отклонена по итогам проверки лимита. Код ошибки: 428-152. | Проверьте доступные лимиты на переводы по указанной карте отправителя. | |
Перевод в обработке. Код ошибки: 428-153. | Заявка на перевод уже находится в обработке. | |
Истек срок действия карты. Код ошибки: 428-154. | Укажите карту отправителя с неистекшим сроком действия. | |
Превышен лимит по карте. Код ошибки: 428-155. | Проверьте доступные лимиты на переводы по указанной карте отправителя. | |
Пожалуйста, обратитесь в контактный центр банка для проверки карты. Код ошибки: 428-156 / 428-158. | Проверьте | |
Недостаточно средств. Код ошибки: 428-157. | Пополните карту до необходимой суммы перевода. | |
Некорректный номер карты-получателя. Код ошибки: 428-159. | Проверьте данные карты получателя платежа. | |
Операция в данный момент недоступна, попробуйте повторить позднее. Код ошибки: 428-160. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
После дополнительного контроля вам отказано в проведении операции по причине высокого риска. Если вы считаете, что операция отклонена по ошибке, обратитесь в офис банка с заявлением. Код ошибки: 428-161. | Не удалось совершить перевод. Пожалуйста, обратитесь в контактный центр банка. | |
Запрещен перевод между картами одного счета. Код ошибки: 428-162. | Нельзя осуществлять перевод между картами одного счета. Укажите корректные данные перевода. | |
Данная заявка на перевод уже исполнена. Код ошибки: 428-163. | Заявка на перевод с указанным externalId уже была исполнена. | |
Заявка в процессе обработки. Код ошибки: 428-164. | Заявка на перевод с указанным externalId находится в обработке. | |
Данная заявка на перевод не может быть выполнена. Код ошибки: 428-165. | Создайте новую заявку на перевод. | |
Попробуйте позднее. Код ошибки: 428-141 / 428-147 / 428-148. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
{ | |||
errorCode | string | optional | Код ошибки, |
errorName | string | optional | Название ошибки, |
errorDesc | string | optional | Описание ошибки. |
} |
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
{
"errorCode": "428-110",
"errorName": "BUSINESS_LOGIC_ERROR",
"errorDesc": " Ошибка проверки подписи: Отсутствуют права подписи. Код ошибки: 428-110."
}
503 (Service Temporarily Unavailable)
Cause | Message | Description |
---|---|---|
UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
{ | |||
errorCode | string | optional | Код ошибки, |
errorName | string | optional | Название ошибки, |
errorDesc | 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": "Внутренняя ошибка сервера"
}