Бизнес-карты
Общая информация о бизнес-картах
Бизнес-карта - это платежный инструмент, предназначенный для использования в деловых операциях. Привязана к банковскому счету компании или индивидуального предпринимателя.
Бизнес-карты могут использовать:
- Сотрудники компании для оплаты деловых расходов, таких как командировочные расходы, оплата товаров и услуг, связанных с бизнесом, а также для снятия наличных денег.
- Владельцы бизнеса или индивидуальные предприниматели (в случае, если у них есть отдельная карта).
Доступныe операции:
- Оплата товаров и услуг в торговых точках и онлайн магазинах, принимающих к оплате карты.
- Снятие наличных в банкоматах.
- Переводы между своими счетами и другими счетами (как внутри страны, так и за рубежом).
- Использование в качестве инструмента для контроля расходов сотрудников.
Бизнес-карты помогают компаниям контролировать и управлять деловыми расходами своих сотрудников. С помощью бизнес-карт сотрудники могут оплачивать только необходимые для работы расходы, что упрощает учет и контроль над затратами.
Кроме того, бизнес-карты могут предлагать различные бонусы и скидки для пользователей, такие как кэшбэк, льготные условия кредитования и т.д.
Подробно о бизнес-картах можно узнать на сайте.
Схема работы продукта
- Графическое описание
- Текстовое описание
Шаг | Что делаем | Подробности |
---|---|---|
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 | Проверьте статус и корректность оплаты (в разработке) | С помощью ресурса /fintech/api/v2/сorporate-cards/transfer/{externalId}/status получите информацию о статусе исполнения заявления на перевод по его externalId , либо с помощью ресурса /fintech/api/v2/сorporate-cards/transfer/list получите список заявлений пользователя и статусов по ним за указанный период. Информация позволит вам разработать механизмы реакции вашей Платформы на разные стадии переводов. |
Авторизация
Все запросы в Sber API выполняются от имени конкретного пользователя СберБизнес, в том числе при интеграции для работы с информацией только по собственной компании. Запросы в Sber API в заголовке (Header) содержат параметр - Authorization. В нем требуется передавать токен доступа (access_token) пользователя. Получение токена доступа осуществляется с помощью сервиса СберБизнес ID. Подробно о подключении и работе сервиса авторизации рассказали в соответствующем разделе документации.
При интеграции по собственной компании потребуется выбрать одного пользователя СберБизнес и пройти им авторизацию через СберБизнес ID единоразово. В дальнейшем вам потребуется своевременно обновлять токен доступа при помощи токена обновления - обновить токен доступа.
Варианты реализации
Для облегчения восприятия ниже описаны общие сценарии использования сервиса. Используйте их как отправную точку или идею финальной реализации.
Триггером запуска того или иного сценария могут быть действия пользователя, регламентный запуск по времени, наступление определенных событий и другое.
Получение списка бизнес-карт
Шаги
- Получить список бизнес-карт и информации по ним
Участники usecase
- Пользователь - сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках вашего сервиса (Платформа)
- Платформа - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
- Sber API - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
Предварительные условия
- Пользователь имеет пользовательский профиль в СберБизнес своей компании
- Пользователь находится в пространстве Платформы
- Пользователь прошел авторизацию с помощью СберБизнес ID
Результат применения
- Получена информация о всех бизнес-карт Пользователя.
Используемые запросы
№ | Метод | Точка вызова | Описание | Операция в scope | Шаг в схеме |
---|---|---|---|---|---|
1 | /v2/corporate-cards/list | Получение информации по бизнес-картам | CORPORATE_CARDS | 1. Получить список бизнес-карт | |
2 | /v2/oauth/token | Обновление токена доступа | openid | 1. Получить список бизнес-карт |
Перевод по бизнес-карте
В схеме можно использовать автоматизированное подписание документа. Данная возможность доступна только при использовании ЭЦП сотрудника вашей компании.
Подробнее об использовании ЭЦП в Sber API можно почитать в одноименном разделе.
Шаги
- Получить данные для перевода
- Создать заявление на перевод и получить размер комиссии
- Подписать заявление на перевод
Участники usecase
- Пользователь - сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках вашего сервиса (Платформа)
- Платформа - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
- Sber API - в контексте 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. Подписать заявление на перевод |
Проверка статуса перевода
Шаги
- Выбрать предпочтительный метод API,
- Отобразить результат исполнения запросов.
Участники usecase
- Пользователь - сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках вашего сервиса (Платформы)
- Платформа - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
- Sber API - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
Предварительные условия
- Для получения списка заявлений и статусов переводов по ним: получен (обновлен) токен авторизации пользователя.
- Для получения статуса конкретного заявления: получен (обновлен) токен авторизации пользователя, известен
externalId
, указанный при отправке заявления на перевод.
Результат применения
- Платформа получила информацию о статусе перевода (-ов).
Используемые ресурсы
№ | Метод | Точка вызова | Описание | Операция в scope | Шаг в схеме |
---|---|---|---|---|---|
1 | /fintech/api/v2/сorporate-cards/transfer/{externalId}/status | Получение статуса заявления на перевод | BUSINESS_CARDS_TRANSFER | 3. Проверка статуса перевода (-ов) | |
2 | /fintech/api/v2/сorporate-cards/transfer/list | Получение списка заявлений на перевод | 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": "Внутренняя ошибка сервера"
}
Получение статуса заявления на перевод
/fintech/api/v2/сorporate-cards/transfer/{externalId}/status
Возвращает статусы документа «Заявление на перевод между бизнес-картами» по значению параметра externalId
, указанному при отправке заявления.
Чтобы ресурс был доступен, ссылка авторизации должна содержать код сервиса BUSINESS_CARDS_TRANSFER
в параметре scope
.
Для обращения к ресурсу используйте адреса:
- Тестовый контур
https://iftfintech.testsbi.sberbank.ru:9443
- Промышленный контур
https://fintech.sberbank.ru:9443
Request
/fintech/api/v2/сorporate-cards/transfer/{externalId}/status
- Модель
- Пример
Наименование | Тип | Формат | Regexp | Обязательность | Описание |
---|---|---|---|---|---|
HEADER | |||||
Authorization | string | string | ^[a-zA-Z0-9]{38}$ | required | Access token пользователя, полученный через SSO. |
GET /fintech/api/v2/сorporate-cards/transfer/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/status HTTP/1.1
Content-Type: application/json
Authorization: Bearer xbgDF3brf456ghi789jkl012mNKFtEpqr678
Responses
200 (OK)
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
status | enum | required | Статус заявления на перевод (ERROR,FORM,PROCESSING,END), |
statusDescription | string | required | Описание статуса перевода, |
maskedCardNumber | string | optional | Номер карты отправителя, |
transferPurpose | string | required | Назначение перевода |
|
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"status": "PROCESSING",
"statusDescription": "Запросите статус заявки позднее"
"maskedCardNumber": "484349******8524",
"transferPurpose": "За товар по договору №2 от 12/01/2024",
}
Статусы заявления на перевод
- Модель
Наименование статуса | Описание статуса | Промежуточный/Итоговый статус |
---|---|---|
ERROR | Сформируйте новую заявку на перевод | Итоговый |
FORM | Заявка создана, требуется подтверждение | Промежуточный |
PROCESSING | Запросите статус заявки позднее | Промежуточный |
END | Заявка успешно исполнена | Итоговый |
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, не указана операция BUSINESS_CARDS_TRANSFER . Необходимо добавить эту операцию в 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-002. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Ошибка валидации запроса. Код ошибки: 428-003. | Недопустимые символы в теле запроса - сработало правило детектирования SQL-иньекций. | |
Ошибка валидации запроса. Код ошибки: 428-004. | Недопустимые символы в теле запроса - сработало правило детектирования lfI-атаки | |
UNEXPECTED_SERVER_ERROR | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
Непредвиденная ошибка. Код ошибки: 428-471. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
GATEWAY_ERROR | Ошибка подключения к прокси-серверу. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
Попробуйте позднее. Код ошибки: 428-472. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
FORBIDDEN_ERROR | Отсутствуют полномочия | Недостаточно полномочий для исполнения запроса. |
Нет полномочий. Код ошибки: 428-473. | Недостаточно полномочий для исполнения запроса. | |
Попробуйте позднее. Код ошибки: 428-474 / 428-475 / 428-476. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
INTEGRATION_ERROR | Интеграционная ошибка | Ошибка обращения к мастер-системе. |
Попробуйте позднее. Код ошибки: 428-479. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
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-473",
"errorName": "FORBIDDEN_ERROR",
"errorDesc": "Нет полномочий. Код ошибки: 428-473.Код ошибки: 428-473."
}
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/сorporate-cards/transfer/list
Возвращает cписок документов «Заявление на перевод между бизнес-картами» по токену авторизации пользователя, а также статусы переводов по этим заявлениям за указанный период.
Чтобы ресурс был доступен, ссылка авторизации должна содержать код сервиса BUSINESS_CARDS_TRANSFER
в параметре scope
.
Для обращения к методу используйте адреса:
- Тестовый контур
https://iftfintech.testsbi.sberbank.ru:9443
- Промышленный контур
https://fintech.sberbank.ru:9443
Request
/fintech/api/v2/сorporate-cards/transfer/list
- Модель
- Пример
Наименование | Тип | Формат | Regexp | Обязательность | Описание |
---|---|---|---|---|---|
HEADER | |||||
Authorization | string | string | ^[a-zA-Z0-9]{38}$ | required | Access token пользователя, полученный через SSO. |
BODY | |||||
startDate | string | string | YYYY-MM-DD | optional | Дата (год, месяц, число) начала периода, за который нужно получить список переводов. Если дата startDate не введена Клиентом, а дата endDate введена, то Клиент получит список переводов, совершенных начиная с 00:00;00 часов даты за тридцать дней ранее даты 00:00;00 часов endDate.Если дата startDate и дата endDate не введены Клиент получит список переводов, совершенных начиная с даты за тридцать дней ранее текущей даты/времени.Если введены обе даты startDate и endDate, то Клиент получит список переводов с 00:00;00 часов startDate до 00:00;00 часов даты endDate. Те переводы совершенные в endDate позднее 00:00;00 часов не включаются в выборку. |
endDate | string | string | YYYY-MM-DD | optional | Дата (год, месяц, число) окончания периода, за который нужно получить список переводов. Если дата endDate не введена Клиентом, а дата startDate введена, то клиент получит список переводов с 00:00;00 часов даты startDate по текущую дату/текущее время.Если дата startDate и дата endDate не введены Клиент получит список переводов, совершенных начиная с даты за тридцать дней ранее текущей даты/времени. Если введены обе даты startDate и endDate, то Клиент получит список переводов с 00:00;00 часов startDate до 00:00;00 часов даты endDate. Те переводы совершенные в endDate позднее 00:00;00 часов не включаются в выборку. Чтобы получить список переводов по текущее время текущего дня нужно НЕ вводить endDate. |
withDraft | boolean | string | optional | Признак вывода неподписанных заявок на перевод, | |
pagination { | object | required | Пагинация | ||
count | number | integer | ^[0-9]{10000}$ | required | Количество заявлений на перевод, которое нужно вывести на странице. |
offset | number | integer | ^[0-9]$ | required | Оффсет, количество заявлений, которые необходимо пропустить. |
} |
POST /fintech/api/v2/сorporate-cards/transfer/list HTTP/1.1
Content-Type: application/json
Authorization: Bearer xbgDF3brf456ghi789jkl012mNKFtEpqr678
{
"startDate": "2024-03-15",
"endDate": "2024-03-16",
"withDraft": "true",
"pagination": {
"count": 5,
"offset": 0
}
}
Responses
200 (OK)
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
transfers [ | |||
{ | |||
createDate | DateTime | required | Дата и время создания документа, |
externalId | string | required | Уникальный идентификатор заявления на перевод, |
transferPurpose | string | required | Назначение перевода, |
status | enum | required | Статус перевода (ERROR,FORM,PROCESSING,END), |
statusDescription | string | required | Описание статуса перевода, |
transferAmount { | object | required | Сумма перевода |
amount | number | required | Сумма перевода, |
currency | string | required | Валюта перевода. |
} | |||
transferComission { | object | required | Комиссия за перевод |
amount | number | required | Комиссия за перевод, |
currency | string | required | Валюта комиссии за перевод. |
} | |||
senderInfo { | object | optional | Информация об отправителе |
maskedCardNumber | string | optional | Маскированный номер карты отправителя. |
} | |||
receiverInfo { | object | optional | Информация о получателе |
maskedCardNumber | string | optional | Маскированный номер карты получателя, |
phoneNumber | string | optional | Номер телефона получателя, |
bankName | string | optional | Банк получателя, |
organizationName | string | optional | Наименование организации получателя. |
} | |||
} | |||
] |
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"transfers": [
{
"createDate": "2024-03-18T12:07:02.298Z",
"externalId": "293e94c4-ecef-4e4d-a923-9453b16dbddd",
"transferPurpose": "За товар по договору №2 от 12/01/2024",
"status": "FORM",
"statusDescription": "Заявка создана, требуется подтверждение."
"transferAmount": {
"amount": 1000.00,
"сurrency": "RUR"
},
"transferComission": {
"amount": 10.00,
"сurrency": "RUR"
},
"senderInfo": {
"maskedCardNumber": "220220******0760"
},
"receiverInfo": {
"maskedCardNumber": "220220******6675",
"phoneNumber":"79037865643"
"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 и повторите запрос. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
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. |
Вы использовали 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-002. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
Ошибка валидации запроса. Код ошибки: 428-003. | Недопустимые символы в теле запроса - сработало правило детектирования SQL-иньекций. | |
Ошибка валидации запроса. Код ошибки: 428-004. | Недопустимые символы в теле запроса - сработало правило детектирования lfI-атаки | |
UNEXPECTED_SERVER_ERROR | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
Непредвиденная ошибка. Код ошибки: 428-431. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
GATEWAY_ERROR | Ошибка подключения к прокси-серверу. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
Попробуйте позднее. Код ошибки: 428-009 / 428-010 / 428-439. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
CONTEXT_ERROR | Ошибка получения сессионных данных. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
Попробуйте позднее. Код ошибки: 428-006 / 428-007 / 428-008. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
FORBIDDEN_ERROR | Отсутствуют полномочия | Недостаточно полномочий для исполнения запроса. |
Нет полномочий. Код ошибки: 428-432. | Недостаточно полномочий для исполнения запроса. | |
Попробуйте позднее. Код ошибки: 428-433 / 428-434 / 428-435. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | |
INTEGRATION_ERROR | Интеграционная ошибка | Ошибка обращения к мастер-системе. |
Попробуйте позднее. Код ошибки: 428-436 / 428-437 / 428-438 / 428-441. | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |
- Модель
- Пример
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
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-006",
"errorName": "CONTEXT_ERROR",
"errorDesc": "Попробуйте позднее. Код ошибки: 428-006."
}
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": "Внутренняя ошибка сервера"
}