# Документация Sber API
> Самые востребованные банковские операции на вашем бэкенде.
# Коллекция Postman
[source](https://developers.sber.ru/docs/ru/sber-api/collection/collection-sber-api.md)
## Что это?
Коллекция готовых запросов методов Sber API поможет протестировать работоспособность методов Sber API, а также интегрироваться быстрее.
:::note
Для удобства тестирования лучше использовать Postman (или любой подобный).
:::
## Как пользоваться?
1. Скачайте файл коллекции в выбранный вами инструмент,
} text="Скачать файл" />
2. Убедитесь, что все переменные окружения настроены правильно (например, URL базового адреса API и токены аутентификации),
3. Выполните тесты последовательно или выберите отдельные запросы для проверки конкретных функцинальностей API,
4. Проверьте ответы сервера на соответствие ожидаемым результатам. Обратите внимание на коды состояния HTTP, заголовки ответов и содержимое тела ответа.
## Требования для работы с коллекцией тестов
**Клиентский сертификат:**
* Для взаимодействия с API требуется клиентский сертификат в формате `.p12`.
* При необходимости настройте сертификат в Postman (**Settings → Certificates**).
**Базовый URL:**
* Все запросы отправляются на базовый URL тестового стенда: `https://iftfintech.testsbi.sberbank.ru:9443`
**Аутентификация:**
* Для использования описанных методов требуется [токен доступа](https://developers.sber.ru/docs/ru/sber-api/specifications/oauth/oauth-token-post).
**Переменные:**
* Для удобства работы лучше использовать переменные коллекции, например, baseUrl, clientId, clientSecret, accessToken и другие.
Пример использования переменных
---
# 1C
[source](https://developers.sber.ru/docs/ru/sber-api/directbank/overview.md)
## Описание
# Подключение и настройка 1С:ДиректБанк
[source](https://developers.sber.ru/docs/ru/sber-api/directbank/overview.md)
## Информация о сервисе
Интеграция с 1С позволяет значительно упростить взаимодействие с банком. Вы сможете запрашивать **выписки** и отправлять **рублевые платежные получения** из привычного интерфейса системы 1С, без необходимости заходить в СберБизнес. Настройка интеграции не займет много времени, более подробную информацию по шагам подключения вы найдете в видеоматериалах и инструкции ниже.
:::caution
Сейчас интеграция доступна только в 1С:Бухгалтерия (версия 3.0.189 и выше), 1С:ERP Управление предприятием (версия 2.5.27.45), 1С:Комплексная автоматизация (версия 2.5.27.45), 1С:Управление торговлей (версия 11.5.27.45).
:::
## Видеоинструкция
## Шаг 1: Подключение и настройка сервиса в Личном кабинете
### Подключение к Sber API
Пользователь с признаком ЕИО (Единоличный исполнительный орган) вашей организации должен подать заявление на подключение к Sber API по [инструкции](https://developers.sber.ru/docs/ru/sber-api/start/connect).
1. При подключении Sber API выберите набор API с наименованием **«Компаниям»**;
2. На шаге «Создание заявления» укажите в пункте **«Лица, ответственные за хранение ключевой информации»** всех ответственных лиц, которые в дальнейшем будут иметь доступ на внесение изменений в настройки сервиса Sber API;
3. Подписание заявления на подключение к Sber API возможно **только пользователем с правами ЕИО**;
4. Обязательно необходимо **активировать сервис** (ClientID) в личном кабинете Sber API после создания.
### Если Sber API уже подключен
Если ранее вы уже подключали Sber API:
1. Проверьте наличие набора «Компаниям».
* Если набор уже подключен — переходите к пункту 2.
* Если подключен другой набор (или нет нужного) — подключите набор «Компаниям», подписав корректирующее заявление по [инструкции](/ru/sber-api/start/connect).
2. Создайте отдельный client\_id для 1С.
В рамках подключенного набора «Компаниям» [выпустите дополнительный](/ru/sber-api/start/connect) client\_id специально для этой интеграции. Это решение рекомендуется, чтобы изолировать разные интеграции.
Если вы планируете для одной организации использовать разные конфигурации ПО 1С, то необходимо для каждой конфигурации создать отдельный сервис (ClientID).
***
## Шаг 2: Формирование файла настроек для 1С
Файл настроек содержит все необходимые данные для безопасного соединения между 1С и сервером ДБО Сбербанка.
1. В Личном кабинете выберите созданный вами сервис с типом **«Компаниям»** из списка
2. В карточке сервиса нажмите кнопку **«Настройки для 1С»**
3. В открывшемся окне система предложит выбрать сертификат шифрования, который будет использоваться при обмене между 1С и банком:
* Вы можете выбрать существующий сертификат из списка (при этом необходимо знать пароль от этого TLS-сертификата).
* Или нажать **«Сгенерировать новый»** (рекомендуется для новой интеграции).
4. Для скачивания файла введите **пароль от выбранного сертификата**
:::tip
Запомните этот пароль, он понадобится на следующем шаге.
:::
5. Сохраните полученный файл настроек (с расширением `.json`) на ваш компьютер.
:::danger
Повторная выгрузка файла настроек приведет к остановке текущей интеграции с 1С через Sber API
:::
***
## Шаг 3: Загрузка файла настроек в систему 1С
Теперь необходимо импортировать полученный файл в вашу систему 1С.
1. Откройте 1С, выберите вашу организацию и перейдите в раздел помощника подключения к сервису **«1С:ДиректБанк»**;
2. В открывшемся окне нажмите **«Загрузить файл настроек»**;
3. Выберите скачанный ранее файл настроек из Личного кабинета;
4. Введите в соответствующее поле (**«Укажите пароль от транспортного сертификата»**) тот пароль, который вы вводили при генерации сертификата на Шаге 2;
5. Нажмите кнопку **«Далее»**.
***
## Шаг 4: Завершение подключения и тестовый обмен
На завершающем этапе необходимо проверить связь с банком.
1. Система предложит провести **тестовый обмен**;
2. В зависимости от способа подтверждения, который используется в вашем СберБизнес, введите необходимые данные для авторизации:
* **Для СМС:** логин и пароль от вашей учетной записи СберБизнес
* **Для токена:** PIN-код токена СберБизнес
3. После успешного прохождения тестового обмена интеграция будет готова к работе.
---
# FAQ
[source](https://developers.sber.ru/docs/ru/sber-api/faq/overview.md)
В этом разделе вы найдете ответы на часто задаваемые вопросы.
При наличии у клиента интеграции со Sber API, требуется ли иметь доступ в СберБизнес с действующими полномочиями для подписи документа в интернет-банке?
Для работы с сервисами Sber API необходимо иметь действующую учетную запись СберБизнес ID для прохождения авторизации.
Также для осуществления запросов к сервисам Sber API, подразумевающих создание документов с подписью, учетная запись должна иметь соответствующие полномочия, которые определяются при создании пользователя в СберБизнес.
Какой срок действия у идентификаторов Authorization Code, Access Token, Refresh Token?
| Параметр | Описание | Срок жизни | Способ получения | Примечания и ссылки |
| :--- | :--- | :--- | :--- | :--- |
| **Authorization Code** | **Рекомендация:** Это одноразовый код и срок жизни 2 минуты. Механизм его получения инициируется пользователем (логин в СберБизнес ID). Система должна быть готова немедленно его использовать.
**Техническая реализация:** Серверная часть приложения, обрабатывающая redirect\_uri, должна быть высокодоступной и иметь минимальную задержку. Получив код, она должна немедленно (в течение секунд, а не минут) выполнить запрос на /oauth/token для его обмена на токены. Не ставить в очередь на асинхронную обработку — он может успеть “протухнуть”. | 2 минуты | Только через авторизацию по ссылке | Пользователь проходит аутентификацию в СберБизнес ID, и браузер перенаправляется на ваш redirect\_uri с кодом в параметрах.
**Спецификация:** [Получение кода авторизации](https://developer.sber.ru/portal/start/api-sberbusinessid) |
| **Access Token** | **Рекомендация:** Реализуйте автоматический механизм обновления по истечении срока его действия (60 минут) или при получении ошибки 401 Unauthorized. Необходимо обеспечить безопасное хранение.
**Техническая реализация:**
**Кэширование с проверкой срока:** Сохраняйте токен вместе с временем его получения. Перед каждым вызовом API проверяйте, не истек ли срок его жизни (например, если прошло >55 минут).
**Авто-обновление по ошибке:** Реализуйте перехватчик, который при получении 401 ошибки от Банка автоматически: Использует имеющийся refresh\_token для запроса нового access\_token. Повторяет исходный запрос с новым токеном. Для пользователя этот процесс должен быть невидим.
**Не используйте долгоживущий токен из ЛК в ПРОМ:** Токен на 30 дней из Личного кабинета — это исключение, предоставляемое для удобства разработки. Как только вы обновите токен полученный в ЛК с помощью методов API, он превращается в стандартный 60 минутный токен. | 60 минут (при получении через API) 30 дней (при выпуске в ЛК) | 1. Через API (в ответ на запрос с authorization code) 2. В Личном кабинете Sber API | Токен для доступа к API.
**Личный кабинет:** [инструкция](https://developer.sber.ru/portal/start/token) |
| **Refresh Token** | **Рекомендация:** Это ключ к долгосрочной работе без участия пользователя. Необходимо обеспечить безопасное хранение.
**Техническая реализация:**
**Безопасное хранение:** Храните его в зашифрованном виде в надежном хранилище. Не логируйте его и не коммитьте в код.
**Жизненный цикл (180 дней с последнего использования):** Срок жизни refresh\_token обновляется каждый раз, когда вы его успешно используете. Это значит, что при каждом обновлении пары токенов вы получаете новый refresh\_token с новым "счетчиком" в 180 дней.
**Постоянная валидность:** Необходимо обновлять пару токенов хотя бы раз в 180 дней.
**Привязка к пользователю:** Четко связывайте пару access/refresh token с учетной записью пользователя в вашей системе, чтобы при запросе знать, чьи токены обновлять. | 180 дней (через API и из ЛК) | 1. Через API (в ответ на запрос с authorization code) 2. В Личном кабинете Sber API | Используется для получения новой пары access/refresh\_token. Истекает через 180 дней с момента последнего использования.
**Личный кабинет:** [инструкция](https://developer.sber.ru/portal/start/token) |
| **Client Secret** | **Рекомендация:** Это самый критичный параметр. Без Client Secret невозможна процедура получения/обновления токенов. Реализуйте строгий процесс обновления до истечения срока его действия (40 дней). Необходимо обеспечить безопасное хранение.
**Техническая реализация:**
**Установите напоминание** на 35-й день жизни текущего секрета. Это даст запас в 5 дней на решение возможных проблем. Дополнительно Банк оповещает о окончании client\_secret с помощью sms и письма на почту уполномоченного лица по договору.
**Автоматизация через API:** Предпочтительный способ. Напишите скрипт, который через API автоматически генерирует новый секрет каждый 38й день.
**Ротация через ЛК или поддержку:** Если автоматизация через API невозможна, добавьте в план ручное обновление через Личный кабинет по напоминанию. Способ через поддержку — аварийный, на случай если Client Secret истек, а в ЛК доступа нет.
**Программный код:** не храните client\_secret в коде приложения, конфигурационных файлах (особенно в git) или переменных окружения на машинах разработчиков. Только в специализированных защищенных хранилищах. | 40 дней (через API и из ЛК) | 1. Через API 2. В Личном кабинете Sber API 3. Через запрос с почты уполномоченного лица на поддержку | Нельзя передавать третьим лицам. Необходимо регулярно обновлять.
**Почта поддержки:** supportdbo2@sberbank.ru |
Сколько раз можно использовать Authorization Code?
Любым Authorization Code можно воспользоваться только один раз в течение 2-х минут.
При запросе нового Authorization Code, старый код остается действующим в течение установленного срока (3 минуты на тестовых стендах). Любая попытка обмена Authorization Code на Access Token приведет либо к успешному обмену и выдачи токена, либо, при наличии ошибок в запросе токена, сделает Authorization Code невалидным.
Для повторного обращения к Sber API необходимо заново проходить весь путь авторизации?
Повторное получение авторизационного кода не требуется, достаточно будет выполнить обновление авторизационного токена согласно документации [Запрос на обновление Access Token](/ru/sber-api/specifications/oauth/oauth-token-post).
* Рекомендуется обновлять ключи доступа (Access Token/Refresh Token) как минимум один раз за время жизни Refresh Token. В случае если Refresh Token потеряет актуальность (не будет обновлен до истечения времени жизни), партнер сможет получить актуальные ключи доступа только после повторной авторизации клиента в сервисе партнера через СберБизнес.
* Если при обновлении ключей доступа не был получен ответ из банка, то рекомендуется повторно отправить запрос на актуализацию ключей в течение 1 часа от момента отправки первой попытки.
Как часто нужно делать обновление токена? Перед каждым новым запросом?
При обращении к ресурсам Sber API токен должен быть действительным на момент запроса.
Срок действия токена 60 минут. Таким образом токен можно обновлять:
* либо непосредственно перед отправкой запроса, если запросы отправляются реже, чем раз в 1 час;
* либо регулярно раз в час.
Какой срок действия client secret и можно ли его изменить?
Срок действия client secret составляет 40 дней.
Изменить/обновить client secret можно в [личном кабинете Sber API](/ru/sber-api/start/connect) или с помощью запроса на [обновление сlient secret](/ru/sber-api/specifications/oauth/change-client-secret-post).
Какая длина должна быть у нового client secret?
Длина client secret может составлять от 8 до 256 символов.
Как получить выписку по счетам дочерней организации?
Аналогично получению выписки по счетам собственной организации, но с использованием АТ пользователя дочерней.
Что означает ответ «Выписка в процессе формирования, пожалуйста, запросите ее позже»?
Код возврата `202 STATEMENT_RESPONSE_PROCESSING` означает, что в СберБизнес не была сформирована выписка по запрашиваемым параметрам, либо сформированная выписка неактуальна.
В каждом из этих случаев получение указанного кода возврата также означает, что в СберБизнес инициирован процесс формирования или актуализации выписки по запрошенным параметрам.
Формирование выписки может занять до нескольких минут, после чего можно выполнить запрос повторно.
Как часто обновляется выписка? Работает ли получение операций в выходные дни?
Обычно выписка формируется автоматически по мере поступления информации об операциях по счету. Полная синхронизация данных об операциях за прошедший день происходит каждый раз после его окончания.
Методы получения информации об операциях в Sber API доступны и в выходные дни, однако на первый запрос может вернуться код возврата `202 STATEMENT_RESPONSE_PROCESSING`.
Что означает ошибка «В системе уже имеется документ с совпадением номера, даты, счета плательщика, суммы»?
В Sber API реализован контроль, исключающий создание дублирующего документа. Данная ошибка означает, что в СберБизнес уже существует документ того же типа, для которого значения параметров: номер документа, дата создания, счет плательщика, сумма платежа; полностью совпадают со значениями аналогичных параметров из запроса.
Выполняется ли декодирование строки, указанной в качестве `backUrl` при осуществлении перенаправления клиента?
* При передаче `backUrl` необходимо выполнять URLEncode (подробнее в спецификации [RFC3986](https://www.ietf.org/rfc/rfc3986.txt)). При осуществлении перенаправления выполняется преобразование закодированной для передачи в URL-адрес строки в декодированную строку.
Пример:
Исходный `backUrl`:
`http://sberbank.ru1/sites/ShopingCard%23RCM-Contracts`
Декодированный `backUrl`:
`http://sberbank.ru1/sites/ShopingCard#RCM-Contracts`
* Параметр `backUrl` является необязательным и в случае его отсутствия в ссылке клиент не сможет вернуться в сервис Партнера.
* Параметр `backUrl` должен соответствовать адресу сервиса Партнера, указанному при регистрации в банке.
Как сортируются документы, получаемые методом GET /v1/generic-letters/from-bank? Новые документы добавляются в начало или в конец?
Новые документы добавляются в начало первой страницы.
Как отличить промежуточный статус `SENDED_TO_PAYER` от конечного `SENDED_TO_PAYER` в ответе на запрос GET /v1/payment-requests/outgoing/\{externalId}/state?
Статус `SENDED_TO_PAYER`:
* промежуточный, если ИПТ выставлено в адрес плательщика, который является клиентом Сбербанка,
* окончательный, если ИПТ выставлено в адрес плательщика, который не является клиентом Сбербанка.
Можете нам помочь в интеграции (или разработке)?
Банк не предоставляет такую услугу, но вы можете ознакомиться со списком участников нашей партнерской программы по [ссылке](https://sberbp.ru/partners).
Можете предоставить примеры кода на PHP или другом языке программирования?
Вы можете воспользоваться [SDK](https://developers.sber.ru/docs/ru/sber-api/sdk/overview) - готовыми инструментами для взаимодействия с Sber API. На данный момент только для Java.
Как уточнить информацию по клиентскому менеджеру Sber API?
Вы можете узнать своего клиентского менеджера в на линии поддержки 0321 (моб).
При отправке документа получили ошибку связанную с электронной подписью.
В случае возникновения ошибок проверки электронной подписи/ошибки несоответствия подписи, проверьте соответствие сформированной строки base64 требованиям к электронной подписи.
Требования к электронной подписи представлены в [документации](https://developers.sber.ru/docs/ru/sber-api/start/eds-in-api):
* Подпись CaDES-BES в формате PEM;
* Подпись открепленная — detatched;
* Алгоритм цифровой подписи ГОСТ Р 34.10-2012 для ключей длины 256 бит;
* Блок с сертификатами (Certificates) обязателен — включает сертификат подписанта;
* Данные подписанта (Signer Info) — содержит информацию только по одному подписанту;
* Присутствует время формирования подписи (Signing Time).
Проверить сформированную подпись можно на странице [Удостоверяющего центра](https://www.sberbank.ru/ru/s_m_business/id-center):
1. Выберите раздел «Проверка электронной подписи»
2. Выберите тип электронной подписи - Отсоединенная (электронная подпись содержится в отдельном файле)
Дополнительно проверьте дайджест на соответствие [требованиям](https://developers.sber.ru/docs/ru/sber-api/start/eds-in-api):
* Необходимо использовать кодировку UTF-8;
* Поля дайджеста должны быть отсортированы по алфавиту (от A до Z);
* Значения сумм и комиссий должны задаваться с точностью 2 знака после точки;
* Значения сумм и комиссий в дайджесте и в запросе должны быть идентичны;
* Если какое-то поле не заполняется, его не требуется добавлять в дайджест;
* Разделитель строк должен быть в формате unix (одиночный \n);
* Последняя строка дайджеста не должна содержать перевод строки;
* Перевод строк должен быть экранирован как \n;
* При заполнении полей с данными компании (название компании, например) используйте значения, полученные от Банка в рамках запросов API (в том числе с сохранением регистра).
Меняется ли ссылка авторизации, если использовать СМС или токен?
Ссылка авторизации не меняется при использовании смс или токена, отличаются процессы авторизации.
У пользователя с типом защиты СМС после ввода логина и пароля необходимо ввести одноразовый СМС-код.
Если логин и пароль вводит пользователь с типом защиты токен, то ему необходимо авторизоваться в СберБизнесе через usb-token, а затем пройти авторизацию СберБизнес ID.
Есть ли возможность через API получать банковские выписки без обязательных периодических аутентификаций через сайт?
Полностью исключить аутентификацию через сайт в Sber API нет возможности, но при правильной настройке, это потребуется сделать только один раз.
1. Однажды авторизоваться через браузер и получить [код авторизации](https://developers.sber.ru/docs/ru/sber-api/specifications/oauth/oauth-authorize-get).
2. [Запросом](https://developers.sber.ru/docs/ru/sber-api/specifications/oauth/oauth-token-post) обменять код авторизации на пару токенов, access и refresh.
3. Настроить дальнейшее обновление пары токенов с помощью ранее полученного refresh токена [запросом](https://developers.sber.ru/docs/ru/sber-api/specifications/oauth/oauth-token-post).
4. Использовать получаемые access токены в [запросах выписки](/ru/sber-api/specifications/statement/transactions).
5. Настроить обновление client\_secret каждые 40 дней [запросом](https://developers.sber.ru/docs/ru/sber-api/specifications/oauth/change-client-secret-post).
При наличии у клиента интеграции со Sber API, требуется ли иметь доступ в СберБизнес с действующими полномочиями для подписи документа в интернет-банке?
Для работы с сервисами Sber API необходимо иметь действующую учетную запись СберБизнес ID для прохождения авторизации.
Также для осуществления запросов к сервисам Sber API, подразумевающих создание документов с подписью, учетная запись должна иметь соответствующие полномочия, которые определяются при создании пользователя в СберБизнес.
Какой срок действия у идентификаторов Authorization Code, Access Token, Refresh Token?
| Параметр | Описание | Срок жизни | Способ получения | Примечания и ссылки |
| :--- | :--- | :--- | :--- | :--- |
| **Authorization Code** | **Рекомендация:** Это одноразовый код и срок жизни 2 минуты. Механизм его получения инициируется пользователем (логин в СберБизнес ID). Система должна быть готова немедленно его использовать.
**Техническая реализация:** Серверная часть приложения, обрабатывающая redirect\_uri, должна быть высокодоступной и иметь минимальную задержку. Получив код, она должна немедленно (в течение секунд, а не минут) выполнить запрос на /oauth/token для его обмена на токены. Не ставить в очередь на асинхронную обработку — он может успеть “протухнуть”. | 2 минуты | Только через авторизацию по ссылке | Пользователь проходит аутентификацию в СберБизнес ID, и браузер перенаправляется на ваш redirect\_uri с кодом в параметрах.
**Спецификация:** [Получение кода авторизации](https://developer.sber.ru/portal/start/api-sberbusinessid) |
| **Access Token** | **Рекомендация:** Реализуйте автоматический механизм обновления по истечении срока его действия (60 минут) или при получении ошибки 401 Unauthorized. Необходимо обеспечить безопасное хранение.
**Техническая реализация:**
**Кэширование с проверкой срока:** Сохраняйте токен вместе с временем его получения. Перед каждым вызовом API проверяйте, не истек ли срок его жизни (например, если прошло >55 минут).
**Авто-обновление по ошибке:** Реализуйте перехватчик, который при получении 401 ошибки от Банка автоматически: Использует имеющийся refresh\_token для запроса нового access\_token. Повторяет исходный запрос с новым токеном. Для пользователя этот процесс должен быть невидим.
**Не используйте долгоживущий токен из ЛК в ПРОМ:** Токен на 30 дней из Личного кабинета — это исключение, предоставляемое для удобства разработки. Как только вы обновите токен полученный в ЛК с помощью методов API, он превращается в стандартный 60 минутный токен. | 60 минут (при получении через API) 30 дней (при выпуске в ЛК) | 1. Через API (в ответ на запрос с authorization code) 2. В Личном кабинете Sber API | Токен для доступа к API.
**Личный кабинет:** [инструкция](https://developer.sber.ru/portal/start/token) |
| **Refresh Token** | **Рекомендация:** Это ключ к долгосрочной работе без участия пользователя. Необходимо обеспечить безопасное хранение.
**Техническая реализация:**
**Безопасное хранение:** Храните его в зашифрованном виде в надежном хранилище. Не логируйте его и не коммитьте в код.
**Жизненный цикл (180 дней с последнего использования):** Срок жизни refresh\_token обновляется каждый раз, когда вы его успешно используете. Это значит, что при каждом обновлении пары токенов вы получаете новый refresh\_token с новым "счетчиком" в 180 дней.
**Постоянная валидность:** Необходимо обновлять пару токенов хотя бы раз в 180 дней.
**Привязка к пользователю:** Четко связывайте пару access/refresh token с учетной записью пользователя в вашей системе, чтобы при запросе знать, чьи токены обновлять. | 180 дней (через API и из ЛК) | 1. Через API (в ответ на запрос с authorization code) 2. В Личном кабинете Sber API | Используется для получения новой пары access/refresh\_token. Истекает через 180 дней с момента последнего использования.
**Личный кабинет:** [инструкция](https://developer.sber.ru/portal/start/token) |
| **Client Secret** | **Рекомендация:** Это самый критичный параметр. Без Client Secret невозможна процедура получения/обновления токенов. Реализуйте строгий процесс обновления до истечения срока его действия (40 дней). Необходимо обеспечить безопасное хранение.
**Техническая реализация:**
**Установите напоминание** на 35-й день жизни текущего секрета. Это даст запас в 5 дней на решение возможных проблем. Дополнительно Банк оповещает о окончании client\_secret с помощью sms и письма на почту уполномоченного лица по договору.
**Автоматизация через API:** Предпочтительный способ. Напишите скрипт, который через API автоматически генерирует новый секрет каждый 38й день.
**Ротация через ЛК или поддержку:** Если автоматизация через API невозможна, добавьте в план ручное обновление через Личный кабинет по напоминанию. Способ через поддержку — аварийный, на случай если Client Secret истек, а в ЛК доступа нет.
**Программный код:** не храните client\_secret в коде приложения, конфигурационных файлах (особенно в git) или переменных окружения на машинах разработчиков. Только в специализированных защищенных хранилищах. | 40 дней (через API и из ЛК) | 1. Через API 2. В Личном кабинете Sber API 3. Через запрос с почты уполномоченного лица на поддержку | Нельзя передавать третьим лицам. Необходимо регулярно обновлять.
**Почта поддержки:** supportdbo2@sberbank.ru |
Сколько раз можно использовать Authorization Code?
Любым Authorization Code можно воспользоваться только один раз в течение 2-х минут.
При запросе нового Authorization Code, старый код остается действующим в течение установленного срока (3 минуты на тестовых стендах). Любая попытка обмена Authorization Code на Access Token приведет либо к успешному обмену и выдачи токена, либо, при наличии ошибок в запросе токена, сделает Authorization Code невалидным.
Для повторного обращения к Sber API необходимо заново проходить весь путь авторизации?
Повторное получение авторизационного кода не требуется, достаточно будет выполнить обновление авторизационного токена согласно документации [Запрос на обновление Access Token](/ru/sber-api/specifications/oauth/oauth-token-post).
* Рекомендуется обновлять ключи доступа (Access Token/Refresh Token) как минимум один раз за время жизни Refresh Token. В случае если Refresh Token потеряет актуальность (не будет обновлен до истечения времени жизни), партнер сможет получить актуальные ключи доступа только после повторной авторизации клиента в сервисе партнера через СберБизнес.
* Если при обновлении ключей доступа не был получен ответ из банка, то рекомендуется повторно отправить запрос на актуализацию ключей в течение 1 часа от момента отправки первой попытки.
Как часто нужно делать обновление токена? Перед каждым новым запросом?
При обращении к ресурсам Sber API токен должен быть действительным на момент запроса.
Срок действия токена 60 минут. Таким образом токен можно обновлять:
* либо непосредственно перед отправкой запроса, если запросы отправляются реже, чем раз в 1 час;
* либо регулярно раз в час.
Какой срок действия client secret и можно ли его изменить?
Срок действия client secret составляет 40 дней.
Изменить/обновить client secret можно в [личном кабинете Sber API](/ru/sber-api/start/connect) или с помощью запроса на [обновление сlient secret](/ru/sber-api/specifications/oauth/change-client-secret-post).
Какая длина должна быть у нового client secret?
Длина client secret может составлять от 8 до 256 символов.
Меняется ли ссылка авторизации, если использовать СМС или токен?
Ссылка авторизации не меняется при использовании смс или токена, отличаются процессы авторизации.
У пользователя с типом защиты СМС после ввода логина и пароля необходимо ввести одноразовый СМС-код.
Если логин и пароль вводит пользователь с типом защиты токен, то ему необходимо авторизоваться в СберБизнесе через usb-token, а затем пройти авторизацию СберБизнес ID.
Есть ли возможность через API получать банковские выписки без обязательных периодических аутентификаций через сайт?
Полностью исключить аутентификацию через сайт в Sber API нет возможности, но при правильной настройке, это потребуется сделать только один раз.
1. Однажды авторизоваться через браузер и получить [код авторизации](https://developers.sber.ru/docs/ru/sber-api/specifications/oauth/oauth-authorize-get).
2. [Запросом](https://developers.sber.ru/docs/ru/sber-api/specifications/oauth/oauth-token-post) обменять код авторизации на пару токенов, access и refresh.
3. Настроить дальнейшее обновление пары токенов с помощью ранее полученного refresh токена [запросом](https://developers.sber.ru/docs/ru/sber-api/specifications/oauth/oauth-token-post).
4. Использовать получаемые access токены в [запросах выписки](/ru/sber-api/specifications/statement/transactions).
5. Настроить обновление client\_secret каждые 40 дней [запросом](https://developers.sber.ru/docs/ru/sber-api/specifications/oauth/change-client-secret-post).
Как получить выписку по счетам дочерней организации?
Аналогично получению выписки по счетам собственной организации, но с использованием АТ пользователя дочерней.
Что означает ответ «Выписка в процессе формирования, пожалуйста, запросите ее позже»?
Код возврата `202 STATEMENT_RESPONSE_PROCESSING` означает, что в СберБизнес не была сформирована выписка по запрашиваемым параметрам, либо сформированная выписка неактуальна.
В каждом из этих случаев получение указанного кода возврата также означает, что в СберБизнес инициирован процесс формирования или актуализации выписки по запрошенным параметрам.
Формирование выписки может занять до нескольких минут, после чего можно выполнить запрос повторно.
Как часто обновляется выписка? Работает ли получение операций в выходные дни?
Обычно выписка формируется автоматически по мере поступления информации об операциях по счету. Полная синхронизация данных об операциях за прошедший день происходит каждый раз после его окончания.
Методы получения информации об операциях в Sber API доступны и в выходные дни, однако на первый запрос может вернуться код возврата `202 STATEMENT_RESPONSE_PROCESSING`.
Что означает ошибка «В системе уже имеется документ с совпадением номера, даты, счета плательщика, суммы»?
В Sber API реализован контроль, исключающий создание дублирующего документа. Данная ошибка означает, что в СберБизнес уже существует документ того же типа, для которого значения параметров: номер документа, дата создания, счет плательщика, сумма платежа; полностью совпадают со значениями аналогичных параметров из запроса.
Выполняется ли декодирование строки, указанной в качестве `backUrl` при осуществлении перенаправления клиента?
* При передаче `backUrl` необходимо выполнять URLEncode (подробнее в спецификации [RFC3986](https://www.ietf.org/rfc/rfc3986.txt)). При осуществлении перенаправления выполняется преобразование закодированной для передачи в URL-адрес строки в декодированную строку.
Пример:
Исходный `backUrl`:
`http://sberbank.ru1/sites/ShopingCard%23RCM-Contracts`
Декодированный `backUrl`:
`http://sberbank.ru1/sites/ShopingCard#RCM-Contracts`
* Параметр `backUrl` является необязательным и в случае его отсутствия в ссылке клиент не сможет вернуться в сервис Партнера.
* Параметр `backUrl` должен соответствовать адресу сервиса Партнера, указанному при регистрации в банке.
Как отличить промежуточный статус `SENDED_TO_PAYER` от конечного `SENDED_TO_PAYER` в ответе на запрос GET /v1/payment-requests/outgoing/\{externalId}/state?
Статус `SENDED_TO_PAYER`:
* промежуточный, если ИПТ выставлено в адрес плательщика, который является клиентом Сбербанка,
* окончательный, если ИПТ выставлено в адрес плательщика, который не является клиентом Сбербанка.
Как сортируются документы, получаемые методом GET /v1/generic-letters/from-bank? Новые документы добавляются в начало или в конец?
Новые документы добавляются в начало первой страницы.
Можете нам помочь в интеграции (или разработке)?
Банк не предоставляет такую услугу, но вы можете ознакомиться со списком участников нашей партнерской программы по [ссылке](https://sberbp.ru/partners).
Можете предоставить примеры кода на PHP или другом языке программирования?
Вы можете воспользоваться [SDK](https://developers.sber.ru/docs/ru/sber-api/sdk/overview) - готовыми инструментами для взаимодействия с Sber API. На данный момент только для Java.
Как уточнить информацию по клиентскому менеджеру Sber API?
Вы можете узнать своего клиентского менеджера в на линии поддержки 0321 (моб).
При отправке документа получили ошибку связанную с электронной подписью.
В случае возникновения ошибок проверки электронной подписи/ошибки несоответствия подписи, проверьте соответствие сформированной строки base64 требованиям к электронной подписи.
Требования к электронной подписи представлены в [документации](https://developers.sber.ru/docs/ru/sber-api/start/eds-in-api):
* Подпись CaDES-BES в формате PEM;
* Подпись открепленная — detatched;
* Алгоритм цифровой подписи ГОСТ Р 34.10-2012 для ключей длины 256 бит;
* Блок с сертификатами (Certificates) обязателен — включает сертификат подписанта;
* Данные подписанта (Signer Info) — содержит информацию только по одному подписанту;
* Присутствует время формирования подписи (Signing Time).
Проверить сформированную подпись можно на странице [Удостоверяющего центра](https://www.sberbank.ru/ru/s_m_business/id-center):
1. Выберите раздел «Проверка электронной подписи»
2. Выберите тип электронной подписи - Отсоединенная (электронная подпись содержится в отдельном файле)
Дополнительно проверьте дайджест на соответствие [требованиям](https://developers.sber.ru/docs/ru/sber-api/start/eds-in-api):
* Необходимо использовать кодировку UTF-8;
* Поля дайджеста должны быть отсортированы по алфавиту (от A до Z);
* Значения сумм и комиссий должны задаваться с точностью 2 знака после точки;
* Значения сумм и комиссий в дайджесте и в запросе должны быть идентичны;
* Если какое-то поле не заполняется, его не требуется добавлять в дайджест;
* Разделитель строк должен быть в формате unix (одиночный \n);
* Последняя строка дайджеста не должна содержать перевод строки;
* Перевод строк должен быть экранирован как \n;
* При заполнении полей с данными компании (название компании, например) используйте значения, полученные от Банка в рамках запросов API (в том числе с сохранением регистра).
---
# Подключение MCP
[source](https://developers.sber.ru/docs/ru/sber-api/mcp/connect-mcp.md)
---
# Инкассация
[source](https://developers.sber.ru/docs/ru/sber-api/mcp/mcp-encashment.md)
## Адрес MCP-сервера
**Тестовый контур**
```sh
https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/encashment/mcp
```
**Промышленный контур**
```sh
https://fintech.sberbank.ru:9443/fintech/api/encashment/mcp
```
## Scope
Для доступа к этому методу в параметре `scope` ссылки [авторизации](/ru/sber-api/specifications/oauth/oauth-authorize-get) пользователя должен быть указан сервис `MCP_COMMON` и `MCP_ENCASHMENT`.
## Авторизация и аутентификация
Для успешного взаимодействия вам потребуются следующие параметры:
* [**TLS-сертификат**](/ru/sber-api/start/tls): Необходим для организации защищенного канала связи и аутентификации вашего приложения.
* [**Access\_token**](/ru/sber-api/start/oauth): Токен доступа, который требуется передавать в заголовках.
## Инструменты (Tools)
### Получение списка договоров по кассово-инкассаторским услугам
| Свойство | Описание |
| :--- | :--- |
| **Имя** | `encashment.get_contracts_list` |
| **Описание** | Получение списка договоров по кассово-инкассаторским услугам |
| **Операция Scope** | `MCP_ENCASHMENT` |
| **Бизнес-сценарий** | Используется для получения списка договоров по кассово-инкассаторским услугам |
| **Лимиты** | Не рекомендуется вызывать инструмент чаще 5 раз в секунду. |
**Входные параметры**
\nПример: 1985-02-28"
},
"beginDateTo": {
"type": "string",
"format": "date",
"description": "Дата окончания периода, в котором был подписан договор \nПример: 2023-01-15"
},
"isActual": {
"type": "boolean",
"description": "Признак действующего договора"
},
"page": {
"type": "string",
"description": "Номер страницы. Минимальное значение: 1 \nПример: 1",
"minimum": 1
}
},
}}
schemaType={"request"}
/>
**Пример промптов:**
```sh
Список договоров инкассации
```
```sh
Список актуальных договоров инкассации
```
```sh
Список неактуальных договоров подписанных за 1 месяц
```
```sh
Список актуальных договоров с 4 марта по 8 мая 2026 года
```
### Получение списка объектов по договору инкассации
| Свойство | Описание |
| :--- | :--- |
| **Имя** | `encashment.get_objects_list_by_contract` |
| **Описание** | Получение списка объектов по договору инкассации |
| **Операция Scope** | `MCP_ENCASHMENT` |
| **Бизнес-сценарий** | Используется для получения списка объектов по договору инкассации |
| **Лимиты** | Не рекомендуется вызывать инструмент чаще 5 раз в секунду. |
**Входные параметры**
\nПример: 1985-02-28"
},
"beginDateTo": {
"type": "string",
"format": "date",
"description": "Дата окончания периода, в котором был подписан договор \nПример: 2023-01-15"
},
"isActual": {
"type": "boolean",
"description": "Признак действующего договора"
},
"page": {
"type": "string",
"description": "Номер страницы. Минимальное значение: 1 \nПример: 1",
"minimum": 1
}
},
}}
schemaType={"request"}
/>
**Пример промптов:**
```sh
Список объектов инкассации по договору 7665694077109862401
```
```sh
Список активных объектов по договору 7637531314408783873
```
```sh
Список неактивных объектов по договору 7637531314408783873
```
---
# Рублевое платежное поручение
[source](https://developers.sber.ru/docs/ru/sber-api/mcp/mcp-payment.md)
## Адрес MCP-сервера
**Тестовый контур**
```sh
https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/business-payments/mcp
```
**Промышленный контур**
```sh
https://fintech.sberbank.ru:9443/fintech/api/business-payments/mcp
```
## Scope
Для доступа к этому методу в параметре `scope` ссылки [авторизации](/ru/sber-api/specifications/oauth/oauth-authorize-get) пользователя должен быть указан сервис `MCP_COMMON` и `MCP_PAYMENT`.
## Авторизация и аутентификация
Для успешного взаимодействия вам потребуются следующие параметры:
* [**TLS-сертификат**](/ru/sber-api/start/tls): Необходим для организации защищенного канала связи и аутентификации вашего приложения.
* [**Access\_token**](/ru/sber-api/start/oauth): Токен доступа, который требуется передавать в заголовках.
**Схема взаимодействия**
```mermaid
---
config:
themeVariables:
primaryTextColor: '#2a72f8'
primaryBorderColor: '#2a72f8'
lineColor: '#2a72f8'
noteBkgColor: '#f5f5f5'
noteBorderColor: ''
---
sequenceDiagram
participant User as Пользователь
participant LLM as AI-агент (LLM)
participant MCP as MCP Сервер + Sber API
User->>LLM: "Оплатить поставщику ООО Ромашка 15000 руб. Если у поставщика несколько счетов, предложи какой выбрать для оплаты."
Note over LLM, MCP: Получение контрагента и его рублевых счетов (возвращает: счет, БИК, корсчет)
LLM->>MCP: correspondent_rur.get (получить контрагента и его рублевые счета)
MCP-->>LLM: Данные контрагента: счета, БИК, корсчет
opt Опциональный выбор счета для оплаты
LLM->>User: Выберите счет для оплаты
User->>LLM: Указывает счет
end
alt Контрагент не найден
LLM->>User: Запросить недостающие реквизиты
User->>LLM: ИНН, счет, БИК, назначение
opt Опциональное подтверждение реквизитов
LLM->>User: Подтвердите реквизиты (да/нет)
User->>LLM: Да
end
end
LLM->>LLM: Генерация externalId (UUID)
LLM->>MCP: rur_payment.create_invoice(реквизиты, externalId)
alt Ошибка в реквизитах
MCP-->>LLM: Ошибка (CHECKERROR / REQUISITEERROR)
LLM-->>User: Проверьте реквизиты
else Успех
MCP-->>LLM: Черновик создан: номер, externalId
LLM-->>User: Черновик №12345 Ссылка на подписание: sbi.sberbank.ru/...
end
Note over User: Пользователь переходит по ссылке в СберБизнес, проверяет платежное поручение и подписывает
User->>LLM: "Какой статус у платежа ООО Ромашка?"
Note over LLM, MCP: Получение статуса платежа
LLM->>MCP: rur_payment.get_payment_status(externalId)
MCP-->>LLM: Статус платежа
LLM-->>User: Платеж ООО Ромашка на сумму 15000 руб. Статус: [статус]
```
Типовой workflow (рекомендация для LLM)
**1.** Запросить создание платежа по контрагенту (указать его ИНН, полное наименование). Указать в запросе, что хотите выбрать счет для оплаты в случае, если их несколько.
**2.** Вызвать `correspondent_rur.get` для получения данных контрагента и реквизиты счета для оплаты.
**3.** Если контрагент не найден, запросить у пользователя все необходимые реквизиты платежа.
**4.** Сгенерировать новый UUID для `externalId`.
**5.** Вызвать `rur_payment.create_invoice` с переданными данными.
**6.** Получить ответ.
**7.** Сообщить пользователю информацию о создании Черновика. Пример: *«Черновик создан, номер \{number}, externalId \{externalId}. Для подписания перейдите в СберБизнес.»*
**6.** При необходимости через настройку AI-агента сформировать ссылку на подписание:
```sh
{контур_банка}/ic/ufs/rpp-light/index.html#/payment-creator/{externalid}
```
, где:
**\{контур\_банка}**
* Тестовый контур: `https://efs-sbbol-ift-web.testsbi.sberbank.ru:9443`
* Промышленный контур (СМС-пользователь): `https://sbi.sberbank.ru:9443`
* Промышленный контур (Токен-пользователь): `http://localhost:28016`
**\{externalId}**
* `externalId` — уникальный идентификатор платежного документа. Присваивается при создании платежного поручения.
**7.** При необходимости в дальнейшем вызывать `rur_payment.get_state` для отслеживания статуса.
**Особые условия:**
* Для использования tools MCP-сервера необходимо использовать подходящие промпты с указанием необходимой информации.
* Перед получением данных по контрагенту следует запросить список его счетов. Если их несколько, то предложить пользователю выбрать подходящий счет для оплаты..
* Перед отправкой платежного поручения в банк **рекомендуется получить подтверждение от пользователя**, что реквизиты верны. Созданный черновик платежного поручения можно будет отредактировать вручную в СберБизнес в случае некорректных данных.
* Без подписания платежное поручение останется в статусе черновика и не будет исполнено банком. Для его исполнения пользователю необходимо перейти в СберБизнес и подписать черновик.
* Сумма (`amount`) всегда должна быть **положительной**.
* *Черновик ≠ исполненный платеж* — обязательна подпись в СберБизнес.
* Для каждого нового платежа генерируется уникальный `externalId`.
## Инструменты (Tools)
### Получение реквизитов контрагента
| Свойство | Описание |
| :--- | :--- |
| **Имя** | `correspondent_rur.get` |
| **Описание** | Получение информации по контрагенту и его рублевым счетам. Возвращается информация по контрагенту (наименование, ИНН, КПП, статус подписания контрагента), реквизиты по счетам (номер счета, БИК, корреспондентский счет, наименование банка). |
| **Операция Scope** | `MCP_PAYMENT` |
| **Бизнес-сценарий** | Инструмент предназначен для поиска и получения данных по контрагенту (юридическому лицу, ИП или физическому лицу) и всем принадлежащим ему рублевым счетам. |
**Входные параметры**
**1.** Получение полных реквизитов контрагента для ручного формирования платежа:
* Проверка наличия контрагента в справочнике
* Получение списка всех счетов контрагента для выбора
**2.** Совместное использование с rur\_payment.create\_invoice:
* Получение реквизитов счета для автоматического заполнения платежного поручения
* Проверка корректности данных контрагента перед созданием платежа
* Выбор конкретного счета из нескольких доступных
### Создание платежа
| Свойство | Описание |
| :--- | :--- |
| **Имя** | `rur_payment.create_invoice` |
| **Описание** | Создание черновика рублевого платежного поручения по свободным реквизитам. Черновик требует подписания в СберБизнес и не является исполненным платежом. |
| **Операция Scope** | `MCP_PAYMENT` |
| **Бизнес-сценарий** | Инициирование нового рублевого платежа. LLM генерирует UUID, запрашивает у пользователя реквизиты, вызывает инструмент и сообщает пользователю результат. |
**Входные параметры**
\nПример: a44ebab9-2dea-d47f-e360-8e5659675740"
},
"amount": {
"description": "Сумма платежа, строго положительная. \nПример: 1.01"
},
"purpose": {
"description": "Назначение платежа \nПример: Оплата заказа №123. НДС не облагается"
},
"payeeAccount": {
"description": "Счет получателя платежа \nПример: 40802810600000200000"
},
"payeeBankBic": {
"description": "БИК банка получателя платежа \nПример: 044525225"
},
"payeeBankCorrAccount": {
"description": "Корсчет банка получателя платежа \nПример: 30101810400000000225"
},
"payeeInn": {
"description": "ИНН получателя платежа \nПример: 7707083893"
},
"payeeKpp": {
"description": "КПП получателя платежа \nПример: 222201001"
},
"payeeName": {
"description": "Полное наименование получателя платежа \nПример: ООО \"Наименование получателя\""
}
}
}}
schemaType={"response"}
/>
**Пример промпта:**
```sh
Создай платежное поручение для ООО "Ромашка" на 100 тысяч рублей за услуги по договору 111, НДС 20%.
```
* В таком случае AI-агент должен сформировать платежное поручение по найденному ООО "Ромашка" и первому счету для оплаты из списка. Поэтому следует запросить список счетов для оплаты. Данные плательщика будут указаны автоматически.
* Также AI-агент должен самостоятельно сгенерировать externalId (UUID, уникальный идентификатор платежа) для запроса создания платежного поручения.
### Получить статус платежа
| Свойство | Описание |
| :--- | :--- |
| **Имя** | `rur_payment.get_state` |
| **Описание** | Получение текущего статуса обработки рублевого платежного поручения (РПП). История статусов не предоставляется, возвращается только актуальное состояние. |
| **Операция Scope** | `MCP_PAYMENT` |
| **Бизнес-сценарий** | Используется для опроса статуса платежа после создания черновика или при необходимости проверить, перешел ли платеж в финальное состояние (успех/отказ). |
|**Лимиты**| Не рекомендуется вызывать инструмент чаще 5 раз в секунду. |
**Входные параметры**
\nПример: a44ebab9-2dea-d47f-e360-8e5659675740"
},
"amount": {
"description": "Сумма платежа, строго положительная. \nПример: 1.01"
},
"purpose": {
"description": "Назначение платежа \nПример: Оплата заказа №123. НДС не облагается"
},
"payeeAccount": {
"description": "Счет получателя платежа \nПример: 40802810600000200000"
},
"payeeBankBic": {
"description": "БИК банка получателя платежа \nПример: 044525225"
},
"payeeBankCorrAccount": {
"description": "Корсчет банка получателя платежа \nПример: 30101810400000000225"
},
"payeeInn": {
"description": "ИНН получателя платежа \nПример: 7707083893"
},
"payeeKpp": {
"description": "КПП получателя платежа \nПример: 222201001"
},
"payeeName": {
"description": "Полное наименование получателя платежа \nПример: ООО \"Наименование получателя\""
}
}
}}
schemaType={"response"}
/>
При получении ошибки в ответе (в т.ч. CHECKERROR, REQUISITEERROR) необходимо показать пользователю текст ошибки из поля "bankComment" (если доступно).
Статусы
| bankStatus | Наименование статуса | Назначение кода состояния |
|------------|----------------------|----------------------------|
| **Промежуточный/Продолжать опрашивать** | | |
| `ACCEPTED` | Принят | Электронный документ принят на стороне Банка |
| `ACCEPTED_BY_ABS` | Принят АБС или Принят | Электронный документ был принят к обработке в АБС Банка |
| `CARD2` | Картотека 2 или Ожидает оплаты | АБС обнаружено, что на счете плательщика недостаточно средств для исполнения документа |
| `CREATED` | Создан | Документ записан в БД, проверки не выполнялись |
| `DELAYED` | Приостановлен | Обработка электронного документа была приостановлена |
| `DELIVERED` | Доставлен | Запрос доставлен в ДБО и взят в обработку |
| `DELIVERED_RZK` | Доставлен в СБК | Электронный документ отправлен в СБК и получен квиток о доставке |
| `FRAUDALLOW` | Одобрен ФРОД | Проверка во ФРОДЕ прошла успешно, переход на «Принят» |
| `FRAUDREVIEW` | На проверке у специалиста Банка | Со стороны ФРОД-анализа получен статус документа «На проверке у специалиста Банка» |
| `FRAUDSENT` | Отправлен во ФРОД | Документ отправлен на проверку в АС Fraud-мониторинг |
| `FRAUDSMS` | Требуется подтверждение sms-паролем | Со стороны ФРОД-анализа получен статус документа «Требуется подтверждение sms-паролем» |
| `NOT_ACCEPTED_RZK` | Не принят СБК | Электронный документ не прошел логические контроли СБК |
| `PARTSIGNED` | Частично подписан | ЭД подписан частью подписей, входящих в предусмотренный для данного документа комплект подписей |
| `PROCESSING_RZK` | Обрабатывается СБК | ЭД успешно прошел проверки ЭП и логические проверки СБК |
| `REQUESTED_RECALL` | Запрошен отзыв | Документ отозван |
| `RZK_SIGN_ERROR` | Ошибка ЭП СБК | Проверка подписи под ЭД на стороне СБК дала отрицательный результат |
| `SENDING_TO_RZK` | Отправляется в СБК | Электронный документ отправлен в СБК, но не получен квиток о доставке |
| `SIGNED` | Подписан | ЭД подписан предусмотренным для него комплектом подписей |
| `TO_PROCESSING_RZK` | К отправке в СБК | ЭД подписан предусмотренным для него комплектом о доставке |
| `CHECKERROR` | Ошибка контроля | ЭД сформирован, но при сохранении не прошел проверку корректности заполнения полей и сохранен с имеющимися в нем ошибками |
| **Окончательный (Не успешный)/Прекратить опрос** | | |
| `DELETED` | Удален | Электронный документа удален из числа действующих документов |
| `INVALIDEDS` | ЭП/АСП не верна или Подпись неверна | Проверка ЭП под ЭД на стороне Банка дала отрицательный результат |
| `RECALL` | Отозван | Электронный документ был отозван Клиентом по запросу |
| `REFUSEDBYBANK` | Отвергнут банком или Отклонен банком | Электронный документ отвергнут банком |
| `REFUSEDBYABS` | Отказан АБС | Электронный документ не прошел проверки в АБС |
| `REQUISITEERROR` | Ошибка реквизитов | В ЭД указаны ошибочные реквизиты |
| `REFUSED_BY_RZK` | Отказан контролирующей организацией | Электронный документ не прошел проверки контролирующей организацией |
| `FRAUDDENY` | Отвергнут ФРОД | Документ отказан на основе проверки в АС Fraud-мониторинг, переходим в «Отвергнут банком» |
| **Окончательный (Успешный)/Прекратить опрос** | | |
| `IMPLEMENTED` | Исполнен | Электронный документ исполнен Банком |
---
# Депозиты и НСО
[source](https://developers.sber.ru/docs/ru/sber-api/mcp/mcp-placement.md)
## Адрес MCP-сервера
**Тестовый контур**
```sh
https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/placement/mcp
```
**Промышленный контур**
```sh
https://fintech.sberbank.ru:9443/fintech/api/placement/mcp
```
## Scope
Для доступа к этому методу в параметре `scope` ссылки [авторизации](/ru/sber-api/specifications/oauth/oauth-authorize-get) пользователя должен быть указан сервис `MCP_COMMON` и `MCP_COMMERCIAL_OFFERS`.
## Авторизация и аутентификация
Для успешного взаимодействия вам потребуются следующие параметры:
* [**TLS-сертификат**](/ru/sber-api/start/tls): Необходим для организации защищенного канала связи и аутентификации вашего приложения.
* [**Access\_token**](/ru/sber-api/start/oauth): Токен доступа, который требуется передавать в заголовках.
## Инструменты (Tools)
### Получение информации о ПКП по депозитам
| Свойство | Описание |
| :--- | :--- |
| **Имя** | `deposit.get_commercial_offers` |
| **Описание** | Получение информации о персональных коммерческих предложениях по депозитам |
| **Операция Scope** | `MCP_COMMERCIAL_OFFERS` |
| **Бизнес-сценарий** | Используется для получения персональных коммерческих предложениях по депозитам |
| **Лимиты** | Не рекомендуется вызывать инструмент чаще 5 раз в секунду. |
**Входные параметры**
\nПример: 1",
"minimum": 1
}
},
}}
schemaType={"request"}
/>
**Пример промптов:**
```sh
Персональные коммерческие предложения по депозитам
```
```sh
Предложения по депозитам
```
```sh
ПКП по депозитам
```
### Получение информации о ПКП по НСО
| Свойство | Описание |
| :--- | :--- |
| **Имя** | `minimum_balance.get_commercial_offers` |
| **Описание** | Получение информации о персональных коммерческих предложениях по неснижаемому остатку(НСО) |
| **Операция Scope** | `MCP_COMMERCIAL_OFFERS` |
| **Бизнес-сценарий** | Используется для получения персональных коммерческих предложениях по неснижаемому остатку(НСО) |
| **Лимиты** | Не рекомендуется вызывать инструмент чаще 5 раз в секунду. |
**Входные параметры**
\nПример: 1",
"minimum": 1
}
},
}}
schemaType={"request"}
/>
**Пример промптов:**
```sh
ПКП по НСО
```
```sh
Персональные коммерческие предложения по НСО
```
```sh
Предложения по НСО
```
---
# Выписка
[source](https://developers.sber.ru/docs/ru/sber-api/mcp/mcp-statement.md)
## Адрес MCP-сервера
**Тестовый контур**
```sh
https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/statement/mcp
```
**Промышленный контур**
```sh
https://fintech.sberbank.ru:9443/fintech/api/statement/mcp
```
## Scope
Для доступа к этому методу в параметре `scope` ссылки [авторизации](/ru/sber-api/specifications/oauth/oauth-authorize-get) пользователя должен быть указан сервис `MCP_COMMON` и `MCP_STATEMENT`.
## Авторизация и аутентификация
Для успешного взаимодействия вам потребуются следующие параметры:
* [**TLS-сертификат**](/ru/sber-api/start/tls): Необходим для организации защищенного канала связи и аутентификации вашего приложения.
* [**Access\_token**](/ru/sber-api/start/oauth): Токен доступа, который требуется передавать в заголовках.
## Инструменты (Tools)
### Сводная информация по счету
| Свойство | Описание |
| :--- | :--- |
| **Имя** | `statement.get_summary` |
| **Описание** | Получение сводной информации по счету |
| **Операция Scope** | `MCP_STATEMENT` |
| **Бизнес-сценарий** | Используется для получения сводной информации о входящих/исходящих остатках и суммарных оборотах за один день по счету. |
| **Примечание** | Выписка в канале Sber API доступна за предыдущие 5 лет + текущий год. За выпиской глубиной более 5 лет, рекомендуем обратиться в офис банка. |
| **Лимиты** | Не рекомендуется вызывать инструмент чаще 5 раз в секунду. |
**Входные параметры**
\nПример: 40702810338000001464"
},
"statementDate": {
"description": "Дата запрашиваемой выписки \nПример: 2022-06-01"
}
}
}}
schemaType={"response"}
/>
**Пример промпта:**
```sh
Покажи итоги за день по счету 40702810338000042025 на 04.03.2025
```
```sh
Агрегированная сводка по 40702810338000042025 за 04.03.2025
```
```sh
Какой остаток на счете 40702810338000042025 на конец дня 2025-03-04?
```
```sh
Какой был входящий и исходящий остаток 04.03.2025 на счете 40702810338000042025?
```
### Выписка по рублевому счету
| Свойство | Описание |
| :--- | :--- |
| **Имя** | `statement.get_rur_transactions` |
| **Описание** | Получение операций выписки по рублевому счету |
| **Операция Scope** | `MCP_STATEMENT` |
| **Бизнес-сценарий** | Используется для получения операций выписки по рублевому счету за конкретную дату. Выписка в канале Sber API доступна за предыдущие 5 лет + текущий год. За выпиской глубиной более 5 лет, рекомендуем обратиться в офис банка. |
| **Примечание** | Инструмент позволяет получить выписку только по рублевому счету. |
| **Лимиты** | Не рекомендуется вызывать инструмент чаще 5 раз в секунду. |
**Входные параметры**
\nПример: 40702810338000001464"
},
"statementDate": {
"description": "Дата запрашиваемой выписки \nПример: 2022-06-01"
},
"page": {
"description": "Номер запрашиваемой страницы. \nЕсли пользователь не указал страницу в запросе, агент должен передать значение 1. \nПо умолчанию 100 операций на странице. \nПример: 1"
}
}
}}
schemaType={"response"}
/>
**Пример промпта:**
```sh
Детальная выписка за дату 04.03.2025, счет 40702810338000042025
```
```sh
Полный список операций по счету 40702810338000042025 за 04.03.2025
```
```sh
Выведи все операции по счету 40702810338000042025 за сегодня
```
```sh
Покажи расходы и приходы по счету 40702810338000042025 за вчера
```
```sh
Какие были операции по счету 40702810338000042025 за 04.03.2025
```
### Инкрементальная выписка
| Свойство | Описание |
| :--- | :--- |
| **Имя** | `statement.get_rur_increment` |
| **Описание** | Возвращает данные об оборотах по счету за текущий операционный день, начиная с указанного времени, а также измененные записи выписки. |
| **Операция Scope** | `MCP_STATEMENT` |
| **Бизнес-сценарий** | Используется для получения операций выписки по рублевому счету за временной период текущего операционного дня. Выписка в канале Sber API доступна за предыдущие 5 лет + текущий год. За выпиской глубиной более 5 лет, рекомендуем обратиться в офис банка. |
| **Примечание** | Инструмент позволяет получить выписку только по рублевому счету. |
| **Лимиты** | Не рекомендуется вызывать инструмент чаще 5 раз в секунду. |
**Входные параметры**
\nПример: 2022-06-01T14:03:45.123"
},
"lastModifyDateTo": {
"description": "Нижняя граница выборки операций. До указанного времени будут получены операции. \nПример: 2022-06-01T14:03:45.123"
},
"accountNumber": {
"description": "Номер счета \nПример: 40702810338000001464"
},
"page": {
"description": "Номер запрашиваемой страницы. \nЕсли пользователь не указал страницу в запросе, агент должен передать значение 1. \nПо умолчанию 100 операций на странице. \nПример: 1"
}
}
}}
schemaType={"response"}
/>
\nПример: 2022-06-01"
},
"accountNumber": {
"description": "Номер счета \nПример: 40702810338000001464"
},
"page": {
"description": "Номер запрашиваемой страницы. \nЕсли пользователь не указал страницу в запросе, агент должен передать значение 1. \nПо умолчанию 100 операций на странице. \nПример: 1"
}
}
}}
schemaType={"response"}
/>
**Пример промпта:**
```sh
Дай инкрементальную выписку по счету 40702810338000042025 за период с 9:15 до 17:45
```
---
# MCP
[source](https://developers.sber.ru/docs/ru/sber-api/mcp/overview.md)
MCP (Model Context Protocol) - протокол, позволяющий настроить интеграцию между языковыми моделями (LLM) и внешними источниками данных и инструментов.
Подробнее о протоколе — в [официальной документации](https://modelcontextprotocol.io/introduction).
C помощью протокола MCP обеспечивается взаимодействие между AI-агентом со стороны клиента и MCP-сервером Sber API со стороны банка.
MCP-сервер Sber API расширяет возможности умных ассистентов, предоставляя им доступ к банковским инструментам.
## Как это работает
Ниже представлена упрощенная архитектурная схема интеграции с MCP-сервером.
Основные элементы:
* **Система Партнера** - система, где размещен AI-агент.
* **AI-агент** - компонент Системы, который осуществляет отправку запросов к MCP-серверу по протоколу MCP.
* **MCP-сервер** - компонент Sber API, который обрабатывает запросы клиента по протоколу MCP.
```mermaid
flowchart LR
User[Пользователь] <--> ClientSystem[Система Партнера]
subgraph ClientSystem [Система Партнера]
direction LR
AI[AI-агент] <--> LLM[LLM]
end
ClientSystem <-->|МСР-протокол| Bank[Банк]
subgraph Bank [Банк]
MCPServer[MCP-сервер Sber API]
end
```
---
# Sber API
[source](https://developers.sber.ru/docs/ru/sber-api/overview.md)
---
# Информация о компании
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/additional/company-info/overview.md)
## Информация о сервисе
Сервис позволяет получить большой объем данных о компании: своей (сервис «Компаниям»), дочерней (сервис «Холдингам») или клиентской.
Вы сможете узнать реквизиты компании, адрес регистрации, расчетные счета в Сбере, статус резидента и многое другое. Данные будут доступны, если пользователь, который авторизуется на вашей платформе от лица компании, предоставит доступ к ним.
Может использоваться как вспомогательный инструмент для других сценариев или как самостоятельный.
Можно использовать два вида запросов: `/fintech/api/v1/client-info` и `/ic/sso/api/v2/oauth/user-info`. Ресурсы позволяют получить разные наборы атрибутов. С полным списком возвращаемых атрибутов можно ознакомить в разделе Информация об учетной записи (user info) и Информация о клиенте (client info).
Получение информации о компании
**Шаги**
1. Получить информацию о компании
**Участники usecase**
* **Платформа** - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
* **Sber API** - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
**Предварительные условия**
* Запускается внутри одного из сценариев
* У Платформы есть токены доступа Пользователя, полученные с помощью СберБизнес ID
**Результат применения**
* Платформа получила информацию о компании
**Используемые запросы**
| **№** | **Метод** | **Точка вызова** | **Описание** | **Операция в scope** | **Шаг в схеме** |
| ----- | ---------------------------- | ----------------------------- | ----------------------------------------------------------------------------------- | -------------------- | ------------------------------- |
| 1 |  | `/fintech/api/v1/client-info` | [Получение расширенной информации](/ru/sber-api/specifications/client-info/get-client-info) | GET\_CLIENT\_ACCOUNTS | 1. Получить данные по компании |
| 2 |  | `/ic/sso/api/v2/oauth/token` | [Обновление токена доступа](/ru/sber-api/specifications/oauth/oauth-token-post) | openid | 1. Получить данные по компании |
---
# Справочники
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/additional/dicts/overview.md)
## Информация о сервисе
«Справочники» — это сервис, который позволяет вам получать различные справочники, данные из которых можно использовать в запросах API.
## Варианты реализации
:::note
Ниже будут приведены примеры реализации. Сценарии могут быть для вас отправной точкой и идеей для финального способа реализации функциональности.
:::
Сценарии описали общие, для более легкого восприятия информации описания работы с сервисом.
Можно использовать разные триггеры запуска того или иного сценария - действия пользователя, регламентный запуск по времени, наступление определенных событий и другие варианты.
Получение справочника
**Шаги**
1. Запросить справочник
**Участники usecase**
* **Платформа** - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
* **Sber API** - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
**Предварительные условия**
* Запускается внутри одного из сценариев
* У Платформы есть токены доступа Пользователя, полученные с помощью СберБизнес ID
**Результат применения**
* Платформа получила справочник
**Используемые запросы**
| **№** | **Метод** | **Точка вызова** | **Описание** | **Операция в scope** | **Шаг в схеме** |
| ----- | ---------------------------- | ---------------------------- | ----------------------------------------------------------------------------------- | -------------------- | ------------------------ |
| 1 |  | `/fintech/api/v1/dicts ` | [Получение справочника](/ru/sber-api/specifications/dicts/get-dictionary.mdx) | DICT | 1. Запросить справочник |
| 2 |  | `/ic/sso/api/v2/oauth/token` | [Обновление токена доступа](/ru/sber-api/specifications/oauth/oauth-token-post) | openid | 1. Запросить справочник |
## Перечень справочников
:::note
Идентификатор справочника (name) / название справочника на русском языке
:::
BIC / Справочник БИК
| **Наименование поля** | **Описание поля** | **Пример** |
| --------------------- | --------------------------------------- | ----------------------------------- |
| zipcode(String) | Индекс | 109240 |
| datech(Date) | Дата контроля | 1970-01-01 |
| address(String) | Адрес | ул Высоцкого, 4 |
| city(String) | Город | Г. Москва |
| corrAccount(String) | Корр. счет | 30101810600000000754 |
| tnp(String) | Тип населенного пункта | Г |
| name(String) | Наименование банка | КУ АО \\"ЗЕРНОБАНК\\"- ГК \\"АСВ\\" |
| type(String) | Флаг «Участие в электронных расчетах» 0 | |
| bic(String) | БИК банка | 040173754 |
| cityOrig(String) | Населенный пункт | Москва |
| status(String) | Статус | ЛИКВ |
```json
{
"zipcode": "350000",
"datech": null,
"address": "ул Фестивальная, 1",
"city": "Г. Краснодар",
"corrAccount": "30101810203490000724",
"tnp": "Г",
"name": "ФИЛИАЛ ООО КБ \"СОЮЗНЫЙ\" В Г. КРАСНОДАРЕ",
"type": "4",
"bic": "040349724",
"cityOrig": "Краснодар",
"status": null
}
```
ClearingStructure / Справочник структур национальных клиринговых кодов
| **Наименование поля** | **Описание поля** | **Пример** |
| ---------------------- | -------------------------------------------------------- | ------------------------------ |
| countryCode(String) | Код страны | CH |
| countryIso(String) | ISO код страны | CH |
| countryNameRus(String) | Наименование страны на русском языке | null |
| format(String) | Формат национального клирингового кода | 6!n |
| fullName(String) | Наименование национального клирингового кода | Swiss Clearing Code (SIC code) |
| name(String) | Сокращенное наименование национального клирингового кода | Swiss Clearing Code (SIC code) |
| note(String ) | Обозначение национального клирингового кода | SW |
```json
{
"note": "RU",
"countryIso": "RU",
"countryCode": "RU",
"format": "9!n",
"name": "Банковский идентификационный код (БИК)",
"fullName": "Банковский идентификационный код (БИК)",
"countryNameRus": null
}
```
Country / Справочник стран
| **Наименование поля** | **Описание поля** | **Пример** |
| --------------------- | --------------------------- | --------------------------------------------- |
| mnem03(String) | 3-символьный код | DZA |
| code(String) | Цифровой код | 012 |
| nameInt(String) | Международное наименование | ALGERIA |
| mnem02(String) | 2-символьный код | DZ |
| name(String) | Наименование | Алжирская Народная Демократическая Республика |
| nameShort(String) | Краткое наименование страны | АЛЖИР |
```json
{
"mnem03": "EGY",
"code": "818",
"nameInt": "EGYPT",
"mnem02": "EG",
"name": "Арабская Республика Египет",
"nameShort": "ЕГИПЕТ"
}
```
CurDict / Справочник валют
| **Наименование поля** | **Описание поля** | **Пример** |
| --------------------- | -------------------------------------------------- | -------------------- |
| name(String) | Наименование валюты | АВСТРАЛИЙСКИЙ ДОЛЛАР |
| code(String) | Код валюты (цифровой) | 036 |
| isoCode(String) | ISO код валюты | AUD |
| fractDigits(Integer) | Количество знаков дробных единиц в 1 целой единице | 2 |
```json
{
"name": "КАНАДСКИЙ ДОЛЛАР",
"code": "124",
"isoCode": "CAD",
"fractDigits": 2
}
```
MzpCardType / Справочник типов пластиковых карт ЗП проект
| **Наименование поля** | **Описание поля** | **Пример** |
| ---------------------------- | ---------------------------- | --------------------------- |
| bonusProgramCode(String) | Код бонусной программы | AE |
| depositTypeCode1C(String) | Код вида вклада 1C | 50 |
| typeName(String) | Вид карты | Visa Classic \\"Аэрофлот\\" |
| uniqueDesign(Boolean) | Индивидуальный дизайн | false |
| depositSubTypeCode1C(String) | Код подвида вклада 1C | 2 |
| peopleGroupName(String) | Название категории населения | Зарплатная |
| typeCode(String) | Код вида карты | 12 |
| peopleGroupCode(String) | Код категории населения | 207 |
```json
{
"bonusProgramCode": "PG",
"depositTypeCode1C": "50",
"typeName": "Visa Classic \"Подари жизнь\"",
"uniqueDesign": false,
"depositSubTypeCode1C": "2",
"peopleGroupName": "Зарплатная",
"typeCode": "18",
"peopleGroupCode": "207"
}
```
SalType / Справочник цифровых значений видов зачислений
| **Наименование поля** | **Описание поля** | **Пример** |
| --------------------- | ----------------- | ----------------------- |
| description(String) | Описание | Перевод по договору ГПХ |
| code(String) | Цифровое значение | 49 |
```json
{
"description": "юридическое лицо или его филиал",
"code": "1"
}
```
SwiftBic / Международный справочник банков
| **Наименование поля** | **Описание поля** | **Пример** |
| ------------------------ | ---------------------------------- | --------------------------------------- |
| zip | Zip код | 13022 KUWA |
| address(String) | Адрес | OPPOSITE PUBLIC LIBRARY |
| bicInt(String) | Международный БИК | AAACKWKWXXX |
| filialName(String) | Наименование филиала | Branch lxdMF |
| bicTypeNat(String) | Тип национального БИК | null |
| countryNameShort(String) | Краткое наименование страны | СОЕДИНЕННЫЕ ШТАТЫ АМЕРИКИ |
| modflag(String) | Статус | U |
| abonent(String) | Тип абонента | null |
| mnem03(String) | 3-символьный код | KWT |
| nationalId(String) | Национальный клиринговый код | 50 |
| bicNat(String) | Национальный БИК | null |
| countryCode(String) | Цифровой код | 414 |
| mnem02(String) | 2-символьный код | KW |
| name(String) | Наименование банка | ALMUZAINI EXCHANGE COMPANY KSC (CLOSED) |
| location(String) | Почтовый индекс, месторасположение | ALKHOBAR |
| countryNameInt(String) | Международное наименование | KUWAIT |
| bicTypeInt(String) | Тип международного БИК | SWIFT |
| state(String) | Республика/штат | null |
| place(String) | Населенный пункт | KUWAIT |
| account(String) | Корсчет | 42013457689100142604 |
```json
{
"zip": "Zip Lkspx",
"address": "BankAddress qeTUG",
"bicInt": "SWIFTEPNPOI",
"filialName": "Branch JwHtB",
"bicTypeNat": null,
"countryNameShort": "СОЕДИНЕННЫЕ ШТАТЫ АМЕРИКИ",
"modflag": null,
"abonent": null,
"mnem03": "USA",
"nationalId": null,
"bicNat": null,
"countryCode": "840",
"mnem02": "US",
"name": "Открытое акционерное общество Сбербанк России",
"location": null,
"countryNameInt": null,
"bicTypeInt": "SWIFT",
"state": null,
"place": "City VqDOp",
"account": "86027683840122180969"
}
```
VOCodes / Справочник Коды видов валютных операций
| **Наименование поля** | **Описание поля** | **Пример** |
| --------------------- | ----------------------------------- | -------------------------------------------------------------------- |
| description(String) | Наименование вида валютной операции | Продажа резидентом иностранной валюты за валюту Российской Федерации |
| code(String) | Код вида валютной операции | 01010 |
```json
{
"description": "Покупка резидентом иностранной валюты за валюту Российской Федерации",
"code": "01030"
}
```
---
# Большие файлы
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/additional/large-files/overview.md)
## Информация о сервисе
Сервис «Большие файлы» — ваш помощник в работе с документами.
С помощью сервиса вы сможете загружать документы в банк для различных целей, например:
* предоставление документов в валютный контроль Банка;
* экспорт файлов с выписками по счетам для импорта в другие системы;
* отправка в Банк иных документов по разным вопросам.
Сервис позволит разместить в пространстве Банка ваши файлы для их последующего прикрепления к другим документам при отправке запросов API.
## Варианты реализации
:::note
Ниже будут приведены примеры реализации. Сценарии могут быть для вас отправной точкой и идеей для финального способа реализации функциональности.
:::
Сценарии описали общие, для более легкого восприятия информации описания работы с сервисом.
Можно использовать разные триггеры запуска того или иного сценария - действия пользователя, регламентный запуск по времени, наступление определенных событий и другие варианты.
Загрузка файлов в Банк
Этот сценарий позволяет загружать файлы и документы в систему Банка. Ссылки на эти файлы и документы можно будет использовать в запросах API.
Мы рекомендуем использовать сценарий с автоматическим запуском в других сценариях.
Представим, что ваша Платформа предлагает Пользователю создать запрос на постановку контракта на учет через форму в пользовательском интерфейсе (UI). В этой форме Пользователь загружает документы контракта.
Когда файлы загружаются в UI Платформы, и Пользователь подтверждает отправку запроса, автоматически запускается соответствующий сценарий для каждого файла.
**Шаги**
1. Получить ссылку для загрузки
2. Загрузить файл
3. Получить статус загрузки
**Участники usecase**
* **Платформа** - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
* **Sber API** - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
**Предварительные условия**
* Запускается внутри одного из сценариев
* У Платформы есть токены доступа Пользователя, полученные с помощью СберБизнес ID
**Результат применения**
* Файл загружен в Банк
* Платформа получила ссылку на файл в системе Банка
**Используемые запросы**
| **№** | **Метод** | **Точка вызова** | **Описание** | **Операция в scope** | **Шаг в схеме** |
| ----- | ---------------------------- | --------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------- | -------------------------------- |
| 1 |  | `/fintech/api/v1/files/upload` | [Запрос ссылки на загрузку файла в Банк](/ru/sber-api/specifications/files/create-upload-url) | FILES | 1. Получить ссылку для загрузки |
| 2 |  | `/ic/sso/api/v2/oauth/token` | [Обновление токена доступа](/ru/sber-api/specifications/oauth/oauth-token-post) | openid | 1. Получить ссылку для загрузки |
| 3 |  | `/fintech/api/v1/files/upload/{fileId}/state` | [Получение статуса загрузки файла в Банк](/ru/sber-api/specifications/files/get-download-states) | FILES | 3. Получить статус загрузки |
Скачивание ранее загруженных файлов
Этот сценарий позволяет скачивать ранее загруженные в Банк документы.
**Шаги**
1. Запросить подготовку файла для скачивания
2. Получить статус загрузки
3. Скачать файл
**Участники usecase**
* **Пользователь** - сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках вашего сервиса (Платформа)
* **Платформа** - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
* **Sber API** - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
**Предварительные условия**
* Запуск доступен только при реализации хотя бы 1 раз сценария "Загрузка файлов в Банк"
* Пользователь имеет пользовательский профиль в СберБизнес своей компании
* Пользователь находится в пространстве Платформы
* Пользователь прошел авторизацию с помощью СберБизнес ID
**Результат применения**
* Файл скачен в пространство Платформы
* Платформа предоставила файл Пользователю в своем UI
**Используемые запросы**
| **№** | **Метод** | **Точка вызова** | **Описание** | **Операция в scope** | **Шаг в схеме** |
| ----- | ---------------------------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------ | -------------------- | --------------------------------------------- |
| 1 |  | `/fintech/api/v1/files/download ` | [Запрос ссылки на выгрузку файлов](/ru/sber-api/specifications/files/create-download-urls) | FILES | 1. Запросить подготовку файла для скачивания |
| 2 |  | `/ic/sso/api/v2/oauth/token` | [Обновление токена доступа](/ru/sber-api/specifications/oauth/oauth-token-post) | openid | 1. Запросить подготовку файла для скачивания |
| 3 |  | `/fintech/api/v1/files/downloadState` | [Получение статусов выгрузки файлов](/ru/sber-api/specifications/files/get-upload-state) | FILES | 2. Получить статус загрузки |
## Доступные форматы файлов для загрузки в Банк
Сервис является вспомогательным при работе в сценариях других сервисов Sber API.
Возможные форматы и типы файлов, а также другие ограничения зависят от сервиса, в рамках которых будет участвовать Большие файлы.
subType:
`InternalControlStatement` - Ведомость банковского контроля (ВБК)
`ConfDocInq_138I` - Справка о подтверждающих документах (СПД)
`CurrencyOperationDetails` - Сведения о валютной операции (СВО)
`CCMessageToBank` - Письмо для целей ВК (в банк)
Размерность файла - до 30 Мбайт
Форматы файлов - pdf, jpeg, jpg, png, tiff, tif, pcx
subType:
`GenericLetterToBank` - Письмо свободного формата
Размерность файла - до 50 Мбайт
Форматы файлов - pdf, jpeg, jpg, png, tiff, tif, pcx, txt, doc, docx, rar, zip, xls, xlsx
## Загрузка файла в Банк
Загрузка файла по полученной ссылке осуществляется через составной POST-запрос с параметром **multipart/form-data**
Пример:
```json
curl -v -F 'fileName=File_upl.pdf' https://{host}:{port}/sbns-app/upload/{fileId}
```
Где `fileName=File_upl.pdf` - имя загружаемого файла, `https://{host}:{port}/sbns-app/upload/{fileId}` - ссылка, полученная с помощью ресурса `/fintech/api/v1/files/upload/`.
---
# Вспомогательные сервисы
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/additional/overview.md)
---
# Инкассация
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/encashment/overview.md)
## Информация о продукте
Сервис позволяет корпоративным клиентам управлять инкассацией через прямую API-интеграцию:
* получать информацию об объекте инкассации,
* полный цикл работы с электронной препроводительной ведомостью — от создания до отмены ведомости, отслеживание статуса ведомости в реальном времени,
* получение детальной формы ведомости.
## Как подключить?
* Для новых клиентов сервис доступен в рамках набора ["Компаниям"](/ru/sber-api/start/overview).
* Если вы уже подключены к Sber API, проверьте наличие операции `ENCASHMENTS_REQUEST` в scope в Личном кабинете либо обратитесь на **supportdbo2@sberbank.ru** или к вашему менеджеру. Полный список методов для работы с электронной препроводительной ведомостью – в [документации](/ru/sber-api/specifications/encashment/overview).
## Варианты применения
Примеры состава и порядка исполнения **запросов SberAPI** в разных вариантах применения.
### Создание Электронной препроводительной ведомости
| Шаг | Запросы SberAPI | Код операции в scope |
|-----|-----------------|----------------------|
| **1. Получение токена доступа** | | openid |
| **2. Получение информации об объекте инкассации** | | ENCASHMENTS\_REQUEST |
| **3. Создание 'Электронной препроводительной ведомости'** | | ENCASHMENTS\_REQUEST |
| **4. Проверка статуса 'Электронной препроводительной ведомости'** | | ENCASHMENTS\_REQUEST |
| **5. Получение деталей 'Электронной препроводительной ведомости'** | | ENCASHMENTS\_REQUEST |
UML-диаграмма
```mermaid
%%{init: {'theme': 'neutral', 'themeVariables': { 'fontSize': '20px', 'lineWidth': '2px', 'actorFontSize': '14px' }}}%%
sequenceDiagram
%% Раздел 1: Получение токена
rect rgb(230, 230, 230)
Клиент ->> Платформа: Инициирует создание Электронной препроводительной ведомости
Платформа ->> СберБизнес ID: Запрашивает токен доступа
СберБизнес ID -->> Платформа: Возвращает access_token
end
%% Раздел 2: Получение информации об объекте инкассации
rect rgb(230, 230, 230)
Платформа ->> Sber API: GET v1/encashments/object?ino={value}
Sber API -->> Платформа: Возвращает информацию об объекте инкассации
end
%% Раздел 3: Создание Электронной препроводительной ведомости
rect rgb(230, 230, 230)
Платформа ->> Платформа: Формирует Электронную препроводительную ведомость
Платформа ->> Sber API: POST /v1/encashments/waybill
Sber API -->> Платформа: Подтверждает принятие в обработку Электронной препроводительной ведомости
end
%% Раздел 4: Проверка статуса
rect rgb(230, 230, 230)
Платформа ->> Sber API: GET /v1/encashments/waybill/{externalId}/state
Sber API -->> Платформа: Возвращает статус Электронной препроводительной ведомости
end
%% Раздел 5: Получение деталей
rect rgb(230, 230, 230)
Платформа ->> Sber API: GET /v1/encashments/waybill/{externalId}
Sber API -->> Платформа: Возвращает детали Электронной препроводительной ведомости
end
```
Участники, условия и результат
**Участники**
* **Клиент** - представитель компании, имеющий доступ к управлению инкассацией
* **Платформа** - система клиента или партнера, интегрированная с Sber API
* **Sber API** - API Сбербанка для работы с инкассацией
**Предварительные условия**
* Клиент авторизован через СберБизнес ID
* У клиента есть доступ к операциям с инкассацией (scope ENCASHMENTS\_REQUEST)
**Результат**
* Создана и обработана Электронная препроводительная ведомость
* Получена информация о статусе ведомости
### Отмена Электронной препроводительной ведомости
| Шаг | Запросы SberAPI | Код операции в scope |
|-----|-----------------|----------------------|
| **1. Получение токена доступа** | | openid |
| **2. Создание 'Электронной препроводительной ведомости'** | | ENCASHMENTS\_REQUEST |
| **3. Проверка статуса 'Электронной препроводительной ведомости'** | | ENCASHMENTS\_REQUEST |
| **4. Отмена 'Электронной препроводительной ведомости'** | | ENCASHMENTS\_REQUEST |
UML-диаграмма
```mermaid
%%{init: {'theme': 'neutral', 'themeVariables': { 'fontSize': '20px', 'lineWidth': '2px', 'actorFontSize': '14px' }}}%%
sequenceDiagram
%% Раздел 1: Получение токена
rect rgb(230, 230, 230)
Клиент ->> Платформа: Инициирует создание Электронной препроводительной ведомости
Платформа ->> СберБизнес ID: Запрашивает токен доступа
СберБизнес ID -->> Платформа: Возвращает access_token
end
%% Раздел 2: Cоздание Электронной препроводительной ведомости
rect rgb(230, 230, 230)
Платформа ->> Sber API: POST /v1/encashments/waybill
Sber API -->> Платформа: Подтверждает принятие в обработку создание Электронной препроводительной ведомости
end
%% Раздел 3: Проверка статуса
rect rgb(230, 230, 230)
Платформа ->> Sber API: GET /v1/encashments/waybill/{externalId}/state
Sber API -->> Платформа: Возвращает статус Электронной препроводительной ведомости
end
%% Раздел 4: Отмена Электронной препроводительной ведомости
rect rgb(230, 230, 230)
Платформа ->> Sber API: POST /v1/encashments/waybill/cancel
Sber API -->> Платформа: Подтверждает принятие в обработку отмены Электронной препроводительной ведомости
end
%% Раздел 4: Проверка статуса
rect rgb(230, 230, 230)
Платформа ->> Sber API: GET /v1/encashments/waybill/{externalId}/state
Sber API -->> Платформа: Возвращает статус Электронной препроводительной ведомости
end
```
Участники, условия и результат
**Участники**
* **Клиент** - представитель компании, имеющий доступ к управлению инкассацией
* **Платформа** - система клиента или партнера, интегрированная с Sber API
* **Sber API** - API Сбербанка для работы с инкассацией
**Предварительные условия**
* Клиент авторизован через СберБизнес ID
* У клиента есть доступ к операциям с инкассацией (scope ENCASHMENTS\_REQUEST)
**Результат**
* Отменена и обработана Электронная препроводительная ведомость
* Получена информация о статусе ведомости
---
# Бизнес-сценарии
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/overview.md)
---
# Депозиты
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/placement/deposit/overview.md)
## Информация о продукте
Сервис позволяет корпоративным клиентам управлять депозитами через прямую API-интеграцию:
* получать список предодобренных коммерческих предложений,
* полный цикл работы с депозитами — от получения индивидуальных условий до заключения сделки, отслеживание статуса сделки в реальном времени, аннулирование и отзыв, обзор всех активных сделок с параметрами,
* котировать ставки по депозитам.
Условия размещения денежных средств опубликованы на [сайте](https://www.sberbank.ru/common/img/uploaded/legal/docs/assets/usl_razmesch.pdf) Банка.
:::note
Ознакомьтесь с режимом доступности депозитов на [сайте](https://www.sberbank.com/common/img/uploaded/legal/docs/assets/vremya_dlya_zaklucheniya_cdelok_razmeshcheniya_denezhnykh_sredstv-20102025.pdf) банка.
:::
:::note
Валюты, в которых можно разместить депозит: российский рубль, юань, индийская рупия.
:::
## Как подключить?
* Для новых клиентов сервис доступен в рамках набора ["Компаниям", "Холдингам"](/ru/sber-api/start/overview).
* Если вы уже подключены к Sber API, проверьте наличие операции `DEPOSIT_REQUEST` в scope в Личном кабинете либо обратитесь на **supportdbo2@sberbank.ru** или к вашему менеджеру. Полный список методов для работы с депозитами – в [документации](/ru/sber-api/specifications/placement/placement-overview).
## Варианты применения
Примеры состава и порядка исполнения **запросов SberAPI** в разных вариантах применения.
### Создание депозита по предодобренному коммерческому предложению (ПКП)
| Шаг | Запросы SberAPI | Код операции в scope |
| --- | --------------- | -------------------- |
| **1.** Получение токена доступа | POST [`/ic/sso/api/v2/oauth/token`](/ru/sber-api/specifications/oauth/oauth-token-post) | openid |
| **2.** Получение коммерческих предложений | GET [`/v1/placement/commercialoffers`](/ru/sber-api/specifications/placement/get-commercial-offers) | DEPOSIT\_REQUEST |
| **3.** Создание заявления на открытие депозита | POST [`/v2/placement/deposit/application`](/ru/sber-api/specifications/placement/open-deposit-on-individual-terms-v-2) | DEPOSIT\_REQUEST |
| **4.** Проверка статуса заявления | GET [`/v1/placement/deposit/application/{externalId}/state`](/ru/sber-api/specifications/placement/get-deposit-state) | DEPOSIT\_REQUEST |
| **5.** Получение деталей заявления | GET [`/v1/placement/deposit/application/{externalId}`](/ru/sber-api/specifications/placement/get-open-detail) | DEPOSIT\_REQUEST |
UML-диаграмма
```mermaid
%%{init: {'theme': 'neutral', 'themeVariables': { 'fontSize': '20px', 'lineWidth': '2px', 'actorFontSize': '14px' }}}%%
sequenceDiagram
%% Раздел 1: Получение токена
rect rgb(230, 230, 230)
Клиент ->> Платформа: Инициирует открытие депозита
Платформа ->> СберБизнес ID: Запрашивает токен доступа
СберБизнес ID -->> Платформа: Возвращает access_token
end
%% Раздел 2: Получение предложений
rect rgb(230, 230, 230)
Платформа ->> Sber API: GET /v1/placement/commercialoffers
Sber API -->> Платформа: Возвращает список предложений
end
%% Раздел 3: Создание заявления
rect rgb(230, 230, 230)
Платформа ->> Платформа: Формирует заявление
Платформа ->> Sber API: POST /v1/placement/deposit/application
Sber API -->> Платформа: Подтверждает создание заявления
end
%% Раздел 4: Проверка статуса
rect rgb(230, 230, 230)
Платформа ->> Sber API: GET /v1/placement/deposit/application/{externalId}/state
Sber API -->> Платформа: Возвращает статус заявления
end
%% Раздел 5: Получение деталей
rect rgb(230, 230, 230)
Платформа ->> Sber API: GET /v1/placement/deposit/application/{externalId}
Sber API -->> Платформа: Возвращает детали заявления
end
```
Участники, условия и результат
**Участники**
* **Клиент** - представитель компании, имеющий доступ к управлению депозитами
* **Платформа** - система клиента или партнера, интегрированная с Sber API
* **Sber API** - API Сбербанка для работы с депозитами
**Предварительные условия**
* Клиент авторизован через СберБизнес ID
* У клиента есть доступ к операциям с депозитами (scope DEPOSIT\_REQUEST)
**Результат**
* Создано и обработано заявление на открытие/отзыв депозита
* Получена информация о статусе операции
### Создание депозита по автокотировке
| Шаг | Запросы SberAPI | Код операции в scope |
| --- | --------------- | -------------------- |
| **1.** Получение токена доступа | POST [`/ic/sso/api/v2/oauth/token`](/ru/sber-api/specifications/oauth/oauth-token-post) | openid |
| **2.** Получение автокотировки | GET [`/v1/placement/interest-rate`](/ru/sber-api/specifications/placement/get-rate) | DEPOSIT\_REQUEST |
| **3.** Создание заявления на открытие депозита | POST [`/v2/placement/deposit/application/interest-rate`](/ru/sber-api/specifications/placement/open-deposit-by-interest-rate-v-2) | DEPOSIT\_REQUEST |
| **4.** Проверка статуса заявления | GET [`/v1/placement/deposit/application/{externalId}/state`](/ru/sber-api/specifications/placement/get-deposit-state) | DEPOSIT\_REQUEST |
| **5.** Получение деталей заявления | GET [`/v1/placement/deposit/application/{externalId}`](/ru/sber-api/specifications/placement/get-open-detail) | DEPOSIT\_REQUEST |
UML-диаграмма
```mermaid
%%{init: {'theme': 'neutral', 'themeVariables': { 'fontSize': '20px', 'lineWidth': '2px', 'actorFontSize': '14px' }}}%%
sequenceDiagram
%% Раздел 1: Получение токена
rect rgb(230, 230, 230)
Клиент ->> Платформа: Инициирует открытие депозита
Платформа ->> СберБизнес ID: Запрашивает токен доступа
СберБизнес ID -->> Платформа: Возвращает access_token
end
%% Раздел 2: Получение автокотировки
rect rgb(230, 230, 230)
Платформа ->> Sber API: GET /v1/placement/interest-rate
Sber API -->> Платформа: Возвращает автокотировку
end
%% Раздел 3: Создание заявления
rect rgb(230, 230, 230)
Платформа ->> Платформа: Формирует заявление
Платформа ->> Sber API: POST /v1/placement/deposit/application/interest-rate
Sber API -->> Платформа: Подтверждает создание заявления
end
%% Раздел 4: Проверка статуса
rect rgb(230, 230, 230)
Платформа ->> Sber API: GET /v1/placement/deposit/application/{externalId}/state
Sber API -->> Платформа: Возвращает статус заявления
end
%% Раздел 5: Получение деталей
rect rgb(230, 230, 230)
Платформа ->> Sber API: GET /v1/placement/deposit/application/{externalId}
Sber API -->> Платформа: Возвращает детали заявления
end
```
Участники, условия и результат
**Участники**
* **Клиент** - представитель компании, имеющий доступ к управлению депозитами
* **Платформа** - система клиента или партнера, интегрированная с Sber API
* **Sber API** - API Сбербанка для работы с депозитами
**Предварительные условия**
* Клиент авторизован через СберБизнес ID
* У клиента есть доступ к операциям с депозитами (scope DEPOSIT\_REQUEST)
**Результат**
* Создано и обработано заявление на открытие/отзыв депозита
* Получена информация о статусе операции
### Получение информации о депозитах
| Шаг | Запросы SberAPI | Код операции в scope |
| --- | --------------- | -------------------- |
| **1.** Получение токена доступа | POST [`/ic/sso/api/v2/oauth/token`](/ru/sber-api/specifications/oauth/oauth-token-post) | openid |
| **2.** Получение списка депозитов | GET [`/v1/placement/deposit`](/ru/sber-api/specifications/placement/get-deposits) | DEPOSIT\_REQUEST |
| **3.** Получение карточки конкретного депозита | GET [`/v1/placement/deposit/{externalId}`](/ru/sber-api/specifications/placement/get-deposit) | DEPOSIT\_REQUEST |
UML-диаграмма
```mermaid
%%{init: {'theme': 'neutral', 'themeVariables': { 'fontSize': '20px', 'lineWidth': '2px', 'actorFontSize': '14px' }}}%%
sequenceDiagram
%% Раздел 1: Получение токена
rect rgb(230, 230, 230)
Клиент ->> Платформа: Запрашивает информацию о депозитах
note over Клиент: 1. Получить access_token
Платформа ->> СберБизнес ID: Запрашивает токен доступа
activate СберБизнес ID
СберБизнес ID -->> Платформа: Возвращает access_token
deactivate СберБизнес ID
end
%% Раздел 2: Получение списка депозитов
rect rgb(230, 230, 230)
note over Платформа: 2. Получить список депозитов
Платформа ->> Sber API: GET /v1/placement/deposit
Sber API -->> Платформа: Возвращает список депозитов
end
%% Раздел 3: Получение деталей депозита
rect rgb(230, 230, 230)
note over Платформа: 3. Получить карточку депозита
Платформа ->> Sber API: GET /v1/placement/deposit/{externalId}
Sber API -->> Платформа: Возвращает детальную информацию
end
%% Раздел 4: Отображение информации
Платформа -->> Клиент: Отображает данные о депозитах
```
Участники, условия и результат
**Участники**
* **Клиент** - представитель компании, имеющий доступ к управлению депозитами
* **Платформа** - система клиента или партнера, интегрированная с Sber API
* **Sber API** - API Сбербанка для работы с депозитами
**Предварительные условия**
* Клиент авторизован через СберБизнес ID
* У клиента есть доступ к операциям с депозитами (scope DEPOSIT\_REQUEST)
* У компании есть активные депозиты
**Результат**
* Получен список всех доступных депозитов компании
* Получена детальная информация по конкретному депозиту
* Клиенту отображена актуальная информация о состоянии депозитов
### Отзыв депозита
| Шаг | Запросы SberAPI | Код операции в scope |
| --- | --------------- | -------------------- |
| **1.** Получение токена доступа | POST [`/ic/sso/api/v2/oauth/token`](/ru/sber-api/specifications/oauth/oauth-token-post) | openid |
| **2.** Получение списка депозитов | GET [`/v1/placement/deposit`](/ru/sber-api/specifications/placement/get-deposits) | DEPOSIT\_REQUEST |
| **3.** Создание заявления на отзыв | POST [`/v1/placement/deposit/revoke`](/ru/sber-api/specifications/placement/revoke-deposit) | DEPOSIT\_REQUEST |
| **4.** Получение деталей отзыва | GET [`/v1/placement/deposit/revoke/{externalId}`](/ru/sber-api/specifications/placement/get-revoke-detail) | DEPOSIT\_REQUEST |
UML-диаграмма
```mermaid
%%{init: {'theme': 'neutral', 'themeVariables': { 'fontSize': '20px', 'lineWidth': '2px', 'actorFontSize': '14px' }}}%%
sequenceDiagram
%% Раздел 1: Получение токена
rect rgb(230, 230, 230)
Клиент ->> Платформа: Инициирует отзыв депозита
note over Клиент: 1. Получить access_token
Платформа ->> СберБизнес ID: Запрашивает токен доступа
activate СберБизнес ID
СберБизнес ID -->> Платформа: Возвращает access_token
deactivate СберБизнес ID
end
%% Раздел 2: Получение списка депозитов
rect rgb(230, 230, 230)
note over Платформа: 2. Получить список депозитов
Платформа ->> Sber API: GET /v1/placement/deposit
Sber API -->> Платформа: Возвращает список депозитов
end
%% Раздел 3: Создание заявления на отзыв
rect rgb(230, 230, 230)
note over Платформа: 3. Создать заявление на отзыв
Платформа ->> Платформа: Формирует заявление на отзыв
Платформа ->> Sber API: POST /v1/placement/deposit/revoke
Sber API -->> Платформа: Подтверждает создание заявления
opt Подписание ЭП
Платформа ->> Платформа: Создает электронную подпись
end
end
%% Раздел 4: Получение деталей отзыва
rect rgb(230, 230, 230)
note over Платформа: 4. Получить детали отзыва
Платформа ->> Sber API: GET /v1/placement/deposit/revoke/\{externalId\}
Sber API -->> Платформа: Возвращает детали заявления на отзыв
end
%% Раздел 5: Уведомление клиента
Платформа -->> Клиент: Уведомляет об успешном отзыве
```
Участники, условия и результат
**Участники**
* **Клиент** - представитель компании, имеющий доступ к управлению депозитами
* **Платформа** - система клиента или партнера, интегрированная с Sber API
* **Sber API** - API Сбербанка для работы с депозитами
**Предварительные условия**
* Клиент авторизован через СберБизнес ID
* У клиента есть доступ к операциям с депозитами (scope DEPOSIT\_REQUEST)
* Для компании клиента доступны депозитные продукты
**Результат**
* Создано и обработано заявление на открытие/отзыв депозита
* Получена информация о статусе операции
---
# Неснижаемый остаток
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/placement/nso/overview.md)
## Информация о продукте
Сервис позволяет корпоративным клиентам управлять неснижаемым остатком через прямую API-интеграцию:
* получать список предодобренных коммерческих предложений,
* полный цикл работы с НСО — от получения индивидуальных условий до заключения сделки, отслеживание статуса сделки в реальном времени, аннулирование при необходимости и обзор всех активных сделок с параметрами,
* котировать ставки по НСО.
Условия размещения денежных средств опубликованы на [сайте](https://www.sberbank.ru/common/img/uploaded/legal/docs/assets/usl_razmesch.pdf) Банка.
:::note
Ознакомьтесь с режимом доступности НСО на [сайте](https://www.sberbank.com/common/img/uploaded/legal/docs/assets/vremya_dlya_zaklucheniya_cdelok_razmeshcheniya_denezhnykh_sredstv-20102025.pdf) банка.
:::
:::note
Валюты, в которых можно разместить НСО: российский рубль, юань.
:::
## Как подключить?
* Для новых клиентов сервис доступен в рамках набора ["Компаниям", "Холдингам"](/ru/sber-api/start/overview).
* Если вы уже подключены к Sber API, проверьте наличие операции `MINIMUMBALANCE_REQUEST` в scope в Личном кабинете либо обратитесь на **supportdbo2@sberbank.ru**. Полный список методов для работы с НСО – в [документации](/ru/sber-api/specifications/placement/placement-overview).
## Варианты применения
Примеры состава и порядка исполнения **запросов SberAPI** в разных вариантах применения.
### Создание НСО по предодобренному коммерческому предложению (ПКП)
| Шаг | Запросы SberAPI | Код операции в scope |
| --- | --------------- | -------------------- |
| **1.** Получение токена доступа | POST [`/ic/sso/api/v2/oauth/token`](/ru/sber-api/specifications/oauth/oauth-token-post) | openid |
| **2.** Получение коммерческих предложений | GET [`/v1/placement/commercialoffers`](/ru/sber-api/specifications/placement/get-commercial-offers) | DEPOSIT\_REQUEST |
| **3.** Создание заявления на открытие НСО | POST [`/v2/placement/minimum-balance/application`](/ru/sber-api/specifications/placement/open-minimum-balance-on-individual-terms-v-2) | MINIMUMBALANCE\_REQUEST |
| **4.** Проверка статуса заявления | GET [`/v1/placement/minimum-balance/application/{externalId}/state`](/ru/sber-api/specifications/placement/get-minimum-balance-state) | MINIMUMBALANCE\_REQUEST |
| **5.** Получение деталей заявления | GET [`/v1/placement/minimum-balance/application/{externalId}`](/ru/sber-api/specifications/placement/get-open-minimum-balance-detail) | MINIMUMBALANCE\_REQUEST |
UML-диаграмма
```mermaid
%%{init: {'theme': 'neutral', 'themeVariables': { 'fontSize': '20px', 'lineWidth': '2px', 'actorFontSize': '14px' }}}%%
sequenceDiagram
%% Раздел 1: Получение токена
rect rgb(230, 230, 230)
Клиент ->> Платформа: Инициирует открытие НСО
Платформа ->> СберБизнес ID: Запрашивает токен доступа
СберБизнес ID -->> Платформа: Возвращает access_token
end
%% Раздел 2: Получение предложений
rect rgb(230, 230, 230)
Платформа ->> Sber API: GET /v1/placement/commercialoffers
Sber API -->> Платформа: Возвращает список предложений
end
%% Раздел 3: Создание заявления
rect rgb(230, 230, 230)
Платформа ->> Платформа: Формирует заявление
Платформа ->> Sber API: POST /v1/placement/minimum-balance/application
Sber API -->> Платформа: Подтверждает создание заявления
end
%% Раздел 4: Проверка статуса
rect rgb(230, 230, 230)
Платформа ->> Sber API: GET /v1/placement/minimum-balance/application/{externalId}/state
Sber API -->> Платформа: Возвращает статус заявления
end
%% Раздел 5: Получение деталей
rect rgb(230, 230, 230)
Платформа ->> Sber API: GET /v1/placement/minimum-balance/application/{externalId}
Sber API -->> Платформа: Возвращает детали заявления
end
```
Участники, условия и результат
**Участники**
* **Клиент** - представитель компании, имеющий доступ к управлению НСО
* **Платформа** - система клиента или партнера, интегрированная с Sber API
* **Sber API** - API Сбербанка для работы с НСО
**Предварительные условия**
* Клиент авторизован через СберБизнес ID
* У клиента есть доступ к операциям с НСО (scope MINIMUMBALANCE\_REQUEST)
**Результат**
* Создано и обработано заявление на открытие/аннулирование НСО
* Получена информация о статусе операции
### Создание НСО по автокотировке
| Шаг | Запросы SberAPI | Код операции в scope |
| --- | --------------- | -------------------- |
| **1.** Получение токена доступа | POST [`/ic/sso/api/v2/oauth/token`](/ru/sber-api/specifications/oauth/oauth-token-post) | openid |
| **2.** Получение автокотировки | GET [`/v1/placement/interest-rate`](/ru/sber-api/specifications/placement/get-rate) | MINIMUMBALANCE\_REQUEST |
| **3.** Создание заявления на открытие НСО | POST [`/v2/placement/minimum-balance/application/interest-rate`](/ru/sber-api/specifications/placement/open-minimum-balance-by-interest-rate-v-2) | MINIMUMBALANCE\_REQUEST |
| **4.** Проверка статуса заявления | GET [`/v1/placement/minimum-balance/application/{externalId}/state`](/ru/sber-api/specifications/placement/get-minimum-balance-state) | MINIMUMBALANCE\_REQUEST |
| **5.** Получение деталей заявления | GET [`/v1/placement/minimum-balance/application/{externalId}`](/ru/sber-api/specifications/placement/get-open-minimum-balance-detail) | MINIMUMBALANCE\_REQUEST |
UML-диаграмма
```mermaid
%%{init: {'theme': 'neutral', 'themeVariables': { 'fontSize': '20px', 'lineWidth': '2px', 'actorFontSize': '14px' }}}%%
sequenceDiagram
%% Раздел 1: Получение токена
rect rgb(230, 230, 230)
Клиент ->> Платформа: Инициирует открытие НСО
Платформа ->> СберБизнес ID: Запрашивает токен доступа
СберБизнес ID -->> Платформа: Возвращает access_token
end
%% Раздел 2: Получение автокотировки
rect rgb(230, 230, 230)
Платформа ->> Sber API: GET /v1/placement/interest-rate
Sber API -->> Платформа: Возвращает автокотировку
end
%% Раздел 3: Создание заявления
rect rgb(230, 230, 230)
Платформа ->> Платформа: Формирует заявление
Платформа ->> Sber API: POST /v1/placement/minimum-balance/application/interest-rate
Sber API -->> Платформа: Подтверждает создание заявления
end
%% Раздел 4: Проверка статуса
rect rgb(230, 230, 230)
Платформа ->> Sber API: GET /v1/placement/minimum-balance/application/{externalId}/state
Sber API -->> Платформа: Возвращает статус заявления
end
%% Раздел 5: Получение деталей
rect rgb(230, 230, 230)
Платформа ->> Sber API: GET /v1/placement/minimum-balance/application/{externalId}
Sber API -->> Платформа: Возвращает детали заявления
end
```
Участники, условия и результат
**Участники**
* **Клиент** - представитель компании, имеющий доступ к управлению НСО
* **Платформа** - система клиента или партнера, интегрированная с Sber API
* **Sber API** - API Сбербанка для работы с НСО
**Предварительные условия**
* Клиент авторизован через СберБизнес ID
* У клиента есть доступ к операциям с НСО (scope MINIMUMBALANCE\_REQUEST)
**Результат**
* Создано и обработано заявление на открытие/аннулирование НСО
* Получена информация о статусе операции
### Получение информации о неснижаемом остатке
| Шаг | Запросы SberAPI | Код операции в scope |
| --- | --------------- | -------------------- |
| **1.** Получение токена доступа | POST [`/ic/sso/api/v2/oauth/token`](/ru/sber-api/specifications/oauth/oauth-token-post) | openid |
| **2.** Получение списка НСО | GET [`/v1/placement/minimum-balance`](/ru/sber-api/specifications/placement/get-minimum-balances) | MINIMUMBALANCE\_REQUEST |
| **3.** Получение карточки конкретного НСО | GET [`/v1/placement/minimum-balance/{externalId}`](/ru/sber-api/specifications/placement/get-minimum-balance) | MINIMUMBALANCE\_REQUEST |
UML-диаграмма
```mermaid
%%{init: {'theme': 'neutral', 'themeVariables': { 'fontSize': '20px', 'lineWidth': '2px', 'actorFontSize': '14px' }}}%%
sequenceDiagram
%% Раздел 1: Получение токена
rect rgb(230, 230, 230)
Клиент ->> Платформа: Запрашивает информацию о НСО
note over Клиент: 1. Получить access_token
Платформа ->> СберБизнес ID: Запрашивает токен доступа
activate СберБизнес ID
СберБизнес ID -->> Платформа: Возвращает access_token
deactivate СберБизнес ID
end
%% Раздел 2: Получение списка НСО
rect rgb(230, 230, 230)
note over Платформа: 2. Получить список НСО
Платформа ->> Sber API: GET /v1/placement/minimum-balance
Sber API -->> Платформа: Возвращает список НСО
end
%% Раздел 3: Получение деталей НСО
rect rgb(230, 230, 230)
note over Платформа: 3. Получить карточку НСО
Платформа ->> Sber API: GET /v1/placement/minimum-balance/{externalId}
Sber API -->> Платформа: Возвращает детальную информацию
end
%% Раздел 4: Отображение информации
Платформа -->> Клиент: Отображает данные о НСО
```
Участники, условия и результат
**Участники**
* **Клиент** - представитель компании, имеющий доступ к управлению НСО
* **Платформа** - система клиента или партнера, интегрированная с Sber API
* **Sber API** - API Сбербанка для работы с НСО
**Предварительные условия**
* Клиент авторизован через СберБизнес ID
* У клиента есть доступ к операциям с НСО (scope MINIMUMBALANCE\_REQUEST)
* У компании есть активные НСО
**Результат**
* Получен список всех доступных НСО компании
* Получена детальная информация по конкретному НСО
* Клиенту отображена актуальная информация о состоянии НСО
### Аннулирование неснижаемого остатка
| Шаг | Запросы SberAPI | Код операции в scope |
| --- | --------------- | -------------------- |
| **1.** Получение токена доступа | POST [`/ic/sso/api/v2/oauth/token`](/ru/sber-api/specifications/oauth/oauth-token-post) | openid |
| **2.** Получение списка НСО | GET [`/v1/placement/minimum-balance`](/ru/sber-api/specifications/placement/get-minimum-balances) | MINIMUMBALANCE\_REQUEST |
| **3.** Создание заявления на аннулирование | POST [`/v1/placement/minimum-balance/revoke`](/ru/sber-api/specifications/placement/revoke-minimum-balance) | MINIMUMBALANCE\_REQUEST |
| **4.** Получение деталей аннулирования | GET [`/v1/placement/minimum-balance/revoke/{externalId}`](/ru/sber-api/specifications/placement/get-revoke-minimum-balance) |MINIMUMBALANCE\_REQUEST |
UML-диаграмма
```mermaid
%%{init: {'theme': 'neutral', 'themeVariables': { 'fontSize': '20px', 'lineWidth': '2px', 'actorFontSize': '14px' }}}%%
sequenceDiagram
%% Раздел 1: Получение токена
rect rgb(230, 230, 230)
Клиент ->> Платформа: Инициирует аннулирование НСО
note over Клиент: 1. Получить access_token
Платформа ->> СберБизнес ID: Запрашивает токен доступа
activate СберБизнес ID
СберБизнес ID -->> Платформа: Возвращает access_token
deactivate СберБизнес ID
end
%% Раздел 2: Получение списка НСО
rect rgb(230, 230, 230)
note over Платформа: 2. Получить список НСО
Платформа ->> Sber API: GET /v1/placement/minimum-balance
Sber API -->> Платформа: Возвращает список НСО
end
%% Раздел 3: Создание заявления на аннулирование
rect rgb(230, 230, 230)
note over Платформа: 3. Создать заявление на аннулирование
Платформа ->> Платформа: Формирует заявление на аннулирование
Платформа ->> Sber API: POST /v1/placement/minimum-balance/revoke
Sber API -->> Платформа: Подтверждает создание заявления
opt Подписание ЭП
Платформа ->> Платформа: Создает электронную подпись
end
end
%% Раздел 4: Получение деталей аннулирования
rect rgb(230, 230, 230)
note over Платформа: 4. Получить детали аннулирования
Платформа ->> Sber API: GET /v1/placement/minimum-balance/revoke/\{externalId\}
Sber API -->> Платформа: Возвращает детали заявления на аннулирование
end
%% Раздел 5: Уведомление клиента
Платформа -->> Клиент: Уведомляет об успешном аннулировании
```
Участники, условия и результат
**Участники**
* **Клиент** - представитель компании, имеющий доступ к управлению НСО
* **Платформа** - система клиента или партнера, интегрированная с Sber API
* **Sber API** - API Сбербанка для работы с НСО
**Предварительные условия**
* Клиент авторизован через СберБизнес ID
* У клиента есть доступ к операциям с НСО (scope MINIMUMBALANCE\_REQUEST)
* Для компании клиента доступны НСО продукты
**Результат**
* Создано и обработано заявление на аннулирование НСО
* Получена информация о статусе операции
---
# Overview
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/placement/overview.md)
---
# СберБизнес ID
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/profile-creation/sbbid/overview.md)
## Общая информация
СберБизнес ID – это единая учетная запись для входа и регистрации компаний и ИП в сервисах Сбербанка и партнеров.
**Для клиента СберБизнес ID это:**
* Безопасный вход в партнерские сервисы с использованием двухфакторной аутентификации;
* Простой и быстрый процесс аутентификации в партнерских сервисах;
* Безопасность данных.
**Вход через СберБизнес ID позволяет партнеру:**
* Подтвердить аккаунт юридического лица или ИП на своей платформе;
* Обеспечить безопасный вход клиентов на своей платформе;
* Создать учетную запись клиенту без дополнительных форм регистрации;
* Получать право на работу с клиентскими данными;
* Использовать сервисы Sber API, т.к. процесс авторизации является обязательным шагом для любого сервиса.
### Требования к платформе
Для обеспечения взаимодействия платформы с сервисом СберБизнес ID:
* Платформа должна выполнять проверки в соответствии с требованием спецификаций: [OAuth 2.0](https://datatracker.ietf.org/doc/html/rfc6749), [OpenIDConnect](https://openid.net/specs/openid-connect-core-1_0.html),
* Кнопка входа на платформе СберБизнес ID должна отвечать требованиям [стайлгайдов](https://developers.sber.ru/docs/ru/sber-api/start/styleguide),
* Интервал между запросами, направляемыми в Sber API, должен быть больше 2 секунд (2000 миллисекунд),
* В случае возникновения ошибок работы межсервисного взаимодействия для анализа вопроса банк запросит логи обмена со стороны партнера. Рекомендуем реализовать логирование всех взаимодействий с банком с фиксацией отправляемых и (или) получаемых пакетов.
Схема работы сервиса
**Участники**
* **Клиент** - представитель ЮЛ/ИП, который имеет пользовательский профиль в СберБизнес своей компании с правом подписи;
* **Платформа** (в схеме разделили на front и back) - любой web-ресурс (интернет-магазин, мобильное приложение и т.д.), который Вы используете в рамках клиентского пути Клиентов;
* **СберБизнес ID** - единая учетная запись пользователя ЮЛ/ИП, используемая для регистрации и входа пользователей в продукты и сервисы Банка и партнеров Sber API.
**Предусловия**
* Клиент находится на Платформе
**Постусловия**
* Клиент находится на Платформе как авторизованный пользователь
**Используемые запросы**
| № | Метод | Описание | Операция в scope | Шаг в схеме |
|---|-------|----------|------------------|-------------|
| 1 | | Получение кода авторизации | openid | 5 |
| 2 | | Обновление токена доступа | openid | 13 |
| 3 | | Получение информации о пользователе | openid | 16 |
### Аутентификация и авторизация глазами клиента
Клиентский путь
| **Шаг** | **Описание** | **Скриншот** |
| ------- | -------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1 | Нажать на кнопку «Войти по СберБизнес ID» на платформе | |
| 2 | Окно ввода логина и пароля, и подтверждение входа | |
| 3 | После входа отобразится окно согласия на передачу данных | |
| 4 | Подписание согласия с помощью СМС | |
## Визуальные гайдлайны
Кнопка авторизации на платформе должна отвечать требованиям [стайлгайда](/ru/sber-api/start/partners-buttons).
---
# Подтверждение аккаунта с помощью СберБизнес ID
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/profile-creation/sbbid/verified-scenarios.md)
Сервис авторизации СберБизнес ID возможно использовать для подтверждения аккаунта юридического лица или ИП на партнерской платформе.
Подтверждение аккаунта — это авторизация пользователя на вашей платформе через свою учетную запись СберБизнес, осуществляемая с целью подтвердить, что создаваемый аккаунт на вашей платформе принадлежит реальному юридическому лицу или ИП.
## Зачем подтверждать аккаунт юридического лица или ИП?
Это покажет контрагентам, что юридическое лицо или ИП — реально, и ему можно доверять.
## Необходимые условия
* **Для клиента:** действующая учетная запись в СберБизнес с правом подписи;
* **Для партнерской платформы:** успешная интеграция с СберБизнес ID.
## Знак подтверждения
Уникальный графический элемент, который размещается на платформе возле аккаунта подтвержденного юридического лица или ИП.
### Правила использования знака подтверждения:
* Не допускается возможность ставить знак подтверждения аккаунта рядом с названием клиента;
* Необходимо дополнять знак подтверждения аккаунта поясняющим текстом:
* Для юридических лиц: «Аккаунт юридического лица подтвержден СберБизнес»
* Для индивидуальных предпринимателей: «Аккаунт ИП подтвержден СберБизнес»
## Схема работы сервиса
У клиента на вашей платформе есть аккаунт, созданный не с помощью СберБизнес ID, или у него нет аккаунта на вашей платформе и он хочет его создать с помощью СберБизнес ID:
1. Клиент на Платформе нажимает «Подтвердить аккаунт через СберБизнес ID» (если у него уже есть аккаунт на вашей платформе) или «Войти по СберБизнес ID» (если у него нет аккаунта на вашей платформе);
2. Система перенаправляет его на страницу авторизации СберБизнес;
3. Клиент вводит логин и пароль от СберБизнес, подтверждает вход СМС сообщением;
4. Клиент принимает согласие на передачу данных Платформе. Сервис СберБизнес ID Клиента передает Платформе проверенные данные о компании и представителе;
5. Платформа сохраняет данные и помечает аккаунт знаком подтверждения;
6. Пользователь возвращается на Платформу, где в его профиле отображается знак подтверждения с поясняющим текстом.
## Визуальные гайдлайны
Знак подтверждения должен на платформе должен отвечать требованиям [стайлгайда](/ru/sber-api/start/verified-sb).
---
# Контрагенты
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/rko/correspondents/overview.md)
## Информация о сервисе
Сервис "Контрагенты" предоставляет возможность интеграции списка контрагентов из СберБизнес в ваши системы, что упрощает автоматическое заполнение реквизитов при переводах и использовании API.
## Варианты реализации
:::note
Ниже будут приведены примеры реализации. Сценарии могут быть для вас отправной точкой и идеей для финального способа реализации функциональности.
:::
Сценарии описали общие, для более легкого восприятия информации описания работы сервиса.
Можно использовать разные триггеры запуска того или иного сценария - действия пользователя, регламентный запуск по времени, наступление определенных событий и другие варианты.
Получение списка контрагентов
**Шаги**
1. Запросить список контрагентов
**Участники usecase**
* **Платформа** - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
* **Sber API** - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
**Предварительные условия**
* Запускается внутри одного из сценариев
* У Платформы есть токены доступа Пользователя, полученные с помощью СберБизнес ID
**Результат применения**
* Платформа получила список контрагентов компании Пользователя
**Используемые запросы**
| **№** | **Метод** | **Точка вызова** | **Описание** | **Операция в scope** | **Шаг в схеме** |
| ----- | ---------------------------- | ------------------------------------ | ----------------------------------------------------------------------------------- | -------------------- | --------------------------------- |
| 1 |  | `/fintech/api/v1/correspondents/rur` | [Получение списка контрагентов](/ru/sber-api/specifications/correspondents/get-correspondents) | GET\_CORRESPONDENTS | 1. Запросить список контрагентов |
| 2 |  | `/ic/sso/api/v2/oauth/token` | [Обновление токена доступа](/ru/sber-api/specifications/oauth/oauth-token-post) | openid | 1. Запросить список контрагентов |
---
# Overview
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/rko/overview.md)
---
# Расчетно-кассовое обслуживание: выписки по счету
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/rko/statements/overview.md)
## Описание
# Выписки по счету
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/rko/statements/overview.md)
## Информация о продукте
Банковская выписка — это документ, содержащий список всех операций по счету за определенный период (неделю, месяц, квартал). Она отражает состояние счета на начало и конец периода, приход и расход средств, а также адресатов и отправителей платежей.
Выписка нужна для того, чтобы видеть, когда и сколько денег переводили со счета и получали на счет, а также общее количество поступлений и списаний за период. Это помогает анализировать траты и поступления, корректировать деятельность и планировать финансы.
## Варианты реализации
:::note
Ниже будут приведены примеры реализации. Сценарии могут быть для вас отправной точкой и идеей для финального способа реализации функциональности.
:::
Сценарии описали общие, для более легкого восприятия информации описания работы с продуктом Выписки по счету в Sber API.
Можно использовать разные триггеры запуска того или иного сценария - действия пользователя, регламентный запуск по времени, наступление определенных событий и другие варианты.
Получение выписки доступно по следующим счетам:
|Компаниям|Холдингам|Платформам|
|---------|---------|----------|
|Расчетный счет|Расчетный счет|Расчетный счет|
|Транзитный счет|Транзитный счет||
|Депозитный счет|||
Получение выписки по счету
**Шаги**
1. Получить информацию по счетам
2. Запросить выписку
3. Отразить выписку Пользователю
**Участники usecase**
* **Пользователь** - сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках Платформы
* **Платформа** - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
* **Sber API** - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
**Предусловия**
* Пользователь имеет пользовательский профиль в СберБизнес своей компании
* Пользователь находится в пространстве Платформы
* Пользователь прошел авторизацию с помощью СберБизнес ID
**Постусловия**
* Пользователь получил выписку по счету в рамках UI Платформы
**Используемые ресурсы**
| **№** | **Метод** | **Точка вызова** | **Описание** | **Операция в scope** | **Шаг в схеме** |
| ----- | ---------------------------- | ---------------------------------------- | ------------------------------------------------------------------------------------ | --------------------- | --------------------------------- |
| 1 |  | `/ic/sso/api/v2/oauth/user-info` | [Получение информации](/ru/sber-api/specifications/oauth/oauth-user-info-get) | openid | 1. Получить информацию по счетам |
| 2 |  | `/fintech/api/v2/statement/transactions` | [Получить выписку по счету](/ru/sber-api/specifications/statement/transactions) Для получения инкрементальной выписки (за определенный период текущего дня) используйте ресурс [/fintech/api/v2/statement/increment](/ru/sber-api/specifications/statement/statement-increment) | GET\_STATEMENT\_ACCOUNT | 2. Запросить выписку |
| 3 |  | `/ic/sso/api/v2/oauth/token` | [Обновление токена доступа](/ru/sber-api/specifications/oauth/oauth-token-post) | openid | 2. Запросить выписку |
Получение реквизитов операции
**Шаги**
1. Получить реквизиты операции
**Участники usecase**
* **Пользователь** - сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках Платформы
* **Платформа** - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
* **Sber API** - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
**Предусловия**
* Успешно выполнен сценарий "Получение выписки по счету"
* В сценарии "Получение выписки по счету" Платформа сохранила идентификаторы операций из выписки (**operationId**) в своей БД
**Постусловия**
* Пользователь получил информацию по операции
**Используемые ресурсы**
| **№** | **Метод** | **Точка вызова** | **Описание** | **Операция в scope** | **Шаг в схеме** |
| ----- | ---------------------------- | ----------------------------------------- | ------------------------------------------------------------------------------------------------------------ | --------------------- | ------------------------------ |
| 1 |  | `/fintech/api/v2/statement/transactionId` | [Получить информацию из выписки по одной операции](/ru/sber-api/specifications/statement/transactions-id) | GET\_STATEMENT\_ACCOUNT | 1. Получить реквизиты операции |
| 2 |  | `/ic/sso/api/v2/oauth/token` | [Обновление токена доступа](/ru/sber-api/specifications/oauth/oauth-token-post) | openid | 1. Получить реквизиты операции |
Получение печатной формы операции
**Шаги**
1. Запросить печатную форму в одном из допустимых форматов: PDF, EXCEL, DOCX, RTF
2. Декодировать файл
**Участники usecase**
* **Пользователь** - сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках Платформы
* **Платформа** - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
* **Sber API** - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
**Предусловия**
* Успешно выполнен сценарий "Получение выписки по счету"
* В сценарии "Получение выписки по счету" Платформа сохранила идентификаторы операций из выписки (**operationId**) в своей БД
**Постусловия**
* Пользователь получил печатную форму по операции
**Используемые ресурсы**
| **№** | **Метод** | **Точка вызова** | **Описание** | **Операция в scope** | **Шаг в схеме** |
| ----- | ---------------------------- | ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ------------------------- | ------------------------------ |
| 1 |  | `/fintech/api/v2/statement/transactionId/print` | [Получить операцию из выписки в печатном формате файла](/ru/sber-api/specifications/statement/transaction-id-print) | GET\_STATEMENT\_TRANSACTION | 1. Получить реквизиты операции |
| 2 |  | `/ic/sso/api/v2/oauth/token` | [Обновление токена доступа](/ru/sber-api/specifications/oauth/oauth-token-post) | openid | 1. Получить реквизиты операции |
Получение информации по оборотам
**Шаги**
1. Получить информацию по счетам
2. Запросить информацию по оборотам
3. Отразить информацию Пользователю
**Участники usecase**
* **Пользователь** - сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках Платформы
* **Платформа** - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
* **Sber API** - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
**Предусловия**
* Пользователь имеет пользовательский профиль в СберБизнес своей компании
* Пользователь находится в пространстве Платформы
* Пользователь прошел авторизацию с помощью СберБизнес ID
**Постусловия**
* Пользователь получил информацию по оборотам счета в рамках UI Платформы
**Используемые ресурсы**
| **№** | **Метод** | **Точка вызова** | **Описание** | **Операция в scope** | **Шаг в схеме** |
| ----- | ---------------------------- | ----------------------------------- | ------------------------------------------------------------------------------------------- | --------------------- | ----------------------------------- |
| 1 |  | `/ic/sso/api/v2/oauth/user-info` | [Получение информации](/ru/sber-api/specifications/oauth/oauth-user-info-get) | openid | 1. Получить информацию по счетам |
| 1 |  | `/fintech/api/v2/statement/summary` | [Получить информацию по оборотам счета](/ru/sber-api/specifications/statement/summary) | GET\_STATEMENT\_ACCOUNT | 2. Запросить информацию по оборотам |
| 2 |  | `/ic/sso/api/v2/oauth/token` | [Обновление токена доступа](/ru/sber-api/specifications/oauth/oauth-token-post) | openid | 1. Получить информацию по счетам |
Получение печатной формы выписки по счету
**Шаги**
1. Получить информацию по счетам
2. Запросить печатную форму выписки в одном из допустимых форматов: PDF, EXCEL, DOCX, RTF
3. Скачать и отразить выписку в UI
**Участники usecase**
* **Пользователь** - сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках Платформы
* **Платформа** - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
* **Sber API** - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
**Предусловия**
* Пользователь имеет пользовательский профиль в СберБизнес своей компании
* Пользователь находится в пространстве Платформы
* Пользователь прошел авторизацию с помощью СберБизнес ID
**Постусловия**
* Пользователь получил печатную форму выписки по счету
**Используемые ресурсы**
| **№** | **Метод** | **Точка вызова** | **Описание** | **Операция в scope** | **Шаг в схеме** |
| ----- | ---------------------------- | --------------------------------------- | ----------------------------------------------------------------------------------------------------------- | --------------------- | ----------------------------------- |
| 1 |  | `/ic/sso/api/v2/oauth/user-info` | [Получение информации](/ru/sber-api/specifications/oauth/oauth-user-info-get) | openid | 1. Получить информацию по счетам |
| 2 |  | `/fintech/api/v1/statement/print` | [Получить выписку в печатном формате файла](/ru/sber-api/specifications/statement/statement-print) | GET\_STATEMENT\_ACCOUNT | 2. Запросить печатную форму выписки |
| 3 |  | `/ic/sso/api/v2/oauth/token` | [Обновление токена доступа](/ru/sber-api/specifications/oauth/oauth-token-post) | openid | 2. Запросить печатную форму выписки |
| 4 |  | `/v1/statement/tasks-for-download/{taskId}` | [Получение ссылки для загрузки печатной формы](/ru/sber-api/specifications/statement/statement-task-for-download) | FILES | 3. Скачать и отразить выписку в UI |
Выгрузка для экспорта в другие системы
**Шаги**
1. Получить информацию по счетам
2. Запросить файл выписки для экспорта в одном из допустимых форматов: 1C, MT940
3. Скачать и отразить выписку в UI
**Участники usecase**
* **Пользователь** - сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках Платформы
* **Платформа** - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
* **Sber API** - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
**Предусловия**
* Пользователь имеет пользовательский профиль в СберБизнес своей компании
* Пользователь находится в пространстве Платформы
* Пользователь прошел авторизацию с помощью СберБизнес ID
**Постусловия**
* Пользователь получил печатную форму выписки по счету
**Используемые ресурсы**
| **№** | **Метод** | **Точка вызова** | **Описание** | **Операция в scope** | **Шаг в схеме** |
| ----- | ---------------------------- | --------------------------------------- | ----------------------------------------------------------------------------------------------------------- | --------------------- | ----------------------------------- |
| 1 |  | `/ic/sso/api/v2/oauth/user-info` | [Получение информации](/ru/sber-api/specifications/oauth/oauth-user-info-get) | openid | 1. Получить информацию по счетам |
| 2 |  | `/fintech/api/v1/statement/files` | [Запросить выписку для экспорта в другие системы](/ru/sber-api/specifications/statement/files) | GET\_STATEMENT\_ACCOUNT | 2. Запросить печатную форму выписки |
| 3 |  | `/ic/sso/api/v2/oauth/token` | [Обновление токена доступа](/ru/sber-api/specifications/oauth/oauth-token-post) | openid | 2. Запросить печатную форму выписки |
| 4 |  | `/v1/statement/tasks-for-download/{taskId}` | [Получение ссылки для загрузки печатной формы](/ru/sber-api/specifications/statement/statement-task-for-download) | FILES | 3. Скачать и отразить выписку в UI |
---
# Overview
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/salary/overview.md)
---
# Зарплатный проект
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/salary/salary-project/overview.md)
## Информация о продукте
Зарплатный проект - это услуга, которая позволяет компаниям выплачивать заработную плату своим сотрудникам на банковские карты. Сбер предоставляет полный спектр услуг по выпуску и обслуживанию зарплатных карт, а также осуществляет переводы денежных средств на карты сотрудников. Подробнее на [сайте](https://www.sberbank.com/ru/s_m_business/bankingservice/cards/salaryproject).
## Зарплатный проект в Sber API
С помощью SberAPI интегрируйте Зарплатный проект в свою систему управления персоналом, чтобы:
* [открывать счета или выпускать банковские карты Сбера и выплачивать зарплату на них](/ru/sber-api/scenarios/salary/salary-project/sberbank-salary-overview);
* [выплачивать зарплату на любые счета и карты](/ru/sber-api/scenarios/salary/salary-project/salary-overview).
### О выплатах самозанятым
Выплаты самозанятым интегрированы в Зарплатный проект. Чтобы можно было выплачивать самозанятым, договор на зарплатный проект должен содержать пункт «Выплаты самозанятым» (код 87).
Процесс выплаты самозанятым аналогичен процессу выплаты заработной платы.
Особенности запросов к SberAPI при выплатах самозанятым
При запросе [данных по ранее созданной зарплатной ведомости](/ru/sber-api/specifications/payrolls/get-document) в объекте с данными по выплатам конкретному физическому лицу (самозанятому) появятся два дополнительных атрибута:
* `receiptStatus` – статус регистрации чека в ФНС,
* `receiptResult` – ссылка на чек в ФНС.
Вы можете инициировать расчет и безакцептное списание налога по оплаченной услуге, оказанной самозанятым. Для этого при формировании электронного реестра заполните атрибут `isSelfEmployedTax`.
После исполнения реестра и формирования чеков банк произведет расчет налога с учетом налогового бонуса самозанятого и перечислит сумму налога на единый налоговый счет самозанятого в ФНС России.
> Важно: расчет и перечисление налога можно осуществить только если у получателя подключен сервис [«Самозанятость»](https://www.sberbank.ru/ru/svoedelo/start).
Сервис будет применен ко всем получателям в реестре. Если получатель самозанятый не хочет автоматического списания налога, то для выплаты ему необходимо создать отдельный реестр.
---
# Выплата на счет или карту любого банка
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/salary/salary-project/salary-overview.md)
Перечисляйте зарплату сотрудникам на карты или счета любых банков.
## Обзор продукта
Общий перечень и порядок использования **ресурсов SberAPI**, относящихся к функциональности продукта.
**Порядок использования**
**Перечень ресурсов**
| Используемые ресурсы SberAPI | Описание |
| -------- | ----------------------- |
|[/ic/sso/api/v2/oauth/token](/ru/sber-api/specifications/oauth) | **1. Авторизация пользователя**. Токен доступа понадобится при обращении к API-запросам. Подробнее в разделе [СберБизнес ID](/ru/sber-api/scenarios/profile-creation/sbbid/overview).|
|[/fintech/api/v1/salary-agreements](/ru/sber-api/specifications/salary-agreements/salary-agreements-overview) | **2. Работа с зарплатными договорами**: - получение информации о зарплатных договорах (потребуется при создании заявления на выплату). |
|[/fintech/api/v1/client-info](/ru/sber-api/specifications/client-info/get-client-info) | **2. Работа с информацией о компании**: - получение информации о компании. |
|[/fintech/api/v1/payrolls](/ru/sber-api/specifications/payrolls/payrolls-overview) | **4. Работа с выплатой по зарплатному проекту (зарплатной ведомостью)**\[^1]: - подача заявления на выплату (создание ведомости), - получение статуса ведомости, - получение деталей ведомости. |
\[^1]: Чтобы Сбер мог начать обрабатывать платежный документ сразу, он должен быть подписан электронной подписью уполномоченного сотрудника (имеющего право подписи от лица компании). Владелец токена доступа пользователя вашей компании должен совпадать с владельцем ЭП, которую будете использовать для подписания ведомости. Подробнее о работе с [электронной подписью](/ru/sber-api/start/eds-in-api).
## Варианты применения
Примеры состава и порядка исполнения **запросов SberAPI** в разных вариантах применения. Состав запросов может отличаться в зависимости от ваших бизнес-задач.
### Выплата со счета в другом банке
| Шаг | Запросы SberAPI | Код операции в scope |
| ------------------------------------------------------ | ------------------------------------------------------------------------------------------------- | -------------------- |
| **1.** Получите токен доступа | POST [/ic/sso/api/v2/oauth/token](/ru/sber-api/specifications/oauth/oauth-token-post) | openid |
| **2.** Получите информацию по зарплатному договору | GET [/fintech/api/v1/salary-agreements](/ru/sber-api/specifications/salary-agreements/get-salary-agreements) | SALARY\_AGREEMENT |
| **3.** Получите информацию о счетах компании | GET [/fintech/api/v1/client-info](/ru/sber-api/specifications/client-info/get-client-info) | GET\_CLIENT\_ACCOUNTS |
| **4.** Создайте зарплатную ведомость | POST [/fintech/api/v1/payrolls](/ru/sber-api/specifications/payrolls/create) | PAYROLL |
| **5.** Получите статус зарплатной ведомости | GET [/fintech/api/v1/payrolls/\{externalId}/state](/ru/sber-api/specifications/payrolls/get-state) | PAYROLL |
| **6.** Получите детали зарплатной ведомости | GET [/fintech/api/v1/payrolls/\{externalId}](/ru/sber-api/specifications/payrolls/get-document) | PAYROLL |
UML-диаграмма
В этом варианте применения можно использовать подписание документа при помощи API-запроса. ЭП должна принадлежать сотруднику вашей компании. [Подробнее...](/ru/sber-api/start/eds-in-api)
```mermaid
%%{init: {'theme': 'neutral', 'themeVariables': { 'fontSize': '20px', 'lineWidth': '2px', 'actorFontSize': '14px' }}}%%
sequenceDiagram
%% Раздел 1: Получите токен доступа
rect rgb(230, 230, 230)
Клиент ->> Платформа (Партнер Sber API): Выбрал вариант "Выплата на счет или карту любого банка"
note over Клиент: 1. Получить access_token
note over Клиент, СберБизнес ID: Приведена упрощенная схема авторизации. Подробно процесс авторизации описан в инструкции [СберБизнес ID](/ru/sber-api/scenarios/profile-creation/sbbid/overview).
Платформа (Партнер Sber API) ->> СберБизнес ID: Обновила токен доступа с помощью **refresh_token**
activate СберБизнес ID
СберБизнес ID -->> Платформа (Партнер Sber API): Предоставил токен доступа **access_token**
deactivate СберБизнес ID
alt Если авторизован не через СберБизнес ID
Платформа (Партнер Sber API) ->> Клиент: Предложила авторизацию СберБизнес ID
Клиент ->> СберБизнес ID: Авторизовался
activate СберБизнес ID
СберБизнес ID -->> Платформа (Партнер Sber API): Предоставил токен доступа **access_token**
deactivate СберБизнес ID
end
end
%% Раздел 2: Получите информацию по зарплатному договору
rect rgb(230, 230, 230)
note over Платформа (Партнер Sber API): 2. Получите информацию по зарплатному договору
Платформа (Партнер Sber API) ->> Sber API: Запросила информацию о зарплатных договорах GET /fintech/api/v1/salary-agreements
Sber API -->> Платформа (Партнер Sber API): Вернул информацию по всем зарплатным договорам 200 OK Массив данных "SalaryAgreements"
end
rect rgb(230, 230, 230)
%% Раздел 3: Получите информацию о счетах компании
note over Платформа (Партнер Sber API): 3. Получите информацию о счетах компании
Платформа (Партнер Sber API) ->> Sber API: Запросила информацию о компании и ее счетах GET /fintech/api/v1/client-info
Sber API -->> Платформа (Партнер Sber API): Вернул данные о счетах 200 OK Массив данных "Account" в объекте "ClientInfo"
end
Платформа (Партнер Sber API) -->> Клиент: Вывела форму ввода данных для выплаты
Клиент ->> Платформа (Партнер Sber API): Внес данные для выплаты
%% Раздел 4: Создайте зарплатную ведомость
rect rgb(230, 230, 230)
note over Платформа (Партнер Sber API): 3. Создайте зарплатную ведомость
Платформа (Партнер Sber API) ->> Платформа (Партнер Sber API): Создает и сохраняет {externalId}
Платформа (Партнер Sber API) ->> Sber API: Создает черновик заявления на создание зарплатной ведомости POST /fintech/api/v1/payrolls
Sber API -->> Платформа (Партнер Sber API): Возвращает данные черновика заявления 200 OK Объект "Payroll"
opt Подписание дайджеста запроса POST /fintech/api/v1/payrolls при помощи ЭП
Платформа (Партнер Sber API) ->> Платформа (Партнер Sber API): Создала электронную подпись и подписала дайджест
end
end
alt Если подписание дайджеста не реализовано
note over Клиент: Если подписание дайджеста не реализовано
Клиент ->> Клиент: Использует для подписи запроса на создание зарплатной ведомости интерфейс СберБизнес
end
%% Раздел 5: Получите статус зарплатной ведомости
rect rgb(230, 230, 230)
note over Платформа (Партнер Sber API): 4. Получите статус зарплатной ведомости
Платформа (Партнер Sber API) ->> Sber API: Запрос статуса зарплатной ведомости GET /fintech/api/v1/payrolls/{externalId}/state
Sber API -->> Платформа (Партнер Sber API): Вернул статус ведомости 200 OK Объект "PayrollState", "bankStatus": "PROCESSING"
end
%% Раздел 5: Получите детали зарплатной ведомости
rect rgb(230, 230, 230)
note over Платформа (Партнер Sber API): 5. Получить статус заявления
Платформа (Партнер Sber API) ->> Sber API: Запросила статус заявления GET /fintech/api/v1/payrolls/{externalId}
activate Sber API
Sber API -->> Платформа (Партнер Sber API): Вернул статус заявления **200 OK** //** bankStatus**//
deactivate Sber API
end
```
Участники, условия и результат
**Участники**
* **Пользователь** - сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках вашего сервиса (Платформа)
* **Платформа** - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
* **Sber API** - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
* **Сторонний банк** - любой другой банк, где у компании Пользователя есть расчетный счет
**Предварительные условия**
Пользователь:
* имеет профиль в СберБизнес своей компании,
* находится в пространстве Платформы,
* прошел авторизацию с помощью СберБизнес ID.
**Результат**
* Создан и подписан платежный документ
---
# Выплата на счет или карту Сбера
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/salary/salary-project/sberbank-salary-overview.md)
Откройте счет или выпустите карту Сбера, чтобы перечислять зарплату сотрудникам на них.
## Обзор продукта
Общий перечень и порядок использования **ресурсов SberAPI**, относящихся к функциональности продукта.
**Порядок использования**
**Перечень ресурсов**
| Используемые ресурсы SberAPI | Описание |
| -------- | ----------------------- |
|[/ic/sso/api/v2/oauth/token](/ru/sber-api/specifications/oauth) | **1. Авторизация пользователя**. Токен доступа понадобится при обращении к API-запросам. Подробнее в разделе [СберБизнес ID](/ru/sber-api/scenarios/profile-creation/sbbid/overview).|
|[/fintech/api/v1/salary-agreements](/ru/sber-api/specifications/salary-agreements/salary-agreements-overview) | **2. Работа с зарплатными договорами**: - получение информации о зарплатных договорах (потребуется при создании заявления на выплату). |
|[/fintech/api/v1/client-info](/ru/sber-api/specifications/client-info/get-client-info) | **2. Работа с информацией о компании**: - получение информации о компании. |
|[/fintech/api/v1/dicts](/ru/sber-api/specifications/dicts/get-dictionary) | **2. Работа со справочниками**: - получение справочной информации. |
|[/fintech/api/v1/card-issues](/ru/sber-api/specifications/card-issues/card-issue-overview) |**3. Управление открытием счетов и выпуском карт (реестром)** \[^1]: - подача заявления на открытие счетов и выпуск карт (создание реестра), - получение статуса реестра, - получение деталей реестра. |
|[/fintech/api/v1/payrolls](/ru/sber-api/specifications/payrolls/payrolls-overview) | **4. Работа с выплатой по зарплатному проекту (зарплатной ведомостью)**\[^2]: - подача заявления на выплату (создание ведомости), - получение статуса ведомости, - получение деталей ведомости. |
\[^2]: В случае, если хотите открыть зарплатный счет или карту в Сбере.
\[^1]: Чтобы Сбер мог начать обрабатывать платежный документ сразу, он должен быть подписан электронной подписью уполномоченного сотрудника (имеющего право подписи от лица компании). Владелец токена доступа пользователя вашей компании должен совпадать с владельцем ЭП, которую будете использовать для подписания ведомости. Подробнее о работе с [электронной подписью](/ru/sber-api/start/eds-in-api).
## Варианты применения
Примеры состава и порядка исполнения **запросов SberAPI** в разных вариантах применения. Состав запросов может отличаться в зависимости от ваших бизнес-задач.
### Выплата со счета в Сбере
| Шаг | Запросы SberAPI | Код операции в scope |
| ------------------------------------------------------ | ------------------------------------------------------------------------------------------------- | -------------------- |
| **1** Получите токен доступа | POST [/ic/sso/api/v2/oauth/token](/ru/sber-api/specifications/oauth/oauth-token-post) | openid |
| **2** Получите информацию по зарплатному договору | GET [/fintech/api/v1/salary-agreements](/ru/sber-api/specifications/salary-agreements/get-salary-agreements) | SALARY\_AGREEMENT |
| **3** Получите информацию о компании | GET [/fintech/api/v1/client-info](/ru/sber-api/specifications/client-info/get-client-info) | GET\_CLIENT\_ACCOUNTS |
| **4** Получите информацию по типам пластиковых карт\[^1] | GET [/fintech/api/v1/dicts?name=MzpCardType](/ru/sber-api/specifications/dicts/get-dictionary) | DICT |
| **5** Создайте реестр на открытие счетов и выпуск карт\[^2] | GET [/fintech/api/v1/card-issues/](/ru/sber-api/specifications/card-issues/create-card-issue) | CARD\_ISSUE |
| **6** Создайте зарплатную ведомость | POST [/fintech/api/v1/payrolls](/ru/sber-api/specifications/payrolls/create) | PAYROLL |
| **7** Получите статус зарплатной ведомости | GET [/fintech/api/v1/payrolls/\{externalId}/state](/ru/sber-api/specifications/payrolls/get-state) | PAYROLL |
| **8** Получите детали зарплатной ведомости | GET [/fintech/api/v1/payrolls/\{externalId}](/ru/sber-api/specifications/payrolls/get-document) | PAYROLL |
\[^2]: Понадобится для создания реестра на выпуск карт Сбера,
\[^1]: Понадобится, если хотите открыть счет или выпустить карту в Сбере.
Участники, условия и результат
**Участники**
* Пользователь – сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках вашего сервиса (Платформа),
* Платформа – любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи,
* Sber API – запросы и ресурсы Sber API, к которым обращается Платформа.
**Предварительные условия**
Пользователь:
* имеет профиль в СберБизнес своей компании,
* находится в пространстве Платформы,
* прошел авторизацию с помощью СберБизнес ID.
**Результат**
* Создан и подписан платежный документ.
UML-диаграмма
В этом варианте применения можно использовать подписание документа при помощи API-запроса. ЭП должна принадлежать сотруднику вашей компании. [Подробнее...](/ru/sber-api/start/eds-in-api)
---
# Создание ссылки на перевод СБП B2B
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/sbp/create-link/overview.md)
## Информация о сервисе
СБП B2B — это быстрый и простой способ компаниям принимать платежи от партнеров или клиентов. Вместо долгого оформления бумажных платежек и перечислений, теперь достаточно отправить партнерской компании короткую ссылку или QR-код, по которым можно мгновенно перевести деньги на расчетный счет.
## Преимущества сервиса
* Быстрая оплата: Деньги поступают практически сразу, сокращая долговые обязательства партнера.
* Автоматическое формирование: Никаких рутинных операций бухгалтеру — платежи формируются автоматически.
* Минимум ошибок: Все данные уже заполнены верно, исключен риск неверного ввода реквизитов.
* Рост количества оплат: Простота процедуры увеличивает количество успешно завершенных сделок.
* Простое подключение: Легко интегрируется с существующими системами бухгалтерского учета через специальные интерфейсы (API).
## Как это работает
1. Компания настраивает взаимодействие с банком через API.
2. Компания отправляет запрос в банк на создание уникальной ссылки или QR-кода.
3. Банк формирует платежную ссылку или QR-код и возвращает его обратно компании.
4. Полученная ссылка или QR-код направляется контрагенту.
5. Средства зачисляются на расчетный счет компании сразу после проведения платежа партнером.
Таким образом, бизнес экономит массу времени и сил, получая плату вовремя и минимизируя риски финансовых потерь.
:::note
Важно:
* Платежная ссылка может быть одноразовой или многоразовой.
* По умолчанию срок жизни ссылки составляет 90 дней.
* Для использования сервиса необходимо быть зарегистрированным в [Системе Быстрых Платежей](https://www.sberbank.com/help/business/sbbol/100889) (СБП)
:::
[Инструкция по получению токена](/ru/sber-api/scenarios/profile-creation/sbbid/overview)
---
# Система Быстрых Платежей
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/sbp/overview.md)
СБП (Система Быстрых Платежей) представляет из себя решение для осуществления мгновенных межбанковских переводов. Этот сервис заменил собой неудобные переводы по номеру карты и сделал расчеты между людьми быстрыми и удобными.
Условия подключения:
**1. Станьте частью нашей экосистемы!**
Чтобы воспользоваться всеми преимуществами сервиса, вам необходимо быть клиентом нашего банка. Если вы уже с нами — отлично! Если нет — мы будем рады видеть вас среди наших клиентов.
**2. Определите тип вашего сервиса**
Наши API поддерживают две модели оплаты:
* B2B (Business-to-Business): для расчетов между юридическими лицами и индивидуальными предпринимателями.
* B2C (Business-to-Customer): для отправки платежей в пользу физических лиц, самозанятым.
Выберите тип сервиса, который соответствует вашим бизнес-задачам.
**3. Регистрация в Системе Быстрых Платежей**
Если вы наш клиент, следующий шаг — обязательная регистрация вашей организации в Системе Быстрых Платежей (СБП). Это легко сделать через ваш личный кабинет СберБизнес следуя [инструкции](https://www.sberbank.com/help/business/sbbol/100889).
**4. Авторизация в API**
Для доступа к API требуется предварительная авторизация. Процесс включает в себя выпуск сертификатов и получение уникального ключа доступа (Access Token).
[Подробное руководство](/ru/sber-api/specifications/overview)
**5. Проверка и обновление прав доступа (Scope)**
Если вы ранее уже были подключены к SberAPI, пожалуйста, убедитесь, что в настройках вашего подключения в scope добавлена необходимая операция. После добавления права доступа необходимо обновить ваш Access Token.
**6. Техническая интеграция**
Завершающий этап — интеграция сервиса в вашу систему с использованием полученного ключа доступа. Воспользуйтесь предоставленной технической документацией API для корректной реализации функционала.
После выполнения этих шагов вы получите полный доступ ко всем возможностям нашего сервиса.
---
# Переводы СБП для платформенных решений
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/sbp/sbp-platform/overview.md)
## Информация о сервисе
Сервис предоставляет пользователям Платформы (Продавцам) возможность быстрого и защищенного получения B2B-платежей от их клиентов (Покупателей). Это реализовано посредством индивидуальных платежных ссылок B2B, создаваемых на основе реквизитов Продавца в рамках единого договора Платформы с банком.
## Преимущества сервиса
* **Быстрая оплата:** Деньги поступают практически сразу, сокращая долговые обязательства партнера.
* **Автоматическое формирование:** Никаких рутинных операций бухгалтеру — платежи формируются автоматически.
* **Минимум ошибок:** Все данные уже заполнены верно, исключен риск неверного ввода реквизитов.
* **Рост количества оплат:** Простота процедуры увеличивает количество успешно завершенных сделок.
* **Простое подключение:** Легко интегрируется с существующими системами бухгалтерского учета через специальные интерфейсы (API).
## Участники процесса и их роли
* **Инициатор:** Пользователь Платформы (Продавец) — нуждается в получении оплаты от своего контрагента.
* **Отправитель запроса в банк:** Платформа — единственный уполномоченный контрактный партнер банка по договору.
* **Исполнитель:** Банк-партнер — создает и технически реализует платежную ссылку B2B.
* **Плательщик:** Клиент Продавца (контрагент) — совершает перевод.
## Основные положения
* Между Владельцем Платформы и Банком существует соглашение на работу с платежными ссылками B2B.
* Запрос в банк отправляет Платформа.
* Платформа проходит авторизацию в канале Sber API, используя свой Access Token.
* Запрос от Платформы содержит Access Token пользователя платформы и информацию по его р/с зачисления.
## Как это работает
**Создание платежной ссылки**
1. Владелец Платформы заключает с Банком договор на подключение сервисов Sber API (в т.ч. создание платежных ссылок B2B).
2. Пользователь платформы формирует запрос на создание платежной ссылки в интерфейсе платформы ([пример запроса с описанием](/ru/sber-api/specifications/payment-link/sbp-b-2-b-link-create))
3. Платформа проводит валидацию данных, формирует и отправляет запрос в банк.
4. Банк получает запрос, проводит валидацию обязательных полей.
5. Банк проверяет, подключен ли пользователь платформы к системе СБП, и генерирует уникальную платежную ссылку.
6. Банк возвращает Платформе созданную ссылку/QR-код на оплату и ее уникальный ID в системе банка.
7. Платформа получает ответ от банка и направляет созданную ссылку/QR-код пользователю платформы, отправившему запрос.
8. Пользователь платформы копирует ссылку/QR-код и отправляет ее своему Покупателю (контрагенту) через email, мессенджер и т.д.
9. Покупатель (контрагент) переходит по ссылке, выбирает банк для оплаты, затем подтверждает операцию в приложении выбранного банка.
10. Денежные средства моментально поступают на счет пользователя платформы.
**Получение списка транзакций**
1. Платформа отправляет запрос на получение списка транзакций по ранее созданной ссылке.
2. Банк возвращает массив операции со статусом.
3. Платформа отображает транзакцию со статусом своему клиенту.
> Важно:
>
> * Платежная ссылка может быть одноразовой или многоразовой.
> * По умолчанию срок жизни ссылки составляет 90 дней.
> * Для работы сервиса необходима регистрация в [Системе Быстрых Платежей](https://www.sberbank.com/help/business/sbbol/100889) платформы, с которой будут отправляться запросы в банк.
---
# Мгновенные выплаты физическим лицам через СБП по номеру телефона
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/sbp/transfer/overview.md)
## Информация о сервисе
API-решение для автоматизированных переводов от юридических лиц в пользу физических лиц через Систему Быстрых Платежей (СБП).
## Преимущества
Мгновенные зачисления - средства поступают на счет в течение секунд;
Легкая интеграция - готовые API-решения для подключения к системам учета;
Доступность сервиса - переводы 24/7 без выходных;
Экономия на комиссиях - снижение расходов на банковское обслуживание;
Сервис упрощает расчеты и повышает удовлетворенность клиентов скоростью платежей.
## Как это работает
1. Компания настраивает взаимодействие с банком через API.
2. Компания отправляет запрос в банк, в котором предоставляет минимальный набор реквизитов получателя:
* Номер мобильного телефона получателя
* Наименование банка получателя
* ФИО получателя – опционально, для проведения дополнительной проверки.
3. Данные отправляются через безопасный программный интерфейс (API) нашей системы.
4. Осуществляется моментальное зачисление средств на счет физического лица непосредственно через инфраструктуру Системы Быстрых Платежей (СБП).
## Условия использования
**1. Станьте частью нашей экосистемы!**
Чтобы воспользоваться всеми преимуществами сервиса, вам необходимо быть клиентом нашего банка. Если вы уже с нами — отлично! Если нет — мы будем рады видеть вас среди наших клиентов.
**2. Регистрация в Системе Быстрых Платежей**
Если вы наш клиент, следующий шаг — обязательная регистрация вашей организации в Системе Быстрых Платежей (СБП). Это легко сделать через ваш личный кабинет СберБизнес следуя [инструкции](https://www.sberbank.ru/help/business/sbbol/scheta-i-platezhy/sbp_individ/100911).
**3. Получение электронной подписи (УНЭП/УКЭП)**
Для подписания запросов необходимо получить Усиленную Неквалифицированную Электронную Подпись (УНЭП) или Усиленную Квалифицированную Электронную Подпись (УКЭП). Это можно сделать по инструкции: [Работа с ЭП в SberAPI](/ru/sber-api/start/eds-in-api).
**4. Авторизация в API**
Для доступа к API требуется предварительная авторизация. Процесс включает в себя выпуск сертификатов и получение уникального ключа доступа (Access Token).
[Подробное руководство](/ru/sber-api/specifications/overview)
**5. Проверка и обновление прав доступа (Scope)**
Если вы ранее уже были подключены к SberAPI, пожалуйста, убедитесь, что в настройках вашего подключения в scope добавлена необходимая операция. После добавления права доступа необходимо обновить ваш Access Token.
**6. Техническая интеграция**
Завершающий этап — интеграция сервиса в вашу систему с использованием полученного ключа доступа. Воспользуйтесь предоставленной технической документацией API для корректной реализации функционала.
После выполнения этих шагов вы получите полный доступ ко всем возможностям нашего сервиса.
---
# Подключение и настройка в 1С:БГУ
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/tax-deduction/bgu.md)
## Информация о сервисе
Установите расширение и настройте интеграционное взаимодействие между сервисом в СберБизнес "Налоговые вычеты клиентам" и системой 1С:БГУ, чтобы получать заявления от клиентов и предзаполненные по ним справки от Сбера в привычном для вас интерфейсе 1С.
Настройка интеграции не займет много времени, подробную информацию о том, как установить расширение вы найдете в описании ниже.
:::caution
Расширение подходит для конфигураций **1С:Бухгалтерия государственного учреждения 2.0** и **1С: Бухгалтерия государственного учреждения КОРП 2.0** (1С:БГУ 2.0) с использованием возможностей платформы **1С:Предприятие 8.3**.
:::
## Установка расширения
## Скачайте расширение и инструкцию
**1.** В левом меню СберБизнес выберите раздел **Налоги и бухгалтерия** На странице **Налоговые вычеты** клиентам выберите вкладку **О сервисе**.
**2.** В блоке **Интеграционные взаимодействия** нажмите кнопку **Скачать**.
**3.** Скачайте расширение и руководство пользователя на свой компьютер.
## 1. Авторизуйтесь в системе «1С:Бухгалтерия государственного учреждения» (1С:БГУ)
Перед установкой расширения убедитесь, что другие сеансы работы с текущей программой 1С завершены. В верхнем правом углу нажмите кнопку **Сервис и настройки** и в раскрывающемся списке выберите **Настройки**, а затем – **Параметры**.
Установите флажок **Режим технического специалиста** и подтвердите свой выбор.
Снова нажмите кнопку **Сервис и настройки** и в раскрывающемся списке выберите **Функции для технического специалиста**.
Выберите **Стандартные**.
В раскрывающемся списке выберите **Управление расширениями конфигурации** (или воспользуйтесь полем для поиска) и дважды нажмите на него.
Откроется окно управления расширениями конфигурации. Нажмите кнопку **Добавить**.
Выберите ранее скачанный файл с расширением в формате **CFE**. В таблице со списком расширений отобразится загруженное расширение **Сбер\_НалоговыеВычеты**. Установите флажок в колонке **Активно**, если он не был установлен ранее.
Выключите безопасный режим у расширения. Для этого снимите флажок в колонке **Безопасный режим, имя профиля**.
Закройте **1С** и откройте вновь.
## 2. Запустите обновление
Если вы работаете через тонкий клиент, запустите **1С**. Выберите информационную базу **acc\_sber2** и нажмите **Изменить**. Информационная база появится автоматически после установки расширения.
Нажмите **Далее**.
В поле **Дополнительные параметры** запуска введите команду **/c ЗапуститьОбновление ИнформационнойБазы** и нажмите **Готово**.
Закройте **1С** и откройте повторно. Система запустит обновление приложения.
После завершения появится оповещение.
Далее вернитесь в поле **Дополнительные параметры запуска** и удалите команду **/c ЗапуститьОбновлениеИнформационнойБазы**, чтобы не запускать повторное обновление при каждой авторизации.
Если работа производится через веб-клиент, запустите 1С через веб-клиент и в адресной строке браузера укажите следующую команду:
```sh
<Адрес_системы_в_сети_интернет>?c=ЗапуститьОбновлениеИнформационнойБазы
Пример: http://00.00.00.00/acc_sber2?c=ЗапуститьОбновлениеИнформационнойБазы
```
Нажмите **Enter**.
Система запустит обновление приложения.
Дождитесь завершения обновления и запустите **1С** через стандартную ссылку.
Проверить наличие установленного расширения можно на вкладке **О программе** в разделе **Расширения конфигурации**.
После установки расширения настройте интеграционное взаимодействие между системами. Инструкция по настройке доступна [по ссылке](https://www.sberbank.ru/help/business/sbbol/taxes/deduction/101115).
---
# Налоговые вычеты
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/tax-deduction/overview.md)
## Информация о продукте
**Налоговые вычеты клиентам** — сервис, предоставляющий возможность подтверждения юридическими лицами и индивидуальными предпринимателями расходов своих клиентов на оплату социально значимых услуг и отправку справок в ФНС России для предоставления социального налогового вычета.
Используя Sber API, вы можете интегрироваться с нашим продуктом для:
* Получения черновиков справок, созданных банком на основании заявлений клиентов (физических лиц) на получение налогового вычета;
* Информирования клиентов Сбера об отправке вами справок в ФНС;
* Использования инструментов СберБизнес для подписания и отправки справок в ФНС, подготовленных на стороне вашей автоматизированной системы.
## Как подключить?
Для новых клиентов сервис доступен в рамках набора ["Компаниям"](https://developers.sber.ru/docs/ru/sber-api/start/overview).
Если вы уже подключены к Sber API, проверьте наличие сервиса `TAX_DEDUCTION_INFO` в наборе Компаниям в Личном кабинете, либо обратитесь на supportdbo2@sberbank.ru или к вашему менеджеру. Подробнее о подключении сервиса набора в соответствующем [разделе документации](https://developers.sber.ru/docs/ru/sber-api/start/connect).
:::caution
Для корректной работы взаимодействие в Sber API должно быть настроено под пользователем СберБизнес с одной из следующих ролей:
* Клиент Банка,
* Главный Бухгалтер,
* Менеджер по работе с налоговыми вычетами клиентам
:::
## Схема работы сервиса
## Варианты реализации
Ниже в общем виде описаны сценарии работы со справками, сформированными банком, на получение налоговых вычетов с использованием Sber API. Можно использовать разные триггеры запуска Sber API: действия пользователя, регламентный запуск по времени, наступление определенных событий и другие варианты. Статусы справок, отправляемые в банк из вашей автоматизированной системы, должны соответствовать статусной \[модели] (ссылка).
Можно выделить 2 варианта взаимодействия:
* Подписание и отправка справок в ФНС происходит в СберБизнес.
* Подписание и отправка справок в ФНС происходит в системе или операторе ЭДО организации.
В обоих случая важно настроить взаимодействие между вашей автоматизированной системой и Sber API так, чтобы обе системы получали регулярные обновления справок. Рекомендации по настройке даны в соответствующих разделах документации:
* [Получение списка справок](/ru/sber-api/specifications/tax-deduction/get-deduction-info)
* [Обновление/создание справок](/ru/sber-api/specifications/tax-deduction/update-deduction-info)
Подписание и отправка справок в ФНС происходит в СберБизнес
**Шаги**
* Получить информацию по справкам из банка.
* Для каждой справки в статусе READY или EDITED, полученной от банка:
* Проверить информацию по справке:
* Данные плательщика,
* Сумма(ы).
* При необходимости заполнить данные получателя услуги.
* Зафиксировать справку в статусе EDITED (если планируется дальнейшее уточнение информации по справке) или READY\_TO\_SEND.
* Отправить в банк обновленные данные по справкам.
* Выполнить подписание справки(ок) в интерфейсе Сбербизнес.
* Сбербизнес отправляет справки в ФНС.
**Иллюстрация взаимодействия на уровне API**
```mermaid
---
config:
themeVariables:
primaryTextColor: '#2a72f8'
primaryBorderColor: '#2a72f8'
lineColor: '#2a72f8'
noteBkgColor: '#f5f5f5'
noteBorderColor: ''
---
sequenceDiagram
participant app as "АС клиента"
box "СберБизнес"
participant api as "Sber API"
participant sb as "Налоговые вычеты"
end
participant fns as "ФНС России"
loop Запрос справок, по расписанию (например, каждый час)
app->>api: Получить справки, POST /v1/tax-deductions/deductions/filter
api->>sb: Отбор справок согласно условиям фильтрации
sb-->>api: Результат
api-->>app: Результат
end
alt Работа со справкой в автоматизированной системе партнера
app->>app: Проверить информацию по справкам / обновить справки
end
loop Отправка обновлений в Сбербизнес, по расписанию (например, каждый час)
app->>api: Отправить обновления по справкам, PATCH /v1/tax-deductions/deductions
api->>sb: Создание новых справок / Обновление существующих справок
sb-->>api: Результат
api-->>app: Результат
end
alt Работа со справкой в СберБизнес
sb->>sb: Подписать справки
Note over sb: Справки подписываются сотрудником юридического лица
sb->>fns: Отправка справок в ФНС
fns-->>sb: ИОП
fns-->>sb: Результат приема (КОП/УОО)
sb->>sb: Ознакомиться с ответами ФНС
end
```
**Особенности статусной модели**
В данном варианте реализации следующие статусы проставляются на стороне **АС Клиента**:
* `SIGNED`;
* `SENDING`;
* `SENT`;
* `ERROR_FNS`;
* `EDO_ERROR`;
* `APPROVED_FNS`;
* `NOT_CONFIRMED`;
* `WAITING_RESPONSE_TO_FNS`;
* `ERROR`.
Подписание и отправка справок в ФНС происходит в системе или операторе ЭДО организации
**Шаги**
* Получить информацию по справкам.
* Для каждой справки в статусе READY или EDITED, полученной от банка:
* Проверить информацию по справке:
* Данные плательщика,
* Сумма(ы).
* При необходимости заполнить данные получателя услуги.
* Зафиксировать справку в статусе EDITED или READY\_TO\_SEND.
* Отправить в банк обновленные данные по справкам.
* Выполнить подписание справки(ок) в вашей автоматизированной системе. Перевести справки в статус SIGNED.
* Отправить в банк обновленные данные по справкам.
* Инициировать отправку справок в ФНС через ЭДО Клиента. Перевести справки в статус SENDING.
* Отправить в банк обновленные данные по справкам.
* Обработать полученные от ФНС ответы по справкам. Перевести справки в соответствующий статус\*.
* Отправить в банк обновленные данные по справкам.
**Иллюстрация взаимодействия на уровне API**
```mermaid
---
config:
themeVariables:
primaryTextColor: '#2a72f8'
primaryBorderColor: '#2a72f8'
lineColor: '#2a72f8'
noteBkgColor: '#f5f5f5'
noteBorderColor: ''
---
sequenceDiagram
participant app as "АС клиента"
box СберБизнес
participant api as "Sber API"
participant sb as "Налоговые вычеты"
end
participant fns as "ФНС России"
loop Запрос справок, по расписанию (например, каждый час)
app->>api: Получить справки, POST /v1/tax-deductions/deductions/filter
api->>sb: Отбор справок согласно условиям фильтрации
sb-->>api: Результат
api-->>app: Результат
end
alt Работа со справкой в автоматизированной системе партнера
app->>app: Проверить информацию по справкам / обновить справки
app->>app: Подписать справки
Note over app: Справки подписываются сотрудником юридического лица
app->>fns: Отправка справок в ФНС
fns-->>app: ИОП
fns-->>app: Результат приема (КОП/УОО)
app->>app: Обработать ответы ФНС (обновить статусы отправленных справок)
end
loop Отправка обновлений в Сбербизнес, по расписанию (например, каждый час)
app->>api: Отправить обновления по справкам, PATCH /v1/tax-deductions/deductions
api->>sb: Создание новых справок\nОбновление существующих справок
sb-->>api: Результат
api-->>app: Результат
end
```
**Особенности статусной модели**
В данном варианте реализации следующие статусы проставляются на стороне **СберБизнес**:
* `SIGNED`;
* `SENDING`;
* `SENT`;
* `ERROR_FNS`;
* `EDO_ERROR`;
* `APPROVED_FNS`;
* `NOT_CONFIRMED`;
* `WAITING_RESPONSE_TO_FNS`;
* `ERROR`.
Терминология
**Справка/вычет** — набор данных, содержащих информацию о плательщике, получателе услуги, а также информации о самой услуге (сумма и вид), на основе которого формируется электронный документ в формате xml, отправляемый в ФНС для получения ФЛ налогового вычета.
**Электронный документооборот (ЭДО)** — это система обмена электронными документами через интернет или локальные сети, которая позволяет организациям и индивидуальным предпринимателям осуществлять безбумажный документооборот. В рамках ЭДО документы создаются, подписываются, отправляются и хранятся в цифровом формате.
**Извещение о получении (ИОП)** — электронный документ, формируемый и направляемый участником электронного документооборота (например, оператором ЭДО или получателем документа) в адрес отправителя. Оно подтверждает факт и время поступления электронного документа (например, справки на получение налогового вычета) в информационную систему получателя.
**Квитанция о приеме (КОП)** — это электронный документ, формируемый ФНС России и направляемый ЮЛ в рамках электронного документооборота, подтверждающий факт и время получения налоговым органом документов (справки) для получения налогового вычета.
**Уведомление об отказе (УОО)** — это электронный документ, формируемый ФНС России и направляемый ЮЛ в рамках автоматизированного обмена документами при оформлении налоговых вычетов, содержащий причину отказа в приеме документа.
**Сообщение об ошибке (СОШ)** — это электронный документ, который формируется и направляется информационной системой ФНС России или оператора электронного документооборота (ЭДО) в адрес отправителя. В этом сообщении содержится информация о невозможности принять или обработать направленный электронный документ из-за выявленных нарушений.
**Десятый документооборот** — это регламентированный электронный обмен между налогоплательщиком и Федеральной налоговой службой (ФНС), в рамках которого направляется результат обработки справки (и сопутствующих документов), поданных для получения налогового вычета, и который содержит мотивированный отказ в предоставлении вычета.
Статусная модель
| Системное имя статуса | Бизнес смысл | Статус в СберБизнес |
| --- | --- | --- |
| APPROVED\_FNS | ФНС приняла справку (получена КОП). При отправке в Банк справок в этом статусе должна быть указана `receiptDate` - дата получения ответа КОП. | Принята в ФНС |
| ARCHIVED | Сотрудник юридического лица не планирует работать со справкой и отправлять ее в ФНС. При простановке этого статуса рекомендуется дополнительно указывать причину перевода справки в архив и передавать ее в параметре `statusDescription`. Рекомендуемые значения причин архивации: \* Клиент не найден, уточните данные получателя услуг \* Услуг не найдено \* Вычет уже получен | Архивирована |
| EDITED | Справка редактировался сотрудником юридического лица и была сохранена в процессе редактирования как черновик. | Черновик |
| EDO\_ERROR | От ФНС пришло сообщение об ошибке (СОШ). | Ошибка |
| ERROR | Технический статус. При обработке справки на стороне Банка произошла ошибка. | - |
| ERROR\_FNS | ФНС отклонила справку (получено УОО). При отправке в Банк справок в этом статусе должно быть указано значение для атрибута `receiptDate` - дата получения УОО. | Отказ ФНС |
| NOT\_CONFIRMED | Поступил связанный со справкой пакет документов с результатом обработки справки по десятому документообороту из ФНС. | Не подтверждена |
| READY | На основании заявления физического лица и данных о транзакциях в пользу юридического лица банком создан черновик справки. | Получено заявление от клиента |
| READY\_TO\_SEND | Сотрудник юридического лица завершил редактирование справки (подтвердил ее). Справка готова к подписанию и отправке в ФНС. Если используется ЭДО, предоставляемое сервисом Налоговые вычеты в Сбербизнес, то справки, готовые к отправке в ФНС, должны приходить в СберБизнес именно в этом статусе. | Ожидает подписания |
| SENDING | Инициирована отправка подписанной справки в ФНС через ЭДО. | Отправка в ФНС |
| SENT | Справка отправлена в ФНС. | Отправлена в ФНС |
| SIGNED | Справка была подписана. | Подписана |
| WAITING\_RESPONSE\_TO\_FNS | От ФНС пришел ответ (КОП или УОО), требуется расшифровка и ознакомление с ответом. **Статус проставляется только при использовании ЭДО СберБизнес.** | |
---
# Управление лимитами бизнес-карт
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/transfers/business-card/limits.md)
Управление общими лимитами бизнес-карт: установка лимитов и получение информации по лимитам с доступным остатком по бизнес-карте.
## Обзор продукта
Общий перечень и порядок использования **ресурсов Sber API**, относящихся к функциональности продукта.
**Порядок использования**
**Перечень ресурсов**
| Используемые ресурсы SberAPI | Описание |
| ---------------------------- | -------- |
| [/ic/sso/api/v2/oauth/token](/ru/sber-api/specifications/oauth)| **Авторизация пользователя**. Токен доступа понадобится при обращении к API-запросам. Подробнее в разделе [СберБизнес ID](/ru/sber-api/scenarios/profile-creation/sbbid/overview). |
| [/fintech/api/v2/corporate-cards/list](/ru/sber-api/specifications/business-cards/corporate-cards-list-post)| **Получение списка бизнес-карт**. Понадобится при работе с функциональностью лимитов. |
| [/fintech/api/v2/corporate-cards/limits](/ru/sber-api/specifications/business-cards/create-or-update-limits) | **Создание черновика заявки на общие лимиты**. |
| [/fintech/api/v2/corporate-cards/sign-and-approve](/ru/sber-api/specifications/business-cards/corporate-cards-transfer-sign-and-approve-post) | **Подписание заявки на лимиты**. |
| [/fintech/api/v2/corporate-cards/\{businessCardId}/limits](/ru/sber-api/specifications/business-cards/get-limits) | **Получение списка установленных лимитов по бизнес-карте**. |
## Варианты применения
Общие примеры состава и порядка исполнения **запросов Sber API**. Состав и порядок запросов может отличаться в зависимости от ваших бизнес-задач.
### Установка и получение лимитов через Платформу
Под платформой в данном разделе понимаем любую информационную систему партнера, предназначенную для предоставления финтех-услуг Сбера.
| Шаг | Запросы Sber API | Код операции в scope |
| ------------------------------------------------------ | ---------- | -------------------- |
| **1** Получите токен доступа | | openid |
| **2** Получите информацию по бизнес-картам | | CORPORATE\_CARDS |
| **3** Создайте черновик заявки на общие лимиты | | CORPORATE\_CARDS |
| **4** Подпишите заявку на лимиты | | CORPORATE\_CARDS |
| **5** Получите список установленных лимитов | | CORPORATE\_CARDS |
Участники, условия и результат
**Участники**
Пользователь – сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках вашего сервиса (Платформа),
Платформа – любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи,
Sber API – запросы и ресурсы Sber API, к которым обращается Платформа.
**Предварительные условия**
Пользователь: имеет профиль в СберБизнес своей компании и прошел авторизацию.
Платформа имеет функциональности:
* хранения индентификаторов активных бизнес-карт,
* ввода значений лимитов,
* информирования о создании заявки,
* отображения информации по лимитам.
**Результат**
Заявка на установку общих лимитов создана и подписана.
Отображается информация по лимитам.
UML-диаграммы
В схеме можно использовать автоматизированное подписание документа. Данная возможность доступна только при использовании ЭП сотрудника вашей компании.
Подробнее об использовании ЭП в Sber API можно почитать в [одноименном разделе](/ru/sber-api/start/eds-in-api).
```mermaid
sequenceDiagram
participant Клиент
participant Платформа
participant СберБизнес ID
participant Банк
Note over Клиент,Банк: Процесс управления лимитами бизнес-карты
Клиент->>Платформа: Выбрана операция "Управление лимитами"
Платформа->>СберБизнес ID: Обновление токена (refresh_token)
СберБизнес ID-->>Платформа: access_token
alt Если не авторизован
Платформа->>Клиент: Предложена авторизация
Клиент->>СберБизнес ID: Авторизация
СберБизнес ID-->>Платформа: access_token
end
Платформа->>Банк: GET /corporate-cards/list
Банк-->>Платформа: Список бизнес-карт
alt Нет карт
Платформа-->>Клиент: Уведомление "Нет карт"
end
Платформа->>Платформа: Определен businessCardId
Платформа-->>Клиент: Форма ввода лимитов
Клиент->>Платформа: Ввод значений лимитов
Платформа->>Банк: POST /limits
Банк-->>Платформа: Черновик создан (externalId)
Платформа-->>Клиент: Отображение данных, запрос подтверждения
Клиент->>Платформа: Подтверждение
Платформа->>Банк: POST /sign-and-approve
Банк-->>Платформа: Заявка подписана
Платформа->>Банк: GET /\{businessCardId}/limits
Банк-->>Платформа: Список лимитов
Платформа-->>Клиент: Информация по лимитам
```
## Дайджест заявки на лимиты
:::note
Формирование дайджеста должно полностью соответствовать ответу на изменение лимитов: включать только присутствующие поля и значения, сохраняя их исходные типы данных и точный порядок из примера ниже. Любые отклонения приведут к ошибке подписи.
:::
```json
externalId = 4ae05108-fe94-4bb8-b95a-3da9bc9cf98e
businessCardId = 1d612630-824f-46dc-a807-5a3746ba7cac
cashLimits.day = 20001
cashLimits.month = 2000001
transferLimits.day = 1001
transferLimits.month = 100001
nonCashLimit.day.value = 1000001
nonCashLimit.day.activation = true
totalLimits.month.value = 3000001
totalLimits.month.activation = true
totalLimits.period.value = 131313
totalLimits.period.activation = true
totalLimits.period.endDate = 2026-06-19T23:59:59.999Z
totalLimits.period.blockOperationsAfterPeriod = false
```
| **Наименование поля** | **Описание поля** | **Пример** |
| --------------------- | ------------------ | --------------|
| externalId | Внешний идентификатор заявки | 4ae05108-fe94-4bb8-b95a-3da9bc9cf98e |
| businessCardId | Идентификатор бизнес-карты | 1d612630-824f-46dc-a807-5a3746ba7cac |
| cashLimits | | |
| day | Дневной лимит | 20001 |
| month | Месячный лимит | 2000001 |
| transferLimits | | |
| day | Дневной лимит | 1001 |
| month | Месячный лимит | 100001 |
| nonCashLimit | | |
| day | Лимит на безналичные операции | |
| value | Установленная сумма лимита | 1000001 |
| activation | Активация/Деактивация лимита | true |
| totalLimits | Общие лимиты | |
| month | Месячный лимит | |
| value | Сумма лимита | 3000001 |
| activation | Активация/Деактивация лимита | true |
| period | Лимит на период | |
| value | Сумма лимита | 131313 |
| activation | Активация/Деактивация лимита | true |
| endDate | Дата окончания действия лимита | 2026-06-19T23:59:59.999Z |
| blockOperationsAfterPeriod | Запрет операций по истечению периода | false |
---
# Бизнес-карты
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/transfers/business-card/overview.md)
## Общая информация о бизнес-картах
Бизнес-карта - это платежный инструмент, предназначенный для использования в деловых операциях. Привязана к банковскому счету компании или индивидуального предпринимателя. Подробнее [на сайте](https://www.sberbank.ru/ru/legal/bankingservice/cards).
Бизнес-карты могут использовать:
* cотрудники компании для оплаты деловых расходов, таких как командировочные расходы, переводы между счетами, оплата товаров и услуг, связанных с бизнесом, и так далее,
* владельцы бизнеса или индивидуальные предприниматели.
## Бизнес-карты в Sber API
С помощью Sber API интегрируйте функциональности продукта "Бизнес-карты" со своей платформой или ERP-системой, чтобы осуществлять:
* [переводы с бизнес-карт на любые карты](/ru/sber-api/scenarios/transfers/business-card/transfer-overview),
* [СБП-переводы с бизнес-карт на любые карты](/ru/sber-api/scenarios/transfers/business-card/sbp-transfer-overview).
---
# СБП-переводы
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/transfers/business-card/sbp-transfer-overview.md)
Переводы по системе быстрых платежей (СБП) на карты банков-эмитентов РФ, а также на банковские счета.
:::note
CБП-переводы не доступны между картами Сбербанка. Используйте вместо этого классические переводы.
:::
## Обзор продукта
Общий перечень и порядок использования **ресурсов Sber API**, относящихся к функциональности продукта.
**Порядок использования**
**Перечень ресурсов**
| Используемые ресурсы SberAPI | Описание |
| ---------------------------- | -------- |
| [/ic/sso/api/v2/oauth/token](/ru/sber-api/specifications/oauth)| **Авторизация пользователя**. Токен доступа понадобится при обращении к API-запросам. Подробнее в разделе [СберБизнес ID](/ru/sber-api/scenarios/profile-creation/sbbid/overview). |
| [/fintech/api/v2/corporate-cards/list](/ru/sber-api/specifications/business-cards/corporate-cards-list-post)| **Получение списка бизнес-карт**. Понадобится при работе с функциональностью переводов. |
| [/fintech/api/v2/corporate-cards/sbp-transfer/commission](/ru/sber-api/specifications/business-cards/corporate-cards-sbp-transfer-commission-post) | **Работа с функциональностью СБП-переводов:** - получение списка банков, поддерживающих СБП, - создание заявления на перевод по СБП и получение размера комиссии, - получение статуса заявления, - получение списка заявлений. |
| [/fintech/api/v2/corporate-cards/sign-and-approve](/ru/sber-api/specifications/business-cards/corporate-cards-transfer-sign-and-approve-post) | **Подписание заявления на перевод**. |
## Варианты применения
Общие примеры состава и порядка исполнения **запросов SberAPI**. Состав и порядок запросов может отличаться в зависимости от ваших бизнес-задач.
### При помощи ERP-системы
:::note
Функциональность проверки статуса и корректности перевода по СБП еще в разработке.
:::
| Шаг | Запросы SberAPI | Код операции в scope |
| ------------------------------------------------------ | ------------------------------------------------------------------------------------------------- | -------------------- |
| **1** Получите токен доступа | POST [/ic/sso/api/v2/oauth/token](/ru/sber-api/specifications/oauth/oauth-token-post) | openid |
| **2** Получите информацию по бизнес-картам | POST [/fintech/api/v2/corporate-cards/list](/ru/sber-api/specifications/business-cards/corporate-cards-list-post) | CORPORATE\_CARDS |
| **3** Получите список банков, поддерживающих СБП\[^3] | GET [/fintech/api/v2/corporate-cards/sbp-transfer/bank](/ru/sber-api/specifications/business-cards/corporate-cards-sbp-transfer-bank-get) | BUSINESS\_CARDS\_TRANSFER |
| **4** Создайте заявление на перевод по СБП и получите размер комиссии\[^1] | POST [/fintech/api/v2/corporate-cards/sbp-transfer/commission](/ru/sber-api/specifications/business-cards/corporate-cards-sbp-transfer-commission-post)| BUSINESS\_CARDS\_TRANSFER|
| **5** Подпишите заявление на перевод\[^2] | POST [/fintech/api/v2/corporate-cards/sign-and-approve](/ru/sber-api/specifications/business-cards/corporate-cards-transfer-sign-and-approve-post) | BUSINESS\_CARDS\_TRANSFER |
| **6** Получите статус заявления на перевод | GET [/fintech/api/v2/corporate-cards/transfer/\{externalId}/status](/ru/sber-api/specifications/business-cards/corporate-cards-transfer-status-get) | BUSINESS\_CARDS\_TRANSFER |
| **7** Получение списка заявлений на перевод со статусами переводов | POST [/fintech/api/v2/corporate-cards/transfer/list](/ru/sber-api/specifications/business-cards/corporate-cards-transfer-list-post) | BUSINESS\_CARDS\_TRANSFER |
\[^3]: Этот запрос лучше выполнять периодически (например, раз в сутки), чтобы поддерживать список банков в актуальном состоянии.
\[^2]: На этом шаге сформируйте и подпишите ЭП текстовый файл, содержащий поля запроса на создание заявления ([см. Дайджест перевода]())
\[^1]: Перевод будет выполнен по номеру телефона.
Участники, условия и результат
**Участники**
Пользователь – сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках вашего сервиса (Платформа),
Платформа – любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи,
Sber API – запросы и ресурсы Sber API, к которым обращается Платформа.
**Предварительные условия**
Пользователь: имеет профиль в СберБизнес своей компании и прошел авторизацию.
ERP-cистема:
* имеет функциональности хранения индентификаторов активных бизнес-карт,
* ввода реквизитов перевода, подтверждения согласия с условиями перевода (отображение комиссии),
* создания [ЭП](/ru/sber-api/start/eds-in-api) к документу,
* информирования о создании заявления,
* отображения списка заявлений и статусов перевода.
**Результат**
Заявление на перевод по СБП создано и подписано.
UML-диаграммы
В этом варианте применения можно использовать подписание документа при помощи API-запроса. ЭП должна принадлежать сотруднику вашей компании. [Подробнее...](/ru/sber-api/start/eds-in-api).
#### Дайджест для СБП переводов
:::note
Формирование дайджеста должно полностью соответствовать ответу на расчет комиссии: включать только присутствующие поля и значения, сохраняя их исходные типы данных и точный порядок из примера ниже. Любые отклонения приведут к ошибке подписи.
Конкретные примеры:
1. Если в ответе amount=10, в дайджесте должно быть amount=10
2. Если какое-то поле, например organizationName отсутствует в ответе, то и в дайджест его включать не нужно
:::
```json
Дайджест СБП перевода:
externalId=607e9b20-ff6b-4e1a-1111-af12d56caa60
transferPurpose=За товар по договору №2 от 12/01/2024
transferAmount.amount=1000.00
transferAmount.сurrency=RUB
transferCommission.amount=10.00
transferCommission.сurrency=RUB
senderInfo.businessCardId=c114a123-44f5-4fc5-8a79-cbb09f40ca8b
senderInfo.account=40817810990000000000
receiverInfo.phoneNumber=79880098877
receiverInfo.lastName=И.
receiverInfo.firstName=ИВАН
receiverInfo.middleName=ИВАНОВИЧ
receiverInfo.bankName=Наименование банка
receiverInfo.organizationName=ПАО ВСПЫШКА
```
| **Наименование поля** | **Описание поля** | **Пример** |
| --------------------- | -------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| externalId | Внешний идентификатор документа | f8ad3141-b7e8-4924-92de-3de4fd0a464e |
| transferPurpose | Назначение перевода | Иванов Иван Ильич, 1234 987654; ПСА №123 от 01.01.2020; лом стальной, 123 кг, 15000 руб./т.; без НДС |
| transferAmount | | |
| amount | Размер перевода | 25.00 |
| сurrency | Валюта перевода | RUB |
| transferCommission | | |
| commission | Размер комиссии | 2.00 |
| сurrency | Валюта комиссии | RUB |
| senderInfo | | |
| senderBusinessCardId | ID карты отправителя бизнес-карты | 31663ef5-7975-4016-b0f3-f1d70a4e9c22 |
| account | Счет бизнес-карты отправителя | 40817810990000000000 |
| receiverInfo | | |
| phoneNumber | Номер телефона получателя | 79880098877 |
| lastName | Фамилия получателя | И. |
| firstName | Имя получателя | ИВАН |
| lastName | Отчество получателя | ИВАНОВИЧ |
| bankName | Банк получателя перевода | Наименование банка |
| organizationName | Организация получателя | ПАО ВСПЫШКА |
## Переадресация на заявление на перевод
При создании заявления на перевод с помощью запроса API, он также отображается в интерфейсе СберБизнес. Пользователь имеет возможность подписать заявление в таком интерфейсе самостоятельно. Для открытия интерфейса СберБизнес нужно сформировать ссылку и переадресовать по ней пользователя. После аутентификации и успешного подписания, сервис вернет Пользователя на вашу платформу.
```sh
https://sbi.sberbank.ru:9443/ic/ufs/corporate-cards/index.html#/sbp-transfer-creator/d4fbfe27-ee37-4451-b224-8113a06c44a3?backUrl=https://www.example.ru/
```
**\{контур Банка}**/ic/ufs/corporate-cards/index.html#/sbp-transfer-creator/**\{externalid}**?backUrl=**\{backUrl}**
| **Переменная** | **Описание** | **Дополнительная информация** |
| -------------- | ------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `{контур Банка}` | Адрес Банка, на который делается запрос для открытия страницы сервиса оплаты | Для корректного выбора контура Банка потребуется определить тип криптопрофиля пользователя Клиента. В рамках запроса /ic/sso/api/v1/oauth/user-info вы получаете данные по Клиенту, в том числе атрибут userCryptoType. Атрибут позволяет определить криптопрофиль пользователя - SMS (СМС) или Token (электронный ключ (токен)). - Тестовый контур https://efs-sbbol-ift-web.testsbi.sberbank.ru:9443 - Промышленный контур СМС-пользователь https://sbi.sberbank.ru:9443 - Промышленный контур Токен-пользователь http://localhost:28016 |
| `{externalid}` | Уникальный идентификатор платежного документа | Данный идентификатор присваивает ваша Платформа на шаге создания черновика платежного поручения |
| `{backUrl} ` | Страница возврата, на которую Банк вернет пользователя Клиента после успешного подписания черновика платежного поручения | - backUrl нужно закодировать URLEncode; - Если не указать backUrl в ссылке, пользователи не смогут после подписания платежного поручения вернуться на Платформу; - Если backUrl будет отличаться от адреса вашей платформы, который указали при регистрации в Банке, то при возврате клиента на backUrl он будет видеть ошибку. |
---
# Переводы c бизнес-карт
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/transfers/business-card/transfer-overview.md)
Переводы на карты Сбера или другие карты банков-эмитентов РФ, а также на банковские счета.
## Обзор продукта
Общий перечень и порядок использования **ресурсов SberAPI**, относящихся к функциональности продукта.
**Порядок использования**
**Перечень ресурсов**
| Используемые ресурсы SberAPI | Описание |
| ---------------------------- | -------- |
| [/ic/sso/api/v2/oauth/token](/ru/sber-api/specifications/oauth)| **Авторизация пользователя**. Токен доступа понадобится при обращении к API-запросам. Подробнее в разделе [СберБизнес ID](/ru/sber-api/scenarios/profile-creation/sbbid/overview). |
| [/fintech/api/v2/corporate-cards/list](/ru/sber-api/specifications/business-cards/corporate-cards-list-post)| **Получение списка бизнес-карт**. Понадобится при работе с функциональностью переводов. |
| [/fintech/api/v2/corporate-cards/transfer](/ru/sber-api/specifications/business-cards/corporate-cards-transfer-commission-post) | **Работа с функциональностью переводов:** - получение ключа шифрования, - создание заявления на перевод и получение размера комиссии, - получение статуса заявления, - получение списка заявлений. |
| [/fintech/api/v2/corporate-cards/sign-and-approve](/ru/sber-api/specifications/business-cards/corporate-cards-transfer-sign-and-approve-post) | **Подписание заявления на перевод**. |
## Варианты применения
Общие примеры состава и порядка исполнения **запросов SberAPI**. Состав и порядок запросов может отличаться в зависимости от ваших бизнес-задач.
### При помощи ERP-системы
| Шаг | Запросы SberAPI | Код операции в scope |
| ------------------------------------------------------ | ------------------------------------------------------------------------------------------------- | -------------------- |
| **1** Получите токен доступа | POST [/ic/sso/api/v2/oauth/token](/ru/sber-api/specifications/oauth/oauth-token-post) | openid |
| **2** Получите информацию по бизнес-картам | POST [/fintech/api/v2/corporate-cards/list](/ru/sber-api/specifications/business-cards/corporate-cards-list-post) | CORPORATE\_CARDS |
| **3** Получите ключ шифрования\[^1] | GET [/fintech/api/v2/corporate-cards/transfer/public-key](/ru/sber-api/specifications/business-cards/corporate-cards-transfer-public-key-get) | CORPORATE\_CARDS |
| **4** Создайте заявление на перевод и получите размер комиссии\[^2] | POST [/fintech/api/v2/corporate-cards/transfer/commission](/ru/sber-api/specifications/business-cards/corporate-cards-transfer-commission-post)| BUSINESS\_CARDS\_TRANSFER|
| **5** Подпишите заявление на перевод\[^3] | POST [/fintech/api/v2/corporate-cards/sign-and-approve](/ru/sber-api/specifications/business-cards/corporate-cards-transfer-sign-and-approve-post) | BUSINESS\_CARDS\_TRANSFER |
| **6** Получите статус заявления на перевод | GET [/fintech/api/v2/corporate-cards/transfer/\{externalId}/status](/ru/sber-api/specifications/business-cards/corporate-cards-transfer-status-get) | BUSINESS\_CARDS\_TRANSFER |
| **7** Получение списка заявлений на перевод со статусами переводов | POST [/fintech/api/v2/corporate-cards/transfer/list](/ru/sber-api/specifications/business-cards/corporate-cards-transfer-list-post) | BUSINESS\_CARDS\_TRANSFER |
\[^3]: На этом шаге сформируйте и подпишите ЭП текстовый файл, содержащий поля запроса на создание заявления ([см. Дайджест перевода]())
\[^2]: Нужен для шифрования номера карты получателя.
\[^1]: Перевод с бизнес-карты Сбера юридическому лицу (кроме [СБП-переводов](/ru/sber-api/scenarios/transfers/business-card/sbp-transfer-overview)) осуществляется **только** с указанием номера карты получателя (любая карта ПАО Сбербанк и других банков-эмитентов РФ). Переводы с бизнес-карт Сбера физическому лицу могут осуществляться также c указанием номера телефона получателя (указание номера карты в данном случае запрещено).
Участники, условия и результат
**Участники**
Пользователь – сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках вашего сервиса (Платформа),
Платформа – любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи,
Sber API – запросы и ресурсы Sber API, к которым обращается Платформа.
**Предварительные условия**
Пользователь: имеет профиль в СберБизнес своей компании и прошел авторизацию.
ERP-cистема:
* имеет функциональности хранения индентификаторов активных бизнес-карт,
* ввода реквизитов перевода, подтверждения согласия с условиями перевода (отображение комиссии),
* создания ЭП к документу,
* информирования о создании заявления,
* отображения списка заявлений и статусов перевода.
**Результат**
Заявление на перевод по бизнес-карте создано и подписано,
Отображаются список заявлений и статусы переводов.
UML-диаграммы
В этом варианте применения можно использовать подписание документа при помощи API-запроса. ЭП должна принадлежать сотруднику вашей компании. [Подробнее...](/ru/sber-api/start/eds-in-api).
#### Шифрование номера карты получателя
В поле encryptedCardNumber не допускается передача номера карты получателя в открытом виде, значение номера карты должно быть обязательно зашифровано. Для шифрования номера карты необходимо получить публичный ключ. Номер карты перед шифрованием не должен содержать пробелов и спецсимволов. Получившуюся строку необходимо зашифровать, используя алгоритм RSA шифрования "RSA/OAEP" с ключом длиной 2048. Необходимо использовать криптографическую хеш-функцию SHA-1.
RSA/OAEP (Optimal Asymmetric Encryption Padding) - это алгоритм шифрования, разработанный для улучшения безопасности и защиты от атак на основе подобранных открытых текстов в асимметричных системах шифрования. RSA/OAEP использует ключ длиной 2048 бит, что является достаточно длинным и сложным для обеспечения безопасности.
Пример: Строка перед шифрованием - 0000000000000000 Зашифрованная строка - HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT
Для получения публичного ключа шифрования необходимо отправить GET-запрос /fintech/api/v2/corporate-cards/transfer/public-key
#### Дайджест перевода
:::note
Формирование дайджеста должно полностью соответствовать ответу на расчет комиссии: включать только присутствующие поля и значения, сохраняя их исходные типы данных и точный порядок из примера ниже. Любые отклонения приведут к ошибке подписи.
Конкретные примеры:
1. Если в ответе amount=10, в дайджесте должно быть amount=10
2. Если какое-то поле, например organizationName отсутствует в ответе, то и в дайджест его включать не нужно
:::
**Дайджест ERP-перевода по номеру карты:**
```json
externalId=607e9b20-ff6b-4e1a-1111-af12d56caa60
transferPurpose=За товар по договору №2 от 12/01/2024
transferAmount.amount=1000.00
transferAmount.currency=RUB
transferCommission.amount=10.00
transferCommission.currency=RUB
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=ПАО ВСПЫШКА
```
**Дайджест ERP-перевода по номеру телефона:**
```json
externalId=607e9b20-ff6b-4e1a-1111-af12d56caa60
transferPurpose=За товар по договору №2 от 12/01/2024
transferAmount.amount=1000.00
transferAmount.currency=RUB
transferCommission.amount=10.00
transferCommission.currency=RUB
senderInfo.businessCardId=c114a123-44f5-4fc5-8a79-cbb09f40ca8b
receiverInfo.phoneNumber=79880098877
receiverInfo.lastName=И.
receiverInfo.firstName=ИВАН
receiverInfo.middleName=ИВАНОВИЧ
receiverInfo.bankName=Сбербанк
receiverInfo.organizationName=ПАО ВСПЫШКА
```
| **Наименование поля** | **Описание поля** | **Пример** |
| --------------------- | ------------------ | --------------|
| externalId | Внешний идентификатор документа | f8ad3141-b7e8-4924-92de-3de4fd0a464e |
| transferPurpose | Назначение перевода | Иванов Иван Ильич, 1234 987654; ПСА №123 от 01.01.2020; лом стальной, 123 кг, 15000 руб./т.; без НДС |
| transferAmount | | |
| amount | Размер перевода | 25.00 |
| сurrency | Валюта перевода | RUB |
| transferCommission | | |
| commission | Размер комиссии | 2.00 |
| сurrency | Валюта комиссии | RUB |
| senderInfo | | |
| senderBusinessCardId | ID карты отправителя бизнес-карты | 31663ef5-7975-4016-b0f3-f1d70a4e9c22 |
| receiverInfo | | |
| encryptedCardNumber | Зашифрованный номер карты получателя (указывается, если перевод по номеру карты) | HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep |
| phoneNumber | Номер телефона получателя (указывается, если перевод по номеру телефона) | 79880098877 |
| lastName | Фамилия получателя | И. |
| firstName | Имя получателя | ИВАН |
| lastName | Отчество получателя | ИВАНОВИЧ |
| bankName | Банк получателя перевода | Сбербанк |
| organizationName | Организация получателя | ПАО ВСПЫШКА |
### При помощи платформы
Под платформой в данном разделе понимаем любую информационную систему партнера, предназначенную для предоставления финтех-услуг Сбера, отличную от ERP. Интеграция с помощью платформы отличается возможностью реализовать альтернативный сценарий подписания заявления на перевод – переадресация пользователя на страницу черновика заявления в СберБизнес с последующим возвратом на Платформу.
| Шаг | Запросы SberAPI | Код операции в scope |
| ------------------------------------------------------ | ------------------------------------------------------------------------------------------------- | -------------------- |
| **1** Получите токен доступа | POST [/ic/sso/api/v2/oauth/token](/ru/sber-api/specifications/oauth/oauth-token-post) | openid |
| **2** Получите информацию по бизнес-картам | POST [/fintech/api/v2/corporate-cards/list](/ru/sber-api/specifications/business-cards/corporate-cards-list-post) | CORPORATE\_CARDS |
| **3** Получите ключ шифрования\[^1] | GET [/fintech/api/v2/corporate-cards/transfer/public-key](/ru/sber-api/specifications/business-cards/corporate-cards-transfer-public-key-get) | CORPORATE\_CARDS |
| **4** Создайте заявление на перевод и получите размер комиссии\[^2] | POST [/fintech/api/v2/corporate-cards/transfer/commission](/ru/sber-api/specifications/business-cards/corporate-cards-transfer-commission-post)| BUSINESS\_CARDS\_TRANSFER|
| **5** Подпишите заявление на перевод\[^3] | POST [/fintech/api/v2/corporate-cards/sign-and-approve](/ru/sber-api/specifications/business-cards/corporate-cards-transfer-sign-and-approve-post) | BUSINESS\_CARDS\_TRANSFER |
| **6** Получите статус заявления на перевод | GET [/fintech/api/v2/corporate-cards/transfer/\{externalId}/status](/ru/sber-api/specifications/business-cards/corporate-cards-transfer-status-get) | BUSINESS\_CARDS\_TRANSFER |
| **7** Получение списка заявлений на перевод со статусами переводов | POST [/fintech/api/v2/corporate-cards/transfer/list](/ru/sber-api/specifications/business-cards/corporate-cards-transfer-list-post) | BUSINESS\_CARDS\_TRANSFER |
\[^3]: Или реализуйте сценарий с [переадресацией]().
\[^2]: Нужен для шифрования номера карты получателя.
\[^1]: Перевод с бизнес-карты Сбера юридическому лицу осуществляется **только** с указанием номера карты получателя (любая карта ПАО Сбербанк и других банков-эмитентов РФ). Переводы с бизнес-карт Сбера физическому лицу могут осуществляться также c указанием номера телефона получателя (указание номера карты в данном случае запрещено).
#### Переадресация на заявление на перевод
При создании заявления на перевод с помощью запроса API, он также отображается в интерфейсе СберБизнес. Пользователь имеет возможность подписать заявление в таком интерфейсе самостоятельно. Для открытия интерфейса СберБизнес нужно сформировать ссылку и переадресовать по ней пользователя. После аутентификации и успешного подписания, сервис вернет Пользователя на вашу платформу.
```sh
https://sbi.sberbank.ru:9443/ic/ufs/corporate-cards/index.html#/transfer-creator/d4fbfe27-ee37-4451-b224-8113a06c44a3?backUrl=https://www.example.ru/
```
**\{контур Банка}**/ic/ufs/corporate-cards/index.html#/transfer-creator/**\{externalid}**?backUrl=**\{backUrl}**
| **Переменная** | **Описание** | **Дополнительная информация** |
| ---| --- | --- |
| `{контур Банка}` | адрес Банка, на который делается запрос для открытия страницы сервиса оплаты | Для корректного выбора контура Банка потребуется определить тип криптопрофиля пользователя Клиента. В рамках запроса [/ic/sso/api/v1/oauth/user-info](/ru/sber-api/specifications/oauth/oauth-user-info-get) вы получаете данные по Клиенту, в том числе атрибут **userCryptoType**. Атрибут позволяет определить криптопрофиль пользователя - SMS (СМС) или Token (электронный ключ (токен)). - Тестовый контур `https://efs-sbbol-ift-web.testsbi.sberbank.ru:9443` - Промышленный контур СМС-пользователь `https://sbi.sberbank.ru:9443` - Промышленный контур Токен-пользователь`http://localhost:28016` |
| `{externalid}` | уникальный идентификатор платежного документа | Данный идентификатор присваивает ваша Платформа на шаге создания черновика платежного поручения |
| `{backUrl}` | страница возврата, на которую Банк вернет пользователя Клиента после успешного подписания черновика платежного поручения | - backUrl нужно закодировать URLEncode; - Если не указать backUrl в ссылке, пользователи не смогут после подписания платежного поручения вернуться на Платформу; - Если backUrl будет отличаться от адреса вашей платформы, который указали при регистрации в Банке, то при возврате клиента на backUrl он будет видеть ошибку. |
Участники, условия и результат
**Участники**
Пользователь – сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках вашего сервиса (Платформа),
Платформа – любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи,
Sber API – запросы и ресурсы Sber API, к которым обращается Платформа.
**Предварительные условия**
Пользователь: имеет профиль в СберБизнес своей компании и прошел авторизацию.
Платформа имеет функциональности:
* хранения индентификаторов активных бизнес-карт,
* ввода реквизитов перевода, подтверждения согласия с условиями перевода (отображение комиссии),
* передаресации пользователя на страницу подписания заявления в Сбербизнес,
* информирования о создании заявления,
* отображения списка заявлений и статусов перевода.
**Результат**
Заявление на перевод по бизнес-карте создано и подписано,
Отображаются список заявлений и статусы переводов.
UML-диаграммы
В схеме можно использовать автоматизированное подписание документа. Данная возможность доступна только при использовании ЭП сотрудника вашей компании.
Подробнее об использовании ЭП в Sber API можно почитать в [одноименном разделе](/ru/sber-api/start/eds-in-api).
---
# Сервис «Моментальные платежи»
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/transfers/instant-payments/overview.md)
## Информация о сервисе
Моментальные платежи – это сервис для организации расчетов, который позволяет формировать и отслеживать статус платежного поручения, где плательщиком выступает юридическое лицо или индивидуальный предприниматель, а получателем средств может быть юридическое лицо, физическое лицо или бюджетная организация.
:::note
**До начала разработки интеграции с сервисом потребуется:**
* Заключить договор с Банком на использование сервиса "Моментальные платежи".
* Завершить интеграцию со [СберБизнес ID](/ru/sber-api/scenarios/profile-creation/sbbid/overview).
Без сервиса СберБизнес ID настроить работу "Моментальные платежи" **невозможно**.
:::
## Схема работы сервиса
| **Шаг** | **Что делаем** | **Подробности** |
| --- | --- | --- |
| 1 | Авторизуйте Пользователя с помощью СберБизнес ID | Подробно о подключении и работе сервиса СберБизнес ID рассказали в [соответствующем разделе документации](/ru/sber-api/scenarios/profile-creation/sbbid/overview). |
| 2 | Создайте платежное поручение в СберБизнес Пользователя | Создайте черновик платежного поручения в СберБизнес Клиента с помощью полученного access\_token и одного из POST-запросов: `/v1/payments/from-invoice` — для получения денежных средств на счет вашей компании в Сбербанке. `/v1/payments/from-invoice-any` — для организации переводов, где отправитель — любая компания со счетом в Сбербанке, а получатель — любая компания или физическое лицо со счетом в любом банке. `/v1/payments/from-invoice-budget` — для разработки функциональности по оплате налоговых, таможенных и других бюджетных платежей. |
| 3 | Переадресуйте Пользователя на страницу подписания документа | С использованием идентификатора созданного черновика платежного поручения из шага №2 вы формируете ссылку для оплаты и перенаправляете по ней пользователя Клиента. Перейдя по ссылке в сервис оплаты, пользователь пройдет аутентификацию, выберет счет списания и подпишет черновик платежного поручения для исполнения Банком.
Ссылка переадресации выглядит следующим образом: `{контур Банка}/ic/ufs/rpp-light/index.html#/payment-creator/{externalid}?backUrl={backUrl}`
Дополнительная [информация о формировании ссылки](). |
| 4 | Проверьте статус и корректность оплаты | С помощью запроса `/v1/payments/{externalId}/state` вы сможете разработать механизм проверки статуса оплаты и реакцию Платформы на каждый из них.
С помощью запроса `/v1/payments/{externalId}` вы сможете получить все параметры ранее созданного платежного поручения. Эту информацию можно использовать, например, в механизме проверки корректности платежа. |
## Клиентский путь
| **Шаг** | **Действия** | **Скрин** |
| --- | --- | --- |
| 1 | Пользователь выбрал интересующий продукт и перешел к оплате. Вы предлагаете авторизоваться с помощью СберБизнес ID. | |
| 2 | Нажал на "Войти по СберБизнес ID" и попал на станицу аутентификации. | |
| 3 | После успешной аутентификации СберБизнес ID предлагает подписать Согласие. |
|
| 4 | Платформа создала платежное поручение и переадресовала Пользователя на него. | |
| 5 | Пользователь выбрал счет списания и подписал платежное поручение с помощью QR или СМС. | |
:::tip
Для удобства пользователей советуем встроить в процесс уведомление для клиентов c **токеном**:
"Прежде чем перейти на форму оплаты, убедитесь, что вы прошли авторизацию в СберБизнес через токен."
:::
| **Шаг** | **Действия** | **Скрин** |
| ------- | --------------------------------------------------- | ------------------------------------------------------- |
| 1 | Пользователь авторизовался в СберБизнес через токен| - |
| 2 | Пользователь выбрал интересующий продукт и перешел к оплате. Вы предлагаете авторизоваться с помощью СберБизнес ID. | |
| 3 | Нажал на "Войти по СберБизнес ID" и попал на станицу аутентификации. | |
| 4 | После успешной аутентификации СберБизнес ID предлагает подписать Согласие. |
|
| 5 | Платформа создала платежное поручение и переадресовала Пользователя на него. | |
| 6 | Пользователь выбрал счет списания и подписал платежное поручение. | |
## Возможные варианты реализации
:::note
**Шаги, общие для каждого сценария:**
* Получить реквизиты перевода
* Создать платежное поручение
* Подписать платежное поручение
**Предусловия**
* Пользователь имеет пользовательский профиль в СберБизнес своей компании
* Пользователь находится в пространстве Платформы
* Пользователь прошел авторизацию с помощью СберБизнес ID
:::
Оплата на счет вашей компании в Сбербанке
**Используемые запросы**
| № | Метод | Описание | Операция в scope | Шаг в схеме |
|---|-------|----------|------------------|-------------|
| 1 | | Получение расширенной информации | GET\_CLIENT\_ACCOUNTS | 1. Получить реквизиты перевода |
| 2 | | Обновление токена доступа | openid | 1. Получить реквизиты перевода |
| 3 | | Создать черновик платежного поручения (отправка на свой счет в Сбербанке) | PAY\_DOC\_RU\_INVOICE | 2. Создать платежное поручение |
Расчеты B2B и B2C
**Используемые запросы**
| № | Метод | Описание | Операция в scope | Шаг в схеме |
|---|-------|----------|------------------|-------------|
| 1 | | Получение расширенной информации | GET\_CLIENT\_ACCOUNTS | 1. Получить реквизиты перевода |
| 2 | | Обновление токена доступа | openid | 1. Получить реквизиты перевода |
| 3 | | Создать черновик платежного поручения (отправка в любой банк) | PAY\_DOC\_RU\_INVOICE\_ANY | 2. Создать платежное поручение |
Платежи в бюджет
**Используемые запросы**
| № | Метод | Описание | Операция в scope | Шаг в схеме |
|---|-------|----------|------------------|-------------|
| 1 | | Получение расширенной информации | GET\_CLIENT\_ACCOUNTS | 1. Получить реквизиты перевода |
| 2 | | Обновление токена доступа | openid | 1. Получить реквизиты перевода |
| 3 | | Создать черновик платежного поручения (отправка в бюджет) | PAY\_DOC\_RU\_INVOICE\_BUDGET | 2. Создать платежное поручение |
Проверка статуса и корректности оплаты
Время начала и частоту проверки статуса и корректности оплаты вы определяете самостоятельно исходя из своих бизнес-задач.
Для проверки статуса и корректности платежного поручения необходимо сохранить идентификатор (extertalId) платежного поручения, созданного в одного из сценариев выше
| № | Метод | Описание | Операция в scope | Шаг в схеме |
|---|-------|----------|------------------|-------------|
| 1 | | Получение статуса рублевого платежного поручения | PAY\_DOC\_RU\_INVOICE или PAY\_DOC\_RU\_INVOICE\_ANY или PAY\_DOC\_RU\_INVOICE\_BUDGET | 1. Получить статус оплаты |
| 2 | | Обновление токена доступа | openid | 1. Получить статус оплаты |
| 3 | | Получение платежного поручения | PAY\_DOC\_RU\_INVOICE или PAY\_DOC\_RU\_INVOICE\_ANY или PAY\_DOC\_RU\_INVOICE\_BUDGET | 2. Проверить корректность |
## Переадресация на платежное поручение
Для выбора счета списания и подписания черновика платежного поручения необходимо сформировать ссылку и переадресовать по ней Пользователя Клиента.
Ссылка переадресации выглядит следующим образом:
**\{контур Банка}**/ic/ufs/rpp-light/index.html#/payment-creator/**\{externalid}**?backUrl=**\{backUrl}**
| **Переменная** | **Описание** | **Дополнительная информация** |
| --- | --- | --- |
| \{контур Банка} | адрес Банка, на который делается запрос для открытия страницы сервиса оплаты | Для корректного выбора контура Банка потребуется определить тип криптопрофиля пользователя Клиента. В рамках запроса `/v1/oauth/user-info` вы получаете данные по Клиенту, в том числе атрибут **userCryptoType**. Атрибут позволяет определить криптопрофиль пользователя - SMS (СМС) или Token (электронный ключ (токен)).
- Песочница `https://sbi-test.sberbank.ru` - Тестовый контур `https://efs-sbbol-ift-web.testsbi.sberbank.ru:9443` - Промышленный контур СМС-пользователь `https://sbi.sberbank.ru:9443` - Промышленный контур Токен-пользователь `http://localhost:28016` |
| \{externalid} | уникальный идентификатор платежного документа | Данный идентификатор присваивает ваша Платформа на шаге создания черновика платежного поручения |
| \{backUrl} | страница возврата, на которую Банк вернет пользователя Клиента после успешного подписания черновика платежного поручения | - backUrl нужно закодировать URLEncode; - Если не указать backUrl в ссылке, пользователи не смогут после подписания платежного поручения вернуться на Платформу; - Если backUrl будет отличаться от адреса вашей платформы, который указали при регистрации в Банке, то при возврате клиента на backUrl он будет видеть ошибку. |
```sh
https://sbi.sberbank.ru:9443/ic/ufs/rpp-light/index.html#/payment-creator/d4fbfe27-ee37-4451-b224-8113a06c44a3?backUrl=https://www.example.ru/
```
## Дополнительная информация
### Назначение платежа
Назначение должно раскрывать экономический смысл платежа.
* Сведения должны быть лаконичными — у поля есть ограничения по знакам 210 символов.
* В назначении необходимо указать реквизиты документа, по которому вы осуществляете платеж, например, номер договора или счета.
* Рекомендуем указывать конкретный предмет оплаты.
* Если платеж с НДС, необходимо прописать точную сумму налога. Ниже подробнее рассказали о формировании информации об НДС в назначении платежа.
Рекомендуемый вариант заполнения:
```text
Оплата по договору [номер договора] от [дата договора]. НДС [ставка НДС]% - [сумма НДС] рубля [способ расчета НДС]. [Любая ваша информация]
```
При формировании платёжного поручения для контрагента-нерезидента **в начале поля** "Назначение платежа" необходимо указывать уникальный код операции.
**Формат:** \{VOXXXXX} Обычный текст назначения платежа,
где XXXXX - значение параметра voCode
### Параметры НДС
Чтобы все работало правильно, нужно передать такие параметры:
* Если НДС (объект "vat") не передан в запросе, то будут использованы эти значения:
```json
"vat": {
"type": "NO_VAT",
"rate": "0",
"amount": 0.00
}
```
В поле «type» можно выбрать одно из следующих значений:
* `ONTOP` - НДС рассчитан по указанной ставке и добавляется к сумме платежа. Необходимо в поле "amount" (сумма платежа) указывать итоговую сумму оплаты (с учетом НДС).
* `INCLUDED` - НДС рассчитан по указанной ставке и включен в указанную сумму платежа. В поле «vat.amount» укажите сумму НДС. В поле «Назначение платежа» обязательно укажите посчитанную сумму НДС.
* `MANUAL` - Рассчитан и введен вручную (для сложных процентных ставок). Поле «vat.amount» заполнять необязательно, но по умолчанию сумма НДС будет равна нулю. Если же поле заполнено, то укажите нужную сумму НДС в соответствии с форматом.
* `NO_VAT` - НДС не облагается. В поле «Назначение платежа» обязательно укажите НДС не облагается.
Клиент вне зависимости от выбранного типа самостоятельно должен рассчитать конечную сумму к оплате и сумму НДС и указать эти значения в запросах. В поле "amount" (сумма платежа) указывается итоговая сумма платежа (с учетом НДС), в массиве "vat": поле amount указывается сумма НДС.
Пример заполнения: `НДС 10% — 100.63` рубля или `НДС 10%_100.63`. Если процентное значение не указано, то дефис перед суммой ставить не нужно: `НДС 100.63 рубля`.
#### Значения vat в запросе и информация по НДС в платёжной форме
1. **Значение `vat` в запросе:** `"vat"` не передан (отсутствует поле)
*Информация по НДС в платёжной форме:* НДС не облагается
2. **Значение `vat` в запросе:** `"vat": null`
*Информация по НДС в платёжной форме:* Нет информации об НДС.
Если необходимо указать несколько ставок НДС, выбрать данный способ передачи `vat`. В назначении платежа необходимо указать информацию о разных ставках НДС следующим образом: Оплата по заказу №1111 (в т.ч. НДС 10% - 15.00 руб., 22% - 100.00 руб.)
3. **Значение `vat` в запросе:**
```json
"vat": {
"type": "ONTOP",
"rate": "0",
"amount": "1000.00"
}
```
или
```json
"vat": {
"type": "INCLUDED",
"rate": "0",
"amount": "1000.00"
}
```
*Информация по НДС в платёжной форме:* в т.ч. НДС 0%
4. **Значение `vat` в запросе:**
```json
"vat": {
"type": "MANUAL",
"rate": "0",
"amount": "1000.00"
}
```
*Информация по НДС в платёжной форме:* НДС 1000,00 руб.
5. **Значение `vat` в запросе:**
```json
"vat": {
"type": "ONTOP",
"rate": "10",
"amount": "1000.00"
}
```
или
```json
"vat": {
"type": "INCLUDED",
"rate": "10",
"amount": "1000.00"
}
```
*Информация по НДС в платёжной форме:* в т.ч. НДС 10%
6. **Значение `vat` в запросе:**
```json
"vat": {
"type": "NO_VAT",
"rate": "0",
"amount": "1000.00"
}
```
*Информация по НДС в платёжной форме:* НДС не облагается
## FAQ
Какой максимальный срок жизни можно установить для платежного поручения?
Дата истечения заказа устанавливается в соответствие с вашими бизнес-задачами вами атрибутом **expirationDate** в ресурсах `/v1/payments/from-invoice` и `/v1/payments/from-invoice-any`.
Крайний срок действия платежного поручения от даты его формирования не может превышать 10 календарных дней.
Как отозвать сформированный черновик платежного поручения?
Отозвать сформированный черновик платежного поручения на вашей стороне **нет технической возможности**.
При использовании ресурсов "Моментальные платежи", которые создают черновики платежных поручений, черновики также появляются в СберБизнес Клиента. Через СберБизнес Клиент может самостоятельно отклонить черновик.
Как быстро Банк исполняет подписанное платежное поручение?
После подписания черновика платежного поручения Банк проводит ряд проверок. Обычно Банк исполняет подписанное платежное поручение в течение 1 минуты. В ряде случаев может потребоваться дополнительная информация от Клиента, что увеличит время исполнения документа.
Еще подробнее об исполнении и зачислении платежей в [Справочном центре для бизнеса](https://www.sberbank.ru/help/business/payments/100333).
Откуда Банк берет реквизиты отправителя для платежного поручения?
В рамках сервиса СберБизнес ID вы реализуете механизм получения **access\_token**. При формировании платежного поручения вы передаете с другими атрибутами access\_token, по которому Банк самостоятельно в платежное поручение подставляет все реквизиты плательщика (отправителя).
Где взять access\_token?
Получение **access\_token** необходимо реализовать в рамках сервиса [СберБизнес ID](/ru/sber-api/scenarios/profile-creation/sbbid/overview).
Что будет, если Клиент покинет страницу оплаты, не подписав черновик платежного поручения?
При использовании ресурсов "Моментальные платежи", которые создают черновики платежных поручений, черновики также появляются в СберБизнес Клиента. Любой пользователь Клиента, который имеет право подписи черновиков платежных поручений, сможет подписать черновик.
---
# Сценарий работы площадки по схеме Бенефициар-заказчик
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/transfers/nominal-accounts/beneficiary-customer-scenario.md)
**Участники:**
* **Заказчик** — ФЛ или представитель ИП/ЮЛ, который приобретает услуги или товары на Площадке;
* **Исполнитель** — ФЛ или представитель ИП/ЮЛ, который осуществляет продажу услуг или товаров на Площадке;
* **Площадка** — ИП/ЮЛ, владелец номинального счета, любой ресурс, который используется в рамках клиентского пути;
* **Банк** — совокупность API-методов в рамках сервиса «Безопасные сделки».
```mermaid
sequenceDiagram
autonumber
actor Заказчик
participant Площадка
participant Банк
actor Исполнитель
Note over Заказчик,Банк: Вариант процесса проведения сделки с помощью сервиса "Безопасные сделки" по схеме Бенефициар-заказчик
%% Активация АПИ
Площадка->>Банк: Запрос на активацию АПИ (**POST /v1/nominal-account/signup**)
activate Площадка
Банк-->>Площадка: Ответ **201 CREATED** (АПИ доступны для вызовов)
activate Банк
%% Добавление заказчика в реестр бенефициаров
Заказчик->>Площадка: Инициирует добавление в реестр бенефициаров
activate Заказчик
Note over Заказчик,Площадка: Каждый заказчик добавляется в реестр бенефициаров единоразово. Заказчик может пополнять средства на номинальном счете и инициировать заключение сделок только после того, как его добавят в реестр бенефициаров на номинальном счете.
Площадка->>Банк: Запрос на добавление заказчика в реестр бенефициаров (**POST /v1/nominal-account/beneficiaries/create**)
Банк-->>Площадка: Ответ **201 CREATED** (запрос принят в работу)
Площадка->>Банк: Отправляет запрос о статусе бенефициара (**GET /v1/nominal-account/beneficiaries/details/{id}**)
Банк-->>Площадка: Ответ **200 OK** со статусом бенефициара **ACTIVATED**
opt Опциональное информирование бенефициара
Площадка-->>Заказчик: Информирует об успешном добавлении в реестр бенефициаров
end
%% Пополнение баланса бенефициара
Заказчик->>Банк: Пополняет баланс бенефициара (свой баланс) на номинальном счете Доступные способы пополнения: СБП С2В, эквайринг, реквизиты счета
opt Пример пополнения НС с помощью сервисов интернет-эквайринга
Площадка->>Банк: Отправляет запрос на создание заказа (ссылки на оплату) (**POST/api/v1/register.do**) В атрибуте **description** передает id бенефициара (чтобы сматчить заказ, бенефициара и транзакцию из отчета эквайринга)
Банк-->>Площадка: Ответ **200 OK** с ссылкой на оплату
Площадка-->>Заказчик: Предоставляет ссылку на оплату
Заказчик-->>Заказчик: Производит оплату по ссылке
Заказчик->>Банк: Средства зачисляются на номинальный счет
end
alt Разнесение средств на бенефициара, если зачисление было через эквайринг или СБП
Площадка->>Банк: Запрос на наличие неразнесенных пополнений (**GET /v1/nominal-account/transactions/undefined**)
Банк-->>Площадка: Ответ **200 OK** со списком неразнесенных пополнений
opt Запрос отчета по эквайрингу
Note over Площадка,Банк: Для дальнейшего разнесение средств можно использовать (но это не обязано) отчет по операциям эквайринга за нужную дату (не позднее вчерашнего дня) — это всего лишь один из вариантов, а какой способ определения принадлежности неразнесенных денег на номинальном счете использовать, решает сама площадка.
Площадка->>Банк: Отправляет запрос на получение отчета (**GET /v1/nominal-account/ecom/report**)
Банк-->>Площадка: Ответ **200 OK** с событиями отчета
Note over Площадка,Банк: Чтобы сматчить неразнесенное пополнение с конкретным заказом (**paymentNumber** транзакции отчета из ответа **GET /v1/nominal-account/ecom/report** = **docNumber** из ответа **GET /v1/nominal-account/transactions/undefined**) и бенефициаром (**addData1** транзакции отчета из ответа **GET /v1/nominal-account/ecom/report** = id бенефициара)
end
Площадка->>Банк: Отправляет запрос на разнесение неразнесенного пополнения в пользу бенефициара (**POST /v1/nominal-account/transactions/undefined/{id}/identify**)
Банк-->>Площадка: Ответ **200 ОК** (запрос принят в работу)
Банк->>Банк: Производит разнесение средств на бенефициара
end
opt Опциональное информирование бенефициара
Площадка-->>Заказчик: Информирует о пополнении баланса
end
%% Создание сделки
Заказчик->>Площадка: Инициирует создание сделки
Площадка->>Площадка: Создает сделку на платформе
Исполнитель->>Площадка: Берет сделку в работу
activate Исполнитель
Площадка->>Банк: Запрос на создание сделки (**POST /v1/nominal-account/smart-contracts**)
Банк-->>Площадка: Ответ **201 CREATED** (сделка создана)
opt Опциональное информирование бенефициара
Площадка-->>Заказчик: Информирует о заключении сделки с исполнителем
end
Исполнитель->>Площадка: Информирует об исполнении условий сделки
Заказчик->>Площадка: Подтверждает исполнение сделки и инициирует оплату сделки по реквизитам счета или по СБП В2С
%% Оплата (альтернативные пути)
alt Оплата сделки по СБП В2С
Площадка->>Банк: Запрос на подтверждение сделки (списание по СБП В2С) (**POST /v1/nominal-account/sbp/b2c/smart-contracts/confirmstep**) (с возможностью проверки ФИО получателя)
Note over Площадка,Банк: При заполнении в запросе блока **fullNameForCheck**, будет произведена проверка ФИО получателя из запроса с ФИО получателя из СБП. Если в запросе не заполнен блок **fullNameForCheck**, проверка ФИО получателя из запроса с ФИО получателя из СБП производиться не будет.
Банк-->>Площадка: Ответ **201 CREATED** (шаг подтверждения сделки в обработке банком)
Банк->>Банк: Выполняет внутренние проверки (в том числе проверка ФИО получателя) Создает платежное поручение на перечисление денежных средств в пользу исполнителя
else Оплата сделки по реквизитам счета
Площадка->>Банк: Запрос на подтверждение сделки (списание по реквизитам счета) (**POST /v1/nominal-account/smart-contracts/confirmstep**)
Банк-->>Площадка: Ответ **201 CREATED** (шаг подтверждения сделки в обработке банком)
Банк->>Банк: Выполняет внутренние проверки Создает платежное поручение на перечисление денежных средств в пользу исполнителя
end
Банк->>Исполнитель: Зачисление денежных средств на счет исполнителя
deactivate Исполнитель
Площадка->>Банк: Запрос статуса сделки (**GET /v1/nominal-account/smart-contracts/{id}**)
Банк-->>Площадка: Ответ **200** со статусом сделки **done**
deactivate Банк
opt Опциональное информирование бенефициара
Площадка-->>Заказчик: Информирует об исполнении сделки
end
deactivate Заказчик
deactivate Площадка
```
**Используемые методы**
| № | Метод | Описание | Шаг в схеме |
|---|-------|----------|-------------|
| 1 | | Активировать API | 1 |
| 2 | | Создать бенефициара | 4 |
| 3 | | Запросить сведения о бенефициаре | 6 |
| 4 | | Запросить список нераспределенных пополнений | 15 |
| 5 | | Запросить отчет по операциям зачисления эквайринга | 17 |
| 6 | | Разнести нераспределенные пополнения | 19 |
| 7 | | Создать сделку | 26 |
| 8 | | Исполнить сделку по СБП | 31 |
| 9 | | Исполнить сделку | 34 |
| 10 | | Запросить сведения о сделке | 36 |
---
# Сценарий работы площадки по схеме Бенефициар-исполнитель
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/transfers/nominal-accounts/beneficiary-executor-scenario.md)
**Участники:**
* **Заказчик** — ФЛ или представитель ИП/ЮЛ, который приобретает услуги или товары на Площадке;
* **Исполнитель** — ФЛ или представитель ИП/ЮЛ, который осуществляет продажу услуг или товаров на Площадке;
* **Площадка** — ИП/ЮЛ, владелец номинального счета, любой ресурс, который используется в рамках клиентского пути;
* **Банк** — совокупность API-методов в рамках сервиса «Безопасные сделки» + API-методы интернет-эквайринга.
```mermaid
sequenceDiagram
autonumber
actor Исполнитель
participant Площадка
participant Банк
actor Заказчик
Note over Исполнитель,Банк: Вариант процесса проведения сделки с помощью сервиса "Безопасные сделки" по схеме Бенефициар-исполнитель
%% Активация АПИ
Площадка->>Банк: Запрос на активацию АПИ (**POST /v1/secure-deals/signup**)
activate Площадка
activate Банк
Банк-->>Площадка: Ответ **201 CREATED** (АПИ доступны для вызовов)
%% Добавление исполнителя в реестр бенефициаров
Исполнитель->>Площадка: Инициирует добавление в реестр бенефициаров
activate Исполнитель
Note over Исполнитель,Площадка: Каждый исполнитель добавляется в реестр бенефициаров единоразово. Исполнитель может брать сделки в работу только после того, как его добавят в реестр бенефициаров на номинальном счете.
Площадка->>Банк: Отправляет запрос на добавление исполнителя в реестр бенефициаров (**POST /v1/secure-deals/beneficiaries**)
Банк-->>Площадка: Ответ **201 CREATED** (запрос принят в работу)
Площадка->>Банк: Отправляет запрос о статусе бенефициара (**GET /v1/secure-deals/beneficiaries/{id}**)
Банк-->>Площадка: Ответ **200 OK** со статусом бенефициара **ACTIVATED**
opt Опциональное информирование бенефициара
Площадка-->>Исполнитель: Информирует об успешном добавлении в реестр бенефициаров
end
%% Создание сделки
activate Заказчик
Заказчик->>Площадка: Инициирует создание сделки
Площадка->>Площадка: Создает сделку на платформе
Исполнитель->>Площадка: Берет сделку в работу
Площадка->>Банк: Запрос на создание сделки (**POST /v1/secure-deals/deals**)
Банк-->>Площадка: Ответ **201 CREATED** (сделка создана)
opt Опциональное информирование бенефициара
Площадка-->>Исполнитель: Информирует о заключении сделки с заказчиком
end
%% Оплата и разнесение
Заказчик->>Банк: Пополняет баланс созданой ранее сделки Доступные способы пополнения: СБП С2В, эквайринг, реквизиты счета
opt Пример пополнения НС с помощью сервисов интернет-эквайринга
Площадка->>Банк: Отправляет запрос на создание заказа (ссылки на оплату) (**POST/api/v1/register.do**) В атрибуте **description** передает id сделки (чтобы сматчить заказ, сделку и транзакцию из отчета эквайринга)
Банк-->>Площадка: Ответ **200 OK** с ссылкой на оплату
Площадка-->>Заказчик: Предоставляет ссылку на оплату
Заказчик-->>Заказчик: Производит оплату по ссылке
Заказчик->>Банк: Средства зачисляются на номинальный счет
end
alt Разнесение средств на бенефициара, если зачисление было через эквайринг или СБП
Площадка->>Банк: Запрос на наличие неразнесенных пополнений (**GET /v1/secure-deals/transactions/undefined**)
Банк-->>Площадка: Ответ **200 OK** со списком неразнесенных пополнений
opt Запрос отчета по эквайрингу
Note over Площадка,Банк: Для дальнейшего разнесение средств можно использовать (но это не обязано) отчет по операциям эквайринга за нужную дату (не позднее вчерашнего дня) — это всего лишь один из вариантов, а какой способ определения принадлежности неразнесенных денег на номинальном счете использовать, решает сама площадка.
Площадка->>Банк: Отправляет запрос на получение отчета (**GET /v1/secure-deals/ecom/report**)
Банк-->>Площадка: Ответ **200 OK** с событиями отчета
Note over Площадка,Банк: Чтобы сматчить неразнесенное пополнение с конкретным заказом (**paymentNumber** транзакции отчета из ответа **GET /v1/secure-deals/ecom/report** = **docNumber** из ответа **GET /v1/secure-deals/transactions/undefined**) и сделкой (**addData1** транзакции отчета из ответа **GET /v1/secure-deals/ecom/report** = id сделки)
end
Площадка->>Банк: Отправляет запрос на разнесение неразнесенного пополнения в пользу ранее созданной сделки (**POST /v1/secure-deals/transactions/undefined/{id}/identify**)
Банк-->>Площадка: Ответ **200 ОК** (запрос принят в работу)
Банк->>Банк: Производит разнесение средств на сделку (средства холдируются на сделке, к которой прикреплен бенефициар-исполнитель)
end
opt Опциональное информирование бенефициара
Площадка-->>Исполнитель: Информирует о холдировании средств на сделке
end
%% Исполнение сделки
Исполнитель->>Площадка: Сообщает о выполнении условий сделки
Площадка-->>Заказчик: Информирует о выполнении условий сделки
Заказчик->>Площадка: Подтверждает выполнение сделки
Площадка->>Банк: Отправляет запрос на исполнение сделки (**POST /v1/secure-deals/deals/{id}/execute**)
Банк-->>Площадка: Ответ **201 CREATED** (запрос принят в работу)
Банк->>Банк: Зачисляет средства на баланс бенефициара на номинальном счете
Площадка->>Банк: Запрос статуса сделки (**GET /v1/secure-deals/deals/{id}**)
Банк-->>Площадка: Ответ **200** со статусом сделки **done**
opt Опциональное информирование бенефициара
Площадка-->>Исполнитель: Информирует об исполнении сделки
end
Исполнитель->>Площадка: Инициирует вывод средств с номинального счета по реквизитам счета или по СБП В2С
%% Вывод средств (альтернативные пути)
alt Вывод средств по СБП В2С
Площадка->>Банк: Запрос на создание платежа по СБП В2С (**POST /v1/secure-deals/transactions/sbp/b2c**) (с возможностью проверки ФИО получателя)
Note over Площадка,Банк: При заполнении в запросе блока **fullNameForCheck**, будет произведена проверка ФИО получателя из запроса с ФИО получателя из СБП. Если в запросе не заполнен блок **fullNameForCheck**, проверка ФИО получателя из запроса с ФИО получателя из СБП производиться не будет.
Банк-->>Площадка: Ответ **201 CREATED** (запрос в обработке банком)
Банк->>Банк: Выполняет внутренние проверки (в том числе проверка ФИО получателя) Создает платежное поручение на перечисление денежных средств в пользу исполнителя
else Вывод средств по реквизитам счета
Площадка->>Банк: Запрос на создание платежа по реквизитам счета (**POST /v1/secure-deals/transactions/payments**)
Банк-->>Площадка: Ответ **201 CREATED** (запрос в обработке банком)
Банк->>Банк: Выполняет внутренние проверки Создает платежное поручение на перечисление денежных средств в пользу исполнителя
end
Банк->>Исполнитель: Зачисление денежных средств на счет исполнителя
Площадка->>Банк: Запрос статуса платежа (**GET /v1/secure-deals/transactions/{id}**)
Банк-->>Площадка: Ответ **200** со статусом платежа **done**
opt Опциональное информирование бенефициара
Площадка-->>Исполнитель: Информирует об успешном выводе средств
end
deactivate Банк
deactivate Заказчик
deactivate Площадка
deactivate Исполнитель
```
**Используемые методы**
| № | Метод | Описание | Шаг в схеме |
|---|-------|----------|-------------|
| 1 | | Активировать API | 1 |
| 2 | | Создать бенефициара | 4 |
| 3 | | Запросить сведения о бенефициаре | 6 |
| 4 | | Создать сделку | 12 |
| 5 | | Запросить список нераспределенных пополнений | 21 |
| 6 | | Запросить отчет по операциям зачисления эквайринга | 23 |
| 7 | | Разнести нераспределенные пополнения | 25 |
| 8 | | Исполнить сделку | 32 |
| 9 | | Запросить сведения о сделке | 35 |
| 10 | | Создать платеж по СБП В2С | 39 |
| 11 | | Создать платеж по реквизитам счета | 42 |
| 12 | | Запросить статус платежа | 46 |
---
# Инструкция по подключению сервиса "Безопасные сделки" на тестовом стенде
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/transfers/nominal-accounts/instructions-for-ift.md)
## :clipboard: Оглавление
* [Пререквизиты]()
* [Этап 1: Работа со Сбер API]()
* [Этап 2: Работа с номинальным счетом и УКЭП]()
* [Этап 3: Регистрация и тестирование]()
* [Важные особенности работы с сервисом]()
## Пререквизиты
Перед началом работы убедитесь, что выполнены следующие условия:
1. **Открыт расчетный счет в Сбере** и заключен договор ДБО «СберБизнес»
* **Как сделать:** обратитесь в любое отделение Сбера. [Список офисов](https://www.sberbank.com/ru/oib?tab=vsp\&segment=lp)
2. **Изучена договорная документация** по сервису
* **Где найти:** на [сайте Банка](https://www.sberbank.ru/ru/legal/services/smart-contract?tab=docs)
***
## Этап 1: Работа со Сбер API
### Шаг 1.1: Подключение к каналу Сбер API
Пройдите все шаги по подключению к Сбер API по [инструкции](/ru/sber-api/start/connect).
**Результат:** Подключение к Сбер API завершено, личный кабинет готов к работе.
### Шаг 1.2: Получение данных тестового стенда
Направьте письмо в адрес supportdbo2@sberbank.ru для получения данных тестового стенда.
Используйте шаблон обращения:
```sh
Тема письма: Sber API | наименование вашей организации
Текст обращения:
Сервис: Безопасные сделки
Стенд: ТЕСТ | ПРОМ выберите стенд, по которому обращаетесь
ИНН: укажите ИНН вашей организации
Client_ID: уникальный идентификатор сервиса
Суть обращения: потребность, описание ошибки, программный запрос в текстовом виде, ответ на запрос, лог
```
### Шаг 1.3: Настройка TLS-сертификатов
Установите и проверьте сертификаты по [инструкции](/ru/sber-api/start/tls).
**Результат:** TLS-сертификаты для тестового стенда установлены и проверены.
### Шаг 1.4: Получение в тестовом личном кабинете СберБизнес токенов доступа
Получите в тестовом личном кабинете СберБизнес **access token** и **refresh token** по [инструкции](/ru/sber-api/start/connect) (раздел "Получить/обновить/удалить пару access\_token и refresh\_token").
:mag: **Важно**
Если во вкладке **Ключи доступа** отсутствует кнопка **Создать ключ**, необходимо обратиться в поддержку: `supportdbo2@sberbank.ru`.
**Результат:** Получены токены доступа для тестового стенда (для разового использования).
### Шаг 1.5: Реализация автоматического обновления токенов доступа на тестовом стенде
Реализуйте автоматическое обновление access token и refresh token на тестовом стенде по [инструкции](/ru/sber-api/specifications/oauth/oauth-token-post).
**Результат:** Реализовано автоматическое обновление токенов доступа на тестовом стенде (для постоянного использования).
***
## Этап 2: Работа с тестовым сертификатом
### Шаг 2.1: Получение тестового сертификата для работы с тестовым стендом
:warning: **Важное условие:** для отправки любого POST-запроса в API «Безопасные сделки» требуется корректная электронная подпись, сформированная согласно [Правилам наложения подписи](/ru/sber-api/scenarios/transfers/nominal-accounts/signing-rules). Запросы без валидной ЭП обрабатываться не будут.
На тестовом стенде необходимо использовать тестовый ГОСТ сертификат (34.10-2012 256 бит), выпущенный с помощью любого тестового удостоверяющего центра.
:warning: **Обратите внимание:** выпуск сертификата не входит в зону ответственности сервиса «Безопасные сделки». Все вопросы по получению, продлению или настройке сертификата решаются напрямую с вашим удостоверяющим центром.
**Результат:** Получен тестовый сертификат для подписания запросов на тестовом стенде.
***
## Этап 3: Регистрация и тестирование
### Шаг 3.1: Проверка подписи на тестовом стенде
Передайте в адрес поддержки продукта (prom\_teh\_safe\_pay@sberbank.ru) строку подписи над произвольным контентом, и этот контент.
:::note
С правилами наложения подписи можно ознакомиться на [странице](/ru/sber-api/scenarios/transfers/nominal-accounts/signing-rules)
:::
**Результат:** Площадка получит информацию о корректности формирования подписи.
### Шаг 3.2: Регистрация площадки на тестовом стенде
Зарегистрируйте площадку на тестовом стенде с помощью вызова метода [POST/v1/nominal-account/signup](/ru/sber-api/specifications/nominal-accounts/signup) (для схемы Бенефициар-заказчик) или [POST/v1/secure-deals/signup](/ru/sber-api/specifications/nominal-accounts-be/signup) (для схемы Бенефициар-исполнитель).
:information\_source: **Примечание**
При вызове метода необходимо сгенерировать номер тестового номинального счета (маска счета аналогична расчетному счету).
:::note
Не забудьте подписать запрос в соответствии с [правилами наложения подписи](/ru/sber-api/scenarios/transfers/nominal-accounts/signing-rules).
:::
**Результат:** Площадка зарегистрирована на тестовом стенде и может начать процесс тестирования. Клиенту в ответ придет параметр nominalAccountId, который необходимо сохранить для дальнейшего использования.
### Шаг 3.3: Процесс тестирования
#### Чек-лист прохождения этапа тестирования с сервисом Безопасные сделки
|**№**| **Что необходимо сделать** | **Как это сделать** | **Результат** |
|-----| -------------------------- | ------------------- | ------------- |
|1|Добавить бенефициара(-ов) в реестр|С помощью вызова метода [POST/v1/nominal-account/beneficiaries/create](/ru/sber-api/specifications/nominal-accounts/add-beneficiarylite) (для схемы Бенефициар-заказчик) или [POST/v1/secure-deals/beneficiaries](/ru/sber-api/specifications/nominal-accounts-be/add-beneficiarylite) (для схемы Бенефициар-исполнитель)|Бенефициар(-ы) добавлен в реестр В ответ на запрос придет параметр beneficiaryId, который необходимо сохранить для дальнейшего использования|
|2|Ознакомиться с правилами обновления данных и удаления бенефициара|Удаление бенефициара и изменение его данных выполняются только посредством вызова со стороны клиента соответствующих методов [POST/beneficiaries/delete](/ru/sber-api/specifications/nominal-accounts/delete-beneficiary) и [POST/beneficiaries/update](/ru/sber-api/specifications/nominal-accounts/update-beneficiary) (для схемы Бенефициар-заказчик) или POST/beneficiaries/delete и POST/beneficiaries/update (для схемы Бенефициар-исполнитель). Операции удаления бенефициара и изменения его данных не доступны через обращение в поддержку продукта и выполняются только программно через вызовы API|Клиент ознакомился с правилами обновления данных и удаления бенефициара|
|3|Ознакомиться с особенностями работы с возвратами на номинальном счете|Ознакомиться с особенностями работы с возвратами можно, изучив соответствующий пункт в разделе **Важные особенности работы с сервисом** на данной странице|Клиент ознакомился с особенностями работы с возвратами на номинальном счете|
|4|Ознакомиться с рекомендациями по использованию API|Ознакомиться с рекомендациями по использованию API можно по [ссылке](/ru/sber-api/specifications/nominal-accounts/nominal-accounts-overview) в соответствующем разделе|Клиент ознакомился с рекомендациями по использованию API|
|5|Ознакомиться с особенностями работы с тестовым стендом|Ознакомиться с особенностями работы с тестовым стендом можно, изучив соответствующий пункт в разделе **Важные особенности работы с сервисом** на данной странице|Клиент ознакомился с особенностями работы с тестовым стендом|
|6|Ознакомиться с рекомендациями по формированию назначения платежа при пополнении номинального счета на промышленном стенде|Ознакомиться с рекомендациями по формированию назначения платежа при пополнении номинального счета можно, изучив соответствующий пункт в разделе **Важные особенности работы с сервисом** на данной странице|Клиент ознакомился с рекомендациями по формированию назначения платежа при пополнении номинального счета на промышленном стенде|
|7|Провести тестирование|Реализовать и проверить сценарии работы вашей площадки с сервисом Безопасные сделки|Этап тестирования с сервисом Безопасные сделки завершен|
|8|Провести демо реализации|Напишите письмо в адрес поддержки продукта (prom\_teh\_safe\_pay@sberbank.ru) для демонстрации демо реализации (в рамках взаимодействия с сервисом Безопасные сделки) в online формате|Клиент провел демо реализации совместно с командой продукта|
:test\_tube: Особенности работы с тестовым стендом
На тестовом стенде эмулируются различные сценарии обработки запросов. Конфигурация включает вероятность возникновения следующих событий:
* Возврат платежа при выводе средств по реквизитам счета.
* Отказ платежа при переводе между бенефициарами в рамках одного номинального счета.
* Отказ платежа при выводе средств по Системе быстрых платежей (СБП) в направлении В2С.
* Гарантированный отказ платежа при выводе средств по СБП В2С, если номер телефона получателя (**payee.phone**) в запросе содержит "5".
* Отказ в создании чека для самозанятого.
* Отказ в проверке самозанятого при исполнения сделки.
* Гарантированный отказ в создании чека для самозанятого, если БИК банка получателя (**selfEmployedData.bankBIC**) в запросе равен "044525593".
Иные особенности при работе с тестовым стендом:
* Протестировать функционал, связанный с зачислением на номинальный счет через СБП C2B, наземный и интернет-эквайринг, на тестовом стенде невозможно.
* При запросе информации по чеку после успешной инициации его создания, в ответе всегда возвращается константная ссылка на чек (**receiptLink** = https://lknpd.nalog.ru/api/v1/receipt/333304070236/2018xravsx/print).
* При создании чека для самозанятого отсутствует проверка ИНН (**selfEmployedData.inn**) в запросе (в отличии от промышленного стенда).
* При создании бенефициара на тестовом стенде его баланс будет пополнен на 1000000 рублей.
* Если в 08:00 по МСК баланс бенефициара будет менее 100 рублей, он автоматически пополнится на 1000000 рублей.
---
# Инструкция по подключению сервиса "Безопасные сделки" на промышленном стенде
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/transfers/nominal-accounts/instructions-for-prom.md)
## :clipboard: Оглавление
* [Пререквизиты]()
* [Этап 1: Работа со Сбер API]()
* [Этап 2: Открытие номинального счета]()
* [Этап 3: Выпуск УКЭП и регистрация]()
* [Завершение подключения](#zavershenie-podklyucheniyaы)
## Пререквизиты
Перед началом работы на промышленном стенде должно быть выполнено обязательное условие:
:warning: **Проведено демо реализации** совместно с командой продукта.
***
## Этап 1: Работа со Сбер API
### Шаг 1.1: Разблокировка промышленного стенда
Активируйте промышленный стенд в личном кабинете СберБизнес по [инструкции](/ru/sber-api/start/connect) в разделе "Активировать сервис".
**Результат:** Промышленный стенд разблокирован и готов к эксплуатации.
### Шаг 1.2: Настройка TLS-сертификатов
Установите и проверьте сертификаты для промышленного стенда по [инструкции](/ru/sber-api/start/tls).
**Результат:** TLS-сертификаты для промышленного стенда установлены и проверены.
### Шаг 1.3: Получение в личном кабинете СберБизнес токенов доступа
Получите в личном кабинете СберБизнес **access token** и **refresh token** по [инструкции](/ru/sber-api/start/connect) (раздел "Получить/обновить/удалить пару access\_token и refresh\_token").
:mag: **Важно**
Если во вкладке **Ключи доступа** отсутствует кнопка **Создать ключ**, необходимо обратиться в поддержку: `supportdbo2@sberbank.ru`.
**Результат:** Получены токены доступа для промышленного стенда (для разового использования).
### Шаг 1.4: Реализация автоматического обновления токенов доступа на промышленном стенде
Реализуйте автоматическое обновление access token и refresh token на промышленном стенде по [инструкции](/ru/sber-api/specifications/oauth/oauth-token-post).
**Результат:** Реализовано автоматическое обновление токенов доступа на промышленном стенде (для постоянного использования).
***
## Этап 2: Открытие номинального счета
### Шаг 2.1: Открытие номинального счета
Подать [заявку](https://www.sberbank.ru/ru/legal/services/smart-contract?TSPD_101_R0=0817d681ccab20002d296164ef1beafd80dcc6618c3bb2dda71e519bb4d364a7328689511d118e5e08c1bea025143000ee18e650bf9b23f7f0b1826f92c8910b7f4e970c29a49b5e1109f495d341c660016332ac55ca36369488ff945a385b1b) на открытие номинального счета.
:information\_source: **Примечание**
Данные о номинальном счете будут автоматически переданы в систему продукта после открытия.
**Результат:** Номинальный счет открыт для учета средств нескольких бенефициаров.
***
## 3. Выпуск УКЭП и регистрация
### Шаг 3.1: Получение электронной подписи для работы с промышленным стендом
:warning: **Важное условие:** для отправки любого POST-запроса в API «Безопасные сделки» требуется корректная электронная подпись, сформированная согласно [Правилам наложения подписи](/ru/sber-api/scenarios/transfers/nominal-accounts/signing-rules). Запросы без валидной ЭП обрабатываться не будут.
На промышленном стенде поддерживаются следующие типы сертификатов:
* УКЭП — сертификат любого аккредитованного удостоверяющего центра (УЦ);
* УНЭП — сертификат, выпущенный УЦ Сбербанка. Документация по выпуску УНЭП: [под сотрудником (чей access token используется)](https://developers.sber.ru/docs/ru/sber-api/start/crypto), [под ЕИО (на разных сотрудников)](https://developers.sber.ru/docs/ru/sber-api/start/crypto-eio).
**На этапе проектирования решения обратите внимание на признак экспортируемости закрытого ключа ЭП.**
В зависимости от политики УЦ сертификат может быть выдан с неизвлекаемым (неэкспортируемым) ключом. В этом случае подписание возможно только через криптопровайдер на том устройстве, где был установлен сертификат (перенос ключа на другую машину запрещен). Учитывайте это при выборе архитектуры (например, при необходимости переноса подписанта между рабочими станциями).
:warning: **Обратите внимание:** выпуск сертификата не входит в зону ответственности сервиса «Безопасные сделки». Все вопросы по получению, продлению или настройке сертификата решаются напрямую с вашим удостоверяющим центром.
**Результат:** Получен УКЭП или УНЭП для подписания POST-запросов на промышленном стенде.
### Шаг 3.2: Добавление в белые списки на промышленном стенде
1. Передайте в адрес поддержки продукта (prom\_teh\_safe\_pay@sberbank.ru) строку подписи над произвольным контентом.
2. Получите в ответ идентификатор сертификата.
3. Обратитесь к территориальному менеджеру для заключения доп. соглашения, указав в нем полученный идентификатор сертификата.
:::note
С правилами наложения подписи можно ознакомиться на [странице](/ru/sber-api/scenarios/transfers/nominal-accounts/signing-rules)
:::
**Результат:** Заключено дополнительное соглашение, площадка добавлена в белые списки на промышленном стенде.
### Шаг 3.3: Регистрация площадки на промышленном стенде
Зарегистрируйте площадку на промышленном стенде с помощью вызова метода [POST/v1/nominal-account/signup](/ru/sber-api/specifications/nominal-accounts/signup) (для схемы Бенефициар-заказчик) или [POST/v1/secure-deals/signup](/ru/sber-api/specifications/nominal-accounts-be/signup) (для схемы Бенефициар-исполнитель).
:::note
Не забудьте подписать запрос в соответствии с [правилами наложения подписи](/ru/sber-api/scenarios/transfers/nominal-accounts/signing-rules).
:::
***
## Завершение подключения
:tada: **Поздравляем! Ваше приложение подключено к промышленному стенду и готово к работе!**
---
# Сервис «Безопасные сделки»
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/transfers/nominal-accounts/overview.md)
## Информация о сервисе
Безопасные сделки — это технология Сбера для защищенных расчетов между контрагентами через номинальный счет с несколькими бенефициарами. Технология позволяет при помощи API автоматизировать процесс управления сделками между заказчиками и исполнителями.
Сервис поддерживает две модели управления денежными потоками, закрывая потребности обеих сторон договора:
* Схема **«Бенефициар — Заказчик»**: Заказчик становится бенефициаром, пополняет свой баланс на номинальном счете и инициирует создание сделки. Исполнитель берет сделку в работу и выполняет ее условия. Заказчик подтверждает выполнение и дает команду на оплату. Банк списывает средства с баланса бенефициара-заказчика напрямую исполнителю (по реквизитам или СБП). Покупатель полностью контролирует платеж и платит только после того, как убедился в качестве услуги.
* Схема **«Бенефициар — Исполнитель»**: Идеальный способ для работы с заказчиками физическими лицами (самозанятыми), с которых бывает проблематично собрать данные для анкеты бенефициара. В данном случае исполнитель становится бенефициаром и берет сделки в работу. Заказчик платит, банк блокирует деньги на сделке до ее подтверждения. Заказчик подтверждает выполнение и средства зачисляются на баланс бенефициара-исполнителя в рамках номинального счета. После пополнения баланса исполнитель выводит средства на свой расчетный счет. Исполнитель получает гарантию оплаты, но доступ к деньгам — только после выполнения работы.
:mag: **Важно**
:balance\_scale: Одна схема работы = один номинальный счет
Номинальный счет жестко привязан к выбранной схеме работы («Бенефициар — Заказчик» или «Бенефициар — Исполнитель»). Это означает, что открыть один универсальный счет и переключаться между схемами «Бенефициар — Заказчик» и «Бенефициар — Исполнитель» невозможно. Если ваш бизнес предполагает использование обеих моделей (например, бенефициар выступает и как покупатель, и как продавец), потребуется открыть два отдельных номинальных счета — по одному на каждую схему.
:moneybag: Особенности движения средств на номинальном счете
**1. Подключение сервисов для приема оплаты**
* Для приема оплаты на номинальный счет через эквайринг требуется заключить отдельный договор.
* Алгоритм действий: войдите в раздел СББОЛ и уведомите своего менеджера по эквайрингу о необходимости заключения договора на прямом протоколе.
* Важно: Если вы планируете использовать СБП С2В, сообщите об этом менеджеру дополнительно.
**2. Пополнение счета (входящие платежи)**
* При пополнении номинального счета через наземный/интернет-эквайринг или СБП С2В с плательщика удерживается комиссия согласно тарифам договора регистрации в эквайринге.
* Ознакомиться с возможностями интернет-эквайринга можно по [ссылке](https://ecomdoc.sberbank.ru/doc).
* Ограничение: Протестировать зачисление через СБП C2B, наземный и интернет-эквайринг на тестовом стенде невозможно.
**3. Работа с неразнесенными поступлениями**
Денежные средства, поступившие на номинальный счет в рамках эквайринга или СБП С2В, отображаются, как неразнесенные.
А) Как получить список неразнесенных пополнений:
Используйте метод **GET/transactions/undefined** для получения списка неразнесенных пополнений.
Б) Как разнести (идентифицировать):
Для разнесения конкретного пополнения на бенефициаров или сделки вызовите метод **POST/transactions/undefined/\{id}/identify**.
В) Как сопоставить неразнесенное поплнение с заказом ECOM (сверка):
Чтобы связать неразнесенное пополнение с конкретным заказом, сравните два параметра:
**paymentNumber** (из отчета эквайринга) — ответ на запрос **GET /ecom/report**.
**docNumber** (из списка неразнесенных пополнений) — ответ на запрос **GET /transactions/undefined**.
Правило: Если значения совпадают — транзакция из отчета относится к данному неразнесенному пополнению.
Г) Как сопоставить транзакцию из отчета (заказ) со сделкой/бенефициаром:
**Способ 1 — через поле description при создании заказа в ECOM:**
1. При создании заказа в ECOM заполните поле **description** (передайте туда ID бенефициара или сделки).
2. В дальнейшем это значение отобразится в отчете **GET /ecom/report** в поле **addData1**.
Значение из **description** также может отобразиться в ответе **GET /transactions/undefined** в поле **purpose** для зачислений СБП С2В, если настроить назначение платежа через менеджера эквайринга для СБПшного мерчанта - добавить в назначение плейсхолдер \[ID1].
3. Таким образом можно сопоставить бенефициара/сделку -> заказ -> неразнесенное пополнение.
**Способ 2 — через отдельных мерчантов:**
1. Завести под каждого бенефициара отдельного мерчанта через менеджера эквайринга (соотнести их на стороне площадки).
2. Все зачисление в рамках конкретного **merchantLogin** будут приходить и отображаться на номинальном счете как отдельные неразнесенные пополнения.
3. В ответе на запрос **GET /transactions/undefined** в поле **purpose** вернется уникальный номер мерчанта.
4. Таким образом можно сопоставить бенефициара -> мерчанта -> неразнесенное пополнение.
Д) Примечание по выбору способа разнесения средств:
Отчет по эквайрингу можно запросить за дату не позднее вчерашнего дня.
Разнесение средств с помощью отчета по операциям эквайринга — это всего лишь один из вариантов.
Какой способ определения принадлежности неразнесенных денег на номинальном счете использовать, решает сама площадка.
**4. Списание средств (исходящие платежи)**
* Для вывода средств с номинального счета через СБП В2С необходимо предварительно подключить данный сервис по [инструкции](https://www.sberbank.ru/help/business/sbbol/scheta-i-platezhy/sbp_individ/100911?tab=web).
* Инструкция по подключению СБП для переводов физлицам доступна по [ссылке](https://www.sberbank.ru/help/business/sbbol/scheta-i-platezhy/sbp_individ/100911?tab=web).
:writing\_hand: Рекомендации по формированию назначения платежа при пополнении номинального счета по реквизитам на промышленном стенде для схемы Бенефициар-заказчик
С целью корректного распределения платежей в реестре бенефициаров рекомендуем при формировании документа на пополнения номинального счета указывать в назначении платежа:
* для Бенефициаров — корпоративных клиентов (ЮЛ, ИП)
* ИНН Бенефициара и реквизиты Договора–основания (договор между бенефициаром и владельцем номинального счета).
Пример: *«Пополнение ном. счета по бенефициару ИНН 7788995544, по договору от 15.04.2024 № 385-58, без НДС»*.
* для Бенефициаров — физических лиц
* ФИО в именительном падеже (полностью) и реквизиты Договора–основания (договор между бенефициаром и владельцем номинального счета).
Пример: *«Пополнение ном. счета по бенефициару Иванов Иван Иванович, по договору от 15.04.2024 № 385-78, без НДС»*.
:repeat: Особенности работы с возвратами на номинальном счете
Возможна ситуация, когда при выводе средств с номинального счета в другие банки по реквизитам деньги списались, но не были зачислены получателю.
Это происходит, если банк получателя отклонил платеж. Например, из-за некорректных реквизитов.
В рамках сервиса это работает так:
1. Площадка исполняет сделку.
2. Банк списывает деньги с номинального счета.
3. Сделка и транзакция переходят в успешный статус.
4. Платеж уходит в банк получателя.
5. Банк получателя отклоняет платеж (например, из-за ошибки в реквизитах получателя).
6. В этом случае в течение 5 рабочих дней будет осуществлен возврат на номинальный счет (данный возврат будет отображаться на номинальном счете, как транзакция кредита в пользу бенефициара).
Узнать о возникновении таких транзакций возврата можно при помощи вызова метода **GET/transactions/refunds**.
**Важно:** возврат не меняет статус исходной сделки и исходной транзакции. Для сервиса сделка и транзакция уже исполнены, потому что деньги были успешно списаны с номинального счета.
После получения возврата необходимо повторно создать и исполнить сделку с корректными реквизитами получателя (для схемы Бенефициар-заказчик) или повторно создать платеж для вывода средств с корректными реквизитами получателя (для схемы Бенефициар-исполнитель).
Для внутренних переводов Сбер-Сбер логика другая: если возникает ошибка, деньги не списываются с номинального счета, а транзакция сразу переходит в ошибку.
> [Cпецификация API сервиса "Безопасные сделки" для схемы Бенефициар-заказчик](/ru/sber-api/specifications/nominal-accounts/nominal-accounts-overview-beneficiary-customer)
> [Cпецификация API сервиса "Безопасные сделки" для схемы Бенефициар-исполнитель](/ru/sber-api/specifications/nominal-accounts-be/nominal-accounts-overview-beneficiary-executor)
> [Таблица ошибок](/ru/sber-api/scenarios/transfers/nominal-accounts/table-errors)
## Возможности сервиса
## Пример реализации
В рамках Платформы клиент самостоятельно разрабатывает ролевую модель и настраивает права доступа к функциональности.
> [Сценарий работы площадки с сервисом "Безопасные сделки" по схеме Бенефициар-заказчик](/ru/sber-api/scenarios/transfers/nominal-accounts/beneficiary-customer-scenario)
> [Сценарий работы площадки с сервисом "Безопасные сделки" по схеме Бенефициар-исполнитель](/ru/sber-api/scenarios/transfers/nominal-accounts/beneficiary-executor-scenario)
## Статусные модели
## Инструкции
* [Инструкция по подключению сервиса "Безопасные сделки" на тестовом стенде](/ru/sber-api/scenarios/transfers/nominal-accounts/instructions-for-ift)
* [Инструкция по подключению сервиса "Безопасные сделки" на промышленном стенде](/ru/sber-api/scenarios/transfers/nominal-accounts/instructions-for-prom)
* [Инструкция по обращению в поддержку команды продукта](/ru/sber-api/scenarios/transfers/nominal-accounts/support)
## FAQ
Как проходит сделка?
Владельцем номинального счета является владелец площадки (web-ресурса). На счете могут быть зарегистрированы два типа бенефициаров в зависимости от выбранного сценария сделки:
* **Сценарий А (бенефициар — Заказчик/Покупатель):** Покупатель/заказчик является бенефициаром денежных средств. Он резервирует деньги на номинальном счете под конкретную сделку. Площадка перечисляет их продавцу/исполнителю только после подтверждения выполнения обязательств (доставка товара, оказание услуги).
* **Сценарий Б (бенефициар — Исполнитель/Продавец):** Исполнитель является бенефициаром денежных средств. Заказчик переводит деньги на номинальный счет, где они блокируются в пользу Сделки, за которой закреплен Исполнитель. Площадка разблокирует средства на балансе Исполнителя только после подтверждения исполнения. Этот сценарий дает Исполнителю дополнительную гарантию, что средства зарезервированы именно под его услугу и не могут быть отозваны Заказчиком в одностороннем порядке.
В обоих сценариях в контракте может быть предусмотрено несколько сторон (например, субподрядчики). Интеграция с площадкой — по API. Площадка адаптирует интерфейс под логику сделок и предусматривает использование номинального счета в договорах.
Что происходит с деньгами, если сделка не состоялась (отказ, срыв сроков, спор)?
* **В сценарии «бенефициар — заказчик»:** средства расхолдируются со сделки и возвращаются заказчику.
* **В сценарии «бенефициар — исполнитель»:** средства остаются заблокированными под сделкой до тех пор, пока площадка не примет решение на основании условий сделки. Если исполнитель не выполнил обязательства, площадка инициирует возврат заказчику (по согласованию сторон или решению спора). Самовольный возврат заказчиком невозможен.
Можно ли частично раскрыть обеспечение в пользу бенефициара? (например, поэтапная оплата исполнителю)
Да. API позволяет управлять суммой раскрытия. Площадка может перечислить часть заблокированных средств бенефициару (например, аванс 30% исполнителю, затем 70% после приемки). Остаток продолжает находиться на номинальном счете в пользу того же бенефициара.
Есть ли ограничения по количеству бенефициаров на один номинальный счет?
Прямых технических ограничений нет. На одном номинальном счете может быть одновременно множество бенефициаров (тысячи и более). Каждый бенефициар видит только свои суммы (через API площадки) и не имеет доступа к данным других бенефициаров.
Кто несет ответственность за правильность идентификации бенефициара?
Площадка (владелец номинального счета). Именно площадка обязана проверить бенефициара (заказчика или исполнителя) перед регистрацией сделки и соблюдать требования 115-ФЗ. Сбербанк не проверяет бенефициаров напрямую.
В чем разница для исполнителя между «обеспечением через номинальный счет» и обычной предоплатой на его расчетный счет?
* Предоплата на прямой счет: деньги в распоряжении исполнителя сразу, заказчик не защищен.
* Номинальный счет (бенефициар — исполнитель): деньги зарезервированы, но не переведены исполнителю до подтверждения. Заказчик не может их отозвать, исполнитель не может потратить их до выполнения работы. Это «честная блокировка».
Кто должен подписывать сделку УКЭП?
Сделка заключается между Банком и площадкой и подписывается самой площадкой. Подписание сделки всеми участниками не требуется.
Заменяет ли сделка договор?
Сделка не заменяет договор, а является инструментом, помогающим автоматизировать расчеты между участниками сделки, в нем отражается финансово-значимая информация из договорных отношений клиентов площадки.
В какой валюте можно открыть номинальный счет?
На номинальный счет можно перечислять средства только в валюте Российской Федерации (рубли)
В чем преимущество при заключении сделок через номинальный счет?
Главное преимущество — безопасность расчетов, но с разными акцентами в зависимости от роли бенефициара:
* **Если бенефициар — Заказчик:** покупатель гарантирует наличие суммы без риска ее потерять, а продавец уверен в оплате после исполнения. Площадка получает доверие со стороны обеих сторон.
* **Если бенефициар — Исполнитель:** исполнитель получает подтвержденное резервирование денег в свою пользу, защиту от неоплаты выполненной работы и контроль над сделкой через площадку. Заказчику гарантируют, что средства не уйдут исполнителю раньше, чем услуга будет оказана.
В обоих режимах технология холдирования повышает доверие к площадке и привлекает клиентов для безопасных расчетов.
Кто может стать владельцем номинального счета?
Юридическое лицо/индивидуальный предприниматель — резидент РФ, у которого открыт в Сбербанке расчетный счет.
Кто такие бенефициары номинального счета?
Юридическое лицо, индивидуальный предприниматель или физическое лицо (может быть нерезидентом), которое приняло правила платформы и расчеты через номинальный счет, владеющее денежными средствами, находящимися на номинальном счете торговой площадки. Бенефициар может иметь расчетный счет как в Сбербанке, так и в любом другом коммерческом банке РФ. Владелец счета (площадка) не имеет прав на средства бенефициаров.
Какую комиссию возьмет Сбербанк за использование Безопасных сделок?
Вознаграждение банка взимается с расчетного счета площадки в виде процента с каждой сделки по факту перечисления средств с номинального счета по каждой исполненной транзакции согласно тарифам банка (процент от суммы платежа, комиссия включает НДС).
Какая должна быть электронная подпись?
Для работы с нашим сервисом и подписания сделок площадке необходимо выпустить УКЭП.
Наличие у площадки УКЭП является обязательным условием подключения к сервису. [Список уполномоченных УЦ](https://digital.gov.ru/ru/activity/govservices/2/?utm_referrer=https%3a%2f%2fyandex.ru%2f). Подробнее об [УКЭП](https://www.sberbank.ru/ru/s_m_business/pro_business/chto-takoe-elektronnaya-podpis-kak-poluchit-i-dlya-chego-nuzhna).
Возможно ли бенефициару увидеть баланс собственных денежных средств на номинальном счете?
Такая информация может быть доступна бенефициару в случае настроек личного кабинета площадки. Площадка, в свою очередь, может получить информацию по балансу бенефициара на номинальном счете через соответствующее АПИ.
От каких рисков защищает покупателя сделка через номинальный счет?
Защита распространяется на **бенефициара** (того, в чью пользу зарезервированы деньги):
* Невозможно взыскание денежных средств бенефициара по обязательствам владельца счета (площадки).
* Невозможно взыскание денежных средств бенефициара по запросам ФНС.
* Возможно взыскание денежных средств бенефициара только по судебному решению.
Для **заказчика** (плательщика) защита в том, что деньги не уйдут исполнителю до подтверждения сделки.
Для **исполнителя** (в новом сценарии) — защита в том, что заказчик не сможет отозвать уже зарезервированные в пользу исполнителя средства.
Элементы налогового платежного поручения?Как подключить СБП для переводов физлицам?
[Инструкция по подключению](https://www.sberbank.com/help/business/sbbol/100911?tab=web)
Пример выпуска тестового сертификата через УЦ КриптоПро
Вспомогательная информация при выпуске тестового сертификата с помощью [УЦ КриптоПро](https://www.cryptopro.ru/certsrv/):
1. Перейдите в раздел **Сформировать ключи и отправить запрос на сертификат**;
2. Подтвердите установку КриптоПро ЭЦП Browser plug-in и расширение для браузера;
3. В разделе **Идентифицирующие сведения** укажите данные организации из тестового СберБизнеса;
4. В разделе **Тип требуемого сертификата** выберите **Сертификат проверки подлинности клиента**;
5. В разделе **Параметры ключа** в поле **CSP** выберите **Crypto-pro gost r 34.10-2012 cryptographic service provider**;
6. В разделе **Параметры ключа** установите флаг **Пометить ключ как экспортируемый** (в случае, если хотите разместить сертификат на сервер);
7. В разделе **Дополнительные параметры** в поле **Алгоритм хэширования** выберите **ГОСТ Р 34.11-2012 256 бит**.
8. Нажмите на кнопку **Выдать** (пароль на контейнер задавать необязательно);
9. На странице с информацией о результатах выдачи сертификата нажмите на кнопку **Установить этот сертификат**.
Пример формирования подписи утилитой командной строки cryptcp
Пример формирования подписи утилитой командной строки [cryptcp](https://www.cryptopro.ru/products/other/cryptcp):
`/opt/cprocsp/bin/cryptcp -sign -thumbprint 71D1774E947175D8B7CDB5B4F25BCD09BB0CE85F -detached content.json`
:::note
Значение параметра thumbprint находится в свойствах сертификата (в свойствах сертификата Крипто-Про этот параметр называется SHA1 отпечаток).
:::
* После успешного выполнения операции подписи, появится файл с именем, как у подписываемого, но с расширением .sgn (content.json -> content.sgn).
---
# Правила наложения подписи
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/transfers/nominal-accounts/signing-rules.md)
Необходимо сформировать **отсоединенную** подпись в формате **BASE64**.
Проверить подпись можно на [странице](https://www.gosuslugi.ru/pgu/eds).
Подписывать необходимо значение параметра content (включая фигурные скобки) в кодировке utf8, внутри которого не должно быть переносов строк, табов и пробелов.
Пример подписываемого контента:
`{"data":{"nominalAccountNumber":"40702810038000000000"},"agreement":"Клиент подтверждает, что операция совершается в соответствии с условиями Договора номинального счета"}`
:::note
Такой принцип подписания необходимо использовать для всех POST запросов.
:::
---
# Инструкция по обращению в поддержку команды продукта
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/transfers/nominal-accounts/support.md)
Для наиболее оперативного решения проблемы по вашей заявке необходимо выполнить условия:
1. Проверить проблемный запрос по спецификации openAPI (можно воспользоваться online-валидатором)
2. Если запрос успешно прошел проверку по спецификации openAPI, обращение должно содержать обязательные поля (clientID, стенд (ТЕСТ/ПРОД), параметры запроса (тело, хост, время, заголовки), параметры ответа (тело, заголовки, время), RQUID запроса.
Чтобы мы могли оперативно решить вашу проблему, пожалуйста, перед обращением в поддержку выполните несколько простых шагов.
**Обратите внимание:** поддержка работает по будним дням с 9:00 до 18:00. Максимальный срок ответа – 3 рабочих дня.
## Шаг 1: Проверьте запрос по спецификации OpenAPI
Прежде чем обращаться в поддержку, убедитесь, что ваш запрос составлен правильно:
* **Что сделать:** Проверьте ваш API-запрос через online-валидатор OpenAPI
* **Зачем это нужно:** Это помогает исключить базовые ошибки в формате запроса
* **Результат:** Если валидатор показывает ошибки — исправьте их и повторите запрос
## Шаг 2: Подготовьте информацию для обращения
Если запрос прошел проверку, но проблема осталась, направьте в адрес поддержки продукта (prom\_teh\_safe\_pay@sberbank.ru) следующую информацию:
### Обязательные данные:
* **ClientID** — идентификатор вашего клиента
* **Стенд** — указажите, где возникает проблема: ТЕСТ или ПРОД
* **RQUID запроса** — уникальный идентификатор запроса
### Детали запроса:
* **Параметры запроса:**
* Тело запроса
* Адрес сервера
* Время отправки запроса
* Все заголовки
### Детали ответа:
* **Параметры ответа:**
* Тело ответа
* Заголовки ответа
* Время получения ответа
## Почему это важно?
Чем полнее вы предоставите информацию, тем быстрее мы сможем:
* Воспроизвести проблему на нашей стороне
* Определить причину возникновения ошибки
* Предоставить вам решение
Если у вас возникли трудности с получением какой-либо из указанных данных — напишите нам, и мы подскажем, где их найти.
---
# Таблица ошибок сервиса "Безопасные сделки"
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/transfers/nominal-accounts/table-errors.md)
## Ошибки при авторизации
| Http-код | Текст ошибки | Описание |
|----------|---------------|-----------|
| 401 | Auth stage 5 | Ошибки при получении ClientID: ClientID пуст |
| 401 | Verify sign stage | Ошибка проверки подписи |
| 401 | Verify sign stage error | Ошибки при проверке подписи |
| 401 | Check marketplace stage 1 | Не удалось подтвердить сертификат торговой площадки или Ошибки во время проверки торговой площадки |
| 401 | Check marketplace stage 1.5 | Данные о торговой площадке не найдены |
| 401 | Check marketplace stage 1.1 | Подпись пуста |
| 401 | Check marketplace stage 1.4 | Ошибка настройки сертификата: атрибут не найден |
| 401 | Check marketplace stage 1.3 | Сертификат недействителен: неверно … (ИНН, КПП или ОГРН не соответствует данным НС) или Сертификат недействителен: должность не разрешена (подписант не имеет полномочий) |
| 401 | Check marketplace stage 1.2 | CMS исключение |
| 400 | Verify sign stage error | Ошибка проверки подписи |
| | | Данные ошибки возникают в результате проверки подписи в POST-запросах |
## Ошибки при вызове АПИ
| Http-код | Методы | Текст ошибки | Описание |
|----------|--------|---------------|-----------|
| 400 | POST/smart-contracts/confirmstep | Сумма транзакции должна быть больше 0 | Если значение поля amount в запросе \<= 0 |
| 400 | POST/smart-contracts/confirmstep POST/sbp/b2c/smart-contracts/confirmstep POST/smart-contracts POST/smart-contracts/async | Недостаточно средств для списания | Если значение поля amount > доступного остатка бенефициара |
| 400 | POST/smart-contracts/confirmstep POST/sbp/b2c/smart-contracts/confirmstep POST/smart-contracts POST/smart-contracts/async POST/beneficiaries/moneyback POST/beneficiaries/delete POST/beneficiaries/update POST/smart-contracts/completion GET/refunds GET/smart-contracts/\{id} GET/beneficiaries/\{beneficiaryId}/balance/events/\{eventId} GET/beneficiaries/\{beneficiaryId}/credit/payment-order-qr/create GET/beneficiaries/balance-report/\{id} GET/beneficiaries/state/\{id} GET/beneficiaries/details/\{id} | Бенефициар принадлежит к другому номинальному счету | Если бенефициар из запроса не принадлежит номинальному счету (клиенту), со стороны которого был отправлен запрос |
| 400 | POST/smart-contracts/confirmstep POST/sbp/b2c/smart-contracts/confirmstep POST/smart-contracts/completion | Неверный идентификатор бенефициара для этого смарт-контракта | Если Id бенефициара в ранее созданном смарт-контракте отличается от того, который поступил в текущем запросе |
| 400 | POST/smart-contracts/confirmstep | Данные бенефициара в запросе отличаются от данных бенефициара в системе | Если данные блока payer из запроса отличаются от данных бенефициара, предоставленных банку при его заведении в реестр |
| 400 | POST/smart-contracts/confirmstep | Запрос имеет транзакции от разных бенефициаров или данные о плательщике повреждены | Если в запросе передано несколько блоков payer с разными данными |
| 400 | POST/smart-contracts/confirmstep (только для транзакций с типом FEE) | Некорректные реквизиты владельца номинального счета | Если данные блока payee из запроса отличаются от фактических данных владельца ном. счета в системе банка (осуществляется сверка ИНН и ОГРН) |
| 400 | POST/smart-contracts/confirmstep POST/sbp/b2c/smart-contracts/confirmstep POST/smart-contracts/completion | Неверный статус смарт-контракта | Если в запросе содержится id смарт-контракта, статус которого отличный от RUN |
| 400 | POST/smart-contracts/confirmstep POST/sbp/b2c/smart-contracts/confirmstep | Захолдированных средств у смарт-контракта меньше, чем запрашивается | Если значение amount в запросе больше, чем значение захолдированных под смарт-контракт средств, или больше, чем осталось оплатить по ранее созданному смарт-контракту (если это не первая транзакция в рамках смарт-контракта) |
| 400 | POST/smart-contracts/confirmstep (только для транзакций с типом TAX) | Налоговое поле не должно быть пустым у налогового платежа | Если у транзакции с типом TAX в запросе не передан блок tax |
| 400 | POST/smart-contracts/confirmstep POST/sbp/b2c/smart-contracts/confirmstep | Все идентификаторы транзакций должны быть уникальными | Если в рамках запроса отправлено несколько транзакций, у которых совпадают id транзакций |
| 400 | POST/sbp/b2c/smart-contracts/confirmstep | При переводе по СБП сумма транзакции должна быть больше 100 и меньше 100000000 копеек | Если значение поля amount в запросе \< 100 или > 100000000 |
| 400 | POST/smart-contracts POST/smart-contracts/async POST/beneficiaries/moneyback | Сумма должна быть больше 0 | Если значение поля amount в запросе \<= 0 |
| 400 | POST/smart-contracts/confirmstep POST/sbp/b2c/smart-contracts/confirmstep | Такой идентификатор транзакции уже существует | Если один из id транзакции из запроса совпадает с id транзакции в системе банка |
| 400 | GET/smart-contracts/\{id} POST/smart-contracts/confirmstep POST/sbp/b2c/smart-contracts/confirmstep POST/smart-contracts/completion | Смарт-контракт не найден | Если по id смарт-контракта из запроса не найден смарт-контракт в системе банка |
| 400 | POST/smart-contracts/confirmstep POST/sbp/b2c/smart-contracts/confirmstep POST/smart-contracts POST/smart-contracts/async POST/beneficiaries/moneyback POST/beneficiaries/delete POST/beneficiaries/update POST/smart-contracts/completion GET/refunds GET/smart-contracts/\{id} GET/beneficiaries/\{beneficiaryId}/balance/events/\{eventId} GET/beneficiaries/\{beneficiaryId}/credit/payment-order-qr/create GET/beneficiaries/balance-report/\{id} GET/beneficiaries/state/\{id} GET/beneficiaries/details/\{id} | Бенефициар $beneficiaryId не найден | Если по id бенефициара из запроса не найден бенефициар в системе банка |
| 400 | POST/smart-contracts/confirmstep POST/sbp/b2c/smart-contracts/confirmstep POST/smart-contracts POST/smart-contracts/async POST/beneficiaries/moneyback POST/beneficiaries/delete POST/beneficiaries/update POST/smart-contracts/completion GET/beneficiaries/\{beneficiaryId}/credit/payment-order-qr/create | Бенефициар $beneficiaryId неактивен | Если в запросе содержится id бенефициара, статус которого отличный от ACTIVATED |
| 400 | Все методы | Активный номинальный счет для clientId $clientId не найден | Если по значению заголовка clientId из запроса не найден номинальный счет |
| 400 | Все методы (в случае, если в запросе не передано значение заголовка nominalAccountId) | Найдено более одного номинального счета для $clientId | Если по значению заголовка clientId из запроса найдено несколько номинальных счетов |
| 400 | POST/beneficiaries/moneyback | Доступных средств у бенефициара недостаточно | Если значение поля amount > доступный остаток бенефициара |
| 429 | Все методы | Пожалуйста, попробуйте позднее | Если в момент запроса идет какой-то процесс обработки по бенефициару или смарт-контракту |
| 400 | POST/smart-contracts/completion | Смарт-контракт находится в процессе обработки. Пожалуйста, подождите | Если инициировано завершение смарт-контракта, по которому уже идет какой-то процесс обработки |
| 200 | GET/smart-contracts/\{id} GET/beneficiaries/\{beneficiaryId}/balance/events/\{eventId} GET/beneficiaries/balance-report/\{id} GET/beneficiaries/state/\{id} | Ошибка данной транзакции вызвана ошибкой в другой транзакции из этого запроса | Если ранее был отправлен запрос на исполнение смарт-контракта (по реквизитам счета или по СБП) с несколькими транзакциями в запросе, и в процессе обработки этих транзакций по одной из них возникла ошибка (ошибка возвращается в теле 200-го ответа, в атрибуте errorMessage массива events) |
| 400 | POST/smart-contracts/confirmstep | Некорректный счет и/или БИК получателя | Если пара счет+бик в блоке payee не соответствует стандарту |
| 400 | POST/smart-contracts POST/smart-contracts/async | Смарт-контракт с таким идентификатором уже существует | Если в системе банка уже создан смарт-контракт с таким же идентификатором, как в запросе |
| 429 | POST/smart-contracts POST/beneficiaries/moneyback POST/beneficiaries/delete POST/beneficiaries/update POST/smart-contracts/completion | Слишком много запросов к бенефициару | Если по одному бенефициару со стороны площадки выполняется слишком много запросов за короткий промежуток времени |
| 400 | POST/beneficiaries/create | Бенефициар с id $beneficiaryId уже существует | Если в системе банка уже создан бенефициар с таким же идентификатором, как в запросе |
| 400 | POST/beneficiaries/create | Такой бенефициар у номинального счета $nominalAccountId уже существует | Если бенефициар с такими данными уже внесен в реестр на номинальном счете (на одном номинальном счете не может быть несколько бенефициаров с одинаковыми данными) |
| 400 | POST/beneficiaries/create | Переданный clientId не соответствует номинальному счету | Если заголовок clientId из запроса не соответствует номинальному счету, в рамках которого был отправлен запрос |
| 400 | POST/beneficiaries/create | Неверный номер счета и/или БИК | Если пара счет+бик в блоке account не соответствует стандарту |
| 400 | POST/beneficiaries/update | Неверные данные счета | Если в блоке account переданы некорректные данные |
| 400 | POST/beneficiaries/create | Неверные данные в запросе | Если тип бенефициара (значение beneficiaryType) в запросе не соответствует переданным полям. К примеру, если тип бенефициара указан 2 (ИП), а данные переданы, как для 3 (ФЛ) |
| 400 | POST/beneficiaries/update POST/beneficiaries/create | Номер телефона должен быть указан в федеральном формате | Если значение атрибута phone из запроса не соответствует паттерну ^((8|+7)\[ -]?)?((?\d\{3})?\[ -]?)?\[\d -]\{7,10}$ |
| 400 | POST/beneficiaries/update POST/beneficiaries/create | Есть бенефициар с этим счетом | Если бенефициар с таким счетом (блок account из запроса) уже заведен в систему банка |
| 400 | POST/beneficiaries/update | Индивидуальный предприниматель и физическое лицо не имеют реквизита orgName | Если осуществляется попытка изменить наименование бенефициара ФЛ или ИП |
| 400 | POST/beneficiaries/delete | Удаление бенефициара=$beneficiaryId невозможно. Статус бенефициара=$status | Если осуществляется попытка удалить бенефициара, который находится в статусе отличном от ACTIVATED |
| 400 | POST/beneficiaries/delete | Баланс должен быть 0 до удаления бенефициара | Если осуществляется попытка удалить бенефициара, баланс которого > 0 |
| 400 | POST/beneficiaries/delete | Все действующие смарт-контракты должны быть завершены перед удалением бенефициара | Если осуществляется попытка удалить бенефициара, у которого есть незавершенные смарт-контракты |
| 400 | GET/refunds | Неверный параметр сортировки | Если в запросе передано неизвестное значение параметра sortMethod |
| 400 | GET/refunds GET/beneficiaries/balance-report/\{id} | endDate не может быть больше даты текущего дня | Если в запросе в параметре endDate передано значение, которое > текущего дня |
| 400 | GET/refunds GET/beneficiaries/balance-report/\{id} | startDate и endDate не могут быть больше даты текущего дня | Если в запросе в параметрах startDate или endDate передано значение, которое > текущего дня |
| 400 | GET/refunds GET/beneficiaries/balance-report/\{id} | startDate не может быть больше даты конца | Если в запросе в параметре startDate передано значение, которое > значения параметра endDate |
| 400 | POST/beneficiaries/moneyback | Неверные данные бенефициара | Если возникла ошибка при валидации данных бенефициара из запроса (ИНН бенефициара из запроса не соответствует ИНН бенефициара в системе банка) |
| 400 | GET/sbp/b2c/bankList | Пожалуйста, попробуйте позднее | Если в системе банка возникла ошибка при получении списка банков участников СБП |
| 400 | POST/sbp/b2c/smart-contracts/confirmstep | Транзакция в указанный банк невозможна | Если в транзакции запроса передан БИК банка получателя (атрибут payee.bankBIC), которого нет в списке банков участников СБП в системе банка |
| 400 | POST/signup | Номинальный счет для clientId=clientId не найден | Если попытка активации АПИ выполняется для номинального счета с другим владельцем |
| 400 | POST/signup | Номинальный счет еще не готов для активации. Пожалуйста, попробуйте позднее | Если попытка активации АПИ выполняется для номинального счета, который еще не активен |
| 400 | POST/signup | Номинальный счет=nominalAccountId уже связан с clientId | Если производится повторная попытка активации АПИ для номинального счета (ранее кто-то уже активировал АПИ для данного номинального счета с другим clientId) |
| 400 | GET/beneficiaries/\{beneficiaryId}/balance/events/\{eventId} | Некорректный eventId=$eventId | Если в атрибуте eventId в запросе передано значение, которое не соответствует формату UUID |
| 400 | GET/beneficiaries/\{beneficiaryId}/balance/events/\{eventId} | Событие с eventId=$eventId не найдено | Если по значению атрибута eventId из запроса в системе банка не найдено событие |
| 400 | GET/beneficiaries/\{beneficiaryId}/balance/events/\{eventId} | Событие не относится к бенефициару=$beneficiaryId | Если событие, найденное по значению атрибута eventId из запроса, не относится к бенефициару из запроса (beneficiaryId) |
| 400 | GET/beneficiaries/state/\{id} GET/beneficiaries/balance-report/\{id} | Неизвестный тип события (EventType) | Если в параметре eventType или filterEventType в запросе передано некорректное значение |
| 400 | GET/beneficiaries/state/\{id} | Неизвестное значение события (EventValue) | Если в параметре filterEventValue в запросе передано некорректное значение |
| 400 | POST/smart-contracts/confirmstep | Тип блока payee не соответствует типу транзакции | Если данные в блоке payee в запросе не соответствуют типу транзакции (transactionType) |
| 400 | POST/smart-contracts/confirmstep (в рамках перевода средств между бенефициарами) | Не заполнен id бенефициара-получателя средств | Если в блоке payee (схема beneficiaryPayee) в запросе не заполнен атрибут beneficiaryId |
| 400 | POST/smart-contracts/confirmstep (в рамках перевода средств между бенефициарами) | Бенефициар-получатель средств совпадает с бенефициаром-плательщиком | Если значение атрибута beneficiaryId в блоке payer = значению атрибута beneficiaryId блока payee в запросе (схема beneficiaryPayee) |
| 400 | POST/smart-contracts/confirmstep (в рамках перевода средств между бенефициарами) | Бенефициар-получатель средств имеет ограничения на зачисление средств | Если в пользу бенефициара получателя средств со стороны банка установлены блокирующие ограничения на зачисления |
| 400 | GET/beneficiaries/\{beneficiaryId}/credit/payment-order-qr/create | Неверный идентификатор $uuid | Если значение атрибута beneficiaryId в запросе не соответствует формату UUID |
| 400 | GET /v1/nominal-account/transactions/\{id} | Транзакция $txId не найдена | Если не найдена транзакция по идентификатору из запроса |
| 400 | POST /v1/nominal-account/smart-contracts/confirmstep POST /v1/nominal-account/sbp/b2c/smart-contracts/confirmstep POST /v1/nominal-account/smart-contracts/completion | У смарт-контракта неверный статус: $status | Для выполнения запроса у смарт-контракта должен быть статус "run" |
| 400 | POST /v1/nominal-account/smart-contracts/completion | Смарт-контракт находится в процессе обработки. Пожалуйста, подождите | По данному смарт-контракту ранее был вызван метод POST/confirmstep, который еще находится в процессе обработки |
| 400 | POST /v1/nominal-account/beneficiaries/create POST /v1/nominal-account/beneficiaries/update POST /v1/nominal-account/beneficiaries/delete POST /v1/nominal-account/smart-contracts POST /v1/nominal-account/smart-contracts/async POST /v1/nominal-account/smart-contracts/confirmstep POST /v1/nominal-account/smart-contracts/completion POST /v1/nominal-account/smart-contracts/receipt/create POST /v1/nominal-account/beneficiaries/moneyback | Активный номинальный счет не найден | В рамках вызова метода отправлен id номинального счета, которого нет в системе Безопасных сделок или его статус не "activated" |
| 400 | POST /v1/nominal-account/beneficiaries/create | Бенефициар с таким id уже существует | В запросе отправлен id бенефициара, который уже зарегистрирован в системе Безопасных сделок |
| 400 | Все запросы с заголовком nominalAccountId | Номинальный счет=$nomAcc и clientId=$clientId не соответствуют друг другу | nominalAccountId из запроса не соответствует clientId из запроса |
| 400 | POST /v1/nominal-account/beneficiaries/update | Индивидуальный предприниматель и физическое лицо не имеют атрибута orgName | Для бенефициаров ИП или ФЛ заполнено значение orgName |
| 400 | POST /v1/nominal-account/beneficiaries/delete | Удаление невозможно. Бенефициар в статусе=$status | Попытка удаления бенефициара в статусе отличном от "activated" |
| 400 | POST /v1/nominal-account/beneficiaries/delete | Баланс должен быть 0 до удаления бенефициара=$beneficiaryId | Попытка удаления бенефициара, баланс которого больше 0 |
| 400 | GET /v1/nominal-account/beneficiaries/state/\{beneficiaryId} | Не найден баланс у бенефициара=$beneficiaryId | Не найден баланс у бенефициара из запроса |
| 400 | POST /v1/nominal-account/smart-contracts/confirmstep | Тип блока payee не соответствует транзакции типа INTERNAL | Для транзакции типа "INTERNAL" в объекте payee не заполнен атрибут "beneficiaryId" |
| 400 | POST /v1/nominal-account/beneficiaries/update POST /v1/nominal-account/beneficiaries/moneyback | Некорректно заполнен объект account | В запросе не заполнен или заполнен некорректно объект account |
| 400 | POST /v1/nominal-account/beneficiaries/create POST /v1/nominal-account/beneficiaries/update | В рамках номинального счета существует другой бенефициар с таким номером телефона для вывода средств по СБП | В запросе в объекте account передан номер телефона для вывода средств по СБП, который привязан к другому бенефициару номинального счета |
| 400 | POST /v1/nominal-account/smart-contracts/receipt/create | Для платежей в сторонние банки формирование чеков не поддерживается | В запросе переданы данные стороннего банка (не Сбер) для формирования чека |
| 500 | Все методы | Неизвестная ошибка | Техническая ошибка |
| 400 | POST /v1/nominal-account/smart-contracts/confirmstep GET /v1/nominal-account/sbp/b2c/smart-contracts/confirmstep | Получатель средств не является самозанятым | В запросе инициирована проверка на самозанятость получателя средств (объект payee), который не является самозанятым |
| 400 | Определенный scope методов | Для номинального счета $accNumber метод недоступен | Вызван метод, который не входит в scope методов для данного номинального счета |
---
# Overview
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/transfers/overview.md)
---
# Платежные поручения
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/transfers/payments/overview.md)
## Информация о продукте
Платежное поручение – это документ, который используется для указания банку перевести определенную сумму денег с одного счета на другой. Обычно это делается, когда компания хочет произвести оплату за товары или услуги, перевести деньги индивидуальному предпринимателю или юридическому лицу.
Платежные поручения используются широким кругом лиц, включая индивидуальных предпринимателей, малый и средний бизнес, крупные корпорации и даже государственные учреждения. Их используют, когда нужно сделать перевод, который требует предварительного уведомления или планирования (например, оплата аренды, коммунальных услуг или выплата заработной платы).
Больше полезной информации о расчетах и платежах можно изучить на [сайте Банка](https://www.sberbank.ru/help/business/payments).
## Схема работы продукта
| **#** | **Что делаем** | **Подробности** |
| ----- | -------------------------------------------------------- | -----------------------------|
| 1 | Авторизуйте Пользователя с помощью СберБизнес ID | Подробно о подключении и работе сервиса СберБизнес ID рассказали в [соответствующем разделе документации](/ru/sber-api/scenarios/profile-creation/sbbid/overview).|
| 2 | Получите реквизиты для формирования Платежного поручения | Запрос `/fintech/api/v1/client-info` и токен доступа (**access\_token**) Пользователя позволит вам получить часть реквизитов для создания платежного поручения, в частности информацию о доступных счетах для списания денежных средств.
Предоставьте Пользователю в UI вашей платформы заполнить реквизиты получателя платежа. Теперь у вас есть вся необходимая информация для создания платежного поручения. Можно переходить к следующему шагу. |
| 3 | Создайте и подпишите платежное поручение | Запрос `/fintech/api/v1/payments` и токен доступа (**access\_token**) Пользователя позволит создать Платежное поручение в СберБизнес Пользователя.
Если вместе с запросом передать ЭП к документу, то Банк сразу начнет обработку документа. У вас есть возможность автоматизировать подписание платежных документов в API - подробно о работе с ЭП рассказали в [соответствующем разделе документации](/ru/sber-api/start/eds-in-api).
Если запрос передать без ЭП к документу, в СберБизнес будет создан черновик Платежного поручения. Пользователю дополнительно потребуется перейти в UI СберБизнес и подписать документ. |
| 4 | Проверьте статус и корректность оплаты | С помощью запроса `/fintech/api/v1/payments/{externalId}/state` вы сможете разработать механизм проверки статуса оплаты и реакцию Платформы на каждый из них.
С помощью запроса `/fintech/api/v1/payments/{externalId}` вы сможете получить все параметры ранее созданного платежного поручения. Эту информацию можно использовать, например, в механизме проверки корректности платежа. |
## Варианты реализации
:::note
Ниже будут приведены примеры реализации. Сценарии могут быть для вас отправной точкой и идеей для финального способа реализации функциональности.
:::
Сценарии описали общие, для более легкого восприятия информации описания работы с продуктом Платежные поручения в Sber API.
Можно использовать разные триггеры запуска того или иного сценария - действия пользователя, регламентный запуск по времени, наступление определенных событий и другие варианты.
Осуществление перевода по расчетному счету
В схеме можно использовать автоматизированное подписание документа. Данная возможность доступна только при использовании ЭП сотрудника вашей компании.
Подробнее об использовании ЭП в Sber API можно почитать в [одноименном разделе](/ru/sber-api/start/eds-in-api).
**Шаги**
1. Получить реквизиты для формирования Платежного поручения
2. Создать и подписать платежное поручение
**Участники usecase**
* **Пользователь** - сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках вашего сервиса (Платформа)
* **Платформа** - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
* **Sber API** - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
**Предусловия**
* Пользователь имеет пользовательский профиль в СберБизнес своей компании
* Пользователь находится в пространстве Платформы
* Пользователь прошел авторизацию с помощью СберБизнес ID
**Постусловия**
* Создано и подписано платежное поручение
```mermaid
sequenceDiagram
autonumber
actor User as Пользователь
participant Platform as Платформа
participant API as Sber API
User->>+Platform: Выбрал операцию "Сделать перевод по расчетному счету"
Note over User,API: 1. Получить реквизиты для формирования Платежного поручения
Platform->>+API: Запросила информацию о доступных Пользователю счетах GET /fintech/api/v1/client-info/ +access_token Пользователя
API-->>-Platform: Вернул информацию 200 OK ClientInfo: array[Account] и др. данные
alt 401 Unauthorized
Note over Platform,API: Обновите access_token с помощью refresh_token.
end
Platform->>Platform: Предзаполнила форму перевода доступными данными
Platform-->>-User: Предложила заполнить форму перевода
User->>+Platform: Заполнил данные получателя платежа и выбрал счет списания
Note over User,API: 2. Создать и подписать платежное поручение
opt Если разработали автоматизированное подписание с помощью ЭЦП
Platform->>Platform: Создала электронную подпись к документу
Note left of Platform: Подробную информацию о работе с ЭП в Sber API читайте в соответствующем разделе спецификации
end
Platform->>+API: Отправила запрос на создание платежного поручения POST /fintech/api/v1/payments/ +access_token Пользователя +реквизиты перевода +externalId +ЭП к дайджесту (опционально)
API-->>-Platform: Подтвердил создание платежного поручения 201 Created реквизиты перевода + bankComment + bankStatus + crucialFieldsHash
Platform-->>-User: Проинформировала о создании платежного поручения
alt Если отсутствует автоматизированное подписание с помощью ЭЦП
User->>User: Зашел в СберБизнес и подписал платежный документ
end
```
**Используемые запросы**
| № | Метод | Описание | Операция в scope | Шаг в схеме |
|---|-------|----------|------------------|-------------|
| 1 | | Получение информации о компании | GET\_CLIENT\_ACCOUNTS | 1. Получить реквизиты для формирования платежного поручения |
| 2 | | Обновление токена доступа | openid | 1. Получить реквизиты для формирования платежного поручения |
| 3 | | Создание рублевого платежного поручения | PAY\_DOC\_RU | 2. Создать и подписать платежное поручение |
Проверка статуса и корректности оплаты
Время начала и частоту проверки статуса и корректности оплаты вы определяете самостоятельно исходя из своих бизнес-задач.
**Шаги**
1. Получить статус оплаты,
2. Проверить корректность
**Участники usecase**
* **Платформа** - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
* **Sber API** - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
**Предусловия**
* Успешно выполнен сценарий "Осуществление перевода по расчетному счету"
* Платформа сохранила идентификатор (extertalId) платежного поручения, созданного в рамках сценария "Осуществление перевода по расчетному счету"
**Постусловия**
* Платежное поручение оплачено
* Проверена корректность проведенной оплаты
```mermaid
sequenceDiagram
autonumber
participant Platform as Платформа
participant API as Sber API
Note over Platform,API: 1. Получить статус оплаты
Platform->>+API: Запросила статус оплаты GET /v1/payments/{externalId}/state/ +access_token Пользователя +externalId (ранее созданного платежного поручения)
API-->>-Platform: Вернул статус оплаты 200 OK bankStatus, crucialFieldsHash
alt 401 Unauthorized
Note over Platform,API: Обновите access_token с помощью refresh_token.
end
Note over Platform,API: При получении значения IMPLEMENTED в параметре bankStatus можно продолжить сценарий Полную статусную модель платежного поручения можно посмотреть на странице описания метода /v1/payments/{externalId}/state.
Note over Platform,API: 2. Проверить корректность
Note over Platform,API: Параметр crucialFieldsHash используется для выявления изменений в определенных полях объекта. Параметр является хешем, который генерируется на основе значений этих полей. Если хеш изменяется - это означает, что данные в полях были изменены.
Platform->>Platform: Сверила crucialFieldsHash Сравнивает значение, полученные при создании документа, с текущим значением из запроса статуса оплаты
alt crucialFieldsHash совпадают
Note over Platform,API: Ваш бизнес-сценарий (например, проинформировать пользователя об успешной оплате)
else crucialFieldsHash различаются
Platform->>+API: Запросила полные данные платежного поручения GET /v1/payments/{externalId}/ +access_token Пользователя +externalId (ранее созданного платежного поручения)
API-->>-Platform: Вернул параметры платежного поручения 200 OK Все атрибуты платежного поручения
Platform->>Platform: Сравнила параметры и выявила изменения
Note over Platform,API: Ваш сценарий работы с пользователем
end
```
| № | Метод | Описание | Операция в scope | Шаг в схеме |
|---|-------|----------|------------------|-------------|
| 1 | | Получение статуса рублевого платежного поручения | PAY\_DOC\_RU | 1. Получить статус оплаты |
| 2 | | Обновление токена доступа | openid | 1. Получить статус оплаты |
| 3 | | Получение платежного поручения | PAY\_DOC\_RU | 2. Проверить корректность |
Подтвердить платеж с помощью QR
Сценарий предназначен для создания платежного документа и его подтверждения с использованием мобильного приложения банка путем сканирования QR-кода.
**Шаги**
1. Получение токена доступа
2. Создание черновика РПП
3. Формирование QR-кода
4. Сканирование QR-кода
5. Подтверждение РПП
**Участники usecase**
* **Клиент** – любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которая инициирует платеж
* **Sber API** – в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Клиент
* **Мобильное приложение** – приложение банка на устройстве пользователя, используемое для сканирования QR-кода и подтверждения операций
**Предусловия**
* Клиент авторизован в Sber API
* У клиента есть действующий `access_token` либо возможность его получить через `refresh_token`
**Постусловия**
* Создано платежное поручение со статусом черновика
* Сгенерирован QR-код для подтверждения операции
* Пользователь подтвердил РПП через мобильное приложение
```mermaid
sequenceDiagram
autonumber
participant Client as Клиент
participant API as Sber API
participant Mobile as Мобильное приложение
Note over Client,Mobile: 1. Создание черновика РПП
Client->>+API: Создание черновика РПП /v1/payments
API-->>-Client: externalId
Note over Client,Mobile: 2. Формирование QR-кода
Client->>+API: Формирование QR-кода /v1/payments/qr-confirm (externalId в body)
API-->>-Client: QR-код
Note over Client,Mobile: 3. Сканирование QR-кода
Client->>+Mobile: Сканирование QR-кода
Mobile-->>-Client: Отображение РПП
Note over Client,Mobile: 4. Подтверждение РПП
Client->>+Mobile: Подтверждение РПП
Mobile-->>-Client: РПП подтвержден
```
| № | Метод | Описание | Операция в scope | Шаг в схеме |
|---|-------|----------|------------------|-------------|
| 1 | | Создание черновика РПП | PAY\_DOC\_RU | 1. Создание черновика РПП |
| 2 | | Формирование QR-кода | PAY\_DOC\_RU | 2. Формирование QR-кода |
## Оплата за счет кредитных средств (РПП ЗКС)
### 1. Формирование платежного поручения
Для создания рублевого платежного поручения за счет кредитных средств (РПП ЗКС) через API необходимо передать в запросе дополнительные атрибуты:
```yaml
isPaidByCredit: true # Признак оплаты за счет кредитных средств (обязательно при РПП ЗКС)
creditContractNumber: "2020/66556" # Номер кредитного договора
```
### 2. Дополнительное действие в СберБизнес
После успешного создания РПП ЗКС через API **необходимо**:
1. Войти в **СберБизнес**
2. К РПП ЗКС создать **"Распоряжение о зачислении кредитных средств"**
:::note
Без распоряжения платеж не будет исполнен.
:::
## Дополнительная информация
### Назначение платежа
Назначение должно раскрывать экономический смысл платежа.
* Сведения должны быть лаконичными — у поля есть ограничения по знакам 210 символов.
* В назначении необходимо указать реквизиты документа, по которому вы осуществляете платеж, например, номер договора или счета.
* Рекомендуем указывать конкретный предмет оплаты.
* Если платеж с НДС, необходимо прописать точную сумму налога. Ниже подробнее рассказали о формировании информации об НДС в назначении платежа.
Рекомендуемый вариант заполнения:
```text
Оплата по договору [номер договора] от [дата договора]. НДС [ставка НДС]% - [сумма НДС] рубля [способ расчета НДС]. [Любая ваша информация]
```
При формировании платёжного поручения для контрагента-нерезидента **в начале поля** "Назначение платежа" необходимо указывать уникальный код операции.
**Формат:** \{VOXXXXX} Обычный текст назначения платежа,
где XXXXX - значение параметра voCode
### Параметры НДС
Чтобы все работало правильно, нужно передать такие параметры:
* Если НДС (объект "vat") не передан в запросе, то будут использованы эти значения:
```json
"vat": {
"type": "NO_VAT",
"rate": "0",
"amount": 0.00
}
```
В поле «type» можно выбрать одно из следующих значений:
* `ONTOP` - НДС рассчитан по указанной ставке и добавляется к сумме платежа. Необходимо в поле "amount" (сумма платежа) указывать итоговую сумму оплаты (с учетом НДС).
* `INCLUDED` - НДС рассчитан по указанной ставке и включен в указанную сумму платежа. В поле «vat.amount» укажите сумму НДС. В поле «Назначение платежа» обязательно укажите посчитанную сумму НДС.
* `MANUAL` - Рассчитан и введен вручную (для сложных процентных ставок). Поле «vat.amount» заполнять необязательно, но по умолчанию сумма НДС будет равна нулю. Если же поле заполнено, то укажите нужную сумму НДС в соответствии с форматом.
* `NO_VAT` - НДС не облагается. В поле «Назначение платежа» обязательно укажите НДС не облагается.
Клиент вне зависимости от выбранного типа самостоятельно должен рассчитать конечную сумму к оплате и сумму НДС и указать эти значения в запросах. В поле "amount" (сумма платежа) указывается итоговая сумма платежа (с учетом НДС), в массиве "vat": поле amount указывается сумма НДС.
Пример заполнения: `НДС 10% — 100.63` рубля или `НДС 10%_100.63`. Если процентное значение не указано, то дефис перед суммой ставить не нужно: `НДС 100.63 рубля`.
#### Значения vat в запросе и информация по НДС в платёжной форме
1. **Значение `vat` в запросе:** `"vat"` не передан (отсутствует поле)
*Информация по НДС в платёжной форме:* НДС не облагается
2. **Значение `vat` в запросе:** `"vat": null`
*Информация по НДС в платёжной форме:* Нет информации об НДС.
Если необходимо указать несколько ставок НДС, выбрать данный способ передачи `vat`. В назначении платежа необходимо указать информацию о разных ставках НДС следующим образом: Оплата по заказу №1111 (в т.ч. НДС 10% - 15.00 руб., 22% - 100.00 руб.)
3. **Значение `vat` в запросе:**
```json
"vat": {
"type": "ONTOP",
"rate": "0",
"amount": "1000.00"
}
```
или
```json
"vat": {
"type": "INCLUDED",
"rate": "0",
"amount": "1000.00"
}
```
*Информация по НДС в платёжной форме:* в т.ч. НДС 0%
4. **Значение `vat` в запросе:**
```json
"vat": {
"type": "MANUAL",
"rate": "0",
"amount": "1000.00"
}
```
*Информация по НДС в платёжной форме:* НДС 1000,00 руб.
5. **Значение `vat` в запросе:**
```json
"vat": {
"type": "ONTOP",
"rate": "10",
"amount": "1000.00"
}
```
или
```json
"vat": {
"type": "INCLUDED",
"rate": "10",
"amount": "1000.00"
}
```
*Информация по НДС в платёжной форме:* в т.ч. НДС 10%
6. **Значение `vat` в запросе:**
```json
"vat": {
"type": "NO_VAT",
"rate": "0",
"amount": "1000.00"
}
```
*Информация по НДС в платёжной форме:* НДС не облагается
---
# Opisanie Servisov
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/transfers/qr-payment/opisanie-servisov.md)
## Описание
## Описание сервиса
Функциональность сервиса реализуется набором API-ресурсов, описанных ниже.
Шлюз API: `http://mc.api.sberbank.ru/:443`
Для доступа используйте отечественные сертификаты, выданные УЦ Министерства цифрового развития, связи и массовых коммуникаций РФ.
### Основные ресурсы
* [/qr/order/v3/creation](/ru/sber-api/specifications/qr/plati-qr/order-create) — создание заказа и формирование динамического QR-кода под создаваемый заказ (по запросу клиента): QR код уже содержит сумму данного заказа,
* [/qr/order/v3/status](/ru/sber-api/specifications/qr/plati-qr/status-request) — запрос статуса заказа: получение статуса оплаты и детализации по операциям,
* [/qr/order/v3/revocation](/ru/sber-api/specifications/qr/plati-qr/order-cancel) — отмена неоплаченного заказа: покупатель не произвел оплату в установленное время (как правило на сайтах до 20 минут ожидания), либо выбрал другой способ оплаты,
* [/qr/order/v3/cancel](/ru/sber-api/specifications/qr/plati-qr-bscanc/customer-qr) — отмена/возврат финансовой операции,
* [/qr/order/v3/registry](/ru/sber-api/specifications/qr/plati-qr/operations-list-request) — запрос реестра операций.
### Дополнительные ресурсы (реализованы как отдельные API)
* [/qr/bscanc/v1/pay](/ru/sber-api/specifications/qr/plati-qr-bscanc/customer-qr) — сканирование QR-кода Покупателя, отображаемого в мобильном приложении Сбербанк Онлайн, считывателем (ридером) и проведение операции покупки (BsсanC),
* [/qr/order/notify/v1/notify](/ru/sber-api/specifications/qr/platy-qr-notify/qr-notifications) — получение уведомлений об оплате заказа (об изменении статуса заказа на "Оплачено").
## Использование ресурсов в сценариях оплаты
| Сценарии оплаты | /v3/creation | /v3/status | /v3/revocation | /v3/cancel | /v3/registry | /v3/pay | /v3/notify |
| --------------------------------------- | ------------ | ---------- | -------------- | ---------- | ------------ | ------- | ---------- |
| **QR-код продавца (SberPay QR)** | + | + | + | + | + | - | + |
| **QR-код продавца (Плати QR от Сбера)** | + | + | + | + | + | - | + |
| **QR-код продавца (СБП)** | + | + | + | + | + | - | - |
| **QR-код покупателя (SberPay QR)** | + | + | + | + | + | + | - |
### Варианты реализации сценариев
| **Описание метода** | **Сценарий оплаты** | **URL** | **Инициатор** | **Потребитель** | **Синхронный** |
| --------------------- | ----------- | -------------- | ------------- | --------------- | -------------- |
| Проведение платежа по QR ФЛ | QR-код Покупателя | /oauth:`https://mc.api.sberbank.ru:443/prod/tokens/v3/oauth` /pay:`https://mc.api.sberbank.ru:443/prod/qr/bscanc/v1/pay` scope:`https://api.sberbank.ru/qr/order`.pay | Клиент | Сбербанк | Да |
| Создание заказа | QR-код Продавца, QR-код СБП | /oauth:`https://mc.api.sberbank.ru:443/prod/tokens/v3/oauth` /creation:`https://mc.api.sberbank.ru:443/prod/qr/order/v3/creation` scope:`https://api.sberbank.ru/qr/order`.create | Клиент | Сбербанк | Да |
| Запрос статуса заказа | QR-код Покупателя, QR-код Продавца, QR-код СБП | /oauth:`https://mc.api.sberbank.ru:443/prod/tokens/v3/oauth` /status:`https://mc.api.sberbank.ru:443/prod/qr/order/v3/status` scope:`https://api.sberbank.ru/qr/order`.status | Клиент | Сбербанк | Да |
| Отмена сформированного заказа (до проведения финансовой операции) | QR-код Покупателя, QR-код Продавца, QR-код СБП | /oauth:`https://mc.api.sberbank.ru:443/prod/tokens/v3/oauth` /revocation:`https://mc.api.sberbank.ru:443/prod/qr/order/v3/revocation` scope:`https://api.sberbank.ru/qr/order`.revoke | Клиент | Сбербанк | Да |
| Отмена/возврат финансовой операции | QR-код Покупателя, QR-код Продавца, QR-код СБП | /oauth:`https://mc.api.sberbank.ru:443/prod/tokens/v3/oauth` /cancel:`https://mc.api.sberbank.ru:443/prod/qr/order/v3/cancel` scope:`https://api.sberbank.ru/qr/order`.cancel | Клиент | Сбербанк | Да |
| Запрос Реестра операций | QR-код Покупателя, QR-код Продавца, QR-код СБП | /oauth:`https://mc.api.sberbank.ru:443/prod/tokens/v3/oauth` /registry:`https://mc.api.sberbank.ru:443/prod/qr/order/v3/registry` scope:auth://qr/order.registry | Клиент | Сбербанк | Да |
| Исходящий сервис уведомления об оплате заказа | QR-код Покупателя, QR-код Продавца | /oauth:`https://mc.api.sberbank.ru:443/prod/tokens/v3/oauth` /notify:\\* scope:auth://qr/order.notify \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ **\* Партнер должен реализовать на своей стороне метод /notify, на который будут приходить уведомления, и передать endpoint в СБЕР для проксирования вызова** | Сбербанк | Клиент | Да |
---
# Общие сведения
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/transfers/qr-payment/overview.md)
## Что это такое?
Оплата по QR-коду – современный способ приема платежей с помощью матричного (двумерного) штрихового кода. Для оплаты можно использовать:
* Приложение СберБанк Онлайн (**SberPay QR**).
К оплате по QR-коду принимаются карты Сбербанка, в том числе кредитные. Бонусы от СберСпасибо начисляются как по карте Сбербанка.
* Приложения банков-партнеров (**Плати QR от Сбера**).
К оплате по QR-коду принимаются карты банков-партнеров, в том числе кредитные.
* Систему Быстрых Платежей (**СБП QR**).
К оплате по QR-коду СБП принимаются карты Сбербанка и карты [банков участников СБП](https://sbp.nspk.ru/).
## Сценарии оплаты
### QR-код продавца (SberPay QR/Плати QR от Сбера)
QR-код генерируется на стороне продавца под каждую покупку, включает сумму оплаты. Покупатель сканирует телефоном QR-код в кассовой зоне/киоске самообслуживания, на сайте и так далее.
### QR-код продавца (СБП)
QR-код генерируется на стороне продавца под каждую покупку, включает сумму оплаты. Покупатель сканирует телефоном QR-код в кассовой зоне/киоске самообслуживания, на сайте и так далее.
### QR-код покупателя
QR-код генерируется покупателем в мобильном приложении Сбербанк Онлайн. Продавец сканирует QR с телефона покупателя для оплаты (только карты Сбербанка).
---
# Подключение к сервисам QR Payment Sber API
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/transfers/qr-payment/podkluchenie.md)
## Описание
# Подключение оплаты QR-кодом
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/transfers/qr-payment/podkluchenie.md)
## Портал разработчика Sber API Registry
Ссылка на портал: [https://api.developer.sber.ru/](https://api.developer.sber.ru/)
На текущий момент платформа **QR.API** на портале разработчика имеет следующие настройки видимости:
* пре-логин зона - доступно всем,
* возможность подписки – доступно всем зарегистрированным пользователям ФЛ с привязкой к ЮЛ (пост-логин зона).
Партнеры имеют возможность регистрации на портале разработчика как ФЛ. Затем через менеджеров поддержки сервиса необходимо зарегистрировать организацию - ЮЛ и связать зарегистрированное ФЛ с организацией .
Далее для организации необходимо создать приложение организации и подписать его на платформу **QR.API** с выбранными тарифами. Во все тарифы включен API авторизации (token 3.0.0)
Для корректной и безопасной работы со SberAPI следует использовать рекомендованный список SSL-шифров:
**ssl\_protocols** TLSv1.2 TLSv1.3;
**ssl\_ciphers** ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:TLS\_AES\_128\_GCM\_SHA256:TLS\_AES\_256\_GCM\_SHA384:TLS\_CHACHA20\_POLY1305\_SHA256;
### Этап 1. Подключение организации к порталу разработчика Sber API
#### Регистрация на портале (физ лица)
Регистрация на портале состоит из нескольких шагов:
* онлайн регистрации физ. лица,
* офлайн регистрации юр. лица (организации) - настройка производится после заключения договора по запросу в тех. поддержку
* онлайн прикрепления персонального профиля физ. лица к организации (настройка в ЛК на портале).
1. Перейдите на страницу портала разработчика [https://api.developer.sber.ru/](https://api.developer.sber.ru/), нажмите кнопку «Зарегистрироваться»
2. На открывшейся форме нужно пройти стандартную регистрацию с введением почты или войти по SberID/Сбербизнес ID. Для первичной регистрации физ. лица нажмите «зарегистрироваться».
* *Если воспользоваться стандартной регистрацией с введением почты, то аккаунт будет создан на ФЛ и далее потребуются дополнительные действия для регистрации Организации.*
* *Если войти по СберБизнесID с использованием СбербанкБизнесОнлайн, Организация будет создана автоматически, но для завершения настройки подключения требуется заключить договор обратившись к менеджеру Сбербанка. Инструкция по входу через СберБизнесID:* [https://api.developer.sber.ru/how-to-use/sberbusiness\_id](https://api.developer.sber.ru/how-to-use/sberbusiness_id)
При регистрации физ лица на указанный адрес электронной почты поступит письмо для подтверждения:
3. После подтверждения учетной записи по ссылке вы вернетесь на главную страницу портала. Для входа в учетную запись (в личный кабинет) нажмите на кнопку «войти» в правом верхнем углу.
4. После входа на портал под своей учетной записью отредактируйте свой профиль (в правом верхнем углу) – укажите ФИО и номер телефона. Здесь же можно сменить пароль.
#### Регистрация на портале (юр лица)
Для создания Организации необходимо направить заполненную Анкету (документ размещен в следующем абзаце) на почту [support@ecom.sberbank.ru](mailto:support@ecom.sberbank.ru) c отметкой «продукт: QR.API, регистрация. Организации, API V3.0.0». В ответ поступит информация с присвоенным номером **MemberID** и в течение 3 дней будет создана Организация.
Если организация была создана при входе на портал под СберБизнесID, для дальнейшей настройки вам так же необходимо заполнить анкету и обратится к менеджеру Сбербанка для заключения договора и получить **MemberID** организации.
* Анкета для подключения к сервису "SberPay QR/Плати QR": [Anketa QR.API (SberPay QR).xlsx](./anketa-qr-api.xlsx)
* Анкета для подключения к сервису "СБП QR": [Anketa QR.API (QR SBP).xlsx](./anketa-qrsbp-api.xlsx)
После регистрации организации и присвоения **MemberId** необходимо зайти в ЛК, затем в раздел «мой профиль» и переключиться в режим организации.
Чтобы при входе в ЛК попадать в режим организации отметьте чек-бокс «установить по умолчанию» после включения режима организации:
После отметки чекбокса будет запрошено подтверждение:
Для работы с **QR.API** необходимо создать приложение и подписать его на соответствующий сервис. Одно приложение может быть подписано на несколько сервисов.
# Этап 2. Создание приложения и выпуск сертификата
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/transfers/qr-payment/podkluchenie.md)
Для создания приложения необходимо войти в ЛК в режиме организации и нажать «создать новое приложение»:
Откроется форма создания приложения, в которой необходимо указать произвольное название и описание. Поле OAuth Redirect URI не используется и не требует заполнения.
Одновременно с созданием приложения необходимо выпустить сертификат. Сертификат выпускается на почту личного аккаунта.
Придумайте пароль состоящий из латинских букв и цифр длиной не менее 8 символов.
Работа с сертификатами описана по ссылке: [https://api.developer.sber.ru/how-to-use/create\_certificate](https://api.developer.sber.ru/how-to-use/create_certificate)
Оповещений на e-mail о истечении срока действия сертификата не предусмотрено. Новый сертификат можно выпустить за 60 дней до окончания срока действия текущего сертификата.
После заполнения описания приложения и пароля сертификата нажмите кнопку «Создать»
**ВАЖНО!** После создания приложения откроется окно с ClientID и ClientSecret. ClientSecret будет показан 1 раз, его необходимо скопировать и сохранить себе отдельно для использования в дальнейшем при интеграции.
Сертификат необходимо установить на устройство, с которого будет производиться подключение к API. Для расшифровки контейнера необходимо использовать введенный вами пароль на этапе заказа сертификата в Личном кабинете.
Срок действия сертификата один год (контроль и перевыпуск сертификата осуществляется на стороне партнера).
Переходим «в приложение»
## Работа с приложением
Настроенные приложения представлены плитками на главном экране ЛК при работе в режиме организации. Для работы с приложением нажмите на его плитку.
Внутри приложения доступны четыре раздела:
* Подписки
* Ключи
* Сертификаты
* Настройки
## Этап 3. Подписка приложения на продукт
1. Войдите в каталог сервисов, найдите продукт «Плати QR». На странице выбранного продукта дано описание доступных вариантов (API и тарифов) подключения. Для удобства можно воспользоваться поиском по ключевым словам.
*Важно*: если у вас зарегистрирована организация, но нет договора, подключение сервиса будет невозможно. Для заключения договора необходимо обратиться к менеджеру Сбербанка.
2. Выберите тариф:
**QR-код Продавца SberPay QR и СБП -** позволяет работать только с QR-кодом продавца
**QR-код Покупателя SberPay QR -** позволяет работать только с QR-кодом покупателя
(
каждому тарифу соответствует АПИ:
3. После ознакомления с информацией нажмите кнопку «Подключить»
*список доступных тарифов может меняться*
Для работы с QR-кодом Продавца требуется выбрать тариф **QR-код продавца SberPay QR и СБП**
После выбора тарифа нажмите кнопку «Далее»
*Если у партнера тарифы не доступны, так как необходима регистрация договора, то необходимо написать об этом на почту* [*support@ecom.sberbank.ru*](mailto:support@ecom.sberbank.ru) *c пометкой «продукт: QR.API, создание договора». Уточнить какой тариф/сценарий подключается и приложить Анкету (предоставленную менеджером Сбербанка).*
4. На следующем шаге в ниспадающем списке укажите название приложения (созданного клиентом), например, «Плати QR v3» и нажмите кнопку "Далее"
5. Проверьте выбранные настройки и завершите процесс нажатием кнопки «Подключить». Подписка завершена.
В разделе приложений ЛК добавится приложение «Плати QR» с настроенной подпиской:
В разделах «ключи» и «сертификаты» доступна информация по ClientID и ClientSecret и по статусу сертификата.
По клику на плитку подписки открывается информация:
## Подписка на сервис уведомлений
Данный раздел предназначен для партнеров подключающихся к тарифу **QR-код продавца SberPay QR и СБП**
В дополнение к тарифу **QR-код продавца SberPay QR и СБП** рекомендуется подключить сервис "Уведомлений об оплате". Сервис является входящим для партнеров и поэтому не требует настройки подписки в личном кабинете. В анкете заполняемой при регистрации юр. лица вам необходимо указать эндпойнт для приема входящего вызова и реализовать на своей стороне поддержку сервиса Notify описанного в спецификации. Подключение сервиса уведомлений позволит вам отказаться от многократных вызовов запроса статуса заказа и получать уведомление по факту его оплаты.
Подключение к сервису уведомлений никак не ограничивает торговою точку в использовании сервиса запроса статуса заказа.
---
# Тестирование QR-платежей Sber API
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/transfers/qr-payment/testirovanie.md)
## Описание
# Тестирование сервиса оплаты по QR-коду
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/transfers/qr-payment/testirovanie.md)
Для тестирования сервиса оплаты по QR-коду Сбербанка - SberPay QR на портале доступен сервис "Песочницы" **SandBox SberPay QR**.
В каталоге сервисов найдите продукт «SandBox SberPay QR». На странице выбранного продукта дано описание доступных вариантов (API и тарифов) подключения. Для удобства можно воспользоваться поиском по ключевым словам.
Подключение к сервису **SandBox SberPay QR** (подписка) производится аналогично подключению к основному сервису **SberPay QR** описанному в разделе "Этап 3. Подписка приложения на продукт". Для подписки на сервис необходимо создать новое приложение.
После оформления подписки необходимо обратиться в техподдержку для подключения тестового API:
*Прошу на ФПА добавить в настройки aud APIGW для clientID \[укажите clientId вашего приложения] для использования "заглушек".*
Детальная информация по работе "Песочницы" приведена в спецификации в разделе "SandBox SberPay.QR".
## Техническая поддержка
Партнер самостоятельно выполняет подключение и настройку. При необходимости за консультацией можно обращаться в тех.поддержку по адресу: [support@ecom.sberbank.ru](mailto:support@ecom.sberbank.ru).
---
# Сервис «Корпоративные подписки»
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/transfers/subscriptions/overview.md)
## Информация о сервисе
Корпоративные подписки – это сервис для организации расчетов с юридическими лицами (ЮЛ) и индивидуальными предпринимателями (ИП), который позволяет получать сведения о подписчиках и безакцептно списывать денежные средства за предоставление услуг или товаров.
Ядро механизма сервиса составляют платежные требования, которые используются в качестве платежных документов для расчетов между компаниями.
Платежное требование
Платежное требование - это документ, используемый для безналичных расчетов между юридическими лицами, в котором поставщик предъявляет должнику претензию за неуплату задолженности по договору. Банк на основании этого документа списывает сумму задолженности со счета плательщика в пользу получателя.
Основное различие между платежным требованием и платежным поручением заключается в инициаторе платежа. В платежном поручении инициатором является владелец счета, тогда как в платежном требовании - получатель денег (кредитор, поставщик, продавец или исполнитель услуг). Кредитор оформляет платежное требование и направляет его в банк для исполнения. Часто для выполнения платежного требования требуется акцепт (согласие) плательщика.
Платежные требования могут быть с предварительным акцептом или без него.
Акцепт - это согласие должника оплатить задолженность в определенный срок. Если акцепт не предусмотрен договором, то срок составляет 5 рабочих дней. Без акцепта банк имеет право списать деньги с расчетного счета клиента в определенных случаях, например, по решению суда на основании исполнительных документов.
Другая часть механизма построена на предварительном акцепте (у себя мы его называем Заранее данный акцепт - ЗДА) на списание денежных средств со счета подписчика.
## Терминология
* **Заранее данный акцепт** (далее по тексту - **ЗДА**) – временное согласие Клиента на списание денежных средств в счет оплаты предоставленных услуг или товаров по подписке. Наличие Заранее данного акцепта позволяет по запросу от вашей компании Банку списывать средства со счета Клиента без дополнительного согласования.
* **Оформить Подписку** – подписать Заявление на Заранее данный акцепт.
* **Исходящее Платежное требование** (далее по тексту - **ИПТ**) – расчетный документ, на основании которого Банк списывает денежные средства со счета Клиента-подписчика.
* **Digest ИПТ** – набор значимых полей платежного документа, который подписывается электронной подписью (ЭП).
## Схема работы сервиса
| **Шаг** | **Что делаем** | **Подробности** |
| --- | ----| --- |
| 1 | Авторизуйте Пользователя с помощью СберБизнес ID | Подробно о подключении сервиса СберБизнес ID рассказали в [соответствующем разделе документации](/ru/sber-api/scenarios/profile-creation/sbbid/overview). |
| 2 | Предложите оформить Подписку | С помощью access\_token пользователя Клиента и ресурса `/v1/acceptance-advances` создайте черновик заявления на ЗДА в СберБизнес Клиента. |
| 3 | Переадресуйте Пользователя на страницу подписания документа | С использованием идентификатора созданного черновика заявления ЗДА из шага №2 вы формируете ссылку для подписания документа и перенаправляете по ней пользователя Клиента. Перейдя по ссылке в сервис, пользователь пройдет аутентификацию, выберет счет списания и подпишет черновик ЗДА для исполнения Банком.
Ссылка переадресации выглядит следующим образом: `{контур банка}/ic/ufs/advance-acceptance/index.html#/advance-acceptance-creator/{externalId}?backUrl={backUrl}`
Дополнительная информация о формировании ссылки. |
| 4 | Проверьте статус и корректность оформления Подписки | С помощью access\_token пользователя Клиента и ресурса `/v1/acceptance-advances/{externalId}/state` вы получите статус заявления ЗДА. Вы можете разработать механизм проверки статуса и реакцию Платформы на каждый из них.
**Важно:** ЗДА вступает в силу на следующий рабочий день с даты его подписания.
С помощью access\_token пользователя Клиента и ресурса `/v1/acceptance-advances/{externalId}` вы получите полные данные ЗДА. Этот шаг позволит вам разработать механизм проверки неизменности подписанного документа путем сравнения отправленных параметров ЗДА в шаге №2 с результатами из ответа на данном шаге. |
| 5 | Спишите плату за подписку | С помощью access\_token пользователя **вашей компании** и ресурса `/v1/payment-requests/outgoing` необходимо сформировать и отправить в Банк подписанное ИПТ.
Чтобы Банк мог начать обрабатывать платежный документ, документ должен быть подписан ЭП уполномоченным сотрудником, имеющим право подписи от лица компании. Подробно о работе с ЭП рассказали в [соответствующем разделе документации](/ru/sber-api/start/eds-in-api).
**Важно:** Владелец access\_token пользователя вашей компании должен совпадать с владельцем ЭП, которую будете использовать для подписания ИПТ. |
| 6 | Проверьте статус оплаты | С помощью access\_token пользователя **вашей компании** и ресурса `/v1/payment-requests/outgoing/{externalId}/state` вы получите статус платежного требования. Вы можете разработать механизм проверки статуса оплаты и реакцию Платформы на каждый из статусов. |
## Варианты реализации
В рамках Платформы вы самостоятельно разрабатываете ролевую модель и настраиваете права доступа к функциональности.
Ниже, в качестве примера, приведена диаграмма вариантов использования:
Оформление подписки
Для наличия возможности без акцептного списания денежных средств со счета Клиента потребуется получить от него согласие на автоматические списания. Его получить можно при оформлении Подписки пользователем Клиента. Клиент становится подписчиком после заключения договора с вашей компанией или акцепта Оферты вашей Платформы и оформления ЗДА на списание платы за подписку на основании заключенного договора/акцепта Оферты.
**Шаги**
1. Сформировать черновик ЗДА
2. Подписать черновик ЗДА
3. Проверить статус подписания ЗДА
4. Проверить подписанный ЗДА
**Участники usecase**
* **Пользователь** - представитель ЮЛ/ИП, от лица которого он работает в рамках вашего сервиса (Платформы)
* **Платформа** - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
* **Sber API** - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
**Предварительные условия**
* Пользователь имеет пользовательский профиль в СберБизнес своей компании
* Пользователь находится в пространстве Платформы
* Пользователь прошел авторизацию с помощью СберБизнес ID
**Результат применения**
* Платформа получила подтверждение оформления Подписки (подписан документ заявление на ЗДА)
**Используемые запросы**
| № | Метод | Описание | Операция в scope | Шаг в схеме |
|---|-------|----------|------------------|-------------|
| 1 | | Создание черновика заявления ЗДА | ACCEPTANCE\_ADVANCE | 1. Сформировать черновик ЗДА |
| 2 | | Обновление токена доступа | openid | 1. Сформировать черновик ЗДА |
| 3 | | Получение статуса заявления ЗДА | ACCEPTANCE\_ADVANCE | 3. Проверить статус подписания ЗДА |
| 4 | | Получение заявления ЗДА | ACCEPTANCE\_ADVANCE | 4. Проверить подписанный ЗДА |
Списание платы за подписку
Выставить платежное требование Клиенту можно не раньше даты, следующей за датой оформления Подписки.
Например, Пользователь Клиента оформил Подписку 15 января. На следующий день, 16 января, можно будет сформировать платежное требование для списания денежных средств.
Если сформировать платежное требование в день оформления Подписки, то платежное требование исполнено не будет - оно встанет в "Картотеку" в СберБизнес Клиента на ручное подтверждение.
В схеме можно использовать автоматизированное подписание документа. Данная возможность доступна только при использовании ЭП сотрудника вашей компании.
Подробнее об использовании ЭП в Sber API можно почитать в [одноименном разделе](/ru/sber-api/start/eds-in-api).
**Шаги**
1. Проверить актуальность подписки
2. Создать и подписать ИПТ
**Участники usecase**
* **Платформа** - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
* **Sber API** - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
**Предварительные условия**
* Успешно выполнен сценарий "Оформление подписки"
* Платформа сохранила идентификатор (extertalId) заявления на ЗДА, созданного в сценарии "Оформление подписки"
* У Платформы есть access\_token пользователя вашей компании
**Результат применения**
* Платформа создала ИПТ
**Используемые запросы**
| № | Метод | Описание | Операция в scope | Шаг в схеме |
|---|-------|----------|------------------|-------------|
| 1 | | Получение статуса заявления ЗДА | ACCEPTANCE\_ADVANCE | 1. Проверить актуальность подписки |
| 2 | | Обновление токена доступа | openid | 1. Проверить актуальность подписки и 2. Создать и подписать ИПТ |
| 3 | | Создание платежного требования | PAYMENT\_REQUEST\_OUT | 2. Создать и подписать ИПТ |
Проверка статуса оплаты
**Шаги**
1. Проверить статус оплаты
**Участники usecase**
* **Платформа** - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
* **Sber API** - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
**Предварительные условия**
* Успешно выполнен сценарий "Списание платы за подписку"
* Платформа сохранила идентификатор (extertalId) ИПТ, созданного в сценарии "Списание платы за подписку"
* У Платформы есть access\_token пользователя вашей компании
**Результат применения**
* ИПТ исполнено Банком
**Используемые запросы**
| № | Метод | Описание | Операция в scope | Шаг в схеме |
|---|-------|----------|------------------|-------------|
| 1 | | Получение статуса платежного требования | PAYMENT\_REQUEST\_OUT | 1. Проверить статус оплаты |
| 2 | | Обновление токена доступа | openid | 1. Проверить статус оплаты |
## Подписание заявления на ЗДА
Чтобы Сбер обработал сформированный [черновик заявления ЗДА](/ru/sber-api/specifications/acceptance-advances/create-draft), клиенту необходимо его подписать. Клиент может его подписать в личном кабинете СберБизнес, либо сформируйте и направьте пользователю ссылку вида:
```default
{контур банка}**/ic/ufs/advance-acceptance/index.html#/advance-acceptance-creator/{externalId}?backUrl={backUrl}
```
Ссылку можно разместить под кнопкой в вашем интерфейсе или отправить в явном виде. При переходе по ссылке откроется окно с функциональностью подписания заявления. После успешного подписания сервис вернет пользователя по указанному в ссылке URL.
Ссылка переадресации выглядит следующим образом:
**\{контур банка}**/ic/ufs/advance-acceptance/index.html#/advance-acceptance-creator/**\{externalId}**?backUrl=**\{backUrl}**
| **Переменная** | **Описание** | **Дополнительная информация** |
| --- | --- | --- |
| `{контур Банка}` | адрес Банка, на который делается запрос для открытия страницы сервиса подписания заявления | Для корректного выбора контура Банка потребуется определить тип криптопрофиля пользователя Клиента. В рамках запроса `/v1/oauth/user-info` вы получаете данные по Клиенту, в том числе атрибут **userCryptoType**. Атрибут позволяет определить криптопрофиль пользователя - SMS (СМС) или Token (электронный ключ (токен)).
- Тестовый контур `https://efs-sbbol-ift-web.testsbi.sberbank.ru:9443` - Промышленный контур СМС-пользователь `https://sbi.sberbank.ru:9443` - Промышленный контур Токен-пользователь `http://localhost:28016` |
| `{externalId}` | уникальный идентификатор заявления | Данный идентификатор присваивает ваша Платформа на шаге [создания черновика заявления на ЗДА](/ru/sber-api/specifications/acceptance-advances/create-draft). |
| `{backUrl}` | страница возврата, на которую Банк вернет пользователя Клиента после успешного подписания черновика заявления | - Если не указать backUrl в ссылке, пользователи не смогут после подписания вернуться на Платформу; - Если backUrl будет отличаться от адреса вашей платформы, который указали при регистрации в Банке, то при возврате клиента на backUrl он будет видеть ошибку. |
```default
https://sbi.sberbank.ru:9443/ic/ufs/advance-acceptance/index.html#/advance-acceptance-creator/d4fbfe27-ee37-4451-b224-8113a06c44a3?backUrl=https://www.example.ru/
```
## Отзыв согласия на ЗДА
Для отмены подписки на сервис клиенту необходимо отозвать согласие на ЗДА.
Существует два способа отзыва согласия на ЗДА:
* Клиент может самостоятельно отменить подписку в СберБизнесе. Для этого ему необходимо перейти в меню СберБизнеса: Запросы на оплату - Акцепты - Заявления на заранее данный акцепт;
* Реализуйте сценарий отзыва согласия на ЗДА на вашей платформе. Для этого сформируйте и направьте пользователю ссылку вида:
```default
{контур банка}/ic/ufs/advance-acceptance/index.html#/advance-acceptance-revoke/{externalId}
```
Например, ссылку можно разместить под кнопкой в вашем интерфейсе или отправить в явном виде. При переходе по ссылке откроется окно с функциональностью отзыва согласия.
| **Переменная** | **Описание** | **Дополнительная информация** |
| --- | --- | --- |
| `{контур Банка}` | адрес Банка, на который делается запрос для открытия страницы сервиса подписания заявления | Для корректного выбора контура Банка потребуется определить тип криптопрофиля пользователя Клиента. В рамках запроса `/v1/oauth/user-info` вы получаете данные по Клиенту, в том числе атрибут **userCryptoType**. Атрибут позволяет определить криптопрофиль пользователя - SMS (СМС) или Token (электронный ключ (токен)).
Песочница `https://sbi-test.sberbank.ru` - Тестовый контур `https://efs-sbbol-ift-web.testsbi.sberbank.ru:9443` - Промышленный контур СМС-пользователь `https://sbi.sberbank.ru:9443` - Промышленный контур Токен-пользователь `http://localhost:28016` |
| `{externalId}` | уникальный идентификатор заявления | Данный идентификатор присваивает ваша Платформа на шаге [создания черновика заявления на ЗДА](/ru/sber-api/specifications/acceptance-advances/create-draft). |
```sh
https://sbi.sberbank.ru:9443/ic/ufs/advance-acceptance/index.html#/advance-acceptance-revoke/d4fbfe27-ee37-4451-b224-8113a06c44a3
```
В таком случае при вызове метода `/v1/partner-info/advance-acceptances` в поле "active" вы получите значение "false".
## Дополнительная информация
### Назначение платежа
Назначение должно раскрывать экономический смысл платежа.
* Сведения должны быть лаконичными — у поля есть ограничения по знакам 210 символов.
* В назначении необходимо указать реквизиты документа, по которому вы осуществляете платеж, например, номер договора или счета.
* Рекомендуем указывать конкретный предмет оплаты.
* Если платеж с НДС, необходимо прописать точную сумму налога. Ниже подробнее рассказали о формировании информации об НДС в назначении платежа.
Рекомендуемый вариант заполнения:
```text
Оплата по договору [номер договора] от [дата договора]. НДС [ставка НДС]% - [сумма НДС] рубля [способ расчета НДС]. [Любая ваша информация]
```
При формировании платёжного поручения для контрагента-нерезидента **в начале поля** "Назначение платежа" необходимо указывать уникальный код операции.
**Формат:** \{VOXXXXX} Обычный текст назначения платежа,
где XXXXX - значение параметра voCode
### Параметры НДС
Чтобы все работало правильно, нужно передать такие параметры:
* Если НДС (объект "vat") не передан в запросе, то будут использованы эти значения:
```json
"vat": {
"type": "NO_VAT",
"rate": "0",
"amount": 0.00
}
```
В поле «type» можно выбрать одно из следующих значений:
* `ONTOP` - НДС рассчитан по указанной ставке и добавляется к сумме платежа. Необходимо в поле "amount" (сумма платежа) указывать итоговую сумму оплаты (с учетом НДС).
* `INCLUDED` - НДС рассчитан по указанной ставке и включен в указанную сумму платежа. В поле «vat.amount» укажите сумму НДС. В поле «Назначение платежа» обязательно укажите посчитанную сумму НДС.
* `MANUAL` - Рассчитан и введен вручную (для сложных процентных ставок). Поле «vat.amount» заполнять необязательно, но по умолчанию сумма НДС будет равна нулю. Если же поле заполнено, то укажите нужную сумму НДС в соответствии с форматом.
* `NO_VAT` - НДС не облагается. В поле «Назначение платежа» обязательно укажите НДС не облагается.
Клиент вне зависимости от выбранного типа самостоятельно должен рассчитать конечную сумму к оплате и сумму НДС и указать эти значения в запросах. В поле "amount" (сумма платежа) указывается итоговая сумма платежа (с учетом НДС), в массиве "vat": поле amount указывается сумма НДС.
Пример заполнения: `НДС 10% — 100.63` рубля или `НДС 10%_100.63`. Если процентное значение не указано, то дефис перед суммой ставить не нужно: `НДС 100.63 рубля`.
#### Значения vat в запросе и информация по НДС в платёжной форме
1. **Значение `vat` в запросе:** `"vat"` не передан (отсутствует поле)
*Информация по НДС в платёжной форме:* НДС не облагается
2. **Значение `vat` в запросе:** `"vat": null`
*Информация по НДС в платёжной форме:* Нет информации об НДС.
Если необходимо указать несколько ставок НДС, выбрать данный способ передачи `vat`. В назначении платежа необходимо указать информацию о разных ставках НДС следующим образом: Оплата по заказу №1111 (в т.ч. НДС 10% - 15.00 руб., 22% - 100.00 руб.)
3. **Значение `vat` в запросе:**
```json
"vat": {
"type": "ONTOP",
"rate": "0",
"amount": "1000.00"
}
```
или
```json
"vat": {
"type": "INCLUDED",
"rate": "0",
"amount": "1000.00"
}
```
*Информация по НДС в платёжной форме:* в т.ч. НДС 0%
4. **Значение `vat` в запросе:**
```json
"vat": {
"type": "MANUAL",
"rate": "0",
"amount": "1000.00"
}
```
*Информация по НДС в платёжной форме:* НДС 1000,00 руб.
5. **Значение `vat` в запросе:**
```json
"vat": {
"type": "ONTOP",
"rate": "10",
"amount": "1000.00"
}
```
или
```json
"vat": {
"type": "INCLUDED",
"rate": "10",
"amount": "1000.00"
}
```
*Информация по НДС в платёжной форме:* в т.ч. НДС 10%
6. **Значение `vat` в запросе:**
```json
"vat": {
"type": "NO_VAT",
"rate": "0",
"amount": "1000.00"
}
```
*Информация по НДС в платёжной форме:* НДС не облагается
## FAQ
Будет ли исполнено Банком платежное требование, отправленное выходные или праздничные дни?
Исходящие платежные требования, созданные после 16:50 часов (по Московскому времени) в пятницу, начинают обрабатываться в следующий понедельник.
Что происходит если денежных средств на счете клиента недостаточно?
В случае недостатка денежных средств на счете клиента для оплаты, банк ожидает поступления средств на счет клиента в полном объеме до конца календарного дня.
Если деньги на счете клиента не появятся в полном объеме в течении указанного срока, платежное требование перейдет в статус REFUSEDBYBANK ("Отвергнут банком или Отклонен банком").
---
# Покупка/продажа валюты
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/ved/conv-currency/overview.md)
## Информация о продукте
Сервис позволяет корпоративным клиентам создавать поручения на покупку/продажу валюты через прямую API-интеграцию:
* полный цикл работы с поручениями на покупку/продажу валюты - создание поручения, отслеживание статуса, получение детальной формы поручения
:::note
Ознакомьтесь с условиями проведения конверсионных операций на [сайте](https://www.sberbank.ru/common/img/uploaded/legal/docs/rko/usl-conv-oper-dbs-s-24022026.pdf) банка.
:::
## Как подключить?
* Для новых клиентов сервис доступен в рамках набора ["Компаниям"](/ru/sber-api/start/overview).
* Если вы уже подключены к Sber API, проверьте наличие операции `CONVERSION_OPERATION_CURRENCY` в scope в Личном кабинете, либо обратитесь на **supportdbo2@sberbank.ru** или к вашему менеджеру. Полный список методов для работы с поручениями на покупку/продажу валюты – в [документации](/ru/sber-api/specifications/conv-currency/overview).
## Варианты применения
Примеры состава и порядка исполнения **запросов SberAPI** в разных вариантах применения.
### Создание поручения на покупку/продажу валюты
| Шаг | Метод | Код операции в scope |
|-----|-----------------|----------------------|
| **1. Создание поручения на покупку/продажу валюты** | | CONVERSION\_OPERATION\_CURRENCY |
| **2. Получения статуса поручения на покупку/продажу валюты** | | CONVERSION\_OPERATION\_CURRENCY |
| **3. Получение поручения на покупку/продажу валюты** | | CONVERSION\_OPERATION\_CURRENCY |
UML-диаграмма
```mermaid
sequenceDiagram
%% Раздел 1: Создание поручения на покупку/продажу валюты
Платформа->>+Sber API: POST /v1/conv-currency
Sber API-->>-Платформа: Возвращает модель документа
%% Раздел 2: Получение статуса поручения на покупку/продажу валюты
Платформа->>+Sber API: GET /v1/conv-currency/{externalId}/state
Sber API-->>-Платформа: Возвращает статус поручения
%% Раздел 3: Получение детальной информации поручения на покупку/продажу валюты
Платформа->>+Sber API: GET /v1/conv-currency/{externalId}
Sber API-->>-Платформа: Возвращает детали поручения
```
Участники, условия и результат
**Участники**
* **Клиент** - представитель компании, имеющий доступ к созданию поручений на покупку/продажу валюты
* **Платформа** - система клиента или партнера, интегрированная с Sber API
* **Sber API** - API Сбербанка для работы с поручениями на покупку/продажу валюты
**Предварительные условия**
* Клиент авторизован через СберБизнес ID
* У клиента есть доступ к операциям на покупку/продажу валюты (scope CONVERSION\_OPERATION\_CURRENCY)
**Результат**
* Создано и обработано поручение на покупку/продажу валюты
* Получена информация о статусе поручения на покупку/продажу валюты
* Получена детальная информация поручения на покупку/продажу валюты
---
# ВЭД
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/ved/fea/overview.md)
## Информация о сервисе
**Внешнеэкономическая деятельность (ВЭД)** — представляет собой комплексную систему экономических отношений между субъектами хозяйствования страны и иностранными партнерами.
Она включает в себя торговые отношения, международные инвестиции, сотрудничество в области науки и техники, обмена технологиями и культурный обмен.
**Основные функции Банка в ВЭД:**
* **Валютные операции.** Банки предоставляют услуги по обмену валюты, что позволяет клиентам совершать сделки с иностранными партнерами.
* **Международные расчеты.** Банки обеспечивают проведение международных платежей, включая аккредитивы, инкассо и переводы. Это упрощает процесс оплаты товаров и услуг между контрагентами из разных стран.
* **Торговое финансирование.** Банки предлагают различные формы финансирования для поддержки внешнеторговых операций, такие как кредиты, гарантии и аккредитивы.
* **Документарные операции.** Банки осуществляют проверку документов, необходимых для проведения внешнеэкономических сделок, таких как контракты, счета-фактуры и транспортные документы.
* **Консультирование.** Банки предоставляют консультации по вопросам валютного контроля, таможенного оформления и другим аспектам ВЭД.
Таким образом, банк является ключевым звеном в процессе осуществления внешнеэкономической деятельности, обеспечивая безопасность и эффективность финансовых операций между участниками ВЭД.
## Варианты реализации
:::note
Ниже будут приведены примеры реализации. Сценарии могут быть для вас отправной точкой и идеей для финального способа реализации функциональности.
:::
Сценарии описали общие, для более легкого восприятия информации описания работы с сервисом.
Можно использовать разные триггеры запуска того или иного сценария - действия пользователя, регламентный запуск по времени, наступление определенных событий и другие варианты.
Постановка контракта на учет
В схеме можно использовать автоматизированное подписание документа. Данная возможность доступна только при использовании ЭП сотрудника вашей компании (для отправки по собственной компании) или сотрудника дочерней компании (для отправки по дочерней компании).
Подробнее об использовании ЭП в Sber API можно почитать в [одноименном разделе](/ru/sber-api/start/eds-in-api).
Для постановки контракта на учет в Банке потребуется загрузить документы. Для загрузки документов используйте сценарий Загрузка файлов в Банк (описан ниже).
**Шаги**
1. Получить данные по контракту
2. Загрузить файлы контракта в Банк
3. Создать заявление на регистрацию контракта
4. Получить статус заявления
5. Получить полные данные контракта
**Участники usecase**
* **Пользователь** - сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках вашего сервиса (Платформа)
* **Платформа** - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
* **Sber API** - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
**Предварительные условия**
* Пользователь имеет пользовательский профиль в СберБизнес своей компании
* Пользователь находится в пространстве Платформы
* Пользователь прошел авторизацию с помощью СберБизнес ID
**Результат применения**
* Банк поставил на учет валютный контракт
**Используемые запросы**
| № | Метод | Описание | Операция в scope | Шаг в схеме |
|---|-------|----------|------------------|-------------|
| 1 | | Получение расширенной информации | GET\_CLIENT\_ACCOUNTS | 1. Получить данные по контракту |
| 2 | | Обновление токена доступа | openid | 1. Получить данные по контракту |
| 3 | | Создание валютного контракта с нерезидентом | BANK\_CONTROL\_STATEMENT | 3. Создать заявление на регистрацию контракта |
| 4 | | Получение статуса ведомости банковского контроля | BANK\_CONTROL\_STATEMENT | 4. Получить статус заявления |
| 5 | | Получение документа валютный контракт с нерезидентом | BANK\_CONTROL\_STATEMENT | 4. Получить статус заявления |
Получение информации по контрактам
В рамках Sber API можно будет вывести информацию по валютным контрактам, которые были поставлены на учет также с помощью Sber API и СберБизнес.
**Шаги**
1. Получить все идентификаторы контрактов
2. Получить информацию по контракту
3. Вывести пользователю интересующий контракт
**Участники usecase**
* **Пользователь** - сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках вашего сервиса (Платформа)
* **Платформа** - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
* **Sber API** - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
**Предварительные условия**
* Пользователь имеет пользовательский профиль в СберБизнес своей компании
* Пользователь находится в пространстве Платформы
* Пользователь прошел авторизацию с помощью СберБизнес ID
* Платформа успешно поставила на учет хотя бы 1 валютный контракт с помощью сценария «Постановка контракта на учет»
**Результат применения**
* Пользователь получил информацию по интересующему его валютному контракту
**Используемые запросы**
| № | Метод | Описание | Операция в scope | Шаг в схеме |
|---|-------|----------|------------------|-------------|
| 1 | | Получение списка ВБК по контракту | BANK\_CONTROL\_STATEMENT | 1. Получить все идентификаторы контрактов |
| 2 | | Обновление токена доступа | openid | 1. Получить все идентификаторы контрактов |
| 3 | | Получение документа валютный контракт с нерезидентом | BANK\_CONTROL\_STATEMENT | 2. Получить информацию по контракту |
Получение СПД
В схеме можно использовать автоматизированное подписание документа. Данная возможность доступна только при использовании ЭП сотрудника вашей компании (для отправки по собственной компании) или сотрудника дочерней компании (для отправки по дочерней компании).
Подробнее об использовании ЭП в Sber API можно почитать в [одноименном разделе](/ru/sber-api/start/eds-in-api).
Справка о подтверждающих документах (СПД) – это документ, который оформляется в рамках валютного контроля при проведении внешнеэкономических операций. Она представляет собой заявление резидента о выполнении обязательств по контракту перед нерезидентом и подтверждает факт передачи подтверждающих документов в уполномоченный банк.
Оформление СПД необходимо для соблюдения требований валютного законодательства Российской Федерации. Это позволяет банкам контролировать выполнение контрактных обязательств и предотвращать нарушения валютных правил.
СПД должна быть предоставлена в банк в установленный срок после исполнения обязательств по контракту. Сроки могут различаться в зависимости от вида контракта и характера операции.
Важно отметить, что порядок оформления и подачи СПД регулируется нормативными актами Центрального Банка Российской Федерации и может изменяться со временем. Поэтому перед подготовкой СПД рекомендуется ознакомиться с актуальной информацией на сайте ЦБ РФ или обратиться за консультацией к специалистам в области валютного регулирования.
**Шаги**
1. Заполнить данные по СПД
2. Загрузить документы в банк
3. Отправить запрос на создание СПД
4. Получить статус запроса
**Участники usecase**
* **Пользователь** - сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках вашего сервиса (Платформа)
* **Платформа** - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
* **Sber API** - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
**Предварительные условия**
* Успешно выполнен сценарий "Получение информации по контрактам"
* Платформа сохранила данные контракта, в рамках которого оформляется СПД
* Пользователь находится в UI с валютным контрактом, по которому хочет сформировать СПД
**Результат применения**
* Оформлена СПД в рамках валютного контракта, поставленного на учет в Сбере
**Используемые запросы**
| № | Метод | Описание | Операция в scope | Шаг в схеме |
|---|-------|----------|------------------|-------------|
| 1 | | Создание справки о подтверждающих документах | CONFIRMATORY\_DOCUMENTS\_INQUIRY | 3. Отправить запрос на создание СПД |
| 2 | | Обновление токена доступа | openid | 3. Отправить запрос на создание СПД |
| 3 | | Получение статуса справки о подтверждающих документах | CONFIRMATORY\_DOCUMENTS\_INQUIRY | 4. Получить статус запроса |
| 4 | | Получение справки о подтверждающих документах | CONFIRMATORY\_DOCUMENTS\_INQUIRY | 4. Получить статус запроса |
Получение СВО
В схеме можно использовать автоматизированное подписание документа. Данная возможность доступна только при использовании ЭП сотрудника вашей компании (для отправки по собственной компании) или сотрудника дочерней компании (для отправки по дочерней компании).
Подробнее об использовании ЭП в Sber API можно почитать в [одноименном разделе](/ru/sber-api/start/eds-in-api).
Сведения о валютной операции (СВО) является одним из документов, оформляемых в рамках валютного контроля при проведении внешнеэкономических операций. Предназначена для подтверждения факта совершения валютной операции и выполнения резидентом своих обязательств перед нерезидентом. СВО может понадобиться для предоставления в государственные органы, банки и другие организации для подтверждения факта проведения валютной операции и соблюдения валютного законодательства.
**Шаги**
1. Заполнить данные по СВО
2. Загрузить документы в банк
3. Отправить запрос на создание СВО
4. Получить статус запроса
**Участники usecase**
* **Пользователь** - сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках вашего сервиса (Платформа)
* **Платформа** - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
* **Sber API** - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
**Предварительные условия**
* Пользователь имеет пользовательский профиль в СберБизнес своей компании
* Пользователь находится в пространстве Платформы
* Пользователь прошел авторизацию с помощью СберБизнес ID
**Результат применения**
* Оформлена СВО
**Используемые запросы**
| № | Метод | Описание | Операция в scope | Шаг в схеме |
|---|-------|----------|------------------|-------------|
| 1 | | Создание сведений о валютной операции | CURRENCY\_OPERATION\_DETAILS | 3. Отправить запрос на создание СВО |
| 2 | | Обновление токена доступа | openid | 3. Отправить запрос на создание СВО |
| 3 | | Получение статуса сведений о валютной операции | CURRENCY\_OPERATION\_DETAILS | 4. Получить статус запроса |
| 4 | | Получение сведений о валютной операции | CURRENCY\_OPERATION\_DETAILS | 4. Получить статус запроса |
Валютный перевод
В схеме можно использовать автоматизированное подписание документа. Данная возможность доступна только при использовании ЭП сотрудника вашей компании (для отправки по собственной компании) или сотрудника дочерней компании (для отправки по дочерней компании).
Подробнее об использовании ЭП в Sber API можно почитать в [одноименном разделе](/ru/sber-api/start/eds-in-api).
**Шаги**
1. Получить реквизиты перевода
2. Создать и подписать валютное платежное поручение
**Участники usecase**
* **Пользователь** - сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках вашего сервиса (Платформа)
* **Платформа** - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
* **Sber API** - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
**Предварительные условия**
* Пользователь имеет пользовательский профиль в СберБизнес своей компании
* Пользователь находится в пространстве Платформы
* Пользователь прошел авторизацию с помощью СберБизнес ID
**Результат применения**
* Создано и подписано валютное платежное поручение
**Используемые запросы**
| № | Метод | Описание | Операция в scope | Шаг в схеме |
|---|-------|----------|------------------|-------------|
| 1 | | Получение расширенной информации | GET\_CLIENT\_ACCOUNTS | 1. Получить реквизиты перевода |
| 2 | | Обновление токена доступа | openid | 1. Получить реквизиты перевода |
| 3 | | Создание валютного платежного поручения | PAY\_DOC\_CUR | 2. Создать и подписать валютное платежное поручение |
Проверка статуса и корректности оплаты (В)
Время начала и частоту проверки статуса и корректности оплаты вы определяете самостоятельно исходя из своих бизнес-задач.
**Шаги**
1. Получить статус оплаты
2. Проверить корректность
**Участники usecase**
* **Платформа** - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
* **Sber API** - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
**Предварительные условия**
* Успешно выполнен сценарий «Валютный перевод»
* Платформа сохранила идентификатор (extertalId) валютного платежного поручения, созданного в рамках сценария «Валютный перевод»
**Результат применения**
* Валютное платежное поручение оплачено
* Проверена корректность проведенной оплаты
**Используемые запросы**
| № | Метод | Описание | Операция в scope | Шаг в схеме |
|---|-------|----------|------------------|-------------|
| 1 | | Получение статуса валютного платежного поручения | PAY\_DOC\_CUR | 1. Получить статус оплаты |
| 2 | | Обновление токена доступа | openid | 1. Получить статус оплаты |
| 3 | | Получение валютного платежного поручения | PAY\_DOC\_CUR | 2. Проверить корректность |
Рублевый перевод
В схеме можно использовать автоматизированное подписание документа. Данная возможность доступна только при использовании ЭП сотрудника вашей компании (для отправки по собственной компании) или сотрудника дочерней компании (для отправки по дочерней компании).
Подробнее об использовании ЭП в Sber API можно почитать в [одноименном разделе](/ru/sber-api/start/eds-in-api).
**Шаги**
1. Получить реквизиты перевода
2. Создать и подписать рублевое платежное поручение
**Участники usecase**
* **Пользователь** - сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках вашего сервиса (Платформа)
* **Платформа** - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
* **Sber API** - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
**Предварительные условия**
* Пользователь имеет пользовательский профиль в СберБизнес своей компании
* Пользователь находится в пространстве Платформы
* Пользователь прошел авторизацию с помощью СберБизнес ID
**Результат применения**
* Создано и подписано рублевое платежное поручение
**Используемые запросы**
| № | Метод | Описание | Операция в scope | Шаг в схеме |
|---|-------|----------|------------------|-------------|
| 1 | | Получение расширенной информации | GET\_CLIENT\_ACCOUNTS | 1. Получить реквизиты перевода |
| 2 | | Обновление токена доступа | openid | 1. Получить реквизиты перевода |
| 3 | | Создание рублевого платежного поручения | PAY\_DOC\_RU | 2. Создать и подписать рублевое платежное поручение |
Проверка статуса и корректности оплаты (Р)
Время начала и частоту проверки статуса и корректности оплаты вы определяете самостоятельно исходя из своих бизнес-задач.
**Шаги**
1. Получить статус оплаты
2. Проверить корректность
**Участники usecase**
* **Платформа** - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
* **Sber API** - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
**Предварительные условия**
* Успешно выполнен сценарий «Рублевый перевод»
* Платформа сохранила идентификатор (extertalId) рублевого платежного поручения, созданного в рамках сценария «Рублевый перевод»
**Результат применения**
* Рублевое платежное поручение оплачено
* Проверена корректность проведенной оплаты
**Используемые запросы**
| № | Метод | Описание | Операция в scope | Шаг в схеме |
|---|-------|----------|------------------|-------------|
| 1 | | Получение статуса валютного платежного поручения | PAY\_DOC\_CUR | 1. Получить статус оплаты |
| 2 | | Обновление токена доступа | openid | 1. Получить статус оплаты |
| 3 | | Получение валютного платежного поручения | PAY\_DOC\_CUR | 2. Проверить корректность |
Отправка письма в валютный контроль
Сценарий позволит отправить обращение в Валютный контроль Банка по вопросам, связанным с работой ВЭД в рамках Сбера.
Также у пользователя появляется возможность ответить на запросы Валютного контроля по СПД, СВО, процессу постановки контракта на учет и переводам в рублях и валюте.
В схеме можно использовать автоматизированное подписание документа. Данная возможность доступна только при использовании ЭП сотрудника вашей компании (для отправки по собственной компании) или сотрудника дочерней компании (для отправки по дочерней компании).
Подробнее об использовании ЭП в Sber API можно почитать в [одноименном разделе](/ru/sber-api/start/eds-in-api).
**Шаги**
1. Получить данные для письма
2. Загрузить документы в банк
3. Создать и подписать письмо в банк
4. Получить статус отправки письма
**Участники usecase**
* **Пользователь** - сотрудник вашей компании либо представитель ЮЛ/ИП, от лица которого он работает в рамках вашего сервиса (Платформа)
* **Платформа** - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
* **Sber API** - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
**Предварительные условия**
* Пользователь имеет пользовательский профиль в СберБизнес своей компании
* Пользователь находится в пространстве Платформы
* Пользователь прошел авторизацию с помощью СберБизнес ID
* Если сценарий выполняется в качестве ответного письма на запрос Валютного контроля, то может потребоваться выполнение других сценариев для сбора контекста ответа
**Результат применения**
* Письмо отправлено и принято Валютным контролем Банка
**Используемые запросы**
| № | Метод | Описание | Операция в scope | Шаг в схеме |
|---|-------|----------|------------------|-------------|
| 1 | | Создание письма для целей ВК (в банк) | CURR\_CONTROL\_MESSAGE\_TO\_BANK | 3. Создать и подписать письмо в банк |
| 2 | | Обновление токена доступа | openid | 3. Создать и подписать письмо в банк |
| 3 | | Получение статуса письма для целей ВК (в банк) | CURR\_CONTROL\_MESSAGE\_TO\_BANK | 4. Получить статус отправки письма |
Получение писем от валютного контроля
Сценарий позволит получить письма от Валютного контроля. Необходимо с учетом ваших бизнес-потребностей предусмотреть регламентный запуск данного сценария, чтобы своевременно получать актуальную информацию по переписке с Банком.
**Шаги**
1. Получить письма из банка
**Участники usecase**
* **Платформа** - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
* **Sber API** - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
**Предварительные условия**
* У Платформы есть токены доступа Пользователя, полученные с помощью СберБизнес ID
**Результат применения**
* Платформа получила письма от Валютного контроля за период
**Используемые запросы**
| № | Метод | Описание | Операция в scope | Шаг в схеме |
|---|-------|----------|------------------|-------------|
| 1 | | Получение писем для целей ВК (из банка) | CURR\_CONTROL\_MESSAGE\_FROM\_BANK | 1. Получить письма из банка |
| 2 | | Обновление токена доступа | openid | 1. Получить письма из банка |
Загрузка файлов в Банк
Этот сценарий позволяет загружать файлы и документы в систему Банка. Ссылки на эти файлы и документы можно будет использовать в запросах API.
Мы рекомендуем использовать сценарий с автоматическим запуском в других сценариях.
Представим, что ваша Платформа предлагает Пользователю создать запрос на постановку контракта на учет через форму в пользовательском интерфейсе (UI). В этой форме Пользователь загружает документы контракта.
Когда файлы загружаются в UI Платформы, и Пользователь подтверждает отправку запроса, автоматически запускается соответствующий сценарий для каждого файла.
**Шаги**
1. Получить ссылку для загрузки
2. Загрузить файл
3. Получить статус загрузки
**Участники usecase**
* **Платформа** - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
* **Sber API** - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа
**Предварительные условия**
* Запускается внутри одного из сценариев
\*У Платформы есть токены доступа Пользователя, полученные с помощью СберБизнес ID
**Результат применения**
* Файл загружен в Банк
* Платформа получила ссылку на файл в системе Банка
**Используемые запросы**
| № | Метод | Описание | Операция в scope | Шаг в схеме |
|---|-------|----------|------------------|-------------|
| 1 | | Запрос ссылки на загрузку файла в Банк | FILES | 1. Получить ссылку для загрузки |
| 2 | | Обновление токена доступа | openid | 1. Получить ссылку для загрузки |
| 3 | | Получение статуса загрузки файла | FILES | 3. Получить статус загрузки |
---
# Overview
[source](https://developers.sber.ru/docs/ru/sber-api/scenarios/ved/overview.md)
---
# SDK Java
[source](https://developers.sber.ru/docs/ru/sber-api/sdk/java/overview.md)
Единый интерфейс для работы с ключевыми сервисами Sber API: авторизация, H2H, моментальные платежи, зарплатные проекты и другие операции.
Основные модули:
* **СберБизнес ID** - базовый модуль авторизации (получение, обновление, отзыв токенов, смена клиентского секрета, информация о пользователе)
* **Компаниям** - модуль прямой интеграции (H2H) для корпоративных клиентов
* **Моментальные платежи** - модуль для быстрых платежных операций
:::note
Требования:
* Java версия 1.8 или выше.
* Необходимо установить банковский TLS сертификат в truststore вашего приложения.
:::
## Сборка библиотеки
Если вы хотите собрать библиотеку из исходного кода, выполните команду:
```bash
./gradlew :build-src:clean :build-src:buildInstantPayment :build-src:buildH2h
```
Собранные fatJar файлы (со всеми зависимостями) будут расположены в директории build-src/build/libs.
Вы можете подключить их напрямую к своему проекту или использовать как референс для переноса кода.
## Установка и настройка
### Способы установки
Скачайте исходный код проекта и установите его в ваш локальный репозиторий.
* [GitHub](https://github.com/GreenBankTeamRu/SDK)
* [GitVerse](https://gitverse.ru/GreenBankTeamRu/SDK)
Используйте этот способ для быстрого старта. FatJar содержит все необходимые зависимости.
* [Скачать файл Компаниям](https://cdn-app.sberdevices.ru/misc/0.0.0/assets/bsm-docs/591aa09b_sdk-h2h-01.002.00.jar)
* [Скачать файл Моментальные платежи](https://cdn-app.sberdevices.ru/misc/0.0.0/assets/bsm-docs/da80de74_sdk-instantpayment-01.001.00.jar.zip)
## Настройка сертификатов
Для работы с Sber API необходимо добавить TLS сертификат.
**Требования:** Java 1.8+
Способ 1: Добавление в truststore JDK
* Добавьте банковский сертификат в хранилище JDK:
```bash
keytool -importcert -alias -file -keystore -storepass changeit
```
Способ 2: Указание пути в коде (гибкий вариант)
* Укажите путь к сертификату при создании `HttpClientFactory`
## Подключение зависимостей
### Gradle
```groovy
repositories {
flatDir {
dirs("/path/to/SDK/")
}
}
dependencies {
implementation("ru.sberbank.sbbol.sberbusinessapi:sdk-instantpayment:release-1.0.0-SNAPSHOT")
implementation("ru.sberbank.sbbol.sberbusinessapi:sdk-h2h:release-1.0.0-SNAPSHOT")
}
```
### Maven
```xml
local-sdk-repofile:///path/to/SDK/ru.sberbank.sbbol.sberbusinessapisdk-instantpaymentrelease-1.0.0-SNAPSHOTru.sberbank.sbbol.sberbusinessapisdk-h2hrelease-1.0.0-SNAPSHOT
```
## Использование SDK
### Модуль "СберБизнес ID"
Сервис авторизации [СберБизнес ID](/ru/sber-api/scenarios/profile-creation/sbbid/overview) построен на базе протокола OAuth 2.0, с использованием типа авторизации Authorization Code Flow и с дополнительными параметрами и значениями, определенными протоколом OpenID Connect.
Авторизация с помощью СберБизнес ID позволяет платформе партнера получить информацию о клиенте банка и выполнять операции от имени клиента банка в системе СберБизнес.
**Инициализация клиента:**
```java
HttpClientFactory httpClientFactory = HttpClientFactory.of()
.host("https://auth-server.url")
.customCertPath("/path/to/cert.p12")
.customCertPassword("password")
.build();
AuthorizationApiClient authClient = new AuthorizationApiClientImpl(httpClientFactory);
```
**Основные методы:**
| Метод | Описание |
|-------|----------|
| `getAccessToken()` | Получение токена доступа |
| `getRefreshToken()` | Обновление токена |
| `changeClientSecret()` | Смена секрета клиента |
| `revokeToken()` | Отзыв токена |
| `getUserInfo()` | Информация о пользователе |
### Модуль "Моментальные платежи"
[Моментальные платежи](/ru/sber-api/scenarios/transfers/instant-payments/overview) – это сервис для организации расчетов, который позволяет формировать и отслеживать статус платежного поручения, где плательщиком выступает юридическое лицо или индивидуальный предприниматель, а получателем средств может быть юридическое лицо, физическое лицо или бюджетная организация.
**Создание платежа:**
```java
InstantPaymentApi paymentsApi = new InstantPaymentApiImpl(httpClientFactory);
PaymentInvoiceRequest request = PaymentInvoiceRequest.builder()
.amount(100.50f)
.payeeAccount("40702810...")
.build();
PaymentInvoiceResponse response = paymentsApi.createPaymentInvoice(accessToken, request);
```
**Генерация URL для подписания:**
После создания платежа необходимо перенаправить пользователя в СберБизнес для подписания.
```java
String url = paymentsApi.buildPaymentUrl(
externalId,
"https://callback.url",
CryptoprofileType.SMS,
"https://bank-host",
false
);
```
### Модуль "Компаниям" (H2H)
[Сервис](/ru/sber-api/start/overview) для совершения операций в рамках одной организации.
**Работа с платежными поручениями:**
```java
H2hApi h2hApi = new H2hApiImpl(httpClientFactory);
// Создание платежного поручения
FintechPayment payment = h2hApi.createPayment(accessToken, paymentRequest);
// Получение статуса
FintechPaymentDocState state = h2hApi.getPaymentDocState(accessToken, externalId);
```
**Управление сертификатами:**
| Метод | Описание |
|-------|----------|
| `certificateRequest()` | Запрос нового сертификата |
| `activateCert()` | Активация сертификата |
| `getCertState()` | Проверка статуса сертификата |
**Дополнительная информация:**
* Генерация PKCE: В SDK встроены утилиты для безопасной генерации code\_verifier и code\_challenge для потока OAuth 2.0 PKCE.
* Поддержка функционала: Помимо платежей, SDK поддерживает работу с зарплатными ведомостями и получение выписок.
* Тестовое окружение: Для работы в тестовом контуре используйте [сертификаты Минцифры](https://www.sberbank.ru/ru/certificates) russiantrustedca.pem.
---
# SDK Node.js
[source](https://developers.sber.ru/docs/ru/sber-api/sdk/nodejs/overview.md)
Единый интерфейс для работы с ключевыми сервисами Sber API: авторизация, H2H, моментальные платежи, зарплатные проекты и другие операции.
Основные модули:
* **СберБизнес ID** - базовый модуль авторизации (получение, обновление, отзыв токенов, смена клиентского секрета, информация о пользователе)
* **Компаниям** - модуль прямой интеграции (H2H) для корпоративных клиентов
* **Моментальные платежи** - модуль для быстрых платежных операций
:::note
Требования:
* Node.js версии 14.18.0 или выше.
* Необходимо установить банковский TLS сертификат в truststore вашего приложения.
:::
## Установка и настройка
### Доступные сборки
Скачайте исходный код проекта и установите его в ваш локальный репозиторий.
* [GitHub](https://github.com/GreenBankTeamRu/SDK_Node.js)
* [GitVerse](https://gitverse.ru/GreenBankTeamRu/SDK_Node.js)
Сборка SDK из исходного кода:
```bash
npm pack
```
Готовая сборка для использования в проектах:
* [Скачать пакет](https://cdn-app.sberdevices.ru/misc/0.0.0/assets/bsm-docs/13a0ebe0_Node_js_sber-business-api-1.0.2.tgz)
Установка в свой проект `.tgz`-архива.
```bash
npm install ./sber-business-api-1.0.0.tgz
```
## Настройка клиента
Для настройки клиента необходимо импортировать класс клиента
```javascript
import ApiClient from './ApiClient.js';
```
и его сконфигурировать:
```javascript
const client = new ApiClient({
// Базовые настройки
host: 'https://iftfintech.testsbi.sberbank.ru:9443',
// Настройки сертификатов
p12Path: '/path/to/certificate.p12',
p12Password: 'certpass',
caPath: '/path/to/russiantrustedca2024.pem',
// Настройки времени ожидания
connectionTimeout: 60000,
readTimeout: 60000,
// Повторные попытки
maxRetries: 3, // Максимальное количество повторов
retryDelay: 1000, // Задержка между повторами (мс)
// Логирование
enableLogs: true
});
```
## Инициализация
```javascript
import ApiClient from '../lib/authorization/client.js';
import H2hClient from '../lib/h2h/h2hClient.js'
import SignatureVerificationService from '../lib/authorization/signatureVerificationService.js';
//Инициализация сервиса проверки JWT
const verifier = new SignatureVerificationService('/Users/18701423/Downloads/00CA0721_тестовый корень Минцифры.cer');
//Инициализация клиента (общее для всех модулей)
const client = new ApiClient({
conntectionTimeout: 60000,
readTimeout: 60000,
host: 'https://iftfintech.testsbi.sberbank.ru:9443',
p12Path: '/Users/18701423/Downloads/SBBAPI_1958729756739688672_173a5fe4-68f5-4014-91c7-1730e19e3324.p12',
caPath: '/Users/18701423/Documents/certs/минЦифры/russiantrustedca2024.pem',
p12Password: 'Yjubherb123',
enableLogs: true,
maxRetries: 3, // опционально: по умолчанию 3
retryDelay: 1000, // опционально: по умолчанию 1 сек
});
//Для модуля "Компаниям"
const h2hClient = new H2hClient(client)
//Для модуля "Моментальные платежи"
const instantPaymentApi = new InstantPayment(client)
//Метод получения access_token
const result = await client.getAccessToken({
code: _CODE,
client_id: _CLIENT_ID,
redirect_uri: _REDIRECT_URI,
client_secret: _CLIENT_SECRET,
});
//Проверка JWT
let verifyJwtResult = verifier.verifyJwt(result.id_token)
```
**Дополнительная информация:**
* Для метода проверки подписи `javascript verifier.verifyJwt(result.id_token)` используется Java 1.8 +
---
# Sber API SDK
[source](https://developers.sber.ru/docs/ru/sber-api/sdk/overview.md)
Набор инструментов для Java и Node.js, который упрощает и ускоряет разработку. SDK берет на себя рутину: HTTP-взаимодействие, аутентификацию и работу с данными, позволяя вам сосредоточиться на создании бизнес-ценности.
## Состав SDK
Отличается в зависимости от [набора API-ресурсов](/ru/sber-api/start/overview). На данный момент доступно два набора: "Компаниям" и "Моментальные платежи".
* [Получение/обновление токена доступа](/ru/sber-api/specifications/oauth/oauth-token-post)
* [Получение информации о пользователе](/ru/sber-api/specifications/oauth/oauth-user-info-get)
* [Отзыв токена доступа](/ru/sber-api/specifications/oauth/oauth-revoke-post)
* [Обновление Client Secret](/ru/sber-api/specifications/oauth/change-client-secret-post)
* [Получение справочников](/ru/sber-api/specifications/dicts/get-dictionary)
* [Получение информации о клиенте](/ru/sber-api/specifications/client-info/get-client-info)
* [Получение криптоинформации (КУЦ, криптопрофили и т.д.)](/ru/sber-api/specifications/crypto/crypto-info-get)
* [Получение криптоинформации для ЕИО (КУЦ, пользователи и т.д.)](/ru/sber-api/specifications/crypto/crypto-info-eio-get)
* [Создание запроса на новый сертификат](/ru/sber-api/specifications/crypto/create-cert-request-v-2)
* [Создание запроса на новый сертификат для ЕИО](/ru/sber-api/specifications/crypto/create-cert-request-eio-v-2)
* [Активация сертификата](/ru/sber-api/specifications/crypto/activate-post)
* [Активация сертификата для ЕИО](/ru/sber-api/specifications/crypto/activate-eio-post)
* [Получение печатной формы запроса на новый сертификат](/ru/sber-api/specifications/crypto/print-v-2)
* [Получение печатной формы запроса на новый сертификат для ЕИО](/ru/sber-api/specifications/crypto/print-eio-v-2)
* [Получение статуса запроса на новый сертификат](/ru/sber-api/specifications/crypto/status-get)
* [Получение статуса запроса на новый сертификат для ЕИО](/ru/sber-api/specifications/crypto/status-eio-get)
* [Создание зарплатной ведомости](/ru/sber-api/specifications/payrolls/create)
* [Получение зарплатной ведомости](/ru/sber-api/specifications/payrolls/get-document)
* [Получение статуса зарплатной ведомости](/ru/sber-api/specifications/payrolls/get-state)
* [Создание рублевого платежного поручения](/ru/sber-api/specifications/payments/create-payment)
* [Получение платежного поручения](/ru/sber-api/specifications/payments/get-payment)
* [Получение статуса рублевого платежного поручения](/ru/sber-api/specifications/payments/get-payment-state)
* [Запрос сводной информации по выписке](/ru/sber-api/specifications/statement/summary)
* [Получение выписки по счету](/ru/sber-api/specifications/statement/transactions)
* [Выставление счета на оплату по фиксированным реквизитам](/ru/sber-api/specifications/payments/create-payment-from-invoice)
* [Выставление счета на оплату по свободным реквизитам](/ru/sber-api/specifications/payments/create-payment-from-invoice-any)
* [Выставление счета на оплату в бюджет](/ru/sber-api/specifications/payments/create-payment-from-invoice-budget)
* [Получение статуса рублевого платежного поручения](/ru/sber-api/specifications/payments/get-payment-state)
* [Получение платежного поручения](/ru/sber-api/specifications/payments/get-payment)
## Поддержка
При возникновении вопросов:
1. Сверьтесь с документацией,
2. Напишите на supportdbo2@sberbank.ru:
* Используемое вами окружение,
* Детальное описание проблемы.
---
# Acceptance Advances Overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/acceptance-advances/acceptance-advances-overview.md)
## Описание
## Методы Sber AP по заявлению на заранее данный акцепт (ЗДА)
* [Создание черновика заявления на заранее данный акцепт](/ru/sber-api/specifications/acceptance-advances/create-draft)
* [Получение данных заявления на заранее данный акцепт](/ru/sber-api/specifications/acceptance-advances/get-document)
* [Получение статуса заявления на заранее данный акцепт](/ru/sber-api/specifications/acceptance-advances/get-status)
---
# Создание черновика заявления на заранее данный акцепт
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/acceptance-advances/create-draft.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/acceptance-advances`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/acceptance-advances`
## Описание
Запрос на создание черновика заявления на заранее данный акцепт.
Должен содержать токен доступа (access\_token) пользователя в параметре **Authorization** заголовка.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `ACCEPTANCE_ADVANCE`.
Рекомендации по тестированию в песочнице
При отправке запроса на получение информации о клиенте в песочнице успешный ответ всегда одинаковый и не зависит от входных данных. При этом сам запрос должен быть сформирован строго в соответствии с требованиями документации.
---
# Получение заявления на заранее данный акцепт
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/acceptance-advances/get-document.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/acceptance-advances/{externalId}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/acceptance-advances/{externalId}`
## Описание
Запрос на получени данных заявления на заранее данный акцепт.
Должен содержать токен доступа (`access_token`) пользователя в параметре **Authorization** заголовка и идентификатор документа (`externalId`) в параметрах.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `ACCEPTANCE_ADVANCE`.
Рекомендации по тестированию в песочнице
При отправке запроса на получение информации о клиенте в песочнице успешный ответ всегда одинаковый и не зависит от входных данных. При этом сам запрос должен быть сформирован строго в соответствии с требованиями документации.
---
# Получение статуса заявления на заранее данный акцепт
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/acceptance-advances/get-status.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/acceptance-advances/{externalId}/state`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/acceptance-advances/{externalId}/state`
## Описание
Запрос на получение статуса заявления на заранее данный акцепт.
Должен содержать токен доступа (`access_token`) пользователя в параметре **Authorization** заголовка и идентификатор документа (`externalId`) в параметрах.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `ACCEPTANCE_ADVANCE`.
Рекомендации по тестированию в песочнице
При отправке запроса на получение информации о клиенте в песочнице успешный ответ всегда одинаковый и не зависит от входных данных. При этом сам запрос должен быть сформирован строго в соответствии с требованиями документации.
---
# BankControlStatements
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/bank-control-statements/bankcontrolstatements.md)
## Описание
## Методы Sber API по работе с ведомостями банковского контроля:
* [Создание валютного контракта с нерезидентом (ВБК в банк)](/ru/sber-api/specifications/bank-control-statements/create-curr-contract)
* [Получение списка ВБК по контракту](/ru/sber-api/specifications/bank-control-statements/get-curr-contract-list)
* [Получение документа валютный контракт с нерезидентом (ВБК в банк)](/ru/sber-api/specifications/bank-control-statements/get-curr-contract)
* [Получение статуса ведомости банковского контроля (ВБК в банк)](/ru/sber-api/specifications/bank-control-statements/get-status)
* [Создание заявления о внесении изменений а I раздел ВБК](/ru/sber-api/specifications/bank-control-statements/create-curr-contract-change-application)
* [Получение документа Заявление о внесении изменений в I раздел ВБК по externalId](/ru/sber-api/specifications/bank-control-statements/get-curr-contract-change-application)
* [Получение статуса документа Заявление о внесении изменений в I раздел ВБК](/ru/sber-api/specifications/bank-control-statements/get-curr-contract-change-application-status)
---
# Создание заявления о внесении изменений в I раздел ВБК
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/bank-control-statements/create-curr-contract-change-application.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/bank-control-statements/curr-contract-change-application`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/bank-control-statements/curr-contract-change-application`
## Описание
Для создания заявления о внесении изменений в I раздел ВБК необходимо отправить POST-запрос `/fintech/api/v1/bank-control-statements/curr-contract-change-application` с токеном доступа (**access\_token**) пользователя в параметре **Authorization** заголовка и реквизитами заявления о внесении изменений.
В параметре scope ссылки авторизации пользователя должен быть указан сервис `BANK_CONTROL_STATEMENT` для получения доступа к этому запросу.
* Если в запросе на создание заявления передать ЭП к документу (объект **digestSignatures**), то Банк сразу начнет обработку документа.
* Если в запросе не передавать ЭП к документу, то заявление будет создано в статусе черновик. Для начала обработки документа Банком потребуется зайти в интерфейс СберБизнес и подписать его.
Дайджест
Дайджест это текстовый документ, содержащий перечень и значения полей запроса, к которому он относится и предназначенный для подписания ЭП. Сохраняйте порядок и количество полей дайджеста, как показано в примере ниже, иначе подписать его не получится.
Формат дайджеста:
| **Наименование поля** | **Описание поля** | **Пример** |
| --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | ------------------------------------ |
| externalId | Идентификатор документа в организации-партнере | 550e8400-e29b-41d4-a716-446655440000 |
| date | Дата создания документа по местному времени | 2019-05-16 |
| number | Номер документа | 9263OUT-30-12 |
| authPersonName | ФИО ответственного лица | Петров Петр Иванович |
| authPersonTelfax | Телефон ответственного лица | 79263689379 |
| TABLES | Значение указывается при наличии вложенных коллекций | |\
| Table=StatementSet | Значение указывается при наличии УНК или идентификатора ВБК в Банке | |\
| controlStatementUniqueNumber | УНК | 25120002/1481/1948/9/1 |
| controlBaseId | идентификатор ВБК в Банке | 7113689325 |
| BankControlStatementInfo.contractDate | Дата договора | 2019-05-16 |
| BankControlStatementInfo.amount | Сумма контракта | 1.01 |
| BankControlStatementInfo.contractEndDate | Дата окончания договора | 2019-05-16 |
| BankControlStatementInfo.contractNumber | Номер контракта | 2442 |
| BankControlStatementInfo.currencyCode | Цифровой код валюты договора | 840 |
| BankControlStatementInfo.ResidentInfo.changeDate | Дата внесения изменений в ЕГРЮЛ | 2026-02-02 |
| BankControlStatementInfo.ResidentInfo.name | Наименование резидента | ООО "АТЛАНТИС НОВИКОМ" |
| BankControlStatementInfo.ResidentInfo.inn | ИНН | 7733580074 |
| BankControlStatementInfo.ResidentInfo.kpp | КПП | 773401002 |
| BankControlStatementInfo.ResidentInfo.regDate | Дата регистрации в ЕГРЮЛ | 2026-02-02 |
| BankControlStatementInfo.ResidentInfo.ogrn | ОГРН | 1026605606620 |
| Table=StatementSet.BankControlStatementInfo.NonResidents | Значение указывается при заполнении кода и наименования страны или наименования контрагента | |
| countryCode | Цифровой код страны иностранного контрагента | 38 |
| countryName | Наименование страны иностранного контрагента | Казахстан |
| name | Наименование иностранного контрагента | Kazan |
| # | Разделитель нерезидентов | |
| Table=StatementSet.DocBaseSet | Значение указывается при заполнении даты документа | |
| docDate | Дата документа-основания для внесения изменений. Формат YYYY-MM-DD | 2019-05-16 |
| # | Разделитель дат документов | |\
| Table=StatementSet.BfAttachments | Значение указывается при наличии UUID-ов больших файлов | |
| fileId | UUID большого файла | |
| # | Разделитель значений UUID-ов больших файлов | |
| # | Разделитель значений ВБК | |
Пример дайджеста:
```json
externalId=2a3e1375-1e23-409f-b1e6-50a552e512e1
date=2025-12-29
number=9263OUT-30-12
authPersonName=Петров Петр Иванович
authPersonTelfax=79263689379
TABLES
Table=StatementSet
controlStatementUniqueNumber=25120002/1481/1948/9/1
controlBaseId=7113689325
BankControlStatementInfo.contractDate=2025-12-29
BankControlStatementInfo.amount=182474598771.00
BankControlStatementInfo.contractEndDate=2025-12-29
BankControlStatementInfo.contractNumber=2442
BankControlStatementInfo.currencyCode=840
BankControlStatementInfo.ResidentInfo.changeDate=2026-01-29
BankControlStatementInfo.ResidentInfo.name=ООО "АТЛАНТИС НОВИКОМ" 1
BankControlStatementInfo.ResidentInfo.inn=7733580074
BankControlStatementInfo.ResidentInfo.kpp=773401002
Table=StatementSet.BankControlStatementInfo.NonResidents
countryCode=38
countryName=Казахстан
name=Kazan
#
countryCode=38
countryName=Казахстан
name=Kazan1
#
countryCode=38
countryName=Казахстан
name=Kazan2
#
countryCode=38
countryName=Казахстан
name=Kazan3
#
Table=StatementSet.DocBaseSet
docdate=2025-12-29
#
docdate=2025-12-29
#
docdate=2025-12-29
#
docdate=2025-12-29
#
docdate=2025-12-29
#
Table=StatementSet.BfAttachments
fileId=31663ef5-7115-5015-b0f3-f1d70a4e9c11
#
fileId=51663ef6-7225-6016-c0f3-f1c70a4e9c12
#
fileId=61663ef7-7335-7017-d0f3-f1b70a4e9c22
#
fileId=71663ef8-7475-8018-f0f3-f1f70a4e9c32
#
fileId=81663ef9-7575-9019-a0f3-f1g70a4e9c42
#
#
controlStatementUniqueNumber=24120002/1481/1948/9/1
controlBaseId=7113689326
BankControlStatementInfo.contractDate=2025-12-29
BankControlStatementInfo.amount=2084454925.00
BankControlStatementInfo.contractEndDate=2025-12-29
BankControlStatementInfo.contractNumber=2441
BankControlStatementInfo.currencyCode=978
Table=StatementSet.BankControlStatementInfo.NonResidents
countryCode=38
countryName=Казахстан
name=Kazan
#
countryCode=38
countryName=Казахстан
name=Kazan1
#
countryCode=38
countryName=Казахстан
name=Kazan2
#
countryCode=38
countryName=Казахстан
name=Kazan3
#
Table=StatementSet.DocBaseSet
docdate=2025-12-29
#
docdate=2025-12-29
#
docdate=2025-12-29
#
docdate=2025-12-29
#
docdate=2025-12-29
#
Table=StatementSet.BfAttachments
fileId=31663ef5-7115-5015-b0f3-f1d70a4e9c11
#
fileId=51663ef6-7225-6016-c0f3-f1c70a4e9c12
#
fileId=61663ef7-7335-7017-d0f3-f1b70a4e9c22
#
fileId=71663ef8-7475-8018-f0f3-f1f70a4e9c32
#
fileId=81663ef9-7575-9019-a0f3-f1g70a4e9c42
#
#
```
Рекомендации по тестированию в песочнице
При тестировании создания валютного контракта с нерезидентом в Песочнице соблюдайте правила:
* **Не нужно устанавливать промышленные сертификаты электронной подписи (ЭП)** — Песочница использует тестовые идентификаторы ЭП (certificateUuid).
* Все остальные поля запроса заполняйте произвольными данными (реквизиты, суммы) в соответствии с требованиями в документации.
## Сценарии тестирования
Для тестирования сценариев используйте **фиксированные** значения `certificateUuid`. При использовании любых других значений `certificateUuid` вернется ошибка `INVALIDEDS`.
**1.** Чтобы создать черновик ВБК, отправьте запрос **без объекта `digestSignatures`**.
***
**2.** Для отправки документа с единственной или двумя подписями передайте в объекте `digestSignatures` тестовые `certificateUuid`.
**Параметры:**
* bb014b5d-8159-40be-97c1-eafeed4a8c3d (единственная подпись)
* d5d4f811-f4d4-4205-a70f-58f772eeab72 (первая подпись)
* 4f29c8ef-b55d-43c7-a321-f2b1303a29cd (вторая подпись)
**Статус в ответе:** `bankStatus: "EXPORTED"`
**Пример:**
```json
#Единственная подпись
"digestSignatures": [
\{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c3d",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
#Первая и вторая подпись
"digestSignatures": [
\{
"certificateUuid": "d5d4f811-f4d4-4205-a70f-58f772eeab72",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\},
\{
"certificateUuid": "4f29c8ef-b55d-43c7-a321-f2b1303a29cd",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
```
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `BANK_CONTROL_STATEMENT`. Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"429":{"description":"Превышен лимит запросов","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n | **Cause** | **Message** | **Description** |\n | ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n | UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"503":{"description":"\"Сервис временно недоступен\"\n | **Cause** | **Message** | **Description** |\n | ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n | UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}}}} />
---
# Создание валютного контракта с нерезидентом (ВБК в банк)
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/bank-control-statements/create-curr-contract.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/bank-control-statements/reg-curr-contracts`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/bank-control-statements/reg-curr-contracts`
## Описание
Для создания заявления на регистрацию ВК необходимо отправить POST-запрос `/fintech/api/v1/bank-control-statements/reg-curr-contracts` с токеном доступа (**access\_token**) пользователя в параметре **Authorization** заголовка и реквизитами на регистрацию контракта.
В параметре scope ссылки авторизации пользователя должен быть указан сервис `BANK_CONTROL_STATEMENT` для получения доступа к этому запросу.
* Если в запросе на создание заявления передать ЭП к документу (объект **digestSignatures**), то Банк сразу начнет обработку документа.
* Если в запросе не передавать ЭП к документу, то заявление будет создано в статусе черновик. Для начала обработки документа Банком потребуется зайти в интерфейс СберБизнес и подписать его.
Дайджест
Дайджест это текстовый документ, содержащий перечень и значения полей запроса, к которому он относится и предназначенный для подписания ЭП. Сохраняйте порядок и количество полей дайджеста, как показано в примере ниже, иначе подписать его не получится.
Формат дайджеста:
| **Наименование поля** | **Описание поля** | **Пример** |
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------ |
| amount | Сумма контракта | 1.01 |
| bankControlStatementInfo.authPersonName | ФИО ответственного лица | Петров Петр Иванович |
| bankControlStatementInfo.authPersonTelfax | Телефон ответственного лица | 79263689379 |
| bankControlStatementInfo.creationMode | Режим создания ВБК | ICS\_CONTRACT\_REGISTRATION |
| bankControlStatementInfo.currencyName | Буквенный ISO-код валюты договора | USD |
| bankControlStatementInfo.externalId | Идентификатор документа в организации-партнере | 550e8400-e29b-41d4-a716-446655440000 |
| contractDate | Дата договора | 2019-05-16 |
| contractEndDate | Дата договора | 2019-05-16 |
| contractNumber | Номер контракта | 2442 |
| contractType | Код вида контракта, заполняемый для экспортных контрактов при представлении сведений по контракту без контракта (Режим создания ВБК) | MULTI\_CONTRACT |
| currencyCode | Цифровой код валюты договора | 840 |
| date | Дата создания документа по местному времени | 2019-05-16 |
| TABLES | Значение указывается при наличии UUID-ов больших файлов или данных о нерезидентах | |
| Table=BfAttachments | Значение указывается при наличии UUID-ов больших файлов | |
| fileId | UUID больших файлов | 31663ef5-7975-4016-b0f3-f1d70a4e9c22 |
| # | Разделитель значений UUID-ов больших файлов | |
| fileId | UUID больших файлов | 51663ef5-7975-4016-b0f3-f1d70a4e9c22 |
| # | Разделитель значений UUID-ов больших файлов | |
| Table=NonResidents | | |
| countryCode | Цифровой код страны иностранного контрагента | 38 |
| countryName | Наименование страны иностранного контрагента | Казахстан |
| name | Наименование иностранного контрагента | Kazan |
| # | Разделитель нерезидентов | |
Пример дайджеста:
```json
amount=1.01
bankControlStatementInfo.authPersonName=Иванов Иван Иванович
bankControlStatementInfo.authPersonTelfax=4955005550
bankControlStatementInfo.creationMode=ICS_CONTRACT_REGISTRATION
bankControlStatementInfo.currencyName=USD
bankControlStatementInfo.externalId=16d6a46e-e05f-48eb-ac69-a44980ae64cf
contractDate=2019-09-26
contractEndDate=2019-09-26
contractNumber=123АБВ
contractType=MULTI_CONTRACT
currencyCode=840
date=2019-09-26
TABLES
Table=NonResidents
countryCode=038
countryName=Казахстан
name=Kazan
#
```
Рекомендации по тестированию в песочнице
При тестировании создания валютного контракта с нерезидентом в Песочнице соблюдайте правила:
* **Не нужно устанавливать промышленные сертификаты электронной подписи (ЭП)** — Песочница использует тестовые идентификаторы ЭП (certificateUuid).
* Все остальные поля запроса заполняйте произвольными данными (реквизиты, суммы) в соответствии с требованиями в документации.
## Сценарии тестирования
Для тестирования сценариев используйте **фиксированные** значения `certificateUuid`. При использовании любых других значений `certificateUuid` вернется ошибка `INVALIDEDS`.
**1.** Чтобы создать черновик ВБК, отправьте запрос **без объекта `digestSignatures`**.
***
**2.** Для отправки документа с единственной или двумя подписями передайте в объекте `digestSignatures` тестовые `certificateUuid`.
**Параметры:**
* bb014b5d-8159-40be-97c1-eafeed4a8c3d (единственная подпись)
* d5d4f811-f4d4-4205-a70f-58f772eeab72 (первая подпись)
* 4f29c8ef-b55d-43c7-a321-f2b1303a29cd (вторая подпись)
**Статус в ответе:** `bankStatus: "EXPORTED"`
**Пример:**
```json
#Единственная подпись
"digestSignatures": [
\{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c3d",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
#Первая и вторая подпись
"digestSignatures": [
\{
"certificateUuid": "d5d4f811-f4d4-4205-a70f-58f772eeab72",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\},
\{
"certificateUuid": "4f29c8ef-b55d-43c7-a321-f2b1303a29cd",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
```
= Дате контракта","format":"date","nullable":false,"example":"2018-12-31"},"digestSignatures":{"type":"array","description":"Электронные подписи по дайджесту документа","items":{"required":["base64Encoded","certificateUuid"],"properties":{"base64Encoded":{"maxLength":50000,"type":"string","description":"Значение электронной подписи, закодированное в Base64","nullable":false,"example":"HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w=="},"certificateUuid":{"type":"string","description":"Уникальный идентификатор сертификата ключа проверки электронной подписи (UUID)","format":"uuid","nullable":false,"example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"}},"description":"Электронная подпись","title":"FintechSignature"}},"number":{"type":"string","description":"Номер документа","example":"1"},"balance":{"minimum":0.01,"type":"number","description":"Сальдо расчетов","readOnly":true,"example":1.01},"bankControlStatementInfo":{"required":["creationMode","externalId"],"properties":{"bankDate":{"type":"string","description":"Дата постановки контракта/договора на учет","format":"date","readOnly":true,"example":"2018-12-31"},"chainId":{"type":"string","description":"Id цепочки","readOnly":true,"example":"1234567890123"},"creationMode":{"type":"string","description":"Режим создания ВБК: ICS_CONTRACT_INFORMATION - предоставление сведений об экспортном или смешанном контракте (без передачи контракта в виде вложения); ICS_CONTRACT_REGISTRATION - постановка импортного, экспортного или смешанного контракта на учет (с передачей контракта в виде вложения)","nullable":false,"example":"ICS_CONTRACT_INFORMATION","enum":["ICS_CONTRACT_INFORMATION","ICS_CONTRACT_REGISTRATION"]},"currencyName":{"pattern":"^[A-Z]{3}$","type":"string","description":"Буквенный ISO-код валюты контракта","example":"RUB"},"isActual":{"type":"boolean","description":"Признак актуальности ВБК","readOnly":true},"UNK":{"maxLength":25,"type":"string","description":"Уникальный номер контракта, заполняемый банком. В запросе на создание валютного контракта не заполняется.","example":"string"},"authPersonName":{"type":"string","description":"ФИО ответственного лица","example":"Иванов Иван Иванович"},"authPersonTelfax":{"type":"string","description":"Телефон ответственного лица","example":"89082132322"},"bankCommentAuthor":{"type":"string","description":"Автор комментария","readOnly":true,"example":"Иванов Иван Иванович"},"bfAttachments":{"type":"array","description":"Прикрепленные большие файлы","items":{"required":["fileId"],"properties":{"fileId":{"type":"string","description":"Уникальный идентификатор файла","nullable":false,"example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"fileName":{"type":"string","description":"Имя файла","readOnly":true,"example":"SB_7718830000_40702810038290010000_T18.txt"}},"description":"Данные о вложении документа (большой файл)","title":"FintechBfAttachment"}},"externalId":{"maxLength":38,"type":"string"},"failReasons":{"type":"array","description":"Причины отказа","readOnly":true,"items":{"properties":{"docField":{"type":"string","description":"Поле документа","example":"Номер контракта"},"reasonComment":{"type":"string","description":"Правило заполнения/замечания","example":"Указан неверно"},"reasonId":{"type":"string","description":"Код причины отказа","example":"PS_REST_REJ_PART_2-9"},"returnComment":{"type":"string","description":"Комментарий","example":"Комментарий"}},"description":"Причина отказа","title":"FintechFailReason"}}},"description":"Банковский комментарий к статусу документа","title":"FintechBankControlStatementInfo"},"contractType":{"type":"string","description":"Код вида контракта, заполняемый в зависимости от режима создания ВБК. \n\n* IMPORT - вид контракта \"Импортный\" только для режима ICS_CONTRACT_REGISTRATION.\n* MIX_TRADE - вид контракта \"Смешанный\" для режимов ICS_CONTRACT_REGISTRATION, ICS_CONTRACT_INFORMATION.\n* PRODUCT_EXPORT, SERVICE_EXPORT - вид контракта \"Экспортный\" для режимов ICS_CONTRACT_REGISTRATION, ICS_CONTRACT_INFORMATION.\n\nДля режима ICS_CONTRACT_INFORMATION обозначает предмет контракта (Продукты/Услуги) и обязательно для заполнения.\n","example":"PRODUCT_EXPORT","enum":["PRODUCT_EXPORT","SERVICE_EXPORT","IMPORT","MIX_TRADE"]},"decNonresToResidentLiabSum":{"type":"number","description":"Сумма по подтверждающим документам, уменьшающим обязательства нерезидента перед резидентом","readOnly":true,"example":1.01},"decResidentToNonresLiabSum":{"type":"number","description":"Сумма по подтверждающим документам, уменьшающим обязательства резидента перед нерезидентом","readOnly":true,"example":1.01},"finalTransCurrencyCode":{"maxLength":3,"type":"string","description":"Цифровой код валюты","readOnly":true,"example":"840"},"finalTransCurrencyName":{"maxLength":3,"pattern":"^[A-Z]{3}$","type":"string","description":"Буквенный ISO-код валюты","readOnly":true,"example":"RUB"},"incNonresidLiabilitySum":{"type":"number","description":"Сумма по подтверждающим документам, увеличивающим обязательства нерезидента","readOnly":true,"example":1.01},"incResidentLiabilitySum":{"type":"number","description":"Сумма по подтверждающим документам, увеличивающим обязательства резидента","readOnly":true,"example":1.01},"totalCredit":{"type":"number","description":"Сумма денежных средств, поступивших по контракту в пользурезидента (всего зачислено)","readOnly":true,"example":1.01},"totalDebit":{"type":"number","description":"Сумма денежных средств, переведенных по контракту в пользунерезидента (всего списано)","readOnly":true,"example":1.01},"transDate":{"type":"string","description":"Дата расчета","format":"date","readOnly":true,"example":"2018-12-31"},"xmlBodies":{"type":"array","items":{"type":"string"},"description":"Список кодированных xml-файлов ВБК в структуре . Не заполняется при постановке контракта на учет.","example":"string"},"additionInfo":{"type":"object","properties":{"hasPeriodicPayments":{"type":"boolean","description":"Признак периодичности платежей","readOnly":true,"example":true},"hasAutoProlongation":{"type":"boolean","description":"Признак автопролонгации контракта","readOnly":true,"example":true}},"description":"Дополнительная информация","title":"AdditionInfo"},"removalDate":{"type":"string","description":"Дата снятия с учета (для перевода и при первичной постановке). Не заполняется при постановке контракта на учет.","format":"date","readOnly":true,"example":"2018-12-31"},"removalCondition":{"type":"string","description":"Основание снятия с учета (пункт инструкции 181-И в формате. Не заполняется при постановке контракта на учет. х.х.х)"},"controlBaseId":{"maxLength":254,"type":"string","description":"Идентификатор ВБК в Банке","readOnly":true}},"description":"Валютный контракт с нерезидентом","title":"FintechCurrContract"}}},"required":true}} />
= Дате контракта","format":"date","nullable":false,"example":"2018-12-31"},"digestSignatures":{"type":"array","description":"Электронные подписи по дайджесту документа","items":{"required":["base64Encoded","certificateUuid"],"properties":{"base64Encoded":{"maxLength":50000,"type":"string","description":"Значение электронной подписи, закодированное в Base64","nullable":false,"example":"HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w=="},"certificateUuid":{"type":"string","description":"Уникальный идентификатор сертификата ключа проверки электронной подписи (UUID)","format":"uuid","nullable":false,"example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"}},"description":"Электронная подпись","title":"FintechSignature"}},"number":{"type":"string","description":"Номер документа","example":"1"},"balance":{"minimum":0.01,"type":"number","description":"Сальдо расчетов","readOnly":true,"example":1.01},"bankControlStatementInfo":{"required":["creationMode","externalId"],"properties":{"bankDate":{"type":"string","description":"Дата постановки контракта/договора на учет","format":"date","readOnly":true,"example":"2018-12-31"},"chainId":{"type":"string","description":"Id цепочки","readOnly":true,"example":"1234567890123"},"creationMode":{"type":"string","description":"Режим создания ВБК: ICS_CONTRACT_INFORMATION - предоставление сведений об экспортном или смешанном контракте (без передачи контракта в виде вложения); ICS_CONTRACT_REGISTRATION - постановка импортного, экспортного или смешанного контракта на учет (с передачей контракта в виде вложения)","nullable":false,"example":"ICS_CONTRACT_INFORMATION","enum":["ICS_CONTRACT_INFORMATION","ICS_CONTRACT_REGISTRATION"]},"currencyName":{"pattern":"^[A-Z]{3}$","type":"string","description":"Буквенный ISO-код валюты контракта","example":"RUB"},"isActual":{"type":"boolean","description":"Признак актуальности ВБК","readOnly":true},"UNK":{"maxLength":25,"type":"string","description":"Уникальный номер контракта, заполняемый банком. В запросе на создание валютного контракта не заполняется.","example":"string"},"authPersonName":{"type":"string","description":"ФИО ответственного лица","example":"Иванов Иван Иванович"},"authPersonTelfax":{"type":"string","description":"Телефон ответственного лица","example":"89082132322"},"bankCommentAuthor":{"type":"string","description":"Автор комментария","readOnly":true,"example":"Иванов Иван Иванович"},"bfAttachments":{"type":"array","description":"Прикрепленные большие файлы","items":{"required":["fileId"],"properties":{"fileId":{"type":"string","description":"Уникальный идентификатор файла","nullable":false,"example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"fileName":{"type":"string","description":"Имя файла","readOnly":true,"example":"SB_7718830000_40702810038290010000_T18.txt"}},"description":"Данные о вложении документа (большой файл)","title":"FintechBfAttachment"}},"externalId":{"maxLength":38,"type":"string"},"failReasons":{"type":"array","description":"Причины отказа","readOnly":true,"items":{"properties":{"docField":{"type":"string","description":"Поле документа","example":"Номер контракта"},"reasonComment":{"type":"string","description":"Правило заполнения/замечания","example":"Указан неверно"},"reasonId":{"type":"string","description":"Код причины отказа","example":"PS_REST_REJ_PART_2-9"},"returnComment":{"type":"string","description":"Комментарий","example":"Комментарий"}},"description":"Причина отказа","title":"FintechFailReason"}}},"description":"Банковский комментарий к статусу документа","title":"FintechBankControlStatementInfo"},"contractType":{"type":"string","description":"Код вида контракта, заполняемый в зависимости от режима создания ВБК. \n\n* IMPORT - вид контракта \"Импортный\" только для режима ICS_CONTRACT_REGISTRATION.\n* MIX_TRADE - вид контракта \"Смешанный\" для режимов ICS_CONTRACT_REGISTRATION, ICS_CONTRACT_INFORMATION.\n* PRODUCT_EXPORT, SERVICE_EXPORT - вид контракта \"Экспортный\" для режимов ICS_CONTRACT_REGISTRATION, ICS_CONTRACT_INFORMATION.\n\nДля режима ICS_CONTRACT_INFORMATION обозначает предмет контракта (Продукты/Услуги) и обязательно для заполнения.\n","example":"PRODUCT_EXPORT","enum":["PRODUCT_EXPORT","SERVICE_EXPORT","IMPORT","MIX_TRADE"]},"decNonresToResidentLiabSum":{"type":"number","description":"Сумма по подтверждающим документам, уменьшающим обязательства нерезидента перед резидентом","readOnly":true,"example":1.01},"decResidentToNonresLiabSum":{"type":"number","description":"Сумма по подтверждающим документам, уменьшающим обязательства резидента перед нерезидентом","readOnly":true,"example":1.01},"finalTransCurrencyCode":{"maxLength":3,"type":"string","description":"Цифровой код валюты","readOnly":true,"example":"840"},"finalTransCurrencyName":{"maxLength":3,"pattern":"^[A-Z]{3}$","type":"string","description":"Буквенный ISO-код валюты","readOnly":true,"example":"RUB"},"incNonresidLiabilitySum":{"type":"number","description":"Сумма по подтверждающим документам, увеличивающим обязательства нерезидента","readOnly":true,"example":1.01},"incResidentLiabilitySum":{"type":"number","description":"Сумма по подтверждающим документам, увеличивающим обязательства резидента","readOnly":true,"example":1.01},"totalCredit":{"type":"number","description":"Сумма денежных средств, поступивших по контракту в пользурезидента (всего зачислено)","readOnly":true,"example":1.01},"totalDebit":{"type":"number","description":"Сумма денежных средств, переведенных по контракту в пользунерезидента (всего списано)","readOnly":true,"example":1.01},"transDate":{"type":"string","description":"Дата расчета","format":"date","readOnly":true,"example":"2018-12-31"},"xmlBodies":{"type":"array","items":{"type":"string"},"description":"Список кодированных xml-файлов ВБК в структуре . Не заполняется при постановке контракта на учет.","example":"string"},"additionInfo":{"type":"object","properties":{"hasPeriodicPayments":{"type":"boolean","description":"Признак периодичности платежей","readOnly":true,"example":true},"hasAutoProlongation":{"type":"boolean","description":"Признак автопролонгации контракта","readOnly":true,"example":true}},"description":"Дополнительная информация","title":"AdditionInfo"},"removalDate":{"type":"string","description":"Дата снятия с учета (для перевода и при первичной постановке). Не заполняется при постановке контракта на учет.","format":"date","readOnly":true,"example":"2018-12-31"},"removalCondition":{"type":"string","description":"Основание снятия с учета (пункт инструкции 181-И в формате. Не заполняется при постановке контракта на учет. х.х.х)"},"controlBaseId":{"maxLength":254,"type":"string","description":"Идентификатор ВБК в Банке","readOnly":true}},"description":"Валютный контракт с нерезидентом","title":"FintechCurrContract"}}}},"202":{"description":"Операция не завершена полностью","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"400":{"description":"\"Ошибка в запросе или его жизненном цикле\"\n\n | **Cause** | **Message** | **Description** |\n | --------------------- | ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n | DESERIALIZATION_FAULT | Неверный формат запроса | Данные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в response в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request запроса. Скорректируйте заполнение атрибутов и повторите запрос. |\n | VALIDATION_FAULT | Ошибка валидации | Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request запроса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"401":{"description":"\"Не авторизован\"\n\n | **Cause** | **Message** | **Description** |\n | ------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |\n | UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"403":{"description":"\"Запрещено\"\n\n | **Cause** | **Message** | **Description** |\n | ----------------------- | ----------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n | ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `BANK_CONTROL_STATEMENT`. Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"429":{"description":"Превышен лимит запросов","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n | **Cause** | **Message** | **Description** |\n | ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n | UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"503":{"description":"\"Сервис временно недоступен\"\n | **Cause** | **Message** | **Description** |\n | ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n | UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}}}} />
---
# Получение статуса документа Заявление о внесении изменений в I раздел ВБК
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/bank-control-statements/get-curr-contract-change-application-status.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/bank-control-statements/curr-contract-change-application/{externalId}/state`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/bank-control-statements/curr-contract-change-application/{externalId}/state`
## Описание
Для получения статуса ранее созданного заявления о внесении изменений необходимо отправить GET-запрос `/fintech/api/v1/bank-control-statements/reg-curr-contracts/{externalId}/state` с токеном доступа (**access\_token**) пользователя в параметре **Authorization** заголовка и идентификатором заявления (**externalId**) в path-параметре.
В параметре scope ссылки авторизации пользователя должен быть указан сервис `BANK_CONTROL_STATEMENT` для получения доступа к этому запросу.
Рекомендации по тестированию в песочнице
При получении документа валютный контракт с нерезидентом в песочнице, ответ зависит от переданного `externalId`.
Все остальные поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.
**1.** Чтобы получить статус ведомости банковского контроля, нужно в поле `externalId` передать произвольное значение.
***
**2.** Чтобы получить ошибку "Документ с указанным ID не найден.", нужно в поле `externalId` передать значение `22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6`.
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `BANK_CONTROL_STATEMENT`. Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"404":{"description":"Указанный документ не найден","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"429":{"description":"Превышен лимит запросов","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n | **Cause** | **Message** | **Description** |\n | ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n | UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"503":{"description":"\"Сервис временно недоступен\"\n | **Cause** | **Message** | **Description** |\n | ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n | UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}}}} />
---
# Получение документа Заявление о внесении изменений в I раздел ВБК
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/bank-control-statements/get-curr-contract-change-application.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/bank-control-statements/curr-contract-change-application/{externalId}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/bank-control-statements/curr-contract-change-application/{externalId}`
## Описание
Для получения полных данных заявления о внесении изменений в I раздел ВБК необходимо отправить GET-запрос `/fintech/api/v1/bank-control-statements/curr-contract-change-application/{externalId}` с токеном доступа (**access\_token**) пользователя в параметре **Authorization** заголовка и идентификатором заявления (**externalId**) в path-параметре.
В параметре scope ссылки авторизации пользователя должен быть указан сервис `BANK_CONTROL_STATEMENT` для получения доступа к этому запросу.
Рекомендации по тестированию в песочнице
При получении документа валютный контракт с нерезидентом в песочнице, ответ зависит от переданного `externalId`.
Все остальные поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.
**1.** Чтобы получить документ валютный контракт с нерезидентом, нужно в поле `externalId` передать произвольное значение.
***
**2.** Чтобы получить ошибку "Документ с указанным ID не найден.", нужно в поле `externalId` передать значение `22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6`.
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `BANK_CONTROL_STATEMENT`. Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"404":{"description":"Указанный документ не найден","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"429":{"description":"Превышен лимит запросов","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n | **Cause** | **Message** | **Description** |\n | ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n | UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"503":{"description":"\"Сервис временно недоступен\"\n | **Cause** | **Message** | **Description** |\n | ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n | UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}}}} />
---
# Получение списка ВБК по контракту
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/bank-control-statements/get-curr-contract-list.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/bank-control-statements/reg-curr-contracts/list`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/bank-control-statements/reg-curr-contracts/list`
## Описание
Для получения списка идентификаторов ВК необходимо отправить GET-запрос `/fintech/api/v1/bank-control-statements/reg-curr-contracts/list` с токеном доступа (**access\_token**) пользователя в параметре **Authorization** заголовка и параметрами поиска в query-параметрах.
В параметре scope ссылки авторизации пользователя должен быть указан сервис `BANK_CONTROL_STATEMENT` для получения доступа к этому запросу.
Рекомендации по тестированию в песочнице
При получении списка ВБК по контракту в песочнице, ответ зависит от переданного параметра `page`.
Все остальные поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.
Если параметр указан, но отличен от page = "1", "2" или "3", то вернется ошибка 404 VALIDATION\_FAULT.
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `BANK_CONTROL_STATEMENT`. Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"429":{"description":"Превышен лимит запросов","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n | **Cause** | **Message** | **Description** |\n | ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n | UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"503":{"description":"\"Сервис временно недоступен\"\n | **Cause** | **Message** | **Description** |\n | ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n | UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}}}} />
---
# Получение документа валютный контракт с нерезидентом (ВБК в банк)
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/bank-control-statements/get-curr-contract.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/bank-control-statements/reg-curr-contracts/{externalId}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/bank-control-statements/reg-curr-contracts/{externalId}`
## Описание
Для получения полных данных заявления на регистрацию ВК необходимо отправить GET-запрос `/fintech/api/v1/bank-control-statements/reg-curr-contracts/{externalId}` с токеном доступа (**access\_token**) пользователя в параметре **Authorization** заголовка и идентификатором заявления (**externalId**) в path-параметре.
В параметре scope ссылки авторизации пользователя должен быть указан сервис `BANK_CONTROL_STATEMENT` для получения доступа к этому запросу.
Рекомендации по тестированию в песочнице
При получении документа валютный контракт с нерезидентом в песочнице, ответ зависит от переданного `externalId`.
Все остальные поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.
**1.** Чтобы получить документ валютный контракт с нерезидентом, нужно в поле `externalId` передать произвольное значение.
***
**2.** Чтобы получить ошибку "Документ с указанным ID не найден.", нужно в поле `externalId` передать значение `22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6`.
= Дате контракта","format":"date","nullable":false,"example":"2018-12-31"},"digestSignatures":{"type":"array","description":"Электронные подписи по дайджесту документа","items":{"required":["base64Encoded","certificateUuid"],"properties":{"base64Encoded":{"maxLength":50000,"type":"string","description":"Значение электронной подписи, закодированное в Base64","nullable":false,"example":"HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w=="},"certificateUuid":{"type":"string","description":"Уникальный идентификатор сертификата ключа проверки электронной подписи (UUID)","format":"uuid","nullable":false,"example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"}},"description":"Электронная подпись","title":"FintechSignature"}},"number":{"type":"string","description":"Номер документа","example":"1"},"balance":{"minimum":0.01,"type":"number","description":"Сальдо расчетов","readOnly":true,"example":1.01},"bankControlStatementInfo":{"required":["creationMode","externalId"],"properties":{"bankDate":{"type":"string","description":"Дата постановки контракта/договора на учет","format":"date","readOnly":true,"example":"2018-12-31"},"chainId":{"type":"string","description":"Id цепочки","readOnly":true,"example":"1234567890123"},"creationMode":{"type":"string","description":"Режим создания ВБК: ICS_CONTRACT_INFORMATION - предоставление сведений об экспортном или смешанном контракте (без передачи контракта в виде вложения); ICS_CONTRACT_REGISTRATION - постановка импортного, экспортного или смешанного контракта на учет (с передачей контракта в виде вложения)","nullable":false,"example":"ICS_CONTRACT_INFORMATION","enum":["ICS_CONTRACT_INFORMATION","ICS_CONTRACT_REGISTRATION"]},"currencyName":{"pattern":"^[A-Z]{3}$","type":"string","description":"Буквенный ISO-код валюты контракта","example":"RUB"},"isActual":{"type":"boolean","description":"Признак актуальности ВБК","readOnly":true},"UNK":{"maxLength":25,"type":"string","description":"Уникальный номер контракта, заполняемый банком. В запросе на создание валютного контракта не заполняется.","example":"string"},"authPersonName":{"type":"string","description":"ФИО ответственного лица","example":"Иванов Иван Иванович"},"authPersonTelfax":{"type":"string","description":"Телефон ответственного лица","example":"89082132322"},"bankCommentAuthor":{"type":"string","description":"Автор комментария","readOnly":true,"example":"Иванов Иван Иванович"},"bfAttachments":{"type":"array","description":"Прикрепленные большие файлы","items":{"required":["fileId"],"properties":{"fileId":{"type":"string","description":"Уникальный идентификатор файла","nullable":false,"example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"fileName":{"type":"string","description":"Имя файла","readOnly":true,"example":"SB_7718830000_40702810038290010000_T18.txt"}},"description":"Данные о вложении документа (большой файл)","title":"FintechBfAttachment"}},"externalId":{"maxLength":38,"type":"string"},"failReasons":{"type":"array","description":"Причины отказа","readOnly":true,"items":{"properties":{"docField":{"type":"string","description":"Поле документа","example":"Номер контракта"},"reasonComment":{"type":"string","description":"Правило заполнения/замечания","example":"Указан неверно"},"reasonId":{"type":"string","description":"Код причины отказа","example":"PS_REST_REJ_PART_2-9"},"returnComment":{"type":"string","description":"Комментарий","example":"Комментарий"}},"description":"Причина отказа","title":"FintechFailReason"}}},"description":"Банковский комментарий к статусу документа","title":"FintechBankControlStatementInfo"},"contractType":{"type":"string","description":"Код вида контракта, заполняемый в зависимости от режима создания ВБК. \n\n* IMPORT - вид контракта \"Импортный\" только для режима ICS_CONTRACT_REGISTRATION.\n* MIX_TRADE - вид контракта \"Смешанный\" для режимов ICS_CONTRACT_REGISTRATION, ICS_CONTRACT_INFORMATION.\n* PRODUCT_EXPORT, SERVICE_EXPORT - вид контракта \"Экспортный\" для режимов ICS_CONTRACT_REGISTRATION, ICS_CONTRACT_INFORMATION.\n\nДля режима ICS_CONTRACT_INFORMATION обозначает предмет контракта (Продукты/Услуги) и обязательно для заполнения.\n","example":"PRODUCT_EXPORT","enum":["PRODUCT_EXPORT","SERVICE_EXPORT","IMPORT","MIX_TRADE"]},"decNonresToResidentLiabSum":{"type":"number","description":"Сумма по подтверждающим документам, уменьшающим обязательства нерезидента перед резидентом","readOnly":true,"example":1.01},"decResidentToNonresLiabSum":{"type":"number","description":"Сумма по подтверждающим документам, уменьшающим обязательства резидента перед нерезидентом","readOnly":true,"example":1.01},"finalTransCurrencyCode":{"maxLength":3,"type":"string","description":"Цифровой код валюты","readOnly":true,"example":"840"},"finalTransCurrencyName":{"maxLength":3,"pattern":"^[A-Z]{3}$","type":"string","description":"Буквенный ISO-код валюты","readOnly":true,"example":"RUB"},"incNonresidLiabilitySum":{"type":"number","description":"Сумма по подтверждающим документам, увеличивающим обязательства нерезидента","readOnly":true,"example":1.01},"incResidentLiabilitySum":{"type":"number","description":"Сумма по подтверждающим документам, увеличивающим обязательства резидента","readOnly":true,"example":1.01},"totalCredit":{"type":"number","description":"Сумма денежных средств, поступивших по контракту в пользурезидента (всего зачислено)","readOnly":true,"example":1.01},"totalDebit":{"type":"number","description":"Сумма денежных средств, переведенных по контракту в пользунерезидента (всего списано)","readOnly":true,"example":1.01},"transDate":{"type":"string","description":"Дата расчета","format":"date","readOnly":true,"example":"2018-12-31"},"xmlBodies":{"type":"array","items":{"type":"string"},"description":"Список кодированных xml-файлов ВБК в структуре . Не заполняется при постановке контракта на учет.","example":"string"},"additionInfo":{"type":"object","properties":{"hasPeriodicPayments":{"type":"boolean","description":"Признак периодичности платежей","readOnly":true,"example":true},"hasAutoProlongation":{"type":"boolean","description":"Признак автопролонгации контракта","readOnly":true,"example":true}},"description":"Дополнительная информация","title":"AdditionInfo"},"removalDate":{"type":"string","description":"Дата снятия с учета (для перевода и при первичной постановке). Не заполняется при постановке контракта на учет.","format":"date","readOnly":true,"example":"2018-12-31"},"removalCondition":{"type":"string","description":"Основание снятия с учета (пункт инструкции 181-И в формате. Не заполняется при постановке контракта на учет. х.х.х)"},"controlBaseId":{"maxLength":254,"type":"string","description":"Идентификатор ВБК в Банке","readOnly":true}},"description":"Валютный контракт с нерезидентом","title":"FintechCurrContract"}}}},"400":{"description":"\"Ошибка в запросе или его жизненном цикле\"\n\n | **Cause** | **Message** | **Description** |\n | --------------------- | ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n | DESERIALIZATION_FAULT | Неверный формат запроса | Данные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в response в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request запроса. Скорректируйте заполнение атрибутов и повторите запрос. |\n | VALIDATION_FAULT | Ошибка валидации | Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request запроса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"401":{"description":"\"Не авторизован\"\n\n | **Cause** | **Message** | **Description** |\n | ------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |\n | UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"403":{"description":"\"Запрещено\"\n\n | **Cause** | **Message** | **Description** |\n | ----------------------- | ----------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n | ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `BANK_CONTROL_STATEMENT`. Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"429":{"description":"Превышен лимит запросов","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n | **Cause** | **Message** | **Description** |\n | ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n | UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"503":{"description":"\"Сервис временно недоступен\"\n | **Cause** | **Message** | **Description** |\n | ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n | UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}}}} />
---
# Получение статуса ведомости банковского контроля (ВБК в банк)
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/bank-control-statements/get-status.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/bank-control-statements/{externalId}/state`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/bank-control-statements/{externalId}/state`
## Описание
Для получения статуса ранее созданного заявления необходимо отправить GET-запрос `/fintech/api/v1/bank-control-statements/reg-curr-contracts/{externalId}/state` с токеном доступа (**access\_token**) пользователя в параметре **Authorization** заголовка и идентификатором заявления (**externalId**) в path-параметре.
В параметре scope ссылки авторизации пользователя должен быть указан сервис `BANK_CONTROL_STATEMENT` для получения доступа к этому запросу.
Рекомендации по тестированию в песочнице
При получении документа валютный контракт с нерезидентом в песочнице, ответ зависит от переданного `externalId`.
Все остальные поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.
**1.** Чтобы получить статус ведомости банковского контроля, нужно в поле `externalId` передать произвольное значение.
***
**2.** Чтобы получить ошибку "Документ с указанным ID не найден.", нужно в поле `externalId` передать значение `22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6`.
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `BANK_CONTROL_STATEMENT`. Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"404":{"description":"Указанный документ не найден","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"429":{"description":"Превышен лимит запросов","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n | **Cause** | **Message** | **Description** |\n | ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n | UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"503":{"description":"\"Сервис временно недоступен\"\n | **Cause** | **Message** | **Description** |\n | ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n | UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}}}} />
---
# Получение информации по бизнес-картам
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/business-cards/corporate-cards-list-post.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v2/corporate-cards/list`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v2/corporate-cards/list`
## Описание
Запрос позволяет получить информацию по всем бизнес-картам пользователя, чей access\_token используется для запроса. Отправьте POST-запрос с токеном доступа (**access\_token**) пользователя в параметре **Authorization** заголовка и объектом пагинации **pagination** в теле запроса.
В параметре `scope` ссылки авторизации пользователя должен быть указан сервис `CORPORATE_CARDS` для получения доступа к этому запросу.
**Особенности интеграции:**
* Валидация запроса строгая: `additionalProperties: false` для `GetCardsRq` и `PaginationRq`.
* Обязательные поля запроса: `pagination.offset` (integer >= 0), `pagination.count` (integer в диапазоне \[1, 10000]).
* Поля `businessCardId`, `cardStatus`, `embossedName`, `holderName`, `accountNumber`, `limits` — необязательные (nullable).
* Обязательные поля каждого объекта `CorporateCard`: `maskedCardNumber`, `cardOpenDate`, `cardExpiryDate`.
* Формат `cardExpiryDate`: `MM/YY` (например, `12/28`).
* `maskedCardNumber`: показывает первые 6 и последние 4 цифры карты (формат `220220******0358`).
Рекомендации по тестированию в песочнице
**1. Успешный запрос:** Отправьте POST-запрос с корректным `pagination` для получения списка карт.
```json
\{
"pagination": \{
"offset": 0,
"count": 10
\}
\}
```
Ответ: 200 OK, массив `cards` с данными по картам. Если `count` > 100, `hasNextPage` будет `true`.
**2. Валидация запроса:** Любое нарушение структуры запроса вернет 400 VALIDATION\_ERROR с кодом `428-001`.
**Недопустимые поля:** Любые поля кроме `pagination` в теле запроса и кроме `offset`/`count` в `pagination` вызовут ошибку.
---
# Получение списка банков участников СБП
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/business-cards/corporate-cards-sbp-transfer-bank-get.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v2/corporate-cards/sbp-transfer/bank`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v2/corporate-cards/sbp-transfer/bank`
## Описание
Запрос позволяет получить полный список банков участников СБП.
В параметре `scope` ссылки авторизации пользователя должен быть укажите значение `BUSINESS_CARDS_TRANSFER` для получения доступа к этому запросу.
Рекомендации по тестированию в песочнице
**1.** Чтобы получить **успешный** ответ, отправьте GET-запрос. Возвращается список из 100+ банков.
---
# Создание заявки на СБП перевод и получение комиссии
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/business-cards/corporate-cards-sbp-transfer-commission-post.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v2/corporate-cards/sbp-transfer/commission`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v2/corporate-cards/sbp-transfer/commission`
## Описание
Запрос позволяет создать черновик документа «Заявление на СБП перевод с бизнес-карты» и получить актуальный размер комиссии за СБП перевод в ответе.
POST-запрос должен содержать токен доступа (**access\_token**) пользователя в параметре **Authorization** заголовка и реквизиты перевода для расчета комиссии в теле запросе.
В блоке **receiverInfo** укажите номер телефона получателя.
В параметре `scope` ссылки авторизации пользователя должен быть укажите значение `BUSINESS_CARDS_TRANSFER` для получения доступа к этому запросу.
:::note
Для корректного перевода в рамках СБП не используйте Сбербанк в качестве банка-получателя. В рамках СБП переводов по бизнес картам нельзя переводить на Сбербанк.
:::
Рекомендации по тестированию в песочнице
При расчете комиссии СБП перевода в песочнице, мок ожидает строго определенные значения полей.
**Ожидаемые значения для успешного запроса:**
* `externalId: "fffa6403-3472-499e-a758-1ed5a79e105a"`
* `senderInfo.businessCardId: "1d192d78-7877-412a-a17b-cceaf5de1803"`
* `receiverInfo.phoneNumber: "79334445577"`
* `receiverInfo.bankName: "ПИР Банк"`
* `amount > 0`
**Сценарии ошибок:**
| Условие | HTTP | errorCode |
|:--------|:-----|:----------|
| `externalId` не `fffa6403-3472-499e-a758-1ed5a79e105a` | 400 | 428-606 |
| `businessCardId` не `1d192d78-7877-412a-a17b-cceaf5de1803` | 400 | 428-606 |
| `phoneNumber` не `79334445577` | 400 | 428-606 |
| `bankName` не `ПИР Банк` | 400 | 428-606 |
| `amount <= 0` | 400 | 428-072 |
---
# Получение списка транзакций за период
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/business-cards/corporate-cards-transactions-for-period-post.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v2/corporate-cards/transactions-for-period`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v2/corporate-cards/transactions-for-period`
## Описание
Запрос позволяет получить список транзакций по счету за указанный период.
Рекомендации по тестированию в песочнице
При получении списка транзакций за период в песочнице возвращается статичный ответ.
---
# Создание заявки на перевод с карты на карту и расчет комиссии из ERP-системы клиента
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/business-cards/corporate-cards-transfer-commission-post.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v2/corporate-cards/transfer/commission`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v2/corporate-cards/transfer/commission`
## Описание
Запрос позволяет создать черновик документа «Заявление на перевод с бизнес-карты и получить актуальный размер комиссии за перевод в ответе.
POST-запрос должен содержать токен доступа (**access\_token**) пользователя в параметре **Authorization** заголовка и реквизиты перевода для расчета комиссии в теле запросе.
В блоке **receiverInfo** укажите либо номер карты получателя, либо номер телефона получателя, в зависимости от способа перевода.
В параметре `scope` ссылки авторизации пользователя должен быть укажите значение `BUSINESS_CARDS_TRANSFER` для получения доступа к этому запросу.
Рекомендации по тестированию в песочнице
В песочнице при создании заявки на перевод и расчете комиссии ответ зависит от того, какой `externalId` вы укажете.
**Что обязательно нужно передать в запросе:**
* `externalId` — идентификатор заявки, который вы сгенерировали на своей стороне
* `transferPurpose` — назначение перевода
* `amount` — сумма перевода (должна быть больше 0)
* `senderInfo.businessCardId` — идентификатор карты отправителя
* `receiverInfo` — данные получателя. Нужно передать **или** номер телефона, **или** зашифрованный номер карты
**Как правильно заполнить данные отправителя:**
В поле `senderInfo.businessCardId` всегда указывайте значение `1d192d78-7877-412a-a17b-cceaf5de1803`. Это тестовая бизнес-карта, заведенная в песочнице.
**Как шифровать номер карты получателя:**
Если вы передаете номер карты в зашифрованном виде (поле `encryptedCardNumber`), его нужно зашифровать по следующему алгоритму:
1. Получите публичный ключ через запрос `GET /v2/corporate-cards/transfer/public-key`
2. Зашифруйте номер карты алгоритмом `RSA/ECB/OAEPWithSHA-1AndMGF1Padding`
3. Полученную зашифрованную строку укажите в поле `encryptedCardNumber`
**Какие номера карт можно шифровать и передавать:**
| Номер карты (DPAN) | С каким `externalId` использовать | Что вернется в ответе |
|:-------------------|:----------------------------------|:----------------------|
| `2202201000011111` | `56721b72-dcab-40e8-af62-9180a8e74195` | ФИО + ПАО ВСПЫШКА + Сбербанк |
| `2202201000011112` | `844ee51d-10dc-43fd-9f18-d8672593558d` | ФИО + Сбербанк |
| `2202201000011113` | `e068ee1a-4b34-41ce-abd2-e550d5c786f3` | только банк ВТБ |
Если у вас нет возможности шифровать номер карты, вы можете передать номер телефона. Шифровать его не нужно. В поле `phoneNumber` укажите `79112223344`, а в `externalId` — `4ef04bbe-f861-4407-93a2-4054cb7baa3c`.
**Какие ответы можно получить:**
| `externalId` | Что будет в ответе |
|:------------|:-------------------|
| `56721b72-dcab-40e8-af62-9180a8e74195` | Успешный ответ. В `receiverInfo` вернутся ФИО получателя, название организации `ПАО ВСПЫШКА` и банк `ПАО Сбербанк` |
| `844ee51d-10dc-43fd-9f18-d8672593558d` | Успешный ответ. В `receiverInfo` вернутся ФИО получателя и банк `ПАО Сбербанк` |
| `e068ee1a-4b34-41ce-abd2-e550d5c786f3` | Успешный ответ. В `receiverInfo` вернется только название банка `ВТБ` |
| `4ef04bbe-f861-4407-93a2-4054cb7baa3c` | Успешный ответ. В ответе будут только данные по номеру телефона. В `receiverInfo.phoneNumber` — `79112223344` |
| `9a3b5c8f-2d4e-4a6f-8b1c-3d2e5f7a9b0c` | Успешный ответ. Статус заявки — `FORM` (черновик). Заявка создана, требуется подтверждение |
| `1e2f3a4b-5c6d-4e7f-8a9b-0c1d2e3f4a5b` | Успешный ответ. Статус заявки — `ERROR` (ошибка исполнения). Нужно сформировать новую заявку |
**Какие ошибки могут возникнуть при неправильном заполнении:**
| Что не так | Какой код вернется | Код ошибки |
|:-----------|:-------------------|:-----------|
| Сумма `amount` меньше или равна 0 | HTTP 400 | 428-072 |
| `senderInfo.businessCardId` не равен `1d192d78-7877-412a-a17b-cceaf5de1803` | HTTP 400 | 428-172 |
| В `receiverInfo` не указаны ни `phoneNumber`, ни `encryptedCardNumber` | HTTP 400 | 428-001 |
---
# Получение информации о совершенных переводах
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/business-cards/corporate-cards-transfer-list-post.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v2/corporate-cards/transfer/list`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v2/corporate-cards/transfer/list`
## Описание
Возвращает cписок документов «Заявление на перевод с бизнес-карты» по токену авторизации пользователя, а также статусы переводов по этим заявлениям за указанный период.
В параметре `scope` ссылки авторизации пользователя должен быть укажите значение `BUSINESS_CARDS_TRANSFER` для получения доступа к этому запросу.
Рекомендации по тестированию в песочнице
При получении списка переводов в песочнице, ответ зависит от параметра `withDrafts`.
**1.** Чтобы получить только **исполненные** переводы (статус END), передайте `withDrafts: false`.
**2.** Чтобы получить **все** переводы (END + FORM + ERROR), передайте `withDrafts: true`.
---
# Получение публичного ключа для шифрования номера карты получателя перевода
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/business-cards/corporate-cards-transfer-public-key-get.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v2/corporate-cards/transfer/public-key`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v2/corporate-cards/transfer/public-key`
## Описание
Запрос позволяет получить публичный ключ для шифрования номера карты получателя перевода. Необходимо отправить запрос с токеном доступа (access\_token) пользователя в параметре Authorization заголовка.
В параметре `scope` ссылки авторизации пользователя должен быть указан сервис `CORPORATE_CARDS` для получения доступа к этому запросу.
Пример
Рекомендации по тестированию в песочнице
При запросе публичного ключа в песочнице возвращается фиксированный RSA-ключ.
**1.** Чтобы получить **успешный** ответ, отправьте GET-запрос без дополнительных параметров.
---
# Подпись и подтверждение документа по бизнес-картам
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/business-cards/corporate-cards-transfer-sign-and-approve-post.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v2/corporate-cards/sign-and-approve`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/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**) в теле запроса.
Укажите в параметре `docType` тип перевода: `TRANSFER` для обычного перевода или `SBP_TRANSFER` для СБП перевода. Для подписи необходимо сформировать файл с дайджестом. Дайджест для подписания необходимо формировать строго в соответствии с примером. В параметре `scope` ссылки авторизации пользователя должен быть указан сервис `BUSINESS_CARDS_TRANSFER` для получения доступа к этому запросу.
**Заявка на установку общих лимитов по бизнес-карте**
Для подписания заявки на установку общих лимитов используется тот же эндпоинт. Необходимо отправить POST-запрос с токеном доступа (**access\_token**) пользователя в параметре **Authorization** заголовка и уникальным идентификатором заявки (**externalId**) на лимиты, который был получен при создании черновика через запрос `/fintech/api/v2/corporate-cards/limits`, и данными ЭП отправителя (**digestSignatures**) в теле запроса.
Укажите в параметре `docType` значение `LIMITS`. Для подписи необходимо сформировать файл с дайджестом в соответствии с полями заявки на лимиты. В параметре `scope` ссылки авторизации пользователя должен быть указан сервис `CORPORATE_CARDS` для получения доступа к этому запросу.
В ответе вы можете получить следующие статусы заявки:
* `IN_PROGRESS` Заявка на подтверждении или отправлена на исполнение. Проверьте статус перевода позднее
* `PROCESSING` Заявка в неопределенном статусе. Проверьте статус перевода позднее
* `END` Перевод выполнен успешно. Перевод исполнен, дополнительных действий не требуется
* `ERROR_EXECUTION` Ошибка на этапе исполнения заявки. Сформируйте новую заявку на перевод.
Рекомендации по тестированию в песочнице
В песочнице при подписании документов проверяется, что `base64Encoded` совпадает с хешем от известного дайджеста.
**Как сформировать правильную подпись:**
Чтобы подписать документ, нужно:
1. Передать документ на рассмотрение через `/v2/corporate-cards/transfer/commission`
2. Когда вернется ответ с `receiverInfo`, собрать из него строку дайджеста:
* Каждое поле записывается как `имя_поля=значение`
* Поля разделяются переносом строки `\n`
* Последний перенос строки удаляется
3. Вычислить SHA-256 хеш от этой строки
4. Перевести хеш в формат Base64
5. Указать полученное значение в поле `base64Encoded`
**Что можно подать на подпись:**
* `docType` = `TRANSFER` — заявление на перевод
* `docType` = `SBP_TRANSFER` — СБП перевод
* `docType` = `LIMITS` — заявка на лимиты
**Какие сертификаты можно использовать:**
* `bb014b5d-8159-40be-97c1-eafeed4a8c3d` — сертификат ЕИО
* `d5d4f811-f4d4-4205-a70f-58f772eeab72` — первая подпись
* `4f29c8ef-b55d-43c7-a321-f2b1303a29cd` — вторая подпись
**Что будет, если передать неправильные данные:**
| Ошибка | Что случилось | HTTP | Код ошибки |
|:-------|:--------------|:-----|:-----------|
| Некорректный `externalId` | Передан не UUID | 400 | 428-001 |
| Неверный `docType` | Указан не `TRANSFER`, `SBP_TRANSFER` или `LIMITS` | 400 | 428-001 |
| Пустая подпись | `digestSignatures` не содержит ни одного элемента | 400 | 428-001 |
| Много подписей | В массиве больше одного элемента | 400 | 428-001 |
| Неверный сертификат | `certificateUuid` не совпадает с допустимым | 400 | 428-095 |
| Неверный дайджест | `base64Encoded` не совпадает с ожидаемым значением | 400 | 428-117 |
50000 символов\nОшибка: 400 Bad Request, errorCode: 428-001\n","value":{"externalId":"844ee51d-10dc-43fd-9f18-d8672593558d","docType":"TRANSFER","digestSignatures":[{"base64Encoded":"<50001+ символов>","certificateUuid":"bb014b5d-8159-40be-97c1-eafeed4a8c3d"}]}},"Неверный certificateUuid (не UUID)":{"description":"externalId: 844ee51d-10dc-43fd-9f18-d8672593558d\ndocType: TRANSFER\ncertificateUuid: invalid-certificate-uuid\nОшибка: 400 Bad Request, errorCode: 428-001\n","value":{"externalId":"844ee51d-10dc-43fd-9f18-d8672593558d","docType":"TRANSFER","digestSignatures":[{"base64Encoded":"zBdijiIrpeTpHbpkcQPJZjjfBBhYw4NVnhDc+3Nh8dM=","certificateUuid":"invalid-certificate-uuid"}]}},"Недействительный сертификат (certificateUuid не валиден)":{"description":"externalId: 844ee51d-10dc-43fd-9f18-d8672593558d\ndocType: TRANSFER\ncertificateUuid: invalid-cert-uuid-1234-5678 (не входит в VALID_CERTIFICATE_UUIDS)\nОшибка: 400 Bad Request, errorCode: 428-095\n","value":{"externalId":"844ee51d-10dc-43fd-9f18-d8672593558d","docType":"TRANSFER","digestSignatures":[{"base64Encoded":"zBdijiIrpeTpHbpkcQPJZjjfBBhYw4NVnhDc+3Nh8dM=","certificateUuid":"invalid-cert-uuid-1234-5678"}]}},"Неверный дайджест (не совпадает с expected)":{"description":"externalId: 844ee51d-10dc-43fd-9f18-d8672593558d\ndocType: TRANSFER\nbase64Encoded: invalid-digest-value (не совпадает с ожидаемым значением)\nОшибка: 400 Bad Request, errorCode: 428-117\n","value":{"externalId":"844ee51d-10dc-43fd-9f18-d8672593558d","docType":"TRANSFER","digestSignatures":[{"base64Encoded":"invalid-digest-value","certificateUuid":"bb014b5d-8159-40be-97c1-eafeed4a8c3d"}]}}}}},"required":true}} />
---
# Получение актуального статуса перевода
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/business-cards/corporate-cards-transfer-status-get.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v2/corporate-cards/transfer/{externalId}/status`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v2/corporate-cards/transfer/{externalId}/status`
## Описание
Возвращает статусы документа «Заявление на перевод с бизнес-карты» по значению параметра externalId, указанному при отправке заявления.
В параметре `scope` ссылки авторизации пользователя должен быть укажите значение `BUSINESS_CARDS_TRANSFER` для получения доступа к этому запросу.
Рекомендации по тестированию в песочнице
При получении статуса перевода в песочнице, ответ зависит от переданного `externalId` в URL.
| Передаваемое значение `externalId` | Возвращаемый `status` |
|:-----------------------------------|:----------------------|
| `844ee51d-10dc-43fd-9f18-d8672593558d` | `END` - Заявка успешно исполнена |
| `56721b72-dcab-40e8-af62-9180a8e74195` | `END` - Заявка успешно исполнена |
| `4ef04bbe-f861-4407-93a2-4054cb7baa3c` | `END` - Заявка успешно исполнена |
| `e068ee1a-4b34-41ce-abd2-e550d5c786f3` | `END` - Заявка успешно исполнена |
| `fffa6403-3472-499e-a758-1ed5a79e105a` | `END` - Заявка успешно исполнена |
| `9a3b5c8f-2d4e-4a6f-8b1c-3d2e5f7a9b0c` | `FORM` - Заявка создана, требуется подтверждение |
| `4f8a7b2c-9d1e-4f3a-8b5c-7d9e1f2a3b4c` | `FORM` - Заявка создана, требуется подтверждение |
| `1e2f3a4b-5c6d-4e7f-8a9b-0c1d2e3f4a5b` | `ERROR` - Сформируйте новую заявку на перевод |
| Любой другой UUID | `404` - Не найден |
---
# Corporate Cards
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/business-cards/corporate-cards.md)
## Описание
---
# Создание черновика заявки на общие лимиты для внешнего потребителя
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/business-cards/create-or-update-limits.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v2/corporate-cards/limits`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v2/corporate-cards/limits`
## Описание
Запрос позволяет создать черновик заявки на установку общих лимитов по бизнес-карте.
POST-запрос должен содержать токен доступа (access\_token) пользователя в параметре Authorization заголовка
и реквизиты лимитов в теле запроса.
В параметре scope ссылки авторизации пользователя должен быть указан сервис CORPORATE\_CARDS
для получения доступа к этому запросу.
Рекомендации по тестированию в песочнице
**Обязательные поля:** `externalId` (UUID), `businessCardId` (UUID), `limitsList` (объект).
**Сценарии успеха:** `externalId` = любой UUID → 200 OK, статус CREATED.
**Сценарии ошибок:**
| Условие | HTTP | errorCode |
|:--------|:-----|:----------|
| `externalId` = `087cc64a-59cb-4353-8a06-d6aec4828f45` | 400 | 428-705 |
| `externalId` = `a6b64e9c-ad0e-40a2-a750-ccf8ef324b4c` | 403 | 428-152 |
| `externalId` = `eb33a9d0-8a11-4789-a689-424f702bd2d0` | 500 | 428-167 |
| `externalId` не UUID | 400 | 428-001 |
| `businessCardId` не UUID | 400 | 428-001 |
| `limitsList` отсутствует | 400 | 428-001 |
---
# Получение списка лимитов по бизнес-карте
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/business-cards/get-limits.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v2/corporate-cards/{businessCardId}/limits`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v2/corporate-cards/{businessCardId}/limits`
## Описание
Запрос позволяет получить список установленных лимитов по бизнес-карте.
В параметре `scope` ссылки авторизации пользователя должен быть указан сервис `CORPORATE_CARDS`
для получения доступа к этому запросу.
Рекомендации по тестированию в песочнице
**Обязательный параметр:** `businessCardId` (UUID) в URL.
| Условие | HTTP | errorCode |
|:--------|:-----|:----------|
`businessCardId` = `1d192d78-7877-412a-a17b-cceaf5de1803` | 200 | — |
| `businessCardId` = `4f9e2b3a-1c5d-48e7-a6b2-5e9f8c7d6b5a` | 400 | 428-001 |
| `businessCardId` = `8c3d7e4a-6b2f-49e8-b1c5-d2a7f3e8b9c1` | 403 | 428-152 |
| `businessCardId` = `2b6a8f3c-9e4d-47a2-b5c8-e1f3d6a9b4c7` | 500 | 428-527 |
| `businessCardId` не UUID | 400 | 428-001 |
---
# Card Issue Overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/card-issues/card-issue-overview.md)
## Описание
Методы по управлению реестром на открытие счетов и выпуск карт
* [Создание реестра](/ru/sber-api/specifications/card-issues/create-card-issue)
* [Получение реестра](/ru/sber-api/specifications/card-issues/get-card-issue)
* [Получение статуса реестра](/ru/sber-api/specifications/card-issues/get-card-issue-state)
---
# Создание реестра
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/card-issues/create-card-issue.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/card-issues`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/card-issues`
## Описание
Запрос на создание электронного реестра на открытие счетов и выпуск карт.
Должен содержать токен доступа (access\_token) пользователя в параметре **Authorization** заголовка.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `CARD_ISSUE`.
Дайджест
Дайджест это текстовый документ, содержащий перечень и значения полей запроса, к которому он относится и предназначенный для подписания ЭП. Сохраняйте порядок и количество полей дайджеста, как показано в примере ниже, иначе подписать его не получится.
| Наименование | Описание | Пример |
| :--- | :--- | :--- |
| accept | Флаг Согласие физ. лиц получено | true |
| authPersonName | ФИО ответственного лица | Иванов Алексей Сергеевич |
| authPersonTelfax | Телефон ответственного лица | 8(495)1234567 |
| contractDate | Дата зарплатного договора | 2009-10-12 |
| contractNumber | Номер зарплатного договора | 38172522 |
| date | Дата документа | 2019-04-08 |
| employeesNumber | Итоговое количество сотрудников | 1 |
| externalId | Идентификатор документа, присвоенный сервисом | 306c694f-8c07-41a3-8dfc-fcbd1ddea3a2 |
| orgName | Наименование организации пользователя | ООО "Тест" |
| orgTaxNumber | ИНН организации пользователя | 7128551510 |
| TABLES | | |
| Table=EmployeeCardIssues | | |
| employeeCardIssue.birthDate | Дата рождения | 2018-12-31 |
| employeeCardIssue.birthPlace | Место рождения | г. Москва |
| employeeCardIssue.cardInfo.bonusId | Идентификатор бонус программы | AE |
| employeeCardIssue.cardInfo.bonusNum | Номер участника в бонусной программе | 77777 |
| employeeCardIssue.cardInfo.cardCurrName | Валюта счета | 810 |
| employeeCardIssue.cardInfo.cardTypeName | Тип карты | Visa Classic |
| employeeCardIssue.cardInfo.embossedTextFirstName | Текст эмбоссированный Имя | IMIA |
| employeeCardIssue.cardInfo.embossedTextSurname | Текст эмбоссированный Фамилия | FAMILIIA |
| employeeCardIssue.cardInfo.extendedCode | Расширенный код карты | 111782.Z0.810.00.0.1 |
| employeeCardIssue.cardUniqueDesignCode | Код индивидуального дизайна карты | P1112FFF |
| employeeCardIssue.categoryCode | Код категории населения | 207 |
| employeeCardIssue.citizenship.country | Гражданство сотрудника: наименование страны | РОССИЯ |
| employeeCardIssue.citizenship.countryCode | Гражданство сотрудника: буквенный код страны | RUS |
| employeeCardIssue.citizenship.countryNumericCode | Гражданство сотрудника: цифровой код страны | 643 |
| employeeCardIssue.contactInfo.email | Электронная почта | TEST@TEST.ru |
| employeeCardIssue.contactInfo.homePhone | Домашний телефон | 9161967771 |
| employeeCardIssue.contactInfo.mobileOperatorType | Оператор мобильной связи | БИЛАЙН |
| employeeCardIssue.contactInfo.mobilePhone | Мобильный телефон | 9161967771 |
| employeeCardIssue.contactInfo.officePhone | Рабочий телефон | 9161967771 |
| employeeCardIssue.firstName | Имя | Дмитрий |
| employeeCardIssue.identityDoc.issueDate | Дата выдачи | 2018-12-31 |
| employeeCardIssue.identityDoc.issuer | Кем выдан | ОВД |
| employeeCardIssue.identityDoc.issuerCode | Код органа, выдавшего документ | 555-444 |
| employeeCardIssue.identityDoc.number | Номер | 564534 |
| employeeCardIssue.identityDoc.serial | Серия | 3434 |
| employeeCardIssue.identityDoc.type | Наименование ДУЛ | Паспорт гражданина Российской Федерации |
| employeeCardIssue.identityDoc.typeCode | Код вида документа | 21 |
| employeeCardIssue.inn | ИНН | 222201236445 |
| employeeCardIssue.lastName | Фамилия | Петров |
| employeeCardIssue.middleName | Отчество | Сергеевич |
| employeeCardIssue.personnelNumber | Табельный номер | Директор |
| employeeCardIssue.placeOfService.branchCode | Код подразделения | 3852781654 |
| employeeCardIssue.placeOfService.branchName | Наименование подразделения | доп офис 1654 |
| employeeCardIssue.placeOfService.osb | Номер ОСБ | 5278 |
| employeeCardIssue.placeOfService.tb | Номер ТБ | 38 |
| employeeCardIssue.placeOfService.vsp | Номер ВСП | 1654 |
| employeeCardIssue.position | Должность | Директор |
| employeeCardIssue.registrationAddress.building | Адрес регистрации: Номер корпуса | 23 |
| employeeCardIssue.registrationAddress.city | Адрес регистрации: Город | Москва |
| employeeCardIssue.registrationAddress.country | Адрес регистрации: Наименование страны | РОССИЯ |
| employeeCardIssue.registrationAddress.countryCode | Адрес регистрации: Буквенный код страны | RUS |
| employeeCardIssue.registrationAddress.countryNumericCode | Адрес регистрации: Цифровой код страны | 643 |
| employeeCardIssue.registrationAddress.district | Адрес регистрации: Район | Ленинский район |
| employeeCardIssue.registrationAddress.flat | Адрес регистрации: Номер офиса/квартиры | 77 |
| employeeCardIssue.registrationAddress.fullAddress | Адрес регистрации: Полный адрес | 346311, РОССИЯ, РЕГИОН, РАЙОН, ГОРОД, УЛИЦА, ДОМ, КОРПУС, 111 |
| employeeCardIssue.registrationAddress.house | Адрес регистрации: Номер дома | 45 |
| employeeCardIssue.registrationAddress.postalCode | Адрес регистрации: Индекс | 346311 |
| employeeCardIssue.registrationAddress.settlementName | Адрес регистрации: Наименование нас. пункта | Дворики |
| employeeCardIssue.registrationAddress.state | Адрес регистрации: Субъект/Регион | Владимирская область |
| employeeCardIssue.registrationAddress.street | Адрес регистрации: Улица | Рижская |
| employeeCardIssue.resident | Резидент РФ | false |
| employeeCardIssue.residentalAddress.building | Адрес проживания: Номер корпуса | 23 |
| employeeCardIssue.residentalAddress.city | Адрес проживания: Город | Москва |
| employeeCardIssue.residentalAddress.country | Адрес проживания: Наименование страны | РОССИЯ |
| employeeCardIssue.residentalAddress.countryCode | Адрес проживания: Буквенный код страны | RUS |
| employeeCardIssue.residentalAddress.countryNumericCode | Адрес проживания: Цифровой код страны | 643 |
| employeeCardIssue.residentalAddress.district | Адрес проживания: Район | Ленинский район |
| employeeCardIssue.residentalAddress.flat | Адрес проживания: Номер офиса/квартиры | 77 |
| employeeCardIssue.residentalAddress.fullAddress | Адрес проживания: Полный адрес | 346311, РОССИЯ, РЕГИОН, РАЙОН, ГОРОД, УЛИЦА, ДОМ, КОРПУС, 111 |
| employeeCardIssue.residentalAddress.house | Адрес проживания: Номер дома | 45 |
| employeeCardIssue.residentalAddress.postalCode | Адрес проживания: Индекс | 346311 |
| employeeCardIssue.residentalAddress.settlementName | Адрес проживания: Наименование нас. пункта | Дворики |
| employeeCardIssue.residentalAddress.state | Адрес проживания: Субъект/Регион | Владимирская область |
| employeeCardIssue.residentalAddress.street | Адрес проживания: Улица | Рижская |
| employeeCardIssue.sameAddress | Адреса регистрации и проживания совпадают | false |
| employeeCardIssue.sendReport | Признак рассылки отчета по Internet | false |
| employeeCardIssue.serNumber | № п/п | 1 |
| employeeCardIssue.sex | Пол | true |
|# | Разделитель массива | |
Пример:
```json
accept=true
authPersonName=Петров Иван Николаевич
authPersonTelfax=8(495)7654321
contractDate=2009-10-12
contractNumber=38172522
date=2019-04-08
employeesNumber=2
externalId=306c694f-8c07-41a3-8dfc-fcbd1ddea3a2
orgName=ООО "Тест"
orgTaxNumber=7128551510
TABLES
Table=EmployeeCardIssues
employeeCardIssue.birthDate=2018-12-31
employeeCardIssue.birthPlace=г. Москва
employeeCardIssue.cardInfo.bonusId=AE
employeeCardIssue.cardInfo.bonusNum=88888
employeeCardIssue.cardInfo.cardCurrName=810
employeeCardIssue.cardInfo.cardTypeName=Visa Classic
employeeCardIssue.cardInfo.embossedTextFirstName=ANDREI
employeeCardIssue.cardInfo.embossedTextSurname=IVANOV
employeeCardIssue.cardInfo.extendedCode=111782.Z0.810.00.0.1
employeeCardIssue.cardUniqueDesignCode=P1112FFF
employeeCardIssue.categoryCode=207
employeeCardIssue.citizenship.country=РОССИЯ
employeeCardIssue.citizenship.countryCode=RUS
employeeCardIssue.citizenship.countryNumericCode=643
employeeCardIssue.contactInfo.email=TEST2@TEST.ru
employeeCardIssue.contactInfo.homePhone=9161968881
employeeCardIssue.contactInfo.mobileOperatorType=БИЛАЙН
employeeCardIssue.contactInfo.mobilePhone=9161968881
employeeCardIssue.contactInfo.officePhone=9161968881
employeeCardIssue.firstName=Андрей
employeeCardIssue.identityDoc.issueDate=2018-12-31
employeeCardIssue.identityDoc.issuer=ОВД
employeeCardIssue.identityDoc.issuerCode=666-555
employeeCardIssue.identityDoc.number=675645
employeeCardIssue.identityDoc.serial=4545
employeeCardIssue.identityDoc.type=Паспорт гражданина Российской Федерации
employeeCardIssue.identityDoc.typeCode=21
employeeCardIssue.inn=333312347556
employeeCardIssue.lastName=Иванов
employeeCardIssue.middleName=Петрович
employeeCardIssue.personnelNumber=002
employeeCardIssue.placeOfService.branchCode=3852781654
employeeCardIssue.placeOfService.branchName=доп офис 1654
employeeCardIssue.placeOfService.osb=5278
employeeCardIssue.placeOfService.tb=38
employeeCardIssue.placeOfService.vsp=1654
employeeCardIssue.position=Менеджер
employeeCardIssue.registrationAddress.building=24
employeeCardIssue.registrationAddress.city=Москва
employeeCardIssue.registrationAddress.country=РОССИЯ
employeeCardIssue.registrationAddress.countryCode=RUS
employeeCardIssue.registrationAddress.countryNumericCode=643
employeeCardIssue.registrationAddress.district=Центральный район
employeeCardIssue.registrationAddress.flat=78
employeeCardIssue.registrationAddress.fullAddress=346312, РОССИЯ, РЕГИОН, РАЙОН, ГОРОД, УЛИЦА, ДОМ, КОРПУС, 222
employeeCardIssue.registrationAddress.house=46
employeeCardIssue.registrationAddress.postalCode=346312
employeeCardIssue.registrationAddress.settlementName=Солнечное
employeeCardIssue.registrationAddress.state=Московская область
employeeCardIssue.registrationAddress.street=Тверская
employeeCardIssue.resident=false
employeeCardIssue.residentalAddress.building=24
employeeCardIssue.residentalAddress.city=Москва
employeeCardIssue.residentalAddress.country=РОССИЯ
employeeCardIssue.residentalAddress.countryCode=RUS
employeeCardIssue.residentalAddress.countryNumericCode=643
employeeCardIssue.residentalAddress.district=Центральный район
employeeCardIssue.residentalAddress.flat=78
employeeCardIssue.residentalAddress.fullAddress=346312, РОССИЯ, РЕГИОН, РАЙОН, ГОРОД, УЛИЦА, ДОМ, КОРПУС, 222
employeeCardIssue.residentalAddress.house=46
employeeCardIssue.residentalAddress.postalCode=346312
employeeCardIssue.residentalAddress.settlementName=Солнечное
employeeCardIssue.residentalAddress.state=Московская область
employeeCardIssue.residentalAddress.street=Тверская
employeeCardIssue.sameAddress=false
employeeCardIssue.sendReport=false
employeeCardIssue.serNumber=1
employeeCardIssue.sex=true
#
employeeCardIssue.birthDate=2018-12-30
employeeCardIssue.birthPlace=г. Санкт-Петербург
employeeCardIssue.cardInfo.bonusId=BE
employeeCardIssue.cardInfo.bonusNum=99999
employeeCardIssue.cardInfo.cardCurrName=810
employeeCardIssue.cardInfo.cardTypeName=Visa Classic
employeeCardIssue.cardInfo.embossedTextFirstName=MIKHAIL
employeeCardIssue.cardInfo.embossedTextSurname=SIDOROV
employeeCardIssue.cardInfo.extendedCode=111782.Z0.810.00.0.1
employeeCardIssue.cardUniqueDesignCode=P1112FFF
employeeCardIssue.categoryCode=208
employeeCardIssue.citizenship.country=РОССИЯ
employeeCardIssue.citizenship.countryCode=RUS
employeeCardIssue.citizenship.countryNumericCode=643
employeeCardIssue.contactInfo.email=TEST3@TEST.ru
employeeCardIssue.contactInfo.homePhone=9161969992
employeeCardIssue.contactInfo.mobileOperatorType=БИЛАЙН
employeeCardIssue.contactInfo.mobilePhone=9161969992
employeeCardIssue.contactInfo.officePhone=9161969992
employeeCardIssue.firstName=Михаил
employeeCardIssue.identityDoc.issueDate=2018-12-30
employeeCardIssue.identityDoc.issuer=ОВД
employeeCardIssue.identityDoc.issuerCode=777-666
employeeCardIssue.identityDoc.number=786756
employeeCardIssue.identityDoc.serial=5656
employeeCardIssue.identityDoc.type=Паспорт гражданина Российской Федерации
employeeCardIssue.identityDoc.typeCode=21
employeeCardIssue.inn=444423458667
employeeCardIssue.lastName=Сидоров
employeeCardIssue.middleName=Александрович
employeeCardIssue.personnelNumber=003
employeeCardIssue.placeOfService.branchCode=3852781655
employeeCardIssue.placeOfService.branchName=доп офис 1655
employeeCardIssue.placeOfService.osb=5278
employeeCardIssue.placeOfService.tb=38
employeeCardIssue.placeOfService.vsp=1655
employeeCardIssue.position=Директор
employeeCardIssue.registrationAddress.building=25
employeeCardIssue.registrationAddress.city=Санкт-Петербург
employeeCardIssue.registrationAddress.country=РОССИЯ
employeeCardIssue.registrationAddress.countryCode=RUS
employeeCardIssue.registrationAddress.countryNumericCode=643
employeeCardIssue.registrationAddress.district=Петроградский район
employeeCardIssue.registrationAddress.flat=79
employeeCardIssue.registrationAddress.fullAddress=346313, РОССИЯ, РЕГИОН, РАЙОН, ГОРОД, УЛИЦА, ДОМ, КОРПУС, 333
employeeCardIssue.registrationAddress.house=47
employeeCardIssue.registrationAddress.postalCode=346313
employeeCardIssue.registrationAddress.settlementName=Петровский
employeeCardIssue.registrationAddress.state=Ленинградская область
employeeCardIssue.registrationAddress.street=Невский
employeeCardIssue.resident=false
employeeCardIssue.residentalAddress.building=25
employeeCardIssue.residentalAddress.city=Санкт-Петербург
employeeCardIssue.residentalAddress.country=РОССИЯ
employeeCardIssue.residentalAddress.countryCode=RUS
employeeCardIssue.residentalAddress.countryNumericCode=643
employeeCardIssue.residentalAddress.district=Петроградский район
employeeCardIssue.residentalAddress.flat=79
employeeCardIssue.residentalAddress.fullAddress=346313, РОССИЯ, РЕГИОН, РАЙОН, ГОРОД, УЛИЦА, ДОМ, КОРПУС, 333
employeeCardIssue.residentalAddress.house=47
employeeCardIssue.residentalAddress.postalCode=346313
employeeCardIssue.residentalAddress.settlementName=Петровский
employeeCardIssue.residentalAddress.state=Ленинградская область
employeeCardIssue.residentalAddress.street=Невский
employeeCardIssue.sameAddress=false
employeeCardIssue.sendReport=false
employeeCardIssue.serNumber=2
employeeCardIssue.sex=true
```
Рекомендации по тестированию в песочнице
При создании электронного реестра на открытие счетов и выпуск карт в песочнице, статус в ответе зависит от переданного параметра `externalId`. Для симуляции различных сценариев используйте следующие тестовые идентификаторы:
| Передаваемое значение externalId | Возвращаемое значение bankStatus |
| :--- | :--- |
| `fb3a9f7c-7fe2-4bfa-bf15-0cc3e41adc43` | `DELIVERED` |
| `fb3a9f7c-7fe2-4bfa-bf15-0cc3e41adc40` | `UNKNOWN_EXCEPTION` |
| `fb3a9f7c-7fe2-4bfa-bf15-0cc3e41adc47` | `NOT FOUND` |
| `fb3a9f7c-7fe2-4bfa-bf15-0cc3e41adc49` | `FORBIDDEN` |
| `fb3a9f7c-7fe2-4bfa-bf15-0cc3e41adc50` | `CHECKERROR` |
| Любой другой externalId | `CREATED` |
---
# Получение статуса реестра на открытие счетов и выпуск карт
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/card-issues/get-card-issue-state.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/card-issues/{externalId}/state`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/card-issues/{externalId}/state`
## Описание
Запрос на получение **статуса** реестра на открытие счетов и выпуск карт.
Должен содержать токен доступа (access\_token) пользователя в параметре **Authorization** заголовка.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `CARD_ISSUE`.
Коды статуса
| Код статуса | Наименование |
|------------|--------------|
| **Промежуточные статусы/Продолжать опрашивать** | |
| `SIGNED` | Подписан |
| `DELIVERED` | Доставлен |
| `ACCEPTED` | Принят |
| **Промежуточные статусы/Прекратить опрос** | |
| `CREATED` | Создан |
| `IMPORTED` | Импортирован |
| `PARTSIGNED` | Частично подписан |
| `DELETED` | Удален |
| **Конечные статусы/Прекратить опрос** | |
| `PARTIMPLEMENTED` | Частично исполнен |
| `CHECKERROR` | Ошибка контроля |
| `INVALIDEDS` | ЭП/АСП не верна |
| `REQUISITEERROR` | Ошибка реквизитов |
| `REFUSEDBYBANK` | Отвергнут Банком |
| **Успешные конечные статусы/Прекратить опрос** | |
| `IMPLEMENTED` | Исполнен |
Рекомендации по тестированию в песочнице
При получении статуса электронного реестра на открытие счетов и выпуск карт в песочнице, статус в ответе зависит от переданного параметра `externalId`. Для симуляции различных сценариев используйте следующие тестовые идентификаторы:
| Передаваемое значение externalId | Возвращаемое значение bankStatus |
| :--- | :--- |
| `18c23185-08eb-47bb-8e48-24b9d7a1d1be` | `DELIVERED` |
| `18c23185-08eb-47bb-8e48-24b9d7a1d2be` | `ACCEPTED` |
| `18c23185-08eb-47bb-8e48-24b9d7a1d3be` | `REFUSEDBYBANK` |
| `18c23185-08eb-47bb-8e48-24b9d7a1d4be` | `IMPLEMENTED` |
| `18c23185-08eb-47bb-8e48-24b9d7a1d5be` | `INVALIDEDS` |
| `18c23185-08eb-47bb-8e48-24b9d7a1d6be` | `REQUISITEERROR` |
| `18c23185-08eb-47bb-8e48-24b9d7a1d7be` | `CREATED` |
| `18c23185-08eb-47bb-8e48-24b9d7a1d8be` | `CHECK_ERROR` |
---
# Получение реестра на открытие счетов и выпуск карт
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/card-issues/get-card-issue.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/card-issues/{externalId}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/card-issues/{externalId}`
## Описание
Запрос на получение реестра на открытие счетов и выпуск карт.
Должен содержать токен доступа (access\_token) пользователя в параметре **Authorization** заголовка.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `CARD_ISSUE`.
Рекомендации по тестированию в песочнице
При получении электронного реестра на открытие счетов и выпуск карт в песочнице, статус в ответе зависит от переданного параметра `externalId`. Для симуляции различных сценариев используйте следующие тестовые идентификаторы:
| Передаваемое значение externalId | Возвращаемое значение bankStatus |
| :--- | :--- |
| `12c23185-08eb-47bb-8e48-24b9d7a1d8be` | `REFUSEDBYBANK` |
| `13c23185-08eb-47bb-8e48-24b9d7a1d8be` | `IMPLEMENTED` |
| `14c23185-08eb-47bb-8e48-24b9d7a1d8be` | `INVALIDEDS` |
| `15c23185-08eb-47bb-8e48-24b9d7a1d8be` | `REQUISITEERROR` |
| `16c23185-08eb-47bb-8e48-24b9d7a1d8be` | `CREATED` |
| `17c23185-08eb-47bb-8e48-24b9d7a1d8be` | `CHECKERROR` |
| `18c23185-08eb-47bb-8e48-24b9d7a1d8be` | `REQUISITEERROR` |
---
# Удаление загруженных файлов из претензии
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/claims/delete-uploaded-files.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/acquiring/claims/{claimId}/uploaded-files/delete`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/acquiring/claims/{claimId}/uploaded-files/delete`
## Описание
Позволяет удалить ошибочно загруженные файлы к претензии или доп.запросу.
Для доступа к этому методу в параметре scope ссылки авторизации пользователя должен быть указан сервис `ACQUIRINGCLAIMS_REQUEST`.
---
# Получение ссылок на скачивание файлов из претензии
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/claims/get-claim-links-to-download.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/acquiring/claims/{claimId}/download-links`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/acquiring/claims/{claimId}/download-links`
## Описание
Для доступа к этому методу в параметре scope ссылки авторизации пользователя должен быть указан сервис `ACQUIRINGCLAIMS_REQUEST`.
При переходе по ссылке для скачивания файлов в заголовках запроса должен содержаться токен доступа `access_token` пользователя.
Рекомендации по тестированию в песочнице
## Сценарии тестирования \{#stsenarii-testirovaniya}
Для тестирования сценариев используйте **фиксированные** значения `claimId` и `fileIds`.
**1.** Чтобы получить положительный ответ, нужно в поле `claimId` и `fileIds` передать произвольные значения.
***
**2.** Чтобы получить положительный ответ, где один из файлов не найден, нужно в поле `claimId` передать произвольное значение, в поле `fileIds` передать значение с началом `43dd9022`, все остальные заполнить произвольно.
***
**3.** Чтобы получить ошибку "У вас недостаточно прав для совершения операции.", нужно в поле `claimId` передать значение `403ddd81-103a-4d3a-8e9b-0ba4b527f110`.
**Причина в ответе:** `"cause": "ACTION_ACCESS_EXCEPTION"`
***
**4.** Чтобы получить ошибку "Вы пытаетесь получить данные по претензии с датой создания ранее минимальной.", нужно в поле `claimId` передать значение `400d3d81-103a-4d3a-8e9b-0ba4b527f110`.
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**5.** Чтобы получить ошибку "Превышен лимит запросов. Повторите операцию позже.", нужно в поле `claimId` передать значение `429ddd81-103a-4d3a-8e9b-0ba4b527f110`.
**Причина в ответе:** `"cause": "TOO_MANY_REQUESTS"`
***
**6.** Чтобы получить ошибку "Запрос на получение списка претензий доступен только по собственной организации.", нужно в поле `claimId` передать значение `444ddd81-103a-4d3a-8e9b-0ba4b527f110`.
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**7.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в поле `claimId` передать значение `500ddd81-103a-4d3a-8e9b-0ba4b527f110`.
**Причина в ответе:** `"cause": "UNAVAILABLE_RESOURCE_EXCEPTION"`
***
**8.** Чтобы получить ошибку "Претензия с таким идентификатором не найдена.", нужно в поле `claimId` передать значение `404ddd81-103a-4d3a-8e9b-0ba4b527f110`.
**Причина в ответе:** `"cause": "DATA_NOT_FOUND_EXCEPTION"`
***
**Сценарии тестирования ссылки для скачивания файлов `/v1/sberbusinessapi/claim/files/download-file/{fileId}/{claimId}`**
***
**1.** Чтобы получить файл, нужно в поле `fileIds` передать значение `200ddd81-103a-4d3a-8e9b-0ba4b527f110`, в `claimId` передать произвольное значение.
***
**2.** Чтобы получить ошибку "Истек срок жизни ссылки.", нужно в поле `fileId` передать значение `403ddd81-103a-4d3a-8e9b-0ba4b527f110`, в `claimId` передать произвольное значение.
**Причина в ответе:** `"cause": "LINK_HAS_EXPIRED"`
***
**3.** Чтобы получить ошибку "Ссылка не найдена.", нужно в поле `fileId` и `claimId` передать произвольные значения.
**Причина в ответе:** `"cause": "LINK_HAS_EXPIRED"`
---
# Получение детальной формы претензии
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/claims/get-claim.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/acquiring/claims/{claimId}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/acquiring/claims/{claimId}`
## Описание
Возвращает полные текущие данные по претензии или доп. запросу.
Для доступа к этому методу в параметре scope ссылки авторизации пользователя должен быть указан сервис `ACQUIRINGCLAIMS_REQUEST`.
Рекомендации по тестированию в песочнице
## Сценарии тестирования \{#stsenarii-testirovaniya}
Для тестирования сценариев используйте **фиксированные** значения `claimId`.
**1.** Чтобы получить положительный статус `PROCESSING`, нужно в поле `claimId` передать произвольное значение.
***
**2.** Чтобы получить положительный статус `READY_TO_SEND` и статус загруженного файла `UPLOADED`, нужно в поле `claimId` передать значение `78bff3de-e67f-4729-b8b0-0e68f2aace16`.
***
**3.** Чтобы получить положительный статус `EXPIRED` и статус загруженного файла `ERROR`, нужно в поле `claimId` передать значение `8d718a98-6108-4b65-882d-551ffa899f72`.
***
**4.** Чтобы получить положительный статус `CLOSED` и статус загруженного файла `UPLOADED`, нужно в поле `claimId` передать значение `013c7a06-048a-5074-1d00-4082478ea411`.
***
**5.** Чтобы получить ошибку "У вас недостаточно прав для совершения операции.", нужно в поле `claimId` передать значение `403ddd81-103a-4d3a-8e9b-0ba4b527f110`.
**Причина в ответе:** `"cause": "ACTION_ACCESS_EXCEPTION"`
***
**6.** Чтобы получить ошибку "Превышен лимит запросов. Повторите операцию позже.", нужно в поле `claimId` передать значение `429ddd81-103a-4d3a-8e9b-0ba4b527f110`.
**Причина в ответе:** `"cause": "TOO_MANY_REQUESTS"`
***
**7.** Чтобы получить ошибку "Запрос на получение списка претензий доступен только по собственной организации.", нужно в поле `claimId` передать значение `444ddd81-103a-4d3a-8e9b-0ba4b527f110`.
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**8.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в поле `claimId` передать значение `500ddd81-103a-4d3a-8e9b-0ba4b527f110`.
**Причина в ответе:** `"cause": "UNAVAILABLE_RESOURCE_EXCEPTION"`
***
**9.** Чтобы получить ошибку "Документ не найден.", нужно в поле `claimId` передать значение `404ddd81-103a-4d3a-8e9b-0ba4b527f110`.
**Причина в ответе:** `"cause": "DATA_NOT_FOUND_EXCEPTION"`
---
# Получение списка претензий
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/claims/get-claims.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/acquiring/claims`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/acquiring/claims`
## Описание
Возвращает список претензий в соответствии с пользовательскими фильтрами.
Для доступа к этому методу в параметре scope ссылки авторизации пользователя должен быть указан сервис `ACQUIRINGCLAIMS_REQUEST`.
Рекомендации по тестированию в песочнице
## Сценарии тестирования \{#stsenarii-testirovaniya}
Для тестирования сценариев используйте **фиксированные** значения `page`, `beginDate` и `endDate`.
**1.** Чтобы получить положительный ответ без фильтров, нужно в поле `beginDate` и `endDate` передать произвольное значение, в поле `page` передать значение в диапазоне от `1 до 3`, объект `filter` не заполнять.
***
**2.** Чтобы получить положительный ответ с фильтром, нужно в поле `beginDate` и `endDate` передать произвольное значение, в поле `page` передать значение в диапазоне от `1 до 3`, объект `filter` заполнить произвольными значениями.
***
**3.** Чтобы получить положительный ответ с последней страницей, нужно в поле `beginDate` и `endDate` передать произвольное значение, в поле `page` передать значение `3`, объект `filter` не заполнять.
***
**4.** Чтобы получить ошибку "У вас недостаточно прав для совершения операции.", нужно в поле `page` передать значение `88`.
**Причина в ответе:** `"cause": "ACTION_ACCESS_EXCEPTION"`
***
**5.** Чтобы получить ошибку "Превышен лимит запросов. Повторите операцию позже.", нужно в поле `page` передать значение `96`.
**Причина в ответе:** `"cause": "TOO_MANY_REQUESTS"`
***
**6.** Чтобы получить ошибку "Запрос на получение списка претензий доступен только по собственной организации.", нужно в поле `page` передать значение `98`.
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**7.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в поле `page` передать значение `99`.
**Причина в ответе:** `"cause": "UNAVAILABLE_RESOURCE_EXCEPTION"`
***
**8.** Чтобы получить ошибку "Документы не найдены.", нужно в поле `page` передать значение > `3`.
**Причина в ответе:** `"cause": "DATA_NOT_FOUND_EXCEPTION"`
---
# Получение ссылок на загрузку файлов к претензии
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/claims/get-upload-links.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/acquiring/claims/{claimId}/upload-links`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/acquiring/claims/{claimId}/upload-links`
## Описание
Для доступа к этому методу в параметре scope ссылки авторизации пользователя должен быть указан сервис `ACQUIRINGCLAIMS_REQUEST`.
---
# Получение статусов загруженных файлов
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/claims/get-uploaded-files-state.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/acquiring/claims/{claimId}/uploaded-files/state`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/acquiring/claims/{claimId}/uploaded-files/state`
## Описание
Для доступа к этому методу в параметре scope ссылки авторизации пользователя должен быть указан сервис `ACQUIRINGCLAIMS_REQUEST`.
---
# Overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/claims/overview.md)
## Описание
## Методы Sber API для работы с претензиями
* [Получение списка претензий](/ru/sber-api/specifications/claims/get-claims)
* [Получение детальной формы претензии](/ru/sber-api/specifications/claims/get-claim)
* [Получение ссылок на скачивание файлов из претензии](/ru/sber-api/specifications/claims/get-claim-links-to-download)
* [Отправка ответа на первичную претензию или преарбитраж](/ru/sber-api/specifications/claims/send-primary-claim-answer)
* [Получение ссылок на загрузку файлов к претензии](/ru/sber-api/specifications/claims/get-upload-links)
* [Получение статусов загруженных файлов](/ru/sber-api/specifications/claims/get-uploaded-files-state)
* [Удаление загруженных файлов из претензии](/ru/sber-api/specifications/claims/delete-uploaded-files)
* [Загрузка файла к претензии](/ru/sber-api/specifications/claims/upload-file)
---
# Отправка ответа на доп. запрос по претензии
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/claims/send-additional-claim-answer.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/acquiring/claims/additional`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/acquiring/claims/additional`
## Описание
Для доступа к этому методу в параметре scope ссылки авторизации пользователя должен быть указан сервис `ACQUIRINGCLAIMS_REQUEST`.
---
# Отправка ответа на первичную претензию или преарбитраж
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/claims/send-primary-claim-answer.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/acquiring/claims/primary`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/acquiring/claims/primary`
## Описание
Метод позволяет отправить в банк ответ на претензию с приложением идентификаторов загруженных ранее файлов. Родительская претензия должна находиться в статусах `CREATE` или `READY_TO_SEND`.
Для доступа к этому методу в параметре scope ссылки авторизации пользователя должен быть указан сервис `ACQUIRINGCLAIMS_REQUEST`.
---
# Загрузка файла к претензии
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/claims/upload-file.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/sberbusinessapi/AcquiringClaim/files/upload-file/{random}/{fileId}`
- Тестовый контур: **POST** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/sberbusinessapi/AcquiringClaim/files/upload-file/{random}/{fileId}`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/sberbusinessapi/AcquiringClaim/files/upload-file/{random}/{fileId}`
## Описание
Для доступа к этому методу в параметре scope ссылки авторизации пользователя должен быть указан сервис `ACQUIRINGCLAIMS_REQUEST`.
Для загрузки файла по полученной ссылке в multipart части запроса обязательно должно быть две части:
* часть с файлом `uploadFile`
* часть с подписью `signInfo`
**Ограничения:**
1. Доступные форматы и размеры файлов в зависимости от значения атрибута `source` родительской претензии:
Для `source = NOU` максимальный размер загружаемого файла 1024 килобайт и формат PDF
Для `source = UVSK` максимальный размер загружаемого файла 15000 килобайт и форматы JPG, JPEG, PNG, PDF, BMP, TIFF, DOC, DOCX, XLS, XLSX
2. Доступное количество загружаемых файлов в зависимости от значения атрибута `source` родительской претензии:
Для `source = NOU` максимальное количество файлов 5
Для `source = UVSK` максимальное количество файлов 20
---
# Client Info Overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/client-info/client-info-overview.md)
## Описание
## Методы для работы с прикладными клиентскими запросами
* [Получение информации о клиенте](/ru/sber-api/specifications/client-info/get-client-info)
---
# Получение информации о клиенте
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/client-info/get-client-info.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/client-info`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/client-info`
## Описание
Запрос для получения расширенной информации об организации пользователя и ее счетах (если пользователь дал согласие на доступ к своим данным см. [Сервис авторизации СберБизнес ID](/ru/sber-api/scenarios/profile-creation/sbbid/overview).
Должен содержать токен доступа (**access\_token**) пользователя в параметре **Authorization** заголовка.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `GET_CLIENT_ACCOUNTS`.
Полный перечень возможных атрибутов и примеры ответов
| Наименование атрибута (claim) | Описание |
| :--- | :--- |
| **accounts** | Информация о счетах |
| **branch** | Информация о подразделении |
| **creditLineAvailableSum** | Сумма действующей ВКЛ (Возобновляемой кредитной линией) |
| **dboContracts** | Договоры обслуживания организации |
| **hasActiveCreditLine** | Признак наличия у клиента действующей ВКЛ (Возобновляемой кредитной линией) |
| **inn** | ИНН |
| **isCorpCardHolder** | Признак наличия у клиента бизнес-карты |
| **nonClient** | Признак «Неклиент» (неверифицированный пользователь, у которого не подтверждены учетные данные, отсутствуют расчетный счет и право подписи документов) |
| **orgFullName** | Полное наименование компании |
| **orgJuridicalAddress** | Юридический адрес компании |
| **orgKpp** | КПП |
| **orgLawForm** | Организационно-правовая форма (полное наименование) |
| **OrgName** | Сокращенное наименование организации |
| **orgOgrn** | ОГРН |
| **orgOkpo** | ОКПО |
| **orgOktmo** | ОКТМО |
| **orgRegDateINN** | Дата регистрации ИНН |
| **orgRegDateOGRN** | Дата регистрации ОГРН |
| **orgUnconfirmed** | Признак «Неподтвержденная организация» |
| **resident** | Признак 'резидент / нерезидент' |
| **terBank** | Территориальный банк |
| **activityType** | Вид деятельности организации |
| **okved** | Код ОКВЭД |
Рекомендации по тестированию в песочнице
При отправке запроса на получение информации о клиенте в песочнице успешный ответ всегда одинаковый и не зависит от входных данных.
В ссылке авторизации СберБизнес ID, в параметре scope не указана операция. Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки","example":"CAUSE"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)","example":"123e4567-e89b-12d3-a456-426614174000"},"message":{"type":"string","description":"Сообщение","example":"Сообщение об ошибке"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение","example":"Сообщение об ошибке"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string","example":"197.1-1000"}},"title":"ErrorResponse"}}}},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки","example":"CAUSE"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)","example":"123e4567-e89b-12d3-a456-426614174000"},"message":{"type":"string","description":"Сообщение","example":"Сообщение об ошибке"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение","example":"Сообщение об ошибке"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string","example":"197.1-1000"}},"title":"ErrorResponse"}}},"description":"Справочник с указанным идентификатором не найден"},"429":{"description":"\"Превышен лимит запросов\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения","example":"Причина"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"message":{"type":"string","description":"Сообщение","example":"Сообщение"}}}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки","example":"CAUSE"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)","example":"123e4567-e89b-12d3-a456-426614174000"},"message":{"type":"string","description":"Сообщение","example":"Сообщение об ошибке"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение","example":"Сообщение об ошибке"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string","example":"197.1-1000"}},"title":"ErrorResponse"}}}},"503":{"description":"\"Сервис временно недоступен\"\n\n| **Cause** | **Message** | **Description** |\n| ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки","example":"CAUSE"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)","example":"123e4567-e89b-12d3-a456-426614174000"},"message":{"type":"string","description":"Сообщение","example":"Сообщение об ошибке"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение","example":"Сообщение об ошибке"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string","example":"197.1-1000"}},"title":"ErrorResponse"}}}}}} />
---
# ConfirmatoryDocumentsInquiries
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/confirmatory-documents-inquiry/confirmatorydocumentsinquiries.md)
## Описание
## Методы Sber API по работе со справками о подтверждающих документах:
* [Создание справки о подтверждающих документах](/ru/sber-api/specifications/confirmatory-documents-inquiry/create)
* [Получение документа справка о подтверждающих документах](/ru/sber-api/specifications/confirmatory-documents-inquiry/get-document)
* [Получение статуса справки о подтверждающих документах](/ru/sber-api/specifications/confirmatory-documents-inquiry/get-status)
---
# Создание справки о подтверждающих документах
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/confirmatory-documents-inquiry/create.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/confirmatory-documents-inquiries`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/confirmatory-documents-inquiries`
## Описание
Для создания СПД необходимо отправить POST-запрос `/fintech/api/v1/confirmatory-documents-inquiries` с токеном доступа (**access\_token**) пользователя в параметре **Authorization** заголовка и реквизитами документа в теле.
В параметре scope ссылки авторизации пользователя должен быть указан сервис `CONFIRMATORY_DOCUMENTS_INQUIRY` для получения доступа к этому запросу.
* Если в запросе на создание заявления передать ЭП к документу (объект **digestSignatures**), то Банк сразу начнет обработку документа.
* Если в запросе не передавать ЭП к документу, то заявление будет создано в статусе черновик. Для начала обработки документа Банком потребуется зайти в интерфейс СберБизнес и подписать его.
Дайджест
Дайджест – это текстовый документ, содержащий перечень и значения полей запроса, к которому он относится и предназначенный для подписания ЭП. Сохраняйте порядок и количество полей дайджеста, как показано в примере ниже, иначе подписать его не получится.
Формат дайджеста:
| **Наименование поля** | **Описание поля** | **Пример** |
| ------------------------ | ----------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| authPersonName | ФИО уполномоченного сотрудника организации клиента | Иванов Иван Иванович |
| authPersonTelfax | Номер телефона, факса уполномоченного сотрудника организации клиента | 4955005550 |
| customerBankBic | БИК банка клиента | 44525225 |
| customerINN | ИНН клиента | 2406877205 |
| customerName | Наименование резидента | Общество с ограниченной ответственностью "Клиент" |
| customerOKPO | ОКПО клиента | 3698203661 |
| date | Дата документа | 20.05.2019 |
| dealDate | Справка от (дата справки) | 20.05.2019 |
| externalId | Идентификатор документа в организации-партнере | 14d62475-e8da-4f24-bcc7-68e4add64131 |
| psNumber | Уникальный номер контракта (Кредитного договора) | 11111111/0011/0000/1 |
| **TABLES** | | |
| Table=BfAttachments | Значение указывается при наличии UUID-ов больших файлов | |
| fileId | UUID больших файлов | 08ba3412-118a-4f4d-be23-e93f81d58fdc |
| # | Разделитель строк таблицы | |
| fileId | UUID больших файлов | e0687514-2c3d-471d-917c-f3e8f9fde1e0 |
| # | Разделитель строк таблицы | |
| Table=Docs | | |
| addInfo | Примечания по данной строке | Дополнительная информация |
| confDocDate | Дата подтверждающего документа | 20.05.2019 |
| confDocNumber | Номер подтверждающего документа | 123 |
| contractSum.amount | Сумма | 04.03 |
| contractSum.currencyCode | Цифровой код валюты | 840 |
| contractSum.currencyName | Трехбуквенный код валюты ISO-код валюты | USD |
| contractSumDel | Сумма, соответствующая признаку поставки 2 или 3, в валюте цены контракта (кредитного договора) | 01.01 |
| correctionDate | Дата корректируемой СПД | 20.05.2019 |
| correctionNumber | Номер корректировки | 1 |
| countryCode | Код страны | 826 |
| countryName | Наименование страны | СОЕДИНЕННОЕ КОРОЛЕВСТВО |
| docCode | Код вида документа | 03\_3 |
| docName | Наименование вида документа | О передаче резидентом на территории Российской Федерации товаров и оказании услуг нерезиденту по контрактам, указанным в подпункте 5.1.2 пункта 5.1 настоящей Инструкции |
| docSum.amount | Сумма | 04.03 |
| docSum.currencyCode | Цифровой код валюты | 840 |
| docSum.currencyName | Трехбуквенный код валюты ISO-код валюты | USD |
| docSumDel | Сумма, соответствующая признаку поставки 2 или 3, в валюте документа | 02.02 |
| expectedLife | Ожидаемый срок | 20.05.2019 |
| hasConfDocNumber | Признак номера документа: | true |
| | true - документ имеет номер; | |
| | false - документ без номера | |
| ordinalNumber | Порядковый номер строки в справке | 15 |
| supplyFeature | Признак поставки | 2 |
Пример дайджеста
```json
authPersonName=Иванов Иван Иванович
authPersonTelfax=4955005550
customerBankBic=044525225
customerBankName=ПАО "СБЕРБАНК"
customerINN=2406877205
customerName=Общество с ограниченной ответственностью "Клиент"
customerOKPO=3698203661
date=2019-05-20
dealDate=2019-05-20
externalId=14d62475-e8da-4f24-bcc7-68e4add64131
psNumber=11111111/0011/0000/1
TABLES
Table=BfAttachments
fileId=3e7333db-dbb4-4bc1-a2e2-49cbc5ab834d
#
fileId=e0687514-2c3d-471d-917c-f3e8f9fde1e0
#
Table=Docs
addInfo=Примечание
confDocDate=2019-05-20
confDocNumber=123
contractSum.amount=4.03
contractSum.currencyCode=840
contractSum.currencyName=USD
contractSumDel=1.01
correctionDate=2019-05-20
countryCode=826
countryName=СОЕДИНЕННОЕ КОРОЛЕВСТВО
docCode=03_3
docName=О передаче резидентом на территории Российской Федерации товаров и оказании услуг нерезиденту по контрактам,
указанным в подпункте 5.1.2 пункта 5.1 настоящей Инструкции
docSum.amount=4.03
docSum.currencyCode=840
docSum.currencyName=USD
docSumDel=2.02
expectedLife=2019-05-20
hasConfDocNumber=1
ordinalNumber=0
supplyFeature=2
#
addInfo=Примечание
confDocDate=2019-05-20
confDocNumber=135
contractSum.amount=4.03
contractSum.currencyCode=840
contractSum.currencyName=USD
contractSumDel=2.02
correctionDate=2019-05-20
correctionNumber=1
countryCode=826
countryName=СОЕДИНЕННОЕ КОРОЛЕВСТВО
docCode=03_3
docName=О передаче резидентом на территории Российской Федерации товаров и оказании услуг нерезиденту по контрактам,
docSum.amount=8.08
docSum.currencyCode=840
docSum.currencyName=USD
docSumDel=2.02
expectedLife=2019-05-20
hasConfDocNumber=true
ordinalNumber=2
supplyFeature=3
#
```
Рекомендации по тестированию в песочнице
При тестировании создания справки о подтверждающих документах в Песочнице соблюдайте правила:
* **Не нужно устанавливать промышленные сертификаты электронной подписи (ЭП)** — Песочница использует тестовые идентификаторы ЭП (certificateUuid).
* Все остальные поля запроса заполняйте произвольными данными (реквизиты, суммы) в соответствии с требованиями в документации.
## Сценарии тестирования
Для тестирования сценариев используйте **фиксированные** значения `certificateUuid`. При использовании любых других значений `certificateUuid` вернется ошибка `INVALIDEDS`.
**1.** Чтобы создать черновик СПД, отправьте запрос **без объекта `digestSignatures`**.
***
**2.** Для отправки документа с единственной или двумя подписями передайте в объекте `digestSignatures` тестовые `certificateUuid`.
**Параметры:**
* bb014b5d-8159-40be-97c1-eafeed4a8c3d (единственная подпись)
* d5d4f811-f4d4-4205-a70f-58f772eeab72 (первая подпись)
* 4f29c8ef-b55d-43c7-a321-f2b1303a29cd (вторая подпись)
**Статус в ответе:** `bankStatus: "EXPORTED"`
**Пример:**
```json
#Единственная подпись
"digestSignatures": [
\{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c3d",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
#Первая и вторая подпись
"digestSignatures": [
\{
"certificateUuid": "d5d4f811-f4d4-4205-a70f-58f772eeab72",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\},
\{
"certificateUuid": "4f29c8ef-b55d-43c7-a321-f2b1303a29cd",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
```
= confDocDate.","format":"date","example":"2018-12-31"},"countryCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код страны грузополучателя (грузоотправителя). Допустимо указание одной из 4х стран: 051, 112, 398, 417","example":"112"},"countryName":{"maxLength":255,"type":"string","description":"Наименование страны грузополучателя (грузоотправителя)","example":"БЕЛАРУСЬ"},"addInfo":{"maxLength":500,"type":"string","description":"Дополнительная информация","example":"Дополнительная информация"},"docSumDel":{"minimum":0,"type":"number","description":"Сумма, соответствующая признаку поставки 2 или 3, в валюте документа","nullable":false,"example":1.01},"contractSumDel":{"minimum":0,"type":"number","description":"Сумма, соответствующая признаку поставки 2 или 3, в валюте цены контракта (кредитного договора)","nullable":false,"example":1.01},"correctionSDINumber":{"maxLength":50,"type":"string","description":"Номер корректируемого документа (СПД). Обязательно для заполнения при указании correctionNumber. В случае наличия нескольких строк в корректируемом документе дополнительно заполняется поле ordinalNumber.","example":"А123Б456"}},"description":"Документ, включенный в справку о подтверждающих документах","title":"FintechConfirmatoryDocumentsInquiryDoc"}},"bfAttachments":{"type":"array","description":"Приложенные к документу: отсканированные образы-вложения - для АС БФ","items":{"required":["fileId"],"properties":{"fileId":{"type":"string","description":"Уникальный идентификатор файла","nullable":false,"example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"fileName":{"type":"string","description":"Имя файла","readOnly":true,"example":"SB_7718830000_40702810038290010000_T18.txt"}},"description":"Данные о вложении документа (большой файл)","title":"FintechBfAttachment"}},"acceptDate":{"type":"string","description":"Дата представления в банк","format":"date","readOnly":true,"example":"2018-12-31"},"valueDate":{"type":"string","description":"Дата принятия/возврата","format":"date","readOnly":true,"example":"2018-12-31"},"executorEmployeeName":{"type":"string","description":"Должность ответственного лица","readOnly":true,"example":"Ответственный исполнитель банка"},"executorName":{"type":"string","description":"Подпись ответственного лица","readOnly":true,"example":"Иванов Иван Иванович"},"returnReason1":{"type":"boolean","description":"Флаг причины возврата 16.1.1","readOnly":true,"example":false},"returnReason2":{"type":"boolean","description":"Флаг причины возврата 16.1.3","readOnly":true,"example":false},"returnReason3":{"type":"boolean","description":"Флаг причины возврата 16.1.4","readOnly":true,"example":false},"returnReason4":{"type":"boolean","description":"Флаг причины возврата 16.1.5","readOnly":true,"example":false},"returnReason1Comment":{"type":"string","description":"Комментарий причины возврата 16.1.1","readOnly":true,"example":"Ошибка"},"returnReason2Comment":{"type":"string","description":"Комментарий причины возврата 16.1.3","readOnly":true,"example":"Ошибка"},"returnReason3Comment":{"type":"string","description":"Комментарий причины возврата 16.1.4","readOnly":true,"example":"Ошибка"},"returnReason4Comment":{"type":"string","description":"Комментарий причины возврата 16.1.5","readOnly":true,"example":"Ошибка"},"failReasons":{"type":"array","description":"Причины отказа","readOnly":true,"items":{"properties":{"docField":{"type":"string","description":"Поле документа","example":"Номер контракта"},"reasonComment":{"type":"string","description":"Правило заполнения/замечания","example":"Указан неверно"},"reasonId":{"type":"string","description":"Код причины отказа","example":"PS_REST_REJ_PART_2-9"},"returnComment":{"type":"string","description":"Комментарий","example":"Комментарий"}},"description":"Причина отказа","title":"FintechFailReason"}}},"description":"Сведения о подтверждающих документах"}}},"required":true}} />
= confDocDate.","format":"date","example":"2018-12-31"},"countryCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код страны грузополучателя (грузоотправителя). Допустимо указание одной из 4х стран: 051, 112, 398, 417","example":"112"},"countryName":{"maxLength":255,"type":"string","description":"Наименование страны грузополучателя (грузоотправителя)","example":"БЕЛАРУСЬ"},"addInfo":{"maxLength":500,"type":"string","description":"Дополнительная информация","example":"Дополнительная информация"},"docSumDel":{"minimum":0,"type":"number","description":"Сумма, соответствующая признаку поставки 2 или 3, в валюте документа","nullable":false,"example":1.01},"contractSumDel":{"minimum":0,"type":"number","description":"Сумма, соответствующая признаку поставки 2 или 3, в валюте цены контракта (кредитного договора)","nullable":false,"example":1.01},"correctionSDINumber":{"maxLength":50,"type":"string","description":"Номер корректируемого документа (СПД). Обязательно для заполнения при указании correctionNumber. В случае наличия нескольких строк в корректируемом документе дополнительно заполняется поле ordinalNumber.","example":"А123Б456"}},"description":"Документ, включенный в справку о подтверждающих документах","title":"FintechConfirmatoryDocumentsInquiryDoc"}},"bfAttachments":{"type":"array","description":"Приложенные к документу: отсканированные образы-вложения - для АС БФ","items":{"required":["fileId"],"properties":{"fileId":{"type":"string","description":"Уникальный идентификатор файла","nullable":false,"example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"fileName":{"type":"string","description":"Имя файла","readOnly":true,"example":"SB_7718830000_40702810038290010000_T18.txt"}},"description":"Данные о вложении документа (большой файл)","title":"FintechBfAttachment"}},"acceptDate":{"type":"string","description":"Дата представления в банк","format":"date","readOnly":true,"example":"2018-12-31"},"valueDate":{"type":"string","description":"Дата принятия/возврата","format":"date","readOnly":true,"example":"2018-12-31"},"executorEmployeeName":{"type":"string","description":"Должность ответственного лица","readOnly":true,"example":"Ответственный исполнитель банка"},"executorName":{"type":"string","description":"Подпись ответственного лица","readOnly":true,"example":"Иванов Иван Иванович"},"returnReason1":{"type":"boolean","description":"Флаг причины возврата 16.1.1","readOnly":true,"example":false},"returnReason2":{"type":"boolean","description":"Флаг причины возврата 16.1.3","readOnly":true,"example":false},"returnReason3":{"type":"boolean","description":"Флаг причины возврата 16.1.4","readOnly":true,"example":false},"returnReason4":{"type":"boolean","description":"Флаг причины возврата 16.1.5","readOnly":true,"example":false},"returnReason1Comment":{"type":"string","description":"Комментарий причины возврата 16.1.1","readOnly":true,"example":"Ошибка"},"returnReason2Comment":{"type":"string","description":"Комментарий причины возврата 16.1.3","readOnly":true,"example":"Ошибка"},"returnReason3Comment":{"type":"string","description":"Комментарий причины возврата 16.1.4","readOnly":true,"example":"Ошибка"},"returnReason4Comment":{"type":"string","description":"Комментарий причины возврата 16.1.5","readOnly":true,"example":"Ошибка"},"failReasons":{"type":"array","description":"Причины отказа","readOnly":true,"items":{"properties":{"docField":{"type":"string","description":"Поле документа","example":"Номер контракта"},"reasonComment":{"type":"string","description":"Правило заполнения/замечания","example":"Указан неверно"},"reasonId":{"type":"string","description":"Код причины отказа","example":"PS_REST_REJ_PART_2-9"},"returnComment":{"type":"string","description":"Комментарий","example":"Комментарий"}},"description":"Причина отказа","title":"FintechFailReason"}}},"description":"Сведения о подтверждающих документах"}}}},"202":{"description":"Операция не завершена полностью","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"400":{"description":"\"Ошибка в запросе или его жизненном цикле\"\n\n | Cause | Message | **Description** |\n | --------------------- | -------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n | DESERIALIZATION_FAULT | Неверный формат запроса | Данные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в response в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request ресурса. Скорректируйте заполнение атрибутов и повторите запрос. |\n | WORKFLOW_FAULT | Документ с такими реквизитами уже существует | В АС Банка также присутствует проверка на дублирование документов по полям. Если поля совпадают с уже существующим в банке документом, то такой документ получает статус \"bankStatus\": \"CHECKERROR\", а комментарий \"bankComment\": \"Документ с такими реквизитами уже существует.\" |\n | VALIDATION_FAULT | Ошибка валидации | Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request ресурса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"401":{"description":"\"Не авторизован\"\n\n| **Cause** | **Message** | **Description** |\n| ------------ | ---------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |\n| UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |\n| | Некорректное значение Access Token | Указан некорректный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"403":{"description":"\"Запрещено\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------------- | ----------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `CONFIRMATORY_DOCUMENTS_INQUIRY`. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторны... [truncated]\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"404":{"description":"Не найдено","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"429":{"description":"Превышен лимит запросов","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"500":{"description":"Внутренняя ошибка сервера","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"503":{"description":"Сервис временно недоступен","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}}}} />
---
# Получение документа справка о подтверждающих документах
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/confirmatory-documents-inquiry/get-document.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/confirmatory-documents-inquiries/{externalId}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/confirmatory-documents-inquiries/{externalId}`
## Описание
Для получения полных данных СПД необходимо отправить GET-запрос `/fintech/api/v1/confirmatory-documents-inquiries/{externalId}` с токеном доступа (**access\_token**) пользователя в параметре **Authorization** заголовка и идентификатором документа (**externalId**) в path-параметре.
В параметре scope ссылки авторизации пользователя должен быть указан сервис `CONFIRMATORY_DOCUMENTS_INQUIRY` для получения доступа к этому запросу.
Рекомендации по тестированию в песочнице
При получении справки о подтверждающих документах в песочнице, ответ зависит от переданного `externalId`.
Все остальные поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.
**1.** Чтобы получить документа справка о подтверждающих документах, нужно в поле `externalId` передать произвольное значение.
***
**2.** Чтобы получить ошибку "Документ с указанным ID не найден.", нужно в поле `externalId` передать значение `22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6`.
= confDocDate.","format":"date","example":"2018-12-31"},"countryCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код страны грузополучателя (грузоотправителя). Допустимо указание одной из 4х стран: 051, 112, 398, 417","example":"112"},"countryName":{"maxLength":255,"type":"string","description":"Наименование страны грузополучателя (грузоотправителя)","example":"БЕЛАРУСЬ"},"addInfo":{"maxLength":500,"type":"string","description":"Дополнительная информация","example":"Дополнительная информация"},"docSumDel":{"minimum":0,"type":"number","description":"Сумма, соответствующая признаку поставки 2 или 3, в валюте документа","nullable":false,"example":1.01},"contractSumDel":{"minimum":0,"type":"number","description":"Сумма, соответствующая признаку поставки 2 или 3, в валюте цены контракта (кредитного договора)","nullable":false,"example":1.01},"correctionSDINumber":{"maxLength":50,"type":"string","description":"Номер корректируемого документа (СПД). Обязательно для заполнения при указании correctionNumber. В случае наличия нескольких строк в корректируемом документе дополнительно заполняется поле ordinalNumber.","example":"А123Б456"}},"description":"Документ, включенный в справку о подтверждающих документах","title":"FintechConfirmatoryDocumentsInquiryDoc"}},"bfAttachments":{"type":"array","description":"Приложенные к документу: отсканированные образы-вложения - для АС БФ","items":{"required":["fileId"],"properties":{"fileId":{"type":"string","description":"Уникальный идентификатор файла","nullable":false,"example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"fileName":{"type":"string","description":"Имя файла","readOnly":true,"example":"SB_7718830000_40702810038290010000_T18.txt"}},"description":"Данные о вложении документа (большой файл)","title":"FintechBfAttachment"}},"acceptDate":{"type":"string","description":"Дата представления в банк","format":"date","readOnly":true,"example":"2018-12-31"},"valueDate":{"type":"string","description":"Дата принятия/возврата","format":"date","readOnly":true,"example":"2018-12-31"},"executorEmployeeName":{"type":"string","description":"Должность ответственного лица","readOnly":true,"example":"Ответственный исполнитель банка"},"executorName":{"type":"string","description":"Подпись ответственного лица","readOnly":true,"example":"Иванов Иван Иванович"},"returnReason1":{"type":"boolean","description":"Флаг причины возврата 16.1.1","readOnly":true,"example":false},"returnReason2":{"type":"boolean","description":"Флаг причины возврата 16.1.3","readOnly":true,"example":false},"returnReason3":{"type":"boolean","description":"Флаг причины возврата 16.1.4","readOnly":true,"example":false},"returnReason4":{"type":"boolean","description":"Флаг причины возврата 16.1.5","readOnly":true,"example":false},"returnReason1Comment":{"type":"string","description":"Комментарий причины возврата 16.1.1","readOnly":true,"example":"Ошибка"},"returnReason2Comment":{"type":"string","description":"Комментарий причины возврата 16.1.3","readOnly":true,"example":"Ошибка"},"returnReason3Comment":{"type":"string","description":"Комментарий причины возврата 16.1.4","readOnly":true,"example":"Ошибка"},"returnReason4Comment":{"type":"string","description":"Комментарий причины возврата 16.1.5","readOnly":true,"example":"Ошибка"},"failReasons":{"type":"array","description":"Причины отказа","readOnly":true,"items":{"properties":{"docField":{"type":"string","description":"Поле документа","example":"Номер контракта"},"reasonComment":{"type":"string","description":"Правило заполнения/замечания","example":"Указан неверно"},"reasonId":{"type":"string","description":"Код причины отказа","example":"PS_REST_REJ_PART_2-9"},"returnComment":{"type":"string","description":"Комментарий","example":"Комментарий"}},"description":"Причина отказа","title":"FintechFailReason"}}},"description":"Сведения о подтверждающих документах"}}}},"400":{"description":"\"Ошибка в запросе или его жизненном цикле\"\n\n | Cause | Message | **Description** |\n | --------------------- | -------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n | DESERIALIZATION_FAULT | Неверный формат запроса | Данные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в response в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request ресурса. Скорректируйте заполнение атрибутов и повторите запрос. |\n | WORKFLOW_FAULT | Документ с такими реквизитами уже существует | В АС Банка также присутствует проверка на дублирование документов по полям. Если поля совпадают с уже существующим в банке документом, то такой документ получает статус \"bankStatus\": \"CHECKERROR\", а комментарий \"bankComment\": \"Документ с такими реквизитами уже существует.\" |\n | VALIDATION_FAULT | Ошибка валидации | Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request ресурса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"401":{"description":"\"Не авторизован\"\n\n| **Cause** | **Message** | **Description** |\n| ------------ | ---------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |\n| UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |\n| | Некорректное значение Access Token | Указан некорректный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"403":{"description":"\"Запрещено\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------------- | ----------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `CONFIRMATORY_DOCUMENTS_INQUIRY`. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"404":{"description":"Не найдено","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"429":{"description":"\"Превышен лимит запросов\"\n\n | **Cause** | **Message** | **Description** |\n | ----------------- | -------------------------------------------------- | ---------------------|\n | TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"503":{"description":"\"Сервис временно недоступен\"\n\n| **Cause** | **Message** | **Description** |\n| ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}}}} />
---
# Получение статуса справки о подтверждающих документах
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/confirmatory-documents-inquiry/get-status.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/confirmatory-documents-inquiries/{externalId}/state`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/confirmatory-documents-inquiries/{externalId}/state`
## Описание
Для получения статуса СПД необходимо отправить GET-запрос `/fintech/api/v1/confirmatory-documents-inquiries/{externalId}/state` с токеном доступа (**access\_token**) пользователя в параметре **Authorization** заголовка и идентификатором документа (**externalId**) в path-параметре.
В параметре scope ссылки авторизации пользователя должен быть указан сервис `CONFIRMATORY_DOCUMENTS_INQUIRY` для получения доступа к этому запросу.
Рекомендации по тестированию в песочнице
При получении статуса справки о подтверждающих документах в песочнице, ответ зависит от переданного `externalId`.
Все остальные поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.
**1.** Чтобы получить положительный статус справки о подтверждающих документах, нужно в поле `externalId` передать произвольное значение.
***
**2.** Чтобы получить ошибку "Документ с указанным ID не найден.", нужно в поле `externalId` передать значение `22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6`.
Если поля совпадают с уже существующим в банке документом, то такой документ получает статус \"bankStatus\": \"CHECKERROR\", а комментарий \"bankComment\": \"Документ с такими реквизитами уже существует.\" |\n | VALIDATION_FAULT | Ошибка валидации | Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request ресурса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"401":{"description":"\"Не авторизован\"\n\n| **Cause** | **Message** | **Description** |\n| ------------ | ---------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |\n| UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |\n| | Некорректное значение Access Token | Указан некорректный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"403":{"description":"\"Запрещено\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------------- | ----------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `CONFIRMATORY_DOCUMENTS_INQUIRY`. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"429":{"description":"\"Превышен лимит запросов\"\n\n | **Cause** | **Message** | **Description** |\n | ----------------- | -------------------------------------------------- | ---------------------|\n | TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"503":{"description":"\"Сервис временно недоступен\"\n\n| **Cause** | **Message** | **Description** |\n| ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}}}} />
---
# Создание поручения на покупку/продажу валюты
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/conv-currency/create.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/conv-currency`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/conv-currency`
## Описание
Запрос на создание поручения на покупку/продажу валюты
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `CONVERSION_OPERATION_CURRENCY`.
Дайджест
Дайджест - это текстовый документ, содержащий перечень и значения полей запроса, к которому он относится, и предназначенный для подписания ЭП. Сохраняйте порядок и количество полей дайджеста, как показано в примере ниже, иначе подписать его не получится.
Дайджест формируется по коду атрибута в том же порядке, как указано в таблице.
Если какое-то поле не заполнено (null), то в дайджест не попадает
Формат дайджеста запроса на [создание поручения на покупку/продажу валюты](/ru/sber-api/specifications/conv-currency/create):
| **Наименование поля** | **Описание поля** | **Пример** |
| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
| chargeData.account | Счет списания комиссии (в рублях). Необязательный атрибут. Формируется, если способ расчета - по курсу ЦБ РФ со взиманием комиссии | 40702810657240000001 |
| chargeData.isoCode | ISO-код валюты списания комиссии (код российского рубля). Необязательный атрибут. Формируется, если способ расчета - по курсу ЦБ РФ со взиманием комиссии | RUB |
| creditData.account | Счет зачисления. Обязательный атрибут. | 40702840657240000001 |
| creditData.amount | Сумма зачисления. Необязательный атрибут. Формируется, если был передан при создании поручения | null |
| creditData.bic | БИК банка зачисления. Необязательный атрибут. Формируется, если счет зачисления открыт в другом банке | 044525225 |
| creditData.corrAccount | Корреспондентский счет банка зачисления. Необязательный атрибут. Формируется, если счет зачисления открыт в другом банке | 30101810400000000225 |
| creditData.isExternalAccount | Признак внешнего счета зачисления (false – счет зачисления открыт в Сбербанке, true – счет зачисления открыт в другом банке) | true |
| creditData.isoCode | ISO-код валюты зачисления. Обязательный атрибут. | USD |
| debitData.account | Счет списания. Обязательный атрибут. | 40702810657240000001 |
| debitData.amount | Сумма списания. Необязательный атрибут. Формируется, если была передана при создании поручения | 1000 |
| debitData.isoCode | ISO-код валюта списания. Обязательный атрибут. | RUB |
| generalData.date | Дата документа ( в формате YYYY-MM-DD). Обязательный атрибут. | 2026-03-15 |
| generalData.externalId | Идентификатор документа в системе партнера (UUID). Обязательный атрибут. | 25c34765-5792-43ed-9dec-2c0bb5ac5f48 |
| generalData.isCharged | Способ расчета. Обязательный атрибут: false – расчет по курсу банка БЕЗ комиссии, true – расчет по курсу ЦБ РФ со взиманием комиссии | true |
| generalData.number | Номер документа. Обязательный атрибут. | 956 |
| orgData.inn | ИНН клиента. Обязательный атрибут. | 2569873456 |
| orgData.name | Наименование клиента. Обязательный атрибут. | ООО "Рога и копыта" |
Примеры:
Дайджест подписи для поручения на продажу валюты с внешним счетом зачисления и способом расчета по курсу ЦБ РФ со взиманием комиссии. На вход передана сумма списания.
```
chargeData.account=40702810657240000000
chargeData.isoCode=RUB
creditData.account=40702810657240000000
creditData.bic=044525593
creditData.corrAccount=30101810400000000000
creditData.isExternalAccount=true
creditData.isoCode=RUB
debitData.account=40702840657240000000
debitData.amount=1000
debitData.isoCode=USD
generalData.date=2026-03-03
generalData.externalId=25c34765-5792-43ed-9dec-2c0bb5ac5f48
generalData.isCharged=true
generalData.number=956
orgData.inn=2569873456
orgData.name=ООО "Рога и копыта"
```
Дайджест подписи для поручения на продажу валюты с внешним счетом зачисления. На вход передана сумма зачисления.
```
creditData.account=40702810657240000000
creditData.amount=50
creditData.bic=044525593
creditData.corrAccount=30101810400000000000
creditData.isExternalAccount=true
creditData.isoCode=RUB
debitData.account=40702840657240000000
debitData.isoCode=USD
generalData.date=2026-03-03
generalData.externalId=25c34765-5792-43ed-9dec-2c0bb5ac5f48
generalData.isCharged=false
generalData.number=956
orgData.inn=2569873456
orgData.name=ООО "Рога и копыта"
```
Дайджест подписи для поручения на покупку валюты на счет, открытый в ПАО Сбербанк. На вход передана сумма зачисления.
```
creditData.account=40702840657240000000
creditData.amount=50
creditData.isExternalAccount=false
creditData.isoCode=USD
debitData.account=40702810657240000000
debitData.isoCode=RUB
generalData.date=2026-03-03
generalData.externalId=25c34765-5792-43ed-9dec-2c0bb5ac5f48
generalData.isCharged=false
generalData.number=956
orgData.inn=2569873456
orgData.name=ООО "Рога и копыта"
```
Рекомендации по тестированию в песочнице
При тестировании создания поручения на покупку/продажу валюты в Песочнице соблюдайте правила:
* **Генерируйте уникальный `externalId`** для каждого документа.
* **Не нужно устанавливать промышленные сертификаты электронной подписи (ЭП)** — Песочница использует тестовые идентификаторы ЭП (certificateUuid).
* Все остальные поля запроса заполняйте произвольными данными (реквизиты, суммы, данные организации) в соответствии с требованиями в документации.
**1.** Позитивный сценарий:
* в массиве digestSignatures заполнить сертификат подписи (для каждой подписи, если их две) одним из значений:
* "certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c3d" (Единственная подпись)
* "certificateUuid": "d5d4f811-f4d4-4205-a70f-58f772eeab72" (Первая подпись)
* "certificateUuid": "4f29c8ef-b55d-43c7-a321-f2b1303a29cd" (Вторая подпись)
* все остальные поля запроса заполняйте произвольными данными (реквизиты, суммы) в соответствии с требованиями в документации.
**Результат:**
* HTTP 201 CREATED
* Тело ответа: модель данных созданного документа
***
**2** Негативные сценарии:
* при использовании любых других значений certificateUuid вернется ошибка:
* cause = "BUSINESS\_EXCEPTION"
* message = "Действующие полномочия подписи не найдены."
* internalErrorCode = "188.1-2021"
* при некорректном заполнении полей запроса, нарушающее требования в документации, вернется ошибка:
* HTTP 422 Unprocessable Entity
* cause = "VALIDATION\_FAULT"
* message = "Ошибка при разборе параметров запроса."
* internalErrorCode = "188.1-1001"
* если в массиве digestSignatures передано больше двух подписей, вернется ошибка:
* HTTP 400 Bad Request
* cause = "VALIDATION\_FAULT"
* message = "Количество подписей больше 2 штук не может быть обработано."
* internalErrorCode = "188.1-1002"
* Проверка обязательности атрибутов.
* если REQUEST.generalData.isCharged = true, то блок REQUEST.chargeData - обязателен И REQUEST.chargeData.isoCode = RUB
* если REQUEST.creditData.isExternalAccount = true, то REQUEST.creditData.corrAccount - обязателен
* иначе вернуть ошибку:
* cause = "VALIDATION\_FAULT"
* message = "Заполнены не все обязательные атрибуты."
* internalErrorCode = "188.1-1002"
* Проверка суммы списания и зачисления
* HTTP 400 Bad Request
* cause = "VALIDATION\_FAULT"
* message = "Некорректно заполнены атрибуты сумм списания и зачисления, необходимо передавать только одно значение."
* internalErrorCode = "188.1-1002"
***
**3** Альтернативные сценарии:
* для получения ошибки HTTP 400 с кодом VALIDATION\_FAULT, необходимо заполнить externalId = "eb8e0372-b6a9-4e74-a123-f206f2bd492e"
* cause = "VALIDATION\_FAULT"
* message = "Документ с таким externalId уже существует."
* internalErrorCode = "188.1-1002"
* для получения ошибки HTTP 500 с кодом TECHNICAL\_EXCEPTION, необходимо заполнить externalId = "6ca178cc-658c-435f-ab00-b27b190f64c1"
* cause = "TECHNICAL\_EXCEPTION"
* message = "При выполнении операции произошла ошибка. Мы уже работаем над ее устранением. Повторите попытку позже. Код ошибки: 000-0."
* internalErrorCode = "188.1-5002"
* для получения ошибки HTTP 500 с кодом UNKNOWN\_EXCEPTION, необходимо заполнить externalId = "c56c1281-9d44-427c-8973-731f6750350d"
* cause = "UNKNOWN\_EXCEPTION"
* message = "При выполнении операции произошла ошибка. Мы уже работаем над ее устранением. Повторите попытку позже. Код ошибки: 000-0."
* internalErrorCode = "188.1-1000"
?@\\\\\\[\\\\\\]^_`\\\\{|\\\\}~№]*$","maxLength":160,"description":"Наименование клиента"}},"required":["inn","name"],"title":"OrgDataCreate"},"debitData":{"type":"object","description":"Объект с параметрами списания. Передается одна из сумм: сумма списания или сумма зачисления, вторая сумма будет рассчитана в процессе исполнения документа","properties":{"account":{"type":"string","description":"Счет списания","example":"40702810000000000001","pattern":"^[0-9]+$","minLength":20,"maxLength":20},"isoCode":{"type":"string","description":"Буквенный ISO-код валюты списания","example":"RUB","pattern":"^[A-Z]+$","minLength":3,"maxLength":3},"amount":{"type":"number","minimum":0,"maximum":10000000000000000,"description":"Сумма списания. Обязательна к передаче, если не передана сумма зачисления (creditData.amount)","example":51426.9}},"required":["account","isoCode"],"title":"DebitDataCreate"},"creditData":{"type":"object","description":"Объект с параметрами зачисления. Передается одна из сумм: сумма списания или сумма зачисления, вторая сумма будет рассчитана в процессе исполнения документа","properties":{"account":{"type":"string","description":"Счет зачисления","example":"40702810000000000001","pattern":"^[0-9]+$","minLength":20,"maxLength":20},"isoCode":{"type":"string","description":"Буквенный ISO-код валюты зачисления","example":"USD","pattern":"^[A-Z]+$","minLength":3,"maxLength":3},"amount":{"type":"number","minimum":0,"maximum":10000000000000000,"description":"Сумма зачисления. Обязательна к передаче, если не передана сумма списания (debitData.amount)","example":51426.9},"isExternalAccount":{"type":"boolean","description":"Признак внешнего счета зачисления (false – счет зачисления открыт в Сбербанке, true – рублевый счет зачисления открыт в другом банке)"},"bic":{"type":"string","description":"БИК банка зачисления. Обязателен к передаче, если рублевый счет зачисления открыт в другом банке (creditData.isExternalAccount=true)","example":"044525225","pattern":"^[0-9]+$","maxLength":9},"corrAccount":{"type":"string","description":"Корреспондентский счет банка зачисления. Обязателен к передаче, если рублевый счет зачисления открыт в другом банке (creditData.isExternalAccount=true)","example":"30101810400000000225","pattern":"^[0-9]+$","minLength":20,"maxLength":20}},"required":["account","isoCode","isExternalAccount"],"title":"CreditDataCreate"},"chargeData":{"type":"object","description":"Объект с параметрами комиссии. Передается, если выбран способ расчета “по курсу ЦБ РФ со взиманием комиссии” (generalData.isCharged=true). Комиссия списывается с рублевого счета, сумма комиссии будет рассчитана в процессе исполнения документа","properties":{"account":{"type":"string","description":"Счет списания комиссии (счет в рублях)","example":"40702810000000000001","pattern":"^[0-9]+$","minLength":20,"maxLength":20},"isoCode":{"type":"string","description":"Буквенный ISO-код валюты комиссии (всегда код российского рубля)","example":"RUB","pattern":"^[A-Z]+$","minLength":3,"maxLength":3}},"required":["account","isoCode"],"title":"ChargeDataCreate"},"digestSignatures":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","description":"Электронные подписи по дайджесту документа (массив объектов)","properties":{"certificateUuid":{"type":"string","format":"uuid","description":"Уникальный идентификатор сертификата ключа проверки электронной подписи (UUID)"},"base64Encoded":{"type":"string","description":"Значение электронной подписи, закодированное в Base64","minLength":1}},"required":["certificateUuid","base64Encoded"],"title":"DigestSignature"}}},"required":["generalData","debitData","orgData","creditData","digestSignatures"],"title":"CreateConvCurrency"}}}}} />
?@\\\\\\[\\\\\\]^_`\\\\{|\\\\}~№]*$","maxLength":160,"description":"Наименование клиента"}},"required":["inn","name"],"title":"OrgDataCreate"},"debitData":{"type":"object","description":"Объект с параметрами списания. Передается одна из сумм: сумма списания или сумма зачисления, вторая сумма будет рассчитана в процессе исполнения документа","properties":{"account":{"type":"string","description":"Счет списания","example":"40702810000000000001","pattern":"^[0-9]+$","minLength":20,"maxLength":20},"isoCode":{"type":"string","description":"Буквенный ISO-код валюты списания","example":"RUB","pattern":"^[A-Z]+$","minLength":3,"maxLength":3},"amount":{"type":"number","minimum":0,"maximum":10000000000000000,"description":"Сумма списания. Обязательна к передаче, если не передана сумма зачисления (creditData.amount)","example":51426.9}},"required":["account","isoCode"],"title":"DebitDataCreate"},"creditData":{"type":"object","description":"Объект с параметрами зачисления. Передается одна из сумм: сумма списания или сумма зачисления, вторая сумма будет рассчитана в процессе исполнения документа","properties":{"account":{"type":"string","description":"Счет зачисления","example":"40702810000000000001","pattern":"^[0-9]+$","minLength":20,"maxLength":20},"isoCode":{"type":"string","description":"Буквенный ISO-код валюты зачисления","example":"USD","pattern":"^[A-Z]+$","minLength":3,"maxLength":3},"amount":{"type":"number","minimum":0,"maximum":10000000000000000,"description":"Сумма зачисления. Обязательна к передаче, если не передана сумма списания (debitData.amount)","example":51426.9},"isExternalAccount":{"type":"boolean","description":"Признак внешнего счета зачисления (false – счет зачисления открыт в Сбербанке, true – рублевый счет зачисления открыт в другом банке)"},"bic":{"type":"string","description":"БИК банка зачисления. Обязателен к передаче, если рублевый счет зачисления открыт в другом банке (creditData.isExternalAccount=true)","example":"044525225","pattern":"^[0-9]+$","maxLength":9},"corrAccount":{"type":"string","description":"Корреспондентский счет банка зачисления. Обязателен к передаче, если рублевый счет зачисления открыт в другом банке (creditData.isExternalAccount=true)","example":"30101810400000000225","pattern":"^[0-9]+$","minLength":20,"maxLength":20}},"required":["account","isoCode","isExternalAccount"],"title":"CreditDataCreate"},"chargeData":{"type":"object","description":"Объект с параметрами комиссии. Передается, если выбран способ расчета “по курсу ЦБ РФ со взиманием комиссии” (generalData.isCharged=true). Комиссия списывается с рублевого счета, сумма комиссии будет рассчитана в процессе исполнения документа","properties":{"account":{"type":"string","description":"Счет списания комиссии (счет в рублях)","example":"40702810000000000001","pattern":"^[0-9]+$","minLength":20,"maxLength":20},"isoCode":{"type":"string","description":"Буквенный ISO-код валюты комиссии (всегда код российского рубля)","example":"RUB","pattern":"^[A-Z]+$","minLength":3,"maxLength":3}},"required":["account","isoCode"],"title":"ChargeDataCreate"},"digestSignatures":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","description":"Электронные подписи по дайджесту документа (массив объектов)","properties":{"certificateUuid":{"type":"string","format":"uuid","description":"Уникальный идентификатор сертификата ключа проверки электронной подписи (UUID)"},"base64Encoded":{"type":"string","description":"Значение электронной подписи, закодированное в Base64","minLength":1}},"required":["certificateUuid","base64Encoded"],"title":"DigestSignature"}}},"required":["generalData","debitData","orgData","creditData","digestSignatures"],"title":"CreateConvCurrency"}}}},"400":{"description":"\"Ошибка в запросе\"\n\n| **Cause** | **Message** | **Description** |\n| --------------------- | ----------------------- | --------------------------------------------------------------------------------------- |\n| VALIDATION_FAULT | Ошибка валидации | Если в запросе отсутствуют обязательные параметры или переданы некорректные параметры |\n| TECHNICAL_EXCEPTION | Техническая ошибка | Если возникли прочие технические ошибки |\n| BUSINESS_EXCEPTION | Ошибка бизнес-процесса | Если возникли различные бизнес ошибки |\n","content":{"application/json":{"schema":{"type":"object","description":"Блок ошибки","properties":{"cause":{"type":"string","description":"Причина или основание ошибки (тип ошибки)"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение (текст ошибки)"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"}},"required":["cause","referenceId","message"],"title":"ResponseError"}}}},"401":{"description":"\"Не авторизован\"\n\n| **Cause** | **Message** | **Description** |\n| ------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |\n| UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. | \n","content":{"application/json":{"schema":{"type":"object","description":"Блок ошибки","properties":{"cause":{"type":"string","description":"Причина или основание ошибки (тип ошибки)"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение (текст ошибки)"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"}},"required":["cause","referenceId","message"],"title":"ResponseError"}}}},"403":{"description":"\"Операция не может быть выполнена: доступ к ресурсу запрещен\"\n| **Cause** | **Message** | **Description** |\n| ----------------------- | ----------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `CONVERSION_OPERATION_CURRENCY`. Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"type":"object","description":"Блок ошибки","properties":{"cause":{"type":"string","description":"Причина или основание ошибки (тип ошибки)"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение (текст ошибки)"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"}},"required":["cause","referenceId","message"],"title":"ResponseError"}}}},"422":{"description":"\"Ошибка валидации запроса\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| VALIDATION_FAULT | Валидация запроса завершилась ошибкой | Модель запроса не прошла валидацию на SOWA |\n","content":{"application/json":{"schema":{"type":"object","description":"Блок ошибки","properties":{"cause":{"type":"string","description":"Причина или основание ошибки (тип ошибки)"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение (текст ошибки)"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"}},"required":["cause","referenceId","message"],"title":"ResponseError"}}}},"429":{"description":"\"Превышен лимит запросов\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"type":"object","description":"Блок ошибки","properties":{"cause":{"type":"string","description":"Причина или основание ошибки (тип ошибки)"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение (текст ошибки)"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"}},"required":["cause","referenceId","message"],"title":"ResponseError"}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"type":"object","description":"Блок ошибки","properties":{"cause":{"type":"string","description":"Причина или основание ошибки (тип ошибки)"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение (текст ошибки)"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"}},"required":["cause","referenceId","message"],"title":"ResponseError"}}}},"503":{"description":"\"Сервис временно недоступен\"\n\n| **Cause** | **Message** | **Description** |\n| ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"type":"object","description":"Блок ошибки","properties":{"cause":{"type":"string","description":"Причина или основание ошибки (тип ошибки)"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение (текст ошибки)"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"}},"required":["cause","referenceId","message"],"title":"ResponseError"}}}}}} />
---
# Получение статуса поручения на покупку/продажу валюты
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/conv-currency/get-state.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/conv-currency/{externalId}/state`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/conv-currency/{externalId}/state`
## Описание
Возвращает статус ранее созданного поручения на покупку/продажу валюты
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `CONVERSION_OPERATION_CURRENCY`.
Рекомендации по тестированию в песочнице
**1.** Позитивный сценарий:
* в параметре пути (path) указывайте произвольное значение externalId в формате UUID
* **Результат:**
* HTTP 200 OK
* Тело ответа:
* bankStatus = "CREATED"
* bankComment = "Операция обрабатывается банком"
***
**2** Альтернативные сценарии:
* для получения документа в статусе IMPLEMENTED, необходимо заполнить externalId = "d481c762-1dc7-4f63-9db5-8d6b442d6f35"
* bankStatus = "IMPLEMENTED"
* для получения документа в статусе REFUSEDBYBANK, необходимо заполнить externalId = "dc245537-28b5-47bc-8d73-ee9dfdb04298"
* bankStatus = "REFUSEDBYBANK"
* bankComment = "Операция отказана банком"
* для получения ошибки HTTP 400 с кодом BUSINESS\_EXCEPTION, необходимо заполнить externalId = "8024e5eb-8ae6-4719-abed-789173ef1b70"
* cause = "BUSINESS\_EXCEPTION"
* message = "Документ с таким externalId не найден."
* internalErrorCode = 188.1-1003
* для получения ошибки HTTP 500 с кодом TECHNICAL\_EXCEPTION, необходимо заполнить externalId = "6ca178cc-658c-435f-ab00-b27b190f64c1"
* cause = "TECHNICAL\_EXCEPTION"
* message = "Документ с таким externalId не найден."
* internalErrorCode = 188.1-5003
* для получения ошибки HTTP 500 с кодом UNKNOWN\_EXCEPTION, необходимо заполнить externalId = "c56c1281-9d44-427c-8973-731f6750350d"
* cause = "UNKNOWN\_EXCEPTION"
* message = "Документ с таким externalId не найден."
* internalErrorCode = 188.1-1000
?@\\\\\\[\\\\\\]^_`\\\\{|\\\\}~№]*$","maxLength":20000}},"title":"DocumentState"}}}},"400":{"description":"\"Ошибка в запросе\"\n\n| **Cause** | **Message** | **Description** |\n| --------------------- | --------------------------------------------- | --------------------------------------------------------------------------|\n| DOC_NOT_FOUND | Документ по операции не найден | Если операции по такому externalId нет в базе данных currency_operation |\n| TECHNICAL_EXCEPTION | Техническая ошибка | Если возникли прочие технические ошибки |\n| BUSINESS_EXCEPTION | Ошибка бизнес-процесса | Если возникли различные бизнес ошибки |\n","content":{"application/json":{"schema":{"type":"object","description":"Блок ошибки","properties":{"cause":{"type":"string","description":"Причина или основание ошибки (тип ошибки)"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение (текст ошибки)"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"}},"required":["cause","referenceId","message"],"title":"ResponseError"}}}},"401":{"description":"\"Не авторизован\"\n\n| **Cause** | **Message** | **Description** |\n| ------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |\n| UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. | \n","content":{"application/json":{"schema":{"type":"object","description":"Блок ошибки","properties":{"cause":{"type":"string","description":"Причина или основание ошибки (тип ошибки)"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение (текст ошибки)"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"}},"required":["cause","referenceId","message"],"title":"ResponseError"}}}},"403":{"description":"\"Операция не может быть выполнена: доступ к ресурсу запрещен\"\n| **Cause** | **Message** | **Description** |\n| ----------------------- | ----------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `CONVERSION_OPERATION_CURRENCY`. Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"type":"object","description":"Блок ошибки","properties":{"cause":{"type":"string","description":"Причина или основание ошибки (тип ошибки)"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение (текст ошибки)"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"}},"required":["cause","referenceId","message"],"title":"ResponseError"}}}},"422":{"description":"\"Ошибка валидации запроса\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| VALIDATION_FAULT | Валидация запроса завершилась ошибкой | Модель запроса не прошла валидацию на SOWA |\n","content":{"application/json":{"schema":{"type":"object","description":"Блок ошибки","properties":{"cause":{"type":"string","description":"Причина или основание ошибки (тип ошибки)"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение (текст ошибки)"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"}},"required":["cause","referenceId","message"],"title":"ResponseError"}}}},"429":{"description":"\"Превышен лимит запросов\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"type":"object","description":"Блок ошибки","properties":{"cause":{"type":"string","description":"Причина или основание ошибки (тип ошибки)"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение (текст ошибки)"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"}},"required":["cause","referenceId","message"],"title":"ResponseError"}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"type":"object","description":"Блок ошибки","properties":{"cause":{"type":"string","description":"Причина или основание ошибки (тип ошибки)"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение (текст ошибки)"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"}},"required":["cause","referenceId","message"],"title":"ResponseError"}}}},"503":{"description":"\"Сервис временно недоступен\"\n\n| **Cause** | **Message** | **Description** |\n| ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"type":"object","description":"Блок ошибки","properties":{"cause":{"type":"string","description":"Причина или основание ошибки (тип ошибки)"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение (текст ошибки)"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"}},"required":["cause","referenceId","message"],"title":"ResponseError"}}}}}} />
---
# Получение детальной информации поручения на покупку/продажу валюты
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/conv-currency/get.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/conv-currency/{externalId}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/conv-currency/{externalId}`
## Описание
Возвращает данные поручения на покупку/продажу валюты
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `CONVERSION_OPERATION_CURRENCY`.
Рекомендации по тестированию в песочнице
**1.** Позитивный сценарий:
* в параметре пути (path) указывайте произвольное значение externalId в формате UUID
* **Результат:**
* HTTP 200 OK
* Тело ответа:
* generalData.bankStatus = "CREATED"
* generalData.bankComment = "Операция обрабатывается банком"
* модель данных документа
***
**2** Альтернативные сценарии:
* для получения документа в статусе IMPLEMENTED, необходимо заполнить externalId = "d481c762-1dc7-4f63-9db5-8d6b442d6f35"
* generalData.bankStatus = "IMPLEMENTED"
* модель данных документа
* для получения документа в статусе REFUSEDBYBANK, необходимо заполнить externalId = "dc245537-28b5-47bc-8d73-ee9dfdb04298"
* generalData.bankStatus = "REFUSEDBYBANK"
* generalData.bankComment = "Операция отказана банком"
* модель данных документа
* для получения ошибки HTTP 400 с кодом BUSINESS\_EXCEPTION, необходимо заполнить externalId = "8024e5eb-8ae6-4719-abed-789173ef1b70"
* cause = "BUSINESS\_EXCEPTION"
* message = "Документ с таким externalId не найден."
* internalErrorCode = 188.1-1003
* для получения ошибки HTTP 500 с кодом TECHNICAL\_EXCEPTION, необходимо заполнить externalId = "6ca178cc-658c-435f-ab00-b27b190f64c1"
* cause = "TECHNICAL\_EXCEPTION"
* message = "Документ с таким externalId не найден."
* internalErrorCode = 188.1-5003
* для получения ошибки HTTP 500 с кодом UNKNOWN\_EXCEPTION, необходимо заполнить externalId = "c56c1281-9d44-427c-8973-731f6750350d"
* cause = "UNKNOWN\_EXCEPTION"
* message = "Документ с таким externalId не найден."
* internalErrorCode = 188.1-1000
?@\\\\\\[\\\\\\]^_`\\\\{|\\\\}~№]*$","maxLength":20000,"description":"Комментарий для статуса","example":"Заявка одобрена"}},"required":["number","date","transactionDirection","bankStatus"],"title":"GeneralData"},"orgData":{"type":"object","description":"Объект с информацией об организации","required":["name","inn"],"properties":{"name":{"type":"string","pattern":"^[A-Za-zА-Яа-яЁе0-9\\\\\\s!\\\"#$%&'«»()*+,-./:;<=>?@\\\\\\[\\\\\\]^_`\\\\{|\\\\}~№]*$","maxLength":160,"description":"Наименование клиента","example":"ООО \"Торговая компания\""},"inn":{"type":"string","pattern":"^([0-9]{10}|[0-9]{12})$","description":"ИНН клиента","example":1234567890}},"title":"OrgData"},"rateData":{"type":"object","description":"Объект с информацией о курсе. Курс будет определен в процессе исполнения документа. Атрибуты в объекте передаются после определения курса","properties":{"baseIsoCode":{"type":"string","pattern":"^[A-Z]+$","minLength":3,"maxLength":3,"description":"Буквенный ISO-код базовой валюты валютной пары","example":"USD"},"quoteIsoCode":{"type":"string","pattern":"^[A-Z]+$","minLength":3,"maxLength":3,"description":"Буквенный ISO-код котируемой валюты валютной пары","example":"RUB"},"rate":{"type":"number","description":"Курс покупки/продажи","example":95.5},"rateCB":{"type":"number","description":"Курс ЦБ РФ (на дату исполнения документа). Возвращается, если выбран способ расчета “по курсу ЦБ РФ со взиманием комиссии”","example":95.1},"scale":{"type":"integer","description":"Масштабность курса покупки/продажи (количество единиц валюты, для которого указан курс)","example":1},"scaleCB":{"type":"integer","description":"Масштабность курса ЦБ РФ (количество единиц валюты, для которого указан курс). Возвращается, если выбран способ расчета “по курсу ЦБ РФ со взиманием комиссии”","example":1},"rateType":{"type":"string","enum":["SB","INDIVIDUAL"],"description":"Тип курса (SB – курс Сбербанка, INDIVIDUAL – курс по телефону)","example":"SB"},"isCharged":{"type":"boolean","description":"Способ расчета (false – расчет по курсу банка БЕЗ комиссии, true – расчет по курсу ЦБ РФ со взиманием комиссии)","example":true},"calcMode":{"type":"string","enum":["DEBIT","CREDIT"],"description":"Признак ввода суммы (что было передано клиентом при создании документа). DEBIT – при создании была передана сумма списания, CREDIT – при создании была передана сумма зачисления","example":"DEBIT"}},"required":["isCharged","calcMode"],"title":"RateData"},"debitData":{"type":"object","description":"Объект с параметрами списания. Вторая сумма будет рассчитана в процессе исполнения документа. До расчета возвращается только та сумма, которая была передана при создании (debitData.amount или creditData.amount)","properties":{"account":{"type":"string","description":"Номер счета списания","example":"40702810000000000001","pattern":"^[0-9]+$","minLength":20,"maxLength":20},"amount":{"type":"number","minimum":0,"maximum":10000000000000000,"description":"Сумма списания. До определения курса и расчета второй суммы возвращается только та сумма, которая была передана при создании (debitData.amount или creditData.amount)","example":51426.93},"isoCode":{"type":"string","description":"Буквенный ISO-код валюты списания","example":"RUB","pattern":"^[A-Z]+$","minLength":3,"maxLength":3}},"required":["account","isoCode"],"title":"DebitData"},"creditData":{"type":"object","description":"Объект с параметрами зачисления. Вторая сумма будет рассчитана в процессе исполнения документа. До расчета возвращается только та сумма, которая была передана при создании (debitData.amount или creditData.amount)","properties":{"account":{"type":"string","description":"Номер счета зачисления","example":"40702810100000005678","pattern":"^[0-9]+$","minLength":20,"maxLength":20},"amount":{"type":"number","minimum":0,"maximum":10000000000000000,"description":"Сумма зачисления. До определения курса и расчета второй суммы возвращается только та сумма, которая была передана при создании (debitData.amount или creditData.amount)","example":950000},"isoCode":{"type":"string","description":"Буквенный ISO-код валюты зачисления","example":"USD","pattern":"^[A-Z]+$","minLength":3,"maxLength":3},"isExternalAccount":{"type":"boolean","description":"Признак внешнего счета зачисления (false – счет зачисления открыт в Сбербанке, true – рублевый счет зачисления открыт в другом банке).","example":true},"bic":{"type":"string","description":"БИК банка зачисления. Передается, если счет зачисления открыт в другом банке (creditData.isExternalAccount=true)","example":"044525225","pattern":"^[0-9]+$","maxLength":9},"corrAccount":{"type":"string","description":"Корреспондентский счет банка зачисления. Передается, если счет зачисления открыт в другом банке (creditData.isExternalAccount=true)","example":"30101810400000000225","pattern":"^[0-9]+$","minLength":20,"maxLength":20},"bankName":{"type":"string","description":"Наименование банка зачисления. Передается, если счет зачисления открыт в другом банке (creditData.isExternalAccount=true)","example":"ПАО Сбербанк","pattern":"^[A-Za-zА-Яа-яЁе0-9\\\\\\s!\\\"#$%&'«»()*+,-./:;<=>?@\\\\\\[\\\\\\]^_`\\\\{|\\\\}~№]*$","maxLength":350},"bankAddress":{"type":"string","description":"Город банка зачисления. Передается, если счет зачисления открыт в другом банке (creditData.isExternalAccount=true)","example":"г. Москва","pattern":"^[A-Za-zА-Яа-яЁе0-9\\\\\\s!\\\"#$%&'«»()*+,-./:;<=>?@\\\\\\[\\\\\\]^_`\\\\{|\\\\}~№]*$","maxLength":350}},"required":["account","isoCode","isExternalAccount"],"title":"CreditData"},"chargeData":{"type":"object","description":"Объект с параметрами комиссии. Передается, если выбран способ расчета “по курсу ЦБ РФ со взиманием комиссии” (generalData.isCharged=true). Комиссия списывается с рублевого счета, сумма комиссии будет рассчитана в процессе исполнения документа","properties":{"account":{"type":"string","description":"Счет списания комиссии (счет в рублях)","example":"40702810000000000001","pattern":"^[0-9]+$","minLength":20,"maxLength":20},"amount":{"type":"number","minimum":0,"maximum":10000000000000000,"description":"Сумма комиссии","example":51426.9},"isoCode":{"type":"string","description":"Буквенный ISO-код валюты комиссии (код российского рубля)","example":"RUB","pattern":"^[A-Z]+$","minLength":3,"maxLength":3}},"required":["account","isoCode"],"title":"ChargeData"}},"title":"Document"}}}},"400":{"description":"\"Ошибка в запросе\"\n\n| **Cause** | **Message** | **Description** |\n| --------------------- | --------------------------------------------- | --------------------------------------------------------------------------|\n| DOC_NOT_FOUND | Документ по операции не найден | Если операции по такому externalId нет в базе данных currency_operation |\n| TECHNICAL_EXCEPTION | Техническая ошибка | Если возникли прочие технические ошибки |\n| BUSINESS_EXCEPTION | Ошибка бизнес-процесса | Если возникли различные бизнес ошибки |\n","content":{"application/json":{"schema":{"type":"object","description":"Блок ошибки","properties":{"cause":{"type":"string","description":"Причина или основание ошибки (тип ошибки)"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение (текст ошибки)"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"}},"required":["cause","referenceId","message"],"title":"ResponseError"}}}},"401":{"description":"\"Не авторизован\"\n\n| **Cause** | **Message** | **Description** |\n| ------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |\n| UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. | \n","content":{"application/json":{"schema":{"type":"object","description":"Блок ошибки","properties":{"cause":{"type":"string","description":"Причина или основание ошибки (тип ошибки)"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение (текст ошибки)"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"}},"required":["cause","referenceId","message"],"title":"ResponseError"}}}},"403":{"description":"\"Операция не может быть выполнена: доступ к ресурсу запрещен\"\n| **Cause** | **Message** | **Description** |\n| ----------------------- | ----------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `CONVERSION_OPERATION_CURRENCY`. Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"type":"object","description":"Блок ошибки","properties":{"cause":{"type":"string","description":"Причина или основание ошибки (тип ошибки)"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение (текст ошибки)"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"}},"required":["cause","referenceId","message"],"title":"ResponseError"}}}},"422":{"description":"\"Ошибка валидации запроса\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| VALIDATION_FAULT | Валидация запроса завершилась ошибкой | Модель запроса не прошла валидацию на SOWA |\n","content":{"application/json":{"schema":{"type":"object","description":"Блок ошибки","properties":{"cause":{"type":"string","description":"Причина или основание ошибки (тип ошибки)"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение (текст ошибки)"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"}},"required":["cause","referenceId","message"],"title":"ResponseError"}}}},"429":{"description":"\"Превышен лимит запросов\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"type":"object","description":"Блок ошибки","properties":{"cause":{"type":"string","description":"Причина или основание ошибки (тип ошибки)"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение (текст ошибки)"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"}},"required":["cause","referenceId","message"],"title":"ResponseError"}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"type":"object","description":"Блок ошибки","properties":{"cause":{"type":"string","description":"Причина или основание ошибки (тип ошибки)"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение (текст ошибки)"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"}},"required":["cause","referenceId","message"],"title":"ResponseError"}}}},"503":{"description":"\"Сервис временно недоступен\"\n\n| **Cause** | **Message** | **Description** |\n| ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"type":"object","description":"Блок ошибки","properties":{"cause":{"type":"string","description":"Причина или основание ошибки (тип ошибки)"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение (текст ошибки)"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"}},"required":["cause","referenceId","message"],"title":"ResponseError"}}}}}} />
---
# Overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/conv-currency/overview.md)
## Описание
## Методы Sber API для работы с поручениями на покупку/продажу валюты
* [Создание поручения на покупку/продажу валюты](/ru/sber-api/specifications/conv-currency/create)
* [Получение статуса поручения на покупке/продаже валюты](/ru/sber-api/specifications/conv-currency/get-state)
* [Получение поручения на покупку/продажу валюты](/ru/sber-api/specifications/conv-currency/get)
---
# Получение списка контрагентов по рублевым операциям
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/correspondents/get-correspondents.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/correspondents/rur`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/correspondents/rur`
## Описание
Запрос позволяет получить список контрагентов по рублевым операциям.
Для получения списка контрагентов необходимо отправить GET-запрос `/fintech/api/v1/correspondents/rur` с токеном доступа (**access\_token**) пользователя в параметре **Authorization** заголовка и номером страницы (**page**) в query-параметре.
В параметре scope ссылки авторизации пользователя должен быть указан сервис `GET_CORRESPONDENTS` для получения доступа к этому запросу.
:::note
На запрос первой страницы в ответе вернется список объектов (если они существуют на выбранной странице) и контейнер links с параметром (href) на следующую страницу и признаком "rel": "next".
На запрос второй страницы в ответе вернется список объектов и контейнер links с параметром (href) на следующую и предыдущую страницы и признаками: "rel": "prev", "rel": "next". Получение последующих страниц производится по аналогии.
Если следующей страницы нет, в полученном ответе перестанет приходить href c признаком "rel": "next".
:::
Рекомендации по тестированию в песочнице
При отправке запроса на получение списка контрагентов по рублевым операциям, структура ответа зависит от переданного Query Parameters **"page"**.
Если параметр указан, но отличен от page = "1", "2" или "3", то вернется ошибка 404 NOT FOUND.
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `GET_CORRESPONDENTS`. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n| | Операция не может быть выполнена: приостановлено оказание услуг | |\n| | Операция не может быть выполнена: организация заблокирована по идентификации | |\n| | Операция не может быть выполнена: организация заблокирована | |\n| | Операция не может быть выполнена: пользователь заблокирован | |\n","content":{"application/json":{"schema":{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"title":"ErrorResponse"}}}},"429":{"description":"Слишком много запросов\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"title":"ErrorResponse"}}}},"500":{"description":"Внутренняя ошибка сервера\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"title":"ErrorResponse"}}}},"503":{"description":"Сервис временно недоступен","content":{"application/json":{"schema":{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"title":"ErrorResponse"}}}}}} />
---
# Overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/correspondents/overview.md)
## Описание
## Список запросов \{#spisok-zaprosov}
* [Запрос списка контрагентов по рублевым операциям](/ru/sber-api/specifications/correspondents/get-correspondents)
## API URLs
* Тестовый контур: `https://iftfintech.testsbi.sberbank.ru:9443`
* Промышленный контур: `https://fintech.sberbank.ru:9443`
---
# Credit Offers Overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/credit-offers/credit-offers-overview.md)
## Описание
## Методы для работы с кредитными предложениями
* [Получение информации по кредитным предложениям](/ru/sber-api/specifications/credit-offers/get-credit-offers)
---
# Получение информации по кредитным предложениям
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/credit-offers/get-credit-offers.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/credit-offers`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/credit-offers`
## Описание
Запрос на получение информации по кредитным предложениям от Сбера для сервиса Партнера (Платформы), содержащую условия возможности покупки в кредит Клиентами.
Должен содержать токен доступа (access\_token) пользователя в параметре **Authorization** заголовка.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `GET_CREDIT_OFFERS`.
При использовании:
* access\_token вашей компании и client\_id Платформы, вы получите информацию по кредитным предложениям от Банка для Платформы,
* access\_token Клиента, вы получите информацию о действующем кредитном договоре Клиента (при его наличии).
Рекомендации по тестированию в песочнице
При отправке запроса на получение информации о клиенте в песочнице успешный ответ всегда одинаковый и не зависит от входных данных. При этом сам запрос должен быть сформирован строго в соответствии с требованиями документации.
---
# Создание заявки на кредит
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/credit-requests/create.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/credit-requests`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/credit-requests`
## Описание
Запрос создание заявки на оформление кредитного договора.
Должен содержать токен доступа (**access\_token**) пользователя в параметре **Authorization** заголовка.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `CREDIT_REQUEST`.
Рекомендации по тестированию в песочнице
При отправке запроса на получение информации о клиенте в песочнице успешный ответ всегда одинаковый и не зависит от входных данных. При этом сам запрос должен быть сформирован строго в соответствии с требованиями документации.
---
# Credit Requests Overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/credit-requests/credit-requests-overview.md)
## Описание
## Методы для работы с заявками на кредит
* [Создание заявки на кредит](/ru/sber-api/specifications/credit-requests/create)
## Дополнительная информация
### Условия доступности покупки в кредит
Возможность покупки в кредит на Платформе должна предоставляться только при выполнении условия:
Значение атрибута **buyOnCreditMmb**, возвращаемого на запрос `/fintech/api/v2/oauth/user-info`, должно быть **true**.
Также у Клиента может быть действующий кредитный договор, из денежных средств которого он может оплатить покупку.
Необходимо проверить значение атрибута **hasActiveCreditLine** - признак наличия действующей возобновляемой кредитной линии (ВКЛ).
При наличии ВКЛ проверьте атрибут **creditLineAvailableSum** - сумма действующей ВКЛ.
Наименование организационно-правовых форм, для которых доступны кредитные продукты и предложения для покупки в кредит:
| **Полное наименование организационно - правовой формы** | **Общепринятое сокращение** |
| ------------------------------------------------------- | --------------------------- |
| Общество с ограниченной ответственностью | ООО |
| Индивидуальный предприниматель | ИП |
| Глава крестьянского (фермерского) хозяйства | ГКФХ |
### Заполнение заявки на кредит
Правила заполнения полей сумма заказа (**amount**) и запрошенная сумма кредита (**creditAmount**):
* Если сумма заказа (значение amount) больше максимальной суммы доступной для покупки в кредит (значение sumMax, полученное в ответе на запрос `/v1/credit-offers`), то уведомлять клиента о сумме заказа, которую он может оплатить.
* Если клиенту доступна оплата несколькими платежами, то предлагать выбор: оплатить часть заказа или изменить сумму заказа (значение amount).
* Если клиент выбирает оплатить часть заказа, то заполнять сумму заказа (значение amount) значением остатка по кредитной линии (availableSum, полученное в ответе на запрос `/v1/credit-offers`).
* Если сумма заказа (значение amount) меньше минимальной суммы доступной для покупки в кредит (значение sumMin, полученное в ответе на запрос `/v1/credit-offers`), то заполнять сумму заказа значением amount, а запрошенную сумму кредита (creditAmount) заполнять минимальной суммой доступной для покупки в кредит (sumMin).
* Если сумма заказа (значение amount) между минимальной (sumMin) и максимальной (sumMax) суммами доступными для покупки в кредит, то заполнять сумму заказа и запрошенную сумму кредита (creditAmount) значением amount.
### Переадресация на кредитную заявку
Платформа создает заявку на кредитный договор в СберБизнес Клиента. Необходимо переадресовать пользователя Клиента в заявку для завершения оформления кредитного договора.
Пользователь Клиента, перейдя по ссылке на кредитную заявку, пройдет аутентификацию, заполнит кредитную заявку и подпишет ее для исполнения Банком.
После получения положительного решения по заявке Клиенту автоматически будет создано платежное поручение для оплаты заказа.
**Модель ссылки**
```sh
{контур Банка}**/ic/dcb/index.html#/credits/credit-financing/credit-partners?order=**{externalId}
```
| **Переменная** | **Описание** | **Дополнительная информация** |
| -------------- | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| \{контур Банка} | адрес Банка, на который делается запрос для открытия страницы сервиса оплаты | Для корректного выбора контура Банка потребуется определить тип криптопрофиля пользователя Клиента. В рамках запроса `/ic/sso/api/v1/oauth/user-info` вы получаете данные по Клиенту, в том числе атрибут **userCryptoType**. Атрибут позволяет определить криптопрофиль пользователя - SMS (СМС) или Token (электронный ключ (токен)).
- Тестовый контур `https://efs-sbbol-ift-web.testsbi.sberbank.ru:9443` - Промышленный контур СМС-пользователь `https://sbi.sberbank.ru:9443` - Промышленный контур Токен-пользователь `http://localhost:28016` |
| \{externalId} | уникальный идентификатор платежного документа | Данный идентификатор присваивает ваша Платформа на шаге создания кредитной заявки |
**Пример ссылки**
```sh
https://sbi.sberbank.ru:9443/ic/dcb/index.html#/credits/credit-financing/credit-partners?order=d4fbfe27-ee37-4451-b224-8113a06c44a3
```
### Переадресация на платежное поручение
Чтобы Банк начал обработку платежного поручения, платежное поручение должно быть подписано. В клиентском пути сервиса платежное поручение формируется в клиентской части СберБизнес **Клиента**, поэтому и подписывать платежное поручение должен Клиент.
Для реализации бесшовного перехода в клиентскую часть СберБизнес необходима переадресация Клиента. Перейдя по ссылке в сервис оплаты, клиент пройдет аутентификацию, выберет счет списания и подпишет черновик платежного поручения для его исполнения Банком.
**Модель ссылки**
```sh
{контур Банка}**/ic/dcb/index.html#/payment-creator/**{externalId}**?backUrl=**{backUrl}
```
| **Переменная** | **Описание** | **Дополнительная информация** |
| -------------- | ------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| \{контур Банка} | адрес Банка, на который делается запрос для открытия страницы сервиса оплаты | Для корректного выбора контура Банка потребуется определить тип криптопрофиля пользователя Клиента. В рамках запроса `/v1/oauth/user-info` вы получаете данные по Клиенту, в том числе атрибут **userCryptoType**. Атрибут позволяет определить криптопрофиль пользователя - SMS (СМС) или Token (электронный ключ (токен)).
- Тестовый контур `https://efs-sbbol-ift-web.testsbi.sberbank.ru:9443` - Промышленный контур СМС-пользователь `https://sbi.sberbank.ru:9443` - Промышленный контур Токен-пользователь `http://localhost:28016` |
| \{externalId} | уникальный идентификатор платежного документа | Данный идентификатор присваивает ваша Платформа на шаге создания платежного поручения |
| \{backUrl} | страница возврата, на которую Банк вернет пользователя Клиента после успешного подписания черновика платежного поручения | - backUrl нужно закодировать URLEncode; - Если не указать backUrl в ссылке, пользователи не смогут после подписания платежного поручения вернуться на Платформу; - Если backUrl будет отличаться от адреса вашей платформы, который указали при регистрации в Банке, то при возврате клиента на backUrl он будет видеть ошибку. |
**Пример ссылки**
```sh
https://sbi.sberbank.ru:9443/ic/dcb/index.html#/payment-creator/d4fbfe27-ee37-4451-b224-8113a06c44a3?backUrl=https://www.example.ru/
```
---
# Активация сертификата для ЕИО
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/crypto/activate-eio-post.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/crypto/cert-requests/eio/{externalId}/activate`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/crypto/cert-requests/eio/{externalId}/activate`
## Описание
Ресурс позволяет создавать запросы на активацию выпущенного сертификата, для дальнейшей возможности подписывать документы и запросы. Работает с access\_token пользователей **с признаком единоличный исполнительный орган** (ЕИО).
Отправьте POST-запрос `/fintech/api/v1/crypto/cert-requests/eio/{externalId}/activate` с токеном доступа (**access\_token**) пользователя-ЕИО в параметре **Authorization** заголовка и идентификатором документа (**externalId**) в path-параметре.
В параметре scope ссылки авторизации пользователя-ЕИО должен быть указан сервис `CRYPTO_CERT_REQUEST_EIO` для получения доступа к этому ресурсу.
Рекомендации по тестированию в песочнице
При отправке запроса на активацию сертификата для ЕИО в песочнице успешный ответ всегда одинаковый и не зависит от входных данных.
Все поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `CRYPTO_CERT_REQUEST_EIO`. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n"},"404":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"additionalProperties":false,"title":"ErrorResponse"},{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}},"additionalProperties":false},{"required":["httpCode","httpMessage","moreInformation"],"type":"object","description":"Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)","properties":{"httpCode":{"type":"string","pattern":"^[0-9]{1,3}$","example":"400","description":"Код ошибки"},"httpMessage":{"type":"string","maxLength":50,"pattern":"^[0-9a-zA-Z\\s]*$","example":"Error","description":"Описание ошибки"},"moreInformation":{"type":"string","maxLength":254,"pattern":"^[0-9A-Za-zА-Я-а-я\\s-]*$","example":"Error","description":"Дополнительная информация"}},"additionalProperties":false,"title":"SberapiError"}],"title":"Error"}}},"description":"Not Found"},"429":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"additionalProperties":false,"title":"ErrorResponse"},{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}},"additionalProperties":false},{"required":["httpCode","httpMessage","moreInformation"],"type":"object","description":"Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)","properties":{"httpCode":{"type":"string","pattern":"^[0-9]{1,3}$","example":"400","description":"Код ошибки"},"httpMessage":{"type":"string","maxLength":50,"pattern":"^[0-9a-zA-Z\\s]*$","example":"Error","description":"Описание ошибки"},"moreInformation":{"type":"string","maxLength":254,"pattern":"^[0-9A-Za-zА-Я-а-я\\s-]*$","example":"Error","description":"Дополнительная информация"}},"additionalProperties":false,"title":"SberapiError"}],"title":"Error"}}},"description":"Too Many Requests\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n"},"500":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"additionalProperties":false,"title":"ErrorResponse"},{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}},"additionalProperties":false},{"required":["httpCode","httpMessage","moreInformation"],"type":"object","description":"Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)","properties":{"httpCode":{"type":"string","pattern":"^[0-9]{1,3}$","example":"400","description":"Код ошибки"},"httpMessage":{"type":"string","maxLength":50,"pattern":"^[0-9a-zA-Z\\s]*$","example":"Error","description":"Описание ошибки"},"moreInformation":{"type":"string","maxLength":254,"pattern":"^[0-9A-Za-zА-Я-а-я\\s-]*$","example":"Error","description":"Дополнительная информация"}},"additionalProperties":false,"title":"SberapiError"}],"title":"Error"}}},"description":"Internal Server Error\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n"},"503":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"additionalProperties":false,"title":"ErrorResponse"},{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}},"additionalProperties":false},{"required":["httpCode","httpMessage","moreInformation"],"type":"object","description":"Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)","properties":{"httpCode":{"type":"string","pattern":"^[0-9]{1,3}$","example":"400","description":"Код ошибки"},"httpMessage":{"type":"string","maxLength":50,"pattern":"^[0-9a-zA-Z\\s]*$","example":"Error","description":"Описание ошибки"},"moreInformation":{"type":"string","maxLength":254,"pattern":"^[0-9A-Za-zА-Я-а-я\\s-]*$","example":"Error","description":"Дополнительная информация"}},"additionalProperties":false,"title":"SberapiError"}],"title":"Error"}}},"description":"Service Unavailable"}}} />
---
# Активация сертификата
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/crypto/activate-post.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/crypto/cert-requests/{externalId}/activate`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/crypto/cert-requests/{externalId}/activate`
## Описание
Ресурс позволяет создавать запросы на активацию выпущенного сертификата, для дальнейшей возможности подписывать документы и запросы. Работает только с access\_token сотрудников **вашей компании**. Отправьте POST-запрос `/fintech/api/v1/crypto/cert-requests/{externalId}/activate` с токеном доступа (**access\_token**) пользователя вашей компании в параметре **Authorization** заголовка и идентификатором документа (**externalId**) в path-параметре.
В параметре scope ссылки авторизации пользователя вашей компании должен быть указан сервис `CERTIFICATE_REQUEST` для получения доступа к этому ресурсу.
Рекомендации по тестированию в песочнице
При отправке запроса на активацию сертификата в песочнице успешный ответ всегда одинаковый и не зависит от входных данных.
Все поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `CERTIFICATE_REQUEST`. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n| ACCESS_EXCEPTION | Работа с сертификатами и криптопрофилями доступна только по собственной организации | Используемый в запросе access_token принадлежит пользователю, который не является сотрудником вашей компании.
Для работы с пользователями других компании используйте ресурсы группы `/v1/crypto.../eio` |\n"},"404":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"additionalProperties":false,"title":"ErrorResponse"},{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}},"additionalProperties":false},{"required":["httpCode","httpMessage","moreInformation"],"type":"object","description":"Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)","properties":{"httpCode":{"type":"string","pattern":"^[0-9]{1,3}$","example":"400","description":"Код ошибки"},"httpMessage":{"type":"string","maxLength":50,"pattern":"^[0-9a-zA-Z\\s]*$","example":"Error","description":"Описание ошибки"},"moreInformation":{"type":"string","maxLength":254,"pattern":"^[0-9A-Za-zА-Я-а-я\\s-]*$","example":"Error","description":"Дополнительная информация"}},"additionalProperties":false,"title":"SberapiError"}],"title":"Error"}}},"description":"Not Found"},"429":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"additionalProperties":false,"title":"ErrorResponse"},{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}},"additionalProperties":false},{"required":["httpCode","httpMessage","moreInformation"],"type":"object","description":"Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)","properties":{"httpCode":{"type":"string","pattern":"^[0-9]{1,3}$","example":"400","description":"Код ошибки"},"httpMessage":{"type":"string","maxLength":50,"pattern":"^[0-9a-zA-Z\\s]*$","example":"Error","description":"Описание ошибки"},"moreInformation":{"type":"string","maxLength":254,"pattern":"^[0-9A-Za-zА-Я-а-я\\s-]*$","example":"Error","description":"Дополнительная информация"}},"additionalProperties":false,"title":"SberapiError"}],"title":"Error"}}},"description":"Too Many Requests\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n"},"500":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"additionalProperties":false,"title":"ErrorResponse"},{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}},"additionalProperties":false},{"required":["httpCode","httpMessage","moreInformation"],"type":"object","description":"Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)","properties":{"httpCode":{"type":"string","pattern":"^[0-9]{1,3}$","example":"400","description":"Код ошибки"},"httpMessage":{"type":"string","maxLength":50,"pattern":"^[0-9a-zA-Z\\s]*$","example":"Error","description":"Описание ошибки"},"moreInformation":{"type":"string","maxLength":254,"pattern":"^[0-9A-Za-zА-Я-а-я\\s-]*$","example":"Error","description":"Дополнительная информация"}},"additionalProperties":false,"title":"SberapiError"}],"title":"Error"}}},"description":"Internal Server Error\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n"},"503":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"additionalProperties":false,"title":"ErrorResponse"},{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}},"additionalProperties":false},{"required":["httpCode","httpMessage","moreInformation"],"type":"object","description":"Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)","properties":{"httpCode":{"type":"string","pattern":"^[0-9]{1,3}$","example":"400","description":"Код ошибки"},"httpMessage":{"type":"string","maxLength":50,"pattern":"^[0-9a-zA-Z\\s]*$","example":"Error","description":"Описание ошибки"},"moreInformation":{"type":"string","maxLength":254,"pattern":"^[0-9A-Za-zА-Я-а-я\\s-]*$","example":"Error","description":"Дополнительная информация"}},"additionalProperties":false,"title":"SberapiError"}],"title":"Error"}}},"description":"Service Unavailable"}}} />
---
# Передача подписи для заявления на выпуск и запроса на сертификат для ЕИО
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/crypto/confirm-cert-eio.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/crypto/cert-requests/eio/{externalId}/confirm`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/crypto/cert-requests/eio/{externalId}/confirm`
## Описание
Передача подписи для заявления на выпуск и запроса на сертификат.
В параметре scope ссылки авторизации пользователя вашей компании должен быть указан сервис `CRYPTO_CERT_REQUEST_EIO` для получения доступа к этому ресурсу.
Рекомендации по тестированию в песочнице
При отправке запроса на подтверждение выпуска сертификата без посещения банка для ЕИО в песочнице успешный ответ всегда одинаковый и не зависит от входных данных.
Все поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.
---
# Передача подписи для заявления на выпуск и запроса на сертификат
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/crypto/confirm-cert.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/crypto/cert-requests/{externalId}/confirm`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/crypto/cert-requests/{externalId}/confirm`
## Описание
Передача подписи для заявления на выпуск и запроса на сертификат.
В параметре scope ссылки авторизации пользователя вашей компании должен быть указан сервис `CERTIFICATE_REQUEST` для получения доступа к этому ресурсу.
Рекомендации по тестированию в песочнице
При отправке запроса на подтверждение выпуска сертификата без посещения банка в песочнице успешный ответ всегда одинаковый и не зависит от входных данных.
Все поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.
---
# Создание запроса на новый сертификат для ЕИО
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/crypto/create-cert-request-eio-v-2.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v2/crypto/cert-requests/eio`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v2/crypto/cert-requests/eio`
## Описание
Ресурс позволяет создавать запросы на выпуск нового сертификата для любого пользователя Сбербизнес компании с возможностью перевыпуска без посещения Банка. Работает с access\_token пользователей **с признаком единоличный исполнительный орган** (ЕИО).
Для создания запроса на выпуск нового сертификата необходимо отправить POST-запрос `/fintech/api/v2/crypto/cert-requests/eio` с токеном доступа (**access\_token**) пользователя-ЕИО в параметре **Authorization** заголовка и реквизитами запроса в теле.
В параметре scope ссылки авторизации пользователя-ЕИО должен быть указан сервис `CRYPTO_CERT_REQUEST_EIO` для получения доступа к этому ресурсу.
:::note
Значение в параметре **cms** (объект **pkcs10**) должно быть в одну строку с экранированными переносами строки **\n**. Формат: `"-----BEGIN CERTIFICATE REQUEST-----\n\n-----END CERTIFICATE REQUEST-----"`.
Обязательно наличие `\n` сразу после `BEGIN` и перед `END`.
**Пример:**
```json
"pkcs10": {
"cms": "-----BEGIN CERTIFICATE REQUEST-----\nMIICYjCCAg0CAQAwgbwxCzAJBgNVBAYTAlJVMRkwFwYDVQQHDBDQsy4g0JzQvtGB\n0LrQstCwMSAwHgYDVQQKDBfQntCe0J4g0KLQldCh0KLQntCS0JDQrzERMA8GA1UE\nCwwI0L7RhNC40YExGTAXBgNVBAwMENCU0LjRgNC10LrRgtC+0YAxIzAhBgNVBAMM\nGtCk0LDQvDAzINCY0LzRjzAzINCe0YLRhzAzMR0wGwYJKoZIhvcNAQkBFg50ZXN0\nQGRlaGdydC5ydTBoMCEGCCqFAwcBAQEBMBUGCSqFAwcBAgEBAQYIKoUDBwEBAgID\nQwAEQBiEwqXOKE2TGytfbchdbBO+dwxetHMwMMYQrs2hjtrBZwFwsgcgpmayh0lB\nIQAHTCY1tm9FeUDnNIzjUUxH9Ymggd4wgdsGCSqGSIb3DQEJDjGBzTCByjAOBgNV\nHQ8BAf8EBAMCBPAwIgYHKoUDA3sDAQQXDBVBMDBGU1ozRXPQpNCw0LwwM9CY0J4w\nDAYDVR0TBAUwAwIBADAUBgcqhQMDewMEBAkGByqFAwN7BRgwIAYIKoUDBwEBAQEE\nFDASBgcqhQMCAh8BBgcqhQMCAiMCME4GCWCGSAGG+EIBDQRBFj90aGUgY2VydGlm\naWNhdGUgd2FzIGNyZWF0ZWQgdXNpbmcgT3BlblNTTCAmIENRRVMgUnVUb2tlbiBF\nUyAyLjAwDAYIKoUDBwEBAwIFAANBACvQAnjjFxepw4U854N/rLjrLWT1gv+PoNDk\nGQW3lAj6Di4pxuOeO64ZJZPs68CFIUTru0UzIRGpBx7P9o4IIkQ=\n-----END CERTIFICATE REQUEST-----",
"bicryptId": "A00FSZ3EsФам03ИО"
},
```
:::
Рекомендации по тестированию в песочнице
При отправке запроса на создание запроса на новый сертификат для ЕИО успешный ответ всегда одинаковый и не зависит от входных данных.
Все поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.
---
# Создание запроса на новый сертификат
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/crypto/create-cert-request-v-2.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v2/crypto/cert-requests`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v2/crypto/cert-requests`
## Описание
Ресурс позволяет создавать запросы на выпуск нового сертификата для пользователя с возможностью перевыпуска без посещения банка, чей **access\_token** используется в запросе. Работает только с access\_token сотрудников **вашей компании**.
Для создания запроса на выпуск нового сертификата необходимо отправить POST-запрос `/fintech/api/v2/crypto/cert-requests` с токеном доступа (**access\_token**) пользователя вашей компании в параметре **Authorization** заголовка и реквизитами запроса в теле.
В параметре scope ссылки авторизации пользователя вашей компании должен быть указан сервис `CERTIFICATE_REQUEST` для получения доступа к этому ресурсу.
:::note
Значение в параметре **cms** (объект **pkcs10**) должно быть в одну строку с экранированными переносами строки **\n**. Формат: `"-----BEGIN CERTIFICATE REQUEST-----\n\n-----END CERTIFICATE REQUEST-----"`.
Обязательно наличие `\n` сразу после `BEGIN` и перед `END`.
**Пример:**
```json
"pkcs10": {
"cms": "-----BEGIN CERTIFICATE REQUEST-----\nMIICYjCCAg0CAQAwgbwxCzAJBgNVBAYTAlJVMRkwFwYDVQQHDBDQsy4g0JzQvtGB\n0LrQstCwMSAwHgYDVQQKDBfQntCe0J4g0KLQldCh0KLQntCS0JDQrzERMA8GA1UE\nCwwI0L7RhNC40YExGTAXBgNVBAwMENCU0LjRgNC10LrRgtC+0YAxIzAhBgNVBAMM\nGtCk0LDQvDAzINCY0LzRjzAzINCe0YLRhzAzMR0wGwYJKoZIhvcNAQkBFg50ZXN0\nQGRlaGdydC5ydTBoMCEGCCqFAwcBAQEBMBUGCSqFAwcBAgEBAQYIKoUDBwEBAgID\nQwAEQBiEwqXOKE2TGytfbchdbBO+dwxetHMwMMYQrs2hjtrBZwFwsgcgpmayh0lB\nIQAHTCY1tm9FeUDnNIzjUUxH9Ymggd4wgdsGCSqGSIb3DQEJDjGBzTCByjAOBgNV\nHQ8BAf8EBAMCBPAwIgYHKoUDA3sDAQQXDBVBMDBGU1ozRXPQpNCw0LwwM9CY0J4w\nDAYDVR0TBAUwAwIBADAUBgcqhQMDewMEBAkGByqFAwN7BRgwIAYIKoUDBwEBAQEE\nFDASBgcqhQMCAh8BBgcqhQMCAiMCME4GCWCGSAGG+EIBDQRBFj90aGUgY2VydGlm\naWNhdGUgd2FzIGNyZWF0ZWQgdXNpbmcgT3BlblNTTCAmIENRRVMgUnVUb2tlbiBF\nUyAyLjAwDAYIKoUDBwEBAwIFAANBACvQAnjjFxepw4U854N/rLjrLWT1gv+PoNDk\nGQW3lAj6Di4pxuOeO64ZJZPs68CFIUTru0UzIRGpBx7P9o4IIkQ=\n-----END CERTIFICATE REQUEST-----",
"bicryptId": "A00FSZ3EsФам03ИО"
},
```
:::
Рекомендации по тестированию в песочнице
При отправке запроса на создание запроса на новый сертификат в песочнице успешный ответ всегда одинаковый и не зависит от входных данных.
Все поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.
---
# Получение криптоинформации для ЕИО (КУЦ, пользователи и т.д.)
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/crypto/crypto-info-eio-get.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/crypto/eio`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/crypto/eio`
## Описание
Ресурс позволяет получить информацию по крипто-профилям и сертификатам всех активных пользователей, сертификатам удостоверяющих центров и сертификату технологического криптопрофиля банка. Полученную информацию возможно использовать в криптографических операциях (в операциях с сертификатами и операциях с электронной подписью). Работает с access\_token пользователей **с признаком единоличный исполнительный орган** (ЕИО).
Отправьте GET-запрос `/fintech/api/v1/crypto/eio` с токеном доступа (**access\_token**) пользователя-ЕИО в параметре **Authorization** заголовка.
В параметре scope ссылки авторизации пользователя-ЕИО должен быть указан сервис `GET_CRYPTO_INFO_EIO` для получения доступа к этому ресурсу.
Рекомендации по тестированию в песочнице
При отправке запроса на получение криптоинформации для ЕИО в песочнице успешный ответ всегда одинаковый и не зависит от входных данных.
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `GET_CRYPTO_INFO_EIO`. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n"},"429":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"additionalProperties":false,"title":"ErrorResponse"},{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}},"additionalProperties":false},{"required":["httpCode","httpMessage","moreInformation"],"type":"object","description":"Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)","properties":{"httpCode":{"type":"string","pattern":"^[0-9]{1,3}$","example":"400","description":"Код ошибки"},"httpMessage":{"type":"string","maxLength":50,"pattern":"^[0-9a-zA-Z\\s]*$","example":"Error","description":"Описание ошибки"},"moreInformation":{"type":"string","maxLength":254,"pattern":"^[0-9A-Za-zА-Я-а-я\\s-]*$","example":"Error","description":"Дополнительная информация"}},"additionalProperties":false,"title":"SberapiError"}],"title":"Error"}}},"description":"Too Many Requests\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n"},"500":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"additionalProperties":false,"title":"ErrorResponse"},{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}},"additionalProperties":false},{"required":["httpCode","httpMessage","moreInformation"],"type":"object","description":"Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)","properties":{"httpCode":{"type":"string","pattern":"^[0-9]{1,3}$","example":"400","description":"Код ошибки"},"httpMessage":{"type":"string","maxLength":50,"pattern":"^[0-9a-zA-Z\\s]*$","example":"Error","description":"Описание ошибки"},"moreInformation":{"type":"string","maxLength":254,"pattern":"^[0-9A-Za-zА-Я-а-я\\s-]*$","example":"Error","description":"Дополнительная информация"}},"additionalProperties":false,"title":"SberapiError"}],"title":"Error"}}},"description":"Internal Server Error\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n"},"503":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"additionalProperties":false,"title":"ErrorResponse"},{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}},"additionalProperties":false},{"required":["httpCode","httpMessage","moreInformation"],"type":"object","description":"Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)","properties":{"httpCode":{"type":"string","pattern":"^[0-9]{1,3}$","example":"400","description":"Код ошибки"},"httpMessage":{"type":"string","maxLength":50,"pattern":"^[0-9a-zA-Z\\s]*$","example":"Error","description":"Описание ошибки"},"moreInformation":{"type":"string","maxLength":254,"pattern":"^[0-9A-Za-zА-Я-а-я\\s-]*$","example":"Error","description":"Дополнительная информация"}},"additionalProperties":false,"title":"SberapiError"}],"title":"Error"}}},"description":"Service Unavailable"}}} />
---
# Получение криптоинформации (КУЦ, криптопрофили и т.д.)
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/crypto/crypto-info-get.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/crypto`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/crypto`
## Описание
Ресурс позволяет получить информацию по криптопрофилю и сертификатам пользователя (владельца **access\_token**, который используется в запросе), сертификатам удостоверяющих центров и сертификату технологического криптопрофиля банка. Полученную информацию возможно использовать в криптографических операциях (в операциях с сертификатами и операциях с электронной подписью). Работает только с access\_token сотрудников **вашей компании**.
Для получения информации по крипто-профилю и сертификатам необходимо отправить GET-запрос `/fintech/api/v1/crypto` с токеном доступа (**access\_token**) пользователя вашей компании в параметре **Authorization** заголовка.
В параметре scope ссылки авторизации пользователя вашей компании должен быть указан сервис `GET_CRYPTO_INFO` для получения доступа к этому ресурсу.
Рекомендации по тестированию в песочнице
При отправке запроса на получение криптоинформации в песочнице успешный ответ всегда одинаковый и не зависит от входных данных.
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `GET_CRYPTO_INFO`. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n| ACCESS_EXCEPTION | Работа с сертификатами и криптопрофилями доступна только по собственной организации | Используемый в запросе access_token принадлежит пользователю, который не является сотрудником вашей компании.
Для работы с пользователями других компании используйте ресурсы группы `/v1/crypto.../eio` |\n"},"429":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"additionalProperties":false,"title":"ErrorResponse"},{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}},"additionalProperties":false},{"required":["httpCode","httpMessage","moreInformation"],"type":"object","description":"Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)","properties":{"httpCode":{"type":"string","pattern":"^[0-9]{1,3}$","example":"400","description":"Код ошибки"},"httpMessage":{"type":"string","maxLength":50,"pattern":"^[0-9a-zA-Z\\s]*$","example":"Error","description":"Описание ошибки"},"moreInformation":{"type":"string","maxLength":254,"pattern":"^[0-9A-Za-zА-Я-а-я\\s-]*$","example":"Error","description":"Дополнительная информация"}},"additionalProperties":false,"title":"SberapiError"}],"title":"Error"}}},"description":"Too Many Requests\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n"},"500":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"additionalProperties":false,"title":"ErrorResponse"},{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}},"additionalProperties":false},{"required":["httpCode","httpMessage","moreInformation"],"type":"object","description":"Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)","properties":{"httpCode":{"type":"string","pattern":"^[0-9]{1,3}$","example":"400","description":"Код ошибки"},"httpMessage":{"type":"string","maxLength":50,"pattern":"^[0-9a-zA-Z\\s]*$","example":"Error","description":"Описание ошибки"},"moreInformation":{"type":"string","maxLength":254,"pattern":"^[0-9A-Za-zА-Я-а-я\\s-]*$","example":"Error","description":"Дополнительная информация"}},"additionalProperties":false,"title":"SberapiError"}],"title":"Error"}}},"description":"Internal Server Error\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n"},"503":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"additionalProperties":false,"title":"ErrorResponse"},{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}},"additionalProperties":false},{"required":["httpCode","httpMessage","moreInformation"],"type":"object","description":"Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)","properties":{"httpCode":{"type":"string","pattern":"^[0-9]{1,3}$","example":"400","description":"Код ошибки"},"httpMessage":{"type":"string","maxLength":50,"pattern":"^[0-9a-zA-Z\\s]*$","example":"Error","description":"Описание ошибки"},"moreInformation":{"type":"string","maxLength":254,"pattern":"^[0-9A-Za-zА-Я-а-я\\s-]*$","example":"Error","description":"Дополнительная информация"}},"additionalProperties":false,"title":"SberapiError"}],"title":"Error"}}},"description":"Service Unavailable"}}} />
---
# Crypto Overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/crypto/crypto-overview.md)
## Описание
## Методы Sber API по работе с сертификатами и криптопрофилями:
* [Получение криптоинформации (КУЦ, криптопрофили и т.д.)](/ru/sber-api/specifications/crypto/crypto-info-get)
* [Получение криптоинформации для ЕИО (КУЦ, пользователи и т.д.)](/ru/sber-api/specifications/crypto/crypto-info-eio-get)
* [Создание запроса на новый сертификат `v2`](/ru/sber-api/specifications/crypto/create-cert-request-v-2)
* [Создание запроса на новый сертификат для ЕИО `v2`](/ru/sber-api/specifications/crypto/create-cert-request-eio-v-2)
* [Получение статуса запроса на новый сертификат](/ru/sber-api/specifications/crypto/status-get)
* [Получение статуса запроса на новый сертификат для ЕИО](/ru/sber-api/specifications/crypto/status-eio-get)
* [Получение печатной формы запроса на новый сертификат `v2`](/ru/sber-api/specifications/crypto/print-v-2)
* [Получение печатной формы запроса на новый сертификат для ЕИО `v2`](/ru/sber-api/specifications/crypto/print-eio-v-2)
* [Подтвердить выпуск сертификата без посещения банка](/ru/sber-api/specifications/crypto/confirm-cert)
* [Подтвердить выпуск сертификата без посещения банка для ЕИО](/ru/sber-api/specifications/crypto/confirm-cert-eio)
* [Активация сертификата](/ru/sber-api/specifications/crypto/activate-post)
* [Активация сертификата для ЕИО](/ru/sber-api/specifications/crypto/activate-eio-post)
* [Подключение УКЭП ЮЛ для учетной записи](/ru/sber-api/specifications/crypto/enable-crypto-signature)
* [Отлючение УКЭП ЮЛ для учетной записи](/ru/sber-api/specifications/crypto/disable-crypto-signature)
---
# Отключение УКЭП ЮЛ для учетной записи
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/crypto/disable-crypto-signature.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/crypto/ukep-ul/deactivate`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/crypto/ukep-ul/deactivate`
## Описание
Ресурс позволяет отключить полномочие подписания документов с использованием УКЭП ЮЛ для учетной записи пользователя (владельца **access\_token**, который используется в запросе). Работает только с access\_token сотрудников **вашей компании**.
Для отключения полномочия подписания документов с использованием УКЭП ЮЛ необходимо отправить POST-запрос `/v1/crypto/ukep-ul/deactivate` с токеном доступа (**access\_token**) пользователя вашей компании в параметре **Authorization** заголовка.
В параметре scope ссылки авторизации пользователя вашей компании должен быть указан сервис `GET_CRYPTO_INFO` для получения доступа к этому ресурсу.
Рекомендации по тестированию в песочнице
При отправке запроса на отключение полномочия в песочнице успешный ответ всегда одинаковый и не зависит от входных данных.
---
# Подключение УКЭП ЮЛ для учетной записи
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/crypto/enable-crypto-signature.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/crypto/ukep-ul/activate`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/crypto/ukep-ul/activate`
## Описание
Ресурс позволяет настроить полномочие для подписания документов с использованием УКЭП ЮЛ для учетной записи пользователя (владельца **access\_token**, который используется в запросе). Работает только с access\_token сотрудников **вашей компании**.
Для подключения полномочия подписания документов с использованием УКЭП ЮЛ, необходимо отправить POST-запрос `/v1/crypto/ukep-ul/activate` с токеном доступа (**access\_token**) пользователя вашей компании в параметре **Authorization** заголовка.
В параметре scope ссылки авторизации пользователя вашей компании должен быть указан сервис `GET_CRYPTO_INFO` для получения доступа к этому ресурсу.
Рекомендации по тестированию в песочнице
При отправке запроса на подключение полномочия в песочнице успешный ответ всегда одинаковый и не зависит от входных данных.
---
# Получение печатной формы заявления и запроса на сертификат для ЕИО
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/crypto/print-eio-v-2.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v2/crypto/cert-requests/eio/{externalId}/print`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v2/crypto/cert-requests/eio/{externalId}/print`
## Описание
Ресурс позволяет получить печатную форму заявления на выпуск сертификата.
Для получения печатной формы заявления необходимо отправить GET-запрос `/fintech/api/v2/crypto/cert-requests/eio/{externalId}/print` с токеном доступа (**access\_token**) пользователя **вашей организации** или ЕИО вашей дочерней компании в параметре **Authorization** заголовка и идентификатором документа (**externalId**) в path-параметре.
В параметре scope ссылки авторизации пользователя вашей компании должен быть указан сервис `CRYPTO_CERT_REQUEST_EIO` для получения доступа к этому ресурсу.
Рекомендации по тестированию в песочнице
При отправке запроса на получение печатной формы для ЕИО, структура ответа зависит от переданного параметра `externalId`:
| Передаваемое значение `externalId` | Описание ответа |
| :----------------------------------- | :-------------- |
| `a7f3b1c8-2e5d-4f9a-b6c0-9e8d7a2b5c4e` | Возвращаются поля `pdfData` и `cms`, при этом `cms = null` |
| Любое другое значение | Возвращаются поля `pdfData` и `cms` (оба содержат значения) |
---
# Получение печатной формы заявления и запроса на сертификат
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/crypto/print-v-2.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v2/crypto/cert-requests/{externalId}/print`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v2/crypto/cert-requests/{externalId}/print`
## Описание
Ресурс позволяет получить печатную форму заявления на выпуск сертификата. Работает только с access\_token сотрудников **вашей компании**.
Для получения печатной формы заявления необходимо отправить GET-запрос `/fintech/api/v2/crypto/cert-requests/{externalId}/print` с токеном доступа (**access\_token**) пользователя вашей компании в параметре **Authorization** заголовка и идентификатором документа (**externalId**) в path-параметре.
В параметре scope ссылки авторизации пользователя вашей компании должен быть указан сервис `CERTIFICATE_REQUEST` для получения доступа к этому ресурсу.
Рекомендации по тестированию в песочнице
При отправке запроса на получение печатной формы, структура ответа зависит от переданного параметра `externalId`:
| Передаваемое значение `externalId` | Описание ответа |
| :----------------------------------- | :-------------- |
| `4a1cddc4-34af-4383-8b0c-356d48a2278f` | Возвращаются поля `pdfData` и `cms`, при этом `cms = null` |
| Любое другое значение | Возвращаются поля `pdfData` и `cms` (оба содержат значения) |
---
# Получение статуса запроса на новый сертификат для ЕИО
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/crypto/status-eio-get.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/crypto/cert-requests/eio/{externalId}/state`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/crypto/cert-requests/eio/{externalId}/state`
## Описание
Ресурс позволяет получить информацию по статусу запроса на новый сертификат. Полученную информацию возможно использовать для контроля и анализа статуса запроса на новый сертификат. Работает с access\_token пользователей **с признаком единоличный исполнительный орган** (ЕИО).
Отправьте GET-запрос `/fintech/api/v1/crypto/cert-requests/eio/{externalId}/state` с токеном доступа (**access\_token**) пользователя-ЕИО в параметре **Authorization** заголовка и идентификатором документа (**externalId**) в path-параметре.
В параметре scope ссылки авторизации пользователя-ЕИО должен быть указан сервис `CRYPTO_CERT_REQUEST_EIO` для получения доступа к этому ресурсу.
Рекомендации по тестированию в песочнице
При отправке запроса на получение статуса запроса на новый сертификат для ЕИО, ответ зависит от переданного параметра `externalId`. Для симуляции различных сценариев используйте следующие тестовые идентификаторы:
| Передаваемое значение `externalId` | Возвращаемое значение `bankStatus` |
| :----------------------------------- | :---------------------------------- |
| `a7f3b1c8-2e5d-4f9a-b6c0-9e8d7a2b5c4e` | `ACCEPTED_BY_ABS` |
| Любое другое значение | `AWAITING_CONFIRMATION` |
Подписанту необходимо предоставить в Банк заявление на выпуск сертификата.
С помощью ресурса GET `/fintech/api/v1/crypto/cert-requests/{externalId}/print` получите печатную форму заявления, распечатайте и подпишите. Далее Подписанту необходимо предоставить заявление в обслуживающий офис Сбера. |\n| `PUBLISHED_BY_BANK` | Издан Банком | Сертификат выпущен, и него необходимо активировать.
Активировать сертификат можно с помощью ресурса POST `/fintech/api/v1/crypto/cert-requests/{externalId}/activate` |\n| `AWAITING_CONFIRMATION` | Ожидает подтверждения | Подписант должен подтвердить заявления дистанционно.
Дистанционно подтвердить можно с помощью ресурса POST `/v1/crypto/cert-requests/{externalId}/confirm` |\n| `CONFIRMED` | Подтвержден | Подписант успешно подтвердил запрос на выпуск сертификата. |\n| **Окончательный (Не успешный)/Прекратить опрос** |\n| `DENIED` | Отказано в сертификации | Ошибка в процессе выпуска сертификата либо отказано в сертификации |\n| **Окончательный (Успешный)/Прекратить опрос** |\n| `PROCESSED` | Обработан | Сертификат активирован |\n"},"400":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"additionalProperties":false,"title":"ErrorResponse"},{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}},"additionalProperties":false},{"required":["httpCode","httpMessage","moreInformation"],"type":"object","description":"Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)","properties":{"httpCode":{"type":"string","pattern":"^[0-9]{1,3}$","example":"400","description":"Код ошибки"},"httpMessage":{"type":"string","maxLength":50,"pattern":"^[0-9a-zA-Z\\s]*$","example":"Error","description":"Описание ошибки"},"moreInformation":{"type":"string","maxLength":254,"pattern":"^[0-9A-Za-zА-Я-а-я\\s-]*$","example":"Error","description":"Дополнительная информация"}},"additionalProperties":false,"title":"SberapiError"}],"title":"Error"}}},"description":"Bad Request\n\n | **Cause** | **Message** | **Description** |\n | --------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n | DESERIALIZATION_FAULT | Неверный формат запроса | Данные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в response в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request метода. Скорректируйте заполнение атрибутов и повторите запрос. |\n"},"401":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"additionalProperties":false,"title":"ErrorResponse"},{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}},"additionalProperties":false},{"required":["httpCode","httpMessage","moreInformation"],"type":"object","description":"Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)","properties":{"httpCode":{"type":"string","pattern":"^[0-9]{1,3}$","example":"400","description":"Код ошибки"},"httpMessage":{"type":"string","maxLength":50,"pattern":"^[0-9a-zA-Z\\s]*$","example":"Error","description":"Описание ошибки"},"moreInformation":{"type":"string","maxLength":254,"pattern":"^[0-9A-Za-zА-Я-а-я\\s-]*$","example":"Error","description":"Дополнительная информация"}},"additionalProperties":false,"title":"SberapiError"}],"title":"Error"}}},"description":"Unauthorized\n\n| **Cause** | **Message** | **Description** |\n| ------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |\n| UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |\n"},"403":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"additionalProperties":false,"title":"ErrorResponse"},{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}},"additionalProperties":false},{"required":["httpCode","httpMessage","moreInformation"],"type":"object","description":"Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)","properties":{"httpCode":{"type":"string","pattern":"^[0-9]{1,3}$","example":"400","description":"Код ошибки"},"httpMessage":{"type":"string","maxLength":50,"pattern":"^[0-9a-zA-Z\\s]*$","example":"Error","description":"Описание ошибки"},"moreInformation":{"type":"string","maxLength":254,"pattern":"^[0-9A-Za-zА-Я-а-я\\s-]*$","example":"Error","description":"Дополнительная информация"}},"additionalProperties":false,"title":"SberapiError"}],"title":"Error"}}},"description":"Forbidden\n\n| **Cause** | **Message** | **Description** |\n| ----------------------- | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API.
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `CRYPTO_CERT_REQUEST_EIO`. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n"},"404":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"additionalProperties":false,"title":"ErrorResponse"},{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}},"additionalProperties":false},{"required":["httpCode","httpMessage","moreInformation"],"type":"object","description":"Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)","properties":{"httpCode":{"type":"string","pattern":"^[0-9]{1,3}$","example":"400","description":"Код ошибки"},"httpMessage":{"type":"string","maxLength":50,"pattern":"^[0-9a-zA-Z\\s]*$","example":"Error","description":"Описание ошибки"},"moreInformation":{"type":"string","maxLength":254,"pattern":"^[0-9A-Za-zА-Я-а-я\\s-]*$","example":"Error","description":"Дополнительная информация"}},"additionalProperties":false,"title":"SberapiError"}],"title":"Error"}}},"description":"Not Found"},"429":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"additionalProperties":false,"title":"ErrorResponse"},{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}},"additionalProperties":false},{"required":["httpCode","httpMessage","moreInformation"],"type":"object","description":"Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)","properties":{"httpCode":{"type":"string","pattern":"^[0-9]{1,3}$","example":"400","description":"Код ошибки"},"httpMessage":{"type":"string","maxLength":50,"pattern":"^[0-9a-zA-Z\\s]*$","example":"Error","description":"Описание ошибки"},"moreInformation":{"type":"string","maxLength":254,"pattern":"^[0-9A-Za-zА-Я-а-я\\s-]*$","example":"Error","description":"Дополнительная информация"}},"additionalProperties":false,"title":"SberapiError"}],"title":"Error"}}},"description":"Too Many Requests\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n"},"500":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"additionalProperties":false,"title":"ErrorResponse"},{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}},"additionalProperties":false},{"required":["httpCode","httpMessage","moreInformation"],"type":"object","description":"Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)","properties":{"httpCode":{"type":"string","pattern":"^[0-9]{1,3}$","example":"400","description":"Код ошибки"},"httpMessage":{"type":"string","maxLength":50,"pattern":"^[0-9a-zA-Z\\s]*$","example":"Error","description":"Описание ошибки"},"moreInformation":{"type":"string","maxLength":254,"pattern":"^[0-9A-Za-zА-Я-а-я\\s-]*$","example":"Error","description":"Дополнительная информация"}},"additionalProperties":false,"title":"SberapiError"}],"title":"Error"}}},"description":"Internal Server Error"},"503":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"additionalProperties":false,"title":"ErrorResponse"},{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}},"additionalProperties":false},{"required":["httpCode","httpMessage","moreInformation"],"type":"object","description":"Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)","properties":{"httpCode":{"type":"string","pattern":"^[0-9]{1,3}$","example":"400","description":"Код ошибки"},"httpMessage":{"type":"string","maxLength":50,"pattern":"^[0-9a-zA-Z\\s]*$","example":"Error","description":"Описание ошибки"},"moreInformation":{"type":"string","maxLength":254,"pattern":"^[0-9A-Za-zА-Я-а-я\\s-]*$","example":"Error","description":"Дополнительная информация"}},"additionalProperties":false,"title":"SberapiError"}],"title":"Error"}}},"description":"Service Unavailable"}}} />
---
# Получение статуса запроса на новый сертификат
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/crypto/status-get.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/crypto/cert-requests/{externalId}/state`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/crypto/cert-requests/{externalId}/state`
## Описание
Ресурс позволяет получить информацию по статусу запроса на новый сертификат. Полученную информацию возможно использовать для контроля и анализа статуса запроса на новый сертификат. Работает только с access\_token сотрудников **вашей компании**.
Для получения статуса заявления необходимо отправить GET-запрос `/fintech/api/v1/crypto/cert-requests/{externalId}/state` с токеном доступа (**access\_token**) пользователя вашей компании в параметре **Authorization** заголовка и идентификатором документа (**externalId**) в path-параметре.
В параметре scope ссылки авторизации пользователя вашей компании должен быть указан сервис `CERTIFICATE_REQUEST` для получения доступа к этому ресурсу.
Рекомендации по тестированию в песочнице
При отправке запроса на получение статуса запроса на новый сертификат, ответ зависит от переданного параметра `externalId`. Для симуляции различных сценариев используйте следующие тестовые идентификаторы:
| Передаваемое значение `externalId` | Возвращаемое значение `bankStatus` |
| :----------------------------------- | :---------------------------------- |
| `4a1cddc4-34af-4383-8b0c-356d48a2278f` | `ACCEPTED_BY_ABS` |
| Любое другое значение | `AWAITING_CONFIRMATION` |
Подписанту необходимо предоставить в Банк заявление на выпуск сертификата.
С помощью ресурса GET `/fintech/api/v1/crypto/cert-requests/{externalId}/print` получите печатную форму заявления, распечатайте и подпишите. Далее Подписанту необходимо предоставить заявление в обслуживающий офис Сбера. |\n| `PUBLISHED_BY_BANK` | Издан Банком | Сертификат выпущен, и него необходимо активировать.
Активировать сертификат можно с помощью ресурса POST `/fintech/api/v1/crypto/cert-requests/{externalId}/activate` |\n| `AWAITING_CONFIRMATION` | Ожидает подтверждения | Подписант должен подтвердить заявления дистанционно.
Дистанционно подтвердить можно с помощью ресурса POST `/v1/crypto/cert-requests/{externalId}/confirm`
Если возвращался статус AWAITING_CONFIRMATION, а потом у организации поменялся КУЦ, то на следующий запрос на выпуск сертификата, вернется ACCEPTED_BY_ABS |\n| `CONFIRMED` | Подтвержден | Подписант успешно подтвердил запрос на выпуск сертификата. |\n| **Окончательный (Не успешный)/Прекратить опрос** |\n| `DENIED` | Отказано в сертификации | Ошибка в процессе выпуска сертификата либо отказано в сертификации |\n| **Окончательный (Успешный)/Прекратить опрос** |\n| `PROCESSED` | Обработан | Сертификат активирован |\n"},"400":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"additionalProperties":false,"title":"ErrorResponse"},{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}},"additionalProperties":false},{"required":["httpCode","httpMessage","moreInformation"],"type":"object","description":"Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)","properties":{"httpCode":{"type":"string","pattern":"^[0-9]{1,3}$","example":"400","description":"Код ошибки"},"httpMessage":{"type":"string","maxLength":50,"pattern":"^[0-9a-zA-Z\\s]*$","example":"Error","description":"Описание ошибки"},"moreInformation":{"type":"string","maxLength":254,"pattern":"^[0-9A-Za-zА-Я-а-я\\s-]*$","example":"Error","description":"Дополнительная информация"}},"additionalProperties":false,"title":"SberapiError"}],"title":"Error"}}},"description":"Bad request\n\n| **Cause** | **Message** | **Description** |\n| --------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| DESERIALIZATION_FAULT | Неверный формат запроса | Данные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в response в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request метода. Скорректируйте заполнение атрибутов и повторите запрос. |\n"},"401":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"additionalProperties":false,"title":"ErrorResponse"},{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}},"additionalProperties":false},{"required":["httpCode","httpMessage","moreInformation"],"type":"object","description":"Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)","properties":{"httpCode":{"type":"string","pattern":"^[0-9]{1,3}$","example":"400","description":"Код ошибки"},"httpMessage":{"type":"string","maxLength":50,"pattern":"^[0-9a-zA-Z\\s]*$","example":"Error","description":"Описание ошибки"},"moreInformation":{"type":"string","maxLength":254,"pattern":"^[0-9A-Za-zА-Я-а-я\\s-]*$","example":"Error","description":"Дополнительная информация"}},"additionalProperties":false,"title":"SberapiError"}],"title":"Error"}}},"description":"Unauthorized\n\n| **Cause** | **Message** | **Description** |\n| ------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |\n| UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |\n"},"403":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"additionalProperties":false,"title":"ErrorResponse"},{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}},"additionalProperties":false},{"required":["httpCode","httpMessage","moreInformation"],"type":"object","description":"Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)","properties":{"httpCode":{"type":"string","pattern":"^[0-9]{1,3}$","example":"400","description":"Код ошибки"},"httpMessage":{"type":"string","maxLength":50,"pattern":"^[0-9a-zA-Z\\s]*$","example":"Error","description":"Описание ошибки"},"moreInformation":{"type":"string","maxLength":254,"pattern":"^[0-9A-Za-zА-Я-а-я\\s-]*$","example":"Error","description":"Дополнительная информация"}},"additionalProperties":false,"title":"SberapiError"}],"title":"Error"}}},"description":"Forbidden\n\n| **Cause** | **Message** | **Description** |\n| ----------------------- | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API.
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `CERTIFICATE_REQUEST`. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n| ACCESS_EXCEPTION | Работа с сертификатами и криптопрофилями доступна только по собственной организации | Используемый в запросе access_token принадлежит пользователю, который не является сотрудником вашей компании.
Для работы с пользователями других компании используйте ресурсы группы `/v1/crypto.../eio` |\n"},"404":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"additionalProperties":false,"title":"ErrorResponse"},{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}},"additionalProperties":false},{"required":["httpCode","httpMessage","moreInformation"],"type":"object","description":"Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)","properties":{"httpCode":{"type":"string","pattern":"^[0-9]{1,3}$","example":"400","description":"Код ошибки"},"httpMessage":{"type":"string","maxLength":50,"pattern":"^[0-9a-zA-Z\\s]*$","example":"Error","description":"Описание ошибки"},"moreInformation":{"type":"string","maxLength":254,"pattern":"^[0-9A-Za-zА-Я-а-я\\s-]*$","example":"Error","description":"Дополнительная информация"}},"additionalProperties":false,"title":"SberapiError"}],"title":"Error"}}},"description":"Not Found"},"429":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"additionalProperties":false,"title":"ErrorResponse"},{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}},"additionalProperties":false},{"required":["httpCode","httpMessage","moreInformation"],"type":"object","description":"Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)","properties":{"httpCode":{"type":"string","pattern":"^[0-9]{1,3}$","example":"400","description":"Код ошибки"},"httpMessage":{"type":"string","maxLength":50,"pattern":"^[0-9a-zA-Z\\s]*$","example":"Error","description":"Описание ошибки"},"moreInformation":{"type":"string","maxLength":254,"pattern":"^[0-9A-Za-zА-Я-а-я\\s-]*$","example":"Error","description":"Дополнительная информация"}},"additionalProperties":false,"title":"SberapiError"}],"title":"Error"}}},"description":"Too Many Requests\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n"},"500":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"additionalProperties":false,"title":"ErrorResponse"},{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}},"additionalProperties":false},{"required":["httpCode","httpMessage","moreInformation"],"type":"object","description":"Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)","properties":{"httpCode":{"type":"string","pattern":"^[0-9]{1,3}$","example":"400","description":"Код ошибки"},"httpMessage":{"type":"string","maxLength":50,"pattern":"^[0-9a-zA-Z\\s]*$","example":"Error","description":"Описание ошибки"},"moreInformation":{"type":"string","maxLength":254,"pattern":"^[0-9A-Za-zА-Я-а-я\\s-]*$","example":"Error","description":"Дополнительная информация"}},"additionalProperties":false,"title":"SberapiError"}],"title":"Error"}}},"description":"Internal Server Error\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n"},"503":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"additionalProperties":false,"title":"ErrorResponse"},{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}},"additionalProperties":false},{"required":["httpCode","httpMessage","moreInformation"],"type":"object","description":"Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)","properties":{"httpCode":{"type":"string","pattern":"^[0-9]{1,3}$","example":"400","description":"Код ошибки"},"httpMessage":{"type":"string","maxLength":50,"pattern":"^[0-9a-zA-Z\\s]*$","example":"Error","description":"Описание ошибки"},"moreInformation":{"type":"string","maxLength":254,"pattern":"^[0-9A-Za-zА-Я-а-я\\s-]*$","example":"Error","description":"Дополнительная информация"}},"additionalProperties":false,"title":"SberapiError"}],"title":"Error"}}},"description":"Service Unavailable"}}} />
---
# Создание письма для целей ВК (в банк)
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/curr-control-messages/create.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/curr-control-messages/to-bank`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/curr-control-messages/to-bank`
## Описание
Для создания и отправки письма в ВК необходимо отправить POST-запрос `/fintech/api/v1/curr-control-messages/to-bank` с токеном доступа (**access\_token**) пользователя в параметре **Authorization** заголовка и реквизитами письма в теле.
В параметре scope ссылки авторизации пользователя должен быть указан сервис `CURR_CONTROL_MESSAGE_TO_BANK` для получения доступа к этому запросу.
* Если в запросе на создание заявления передать ЭП к документу (объект **digestSignatures**), то Банк сразу начнет обработку документа.
* Если в запросе не передавать ЭП к документу, то заявление будет создано в статусе черновик. Для начала обработки документа Банком потребуется зайти в интерфейс СберБизнес и подписать его.
Дайджест
Дайджест это текстовый документ, содержащий перечень и значения полей запроса, к которому он относится и предназначенный для подписания ЭП. Сохраняйте порядок и количество полей дайджеста, как показано в примере ниже, иначе подписать его не получится.
Формат дайджеста:
| **Наименование поля** | **Описание поля** | **Пример** |
| --------------------- | ------------------------------------------------------- | ------------------------------------ |
| authPersonName | ФИО ответственного лица | Петров Петр Иванович |
| authPersonTelfax | Телефон ответственного лица | 79263689379 |
| date | Дата документа | 28.02.2019 |
| externalId | Идентификатор документа в организации-партнере | 550e8400-e29b-41d4-a716-446655440000 |
| orgName | Наименование организации клиента | ООО "ТЕСТ" |
| subject | Тема письма | Договор ВК |
| text | Текст письма | Добрый день! |
| TABLES | Значение указывается при наличии UUID-ов больших файлов | |
| Table=BfAttachments | Значение указывается при наличии UUID-ов больших файлов | |
| fileId | UUID больших файлов | 31663ef5-7975-4016-b0f3-f1d70a4e9c22 |
| # | Разделитель значений UUID-ов больших файлов | |
| fileId | UUID больших файлов | 51663ef5-7975-4016-b0f3-f1d70a4e9c22 |
| # | Разделитель значений UUID-ов больших файлов | |
Пример дайджеста:
```json
authPersonName=Иванов Алексей Сергеевич
authPersonTelfax=8(495)1234567
date=2019-04-16
externalId=31663ef5-7975-4016-b0f3-f1d70a4e9c22
orgName=ООО"Риэль"
subject=ТЕМА ПИСЬМА
text=ТЕКСТ ПИСЬМА
TABLES
Table=BfAttachments
fileId=31663ef5-7975-4016-b0f3-f1d70a4e9c22
#
fileId=51663ef5-7975-4016-b0f3-f1d70a4e9c22
#
```
Рекомендации по тестированию в песочнице
При тестировании создания письма для целей ВК в Песочнице соблюдайте правила:
* **Не нужно устанавливать промышленные сертификаты электронной подписи (ЭП)** — Песочница использует тестовые идентификаторы ЭП (certificateUuid).
* Все остальные поля запроса заполняйте произвольными данными (реквизиты, суммы) в соответствии с требованиями в документации.
## Сценарии тестирования
Для тестирования сценариев используйте **фиксированные** значения `certificateUuid`. При использовании любых других значений `certificateUuid` вернется ошибка `INVALIDEDS`.
**1.** Чтобы создать черновик письма для целей ВК, отправьте запрос **без объекта `digestSignatures`**.
***
**2.** Для отправки документа с единственной или двумя подписями передайте в объекте `digestSignatures` тестовые `certificateUuid`.
**Параметры:**
* bb014b5d-8159-40be-97c1-eafeed4a8c3d (единственная подпись)
* d5d4f811-f4d4-4205-a70f-58f772eeab72 (первая подпись)
* 4f29c8ef-b55d-43c7-a321-f2b1303a29cd (вторая подпись)
**Статус в ответе:** `bankStatus: "EXPORTED"`
**Пример:**
```json
#Единственная подпись
"digestSignatures": [
\{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c3d",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
#Первая и вторая подпись
"digestSignatures": [
\{
"certificateUuid": "d5d4f811-f4d4-4205-a70f-58f772eeab72",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\},
\{
"certificateUuid": "4f29c8ef-b55d-43c7-a321-f2b1303a29cd",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
```
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `CURR_CONTROL_MESSAGE_FROM_BANK`. Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"429":{"description":"\"Превышен лимит запросов\"\n\n | **Cause** | **Message** | **Description** |\n | ----------------- | -------------------------------------------------- | ---------------------|\n | TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"500":{"description":"Внутренняя ошибка сервера\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"503":{"description":"Сервис временно недоступен\n\n | **Cause** | **Message** | **Description** |\n | ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n | UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}}}} />
---
# CurrControlMessages
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/curr-control-messages/currcontrolmessages.md)
## Описание
## Методы Sber API по работе с письмами ВК:
* [Создание письма для целей ВК (в банк)](/ru/sber-api/specifications/curr-control-messages/create)
* [Получение писем для целей ВК (из банка)](/ru/sber-api/specifications/curr-control-messages/get-from-bank)
* [Получение статуса письма для целей ВК (в банк)](/ru/sber-api/specifications/curr-control-messages/get-status)
---
# Получение писем для целей ВК (из банка)
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/curr-control-messages/get-from-bank.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/curr-control-messages/from-bank`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/curr-control-messages/from-bank`
## Описание
Для получения входящих писем от ВК необходимо отправить GET-запрос `/fintech/api/v1/curr-control-messages/from-bank` с токеном доступа (**access\_token**) пользователя в параметре **Authorization** заголовка и параметрами поиска в query-параметрах.
В параметре scope ссылки авторизации пользователя должен быть указан сервис `CURR_CONTROL_MESSAGE_FROM_BANK` для получения доступа к этому запросу.
Рекомендации по тестированию в песочнице
При получении писем для целей ВК в песочнице, ответ зависит от переданного `externalId`.
Все остальные поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.
**1.** Чтобы получить письма для целей ВК, нужно в поле `externalId` передать произвольное значение.
***
**2.** Чтобы получить ошибку "Документ с указанным ID не найден.", нужно в поле `externalId` передать значение `22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6`.
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `CURR_CONTROL_MESSAGE_FROM_BANK`. Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"404":{"description":"Не найдено\n\n| **Cause** | **Message** | **Description** |\n| --------- | --------------------------------- | --------------- |\n| NOT_FOUND | Документ с указанным ID не найден | |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"429":{"description":"\"Превышен лимит запросов\"\n\n | **Cause** | **Message** | **Description** |\n | ----------------- | -------------------------------------------------- | ---------------------|\n | TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"500":{"description":"Внутренняя ошибка сервера\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"503":{"description":"Сервис временно недоступен\n\n | **Cause** | **Message** | **Description** |\n | ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n | UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}}}} />
---
# Получение статуса письма для целей ВК (в банк)
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/curr-control-messages/get-status.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/curr-control-messages/to-bank/{externalId}/state`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/curr-control-messages/to-bank/{externalId}/state`
## Описание
Для получения статуса письма необходимо отправить GET-запрос `/fintech/api/v1/curr-control-messages/to-bank/{externalId}/state` с токеном доступа (**access\_token**) пользователя в параметре **Authorization** заголовка и идентификатором документа (**externalId**) в path-параметре.
В параметре scope ссылки авторизации пользователя должен быть указан сервис `CURR_CONTROL_MESSAGE_TO_BANK` для получения доступа к этому запросу.
Рекомендации по тестированию в песочнице
При получении статуса письма для целей ВК в песочнице, ответ зависит от переданного `externalId`.
Все остальные поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.
**1.** Чтобы получить статус письма для целей ВК, нужно в поле `externalId` передать произвольное значение.
***
**2.** Чтобы получить ошибку "Документ с указанным ID не найден.", нужно в поле `externalId` передать значение `22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6`.
***
**3.** Чтобы получить статус документа в статусе "IMPORTED", передайте в поле `externalId` значение `7a021b0b-1015-40aa-b149-6c51e8d8a417`.
***
**4.** Чтобы получить статус документа в статусе "EXPORTED", передайте в поле `externalId` значение `7a021b0b-1015-40aa-b149-6c51e8d8a418`.
***
**5.** Чтобы получить статус документа в статусе "EXPORTING", передайте в поле `externalId` значение `7a021b0b-1015-40aa-b149-6c51e8d8a419`.
***
**6.** Чтобы получить статус документа в статусе "PROCESSING", передайте в поле `externalId` значение `7a021b0b-1015-40aa-b149-6c51e8d8a420`.
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `CURR_CONTROL_MESSAGE_FROM_BANK`. Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"404":{"description":"Не найдено\n\n| **Cause** | **Message** | **Description** |\n| --------- | --------------------------------- | --------------- |\n| NOT_FOUND | Документ с указанным ID не найден | |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"429":{"description":"\"Превышен лимит запросов\"\n\n | **Cause** | **Message** | **Description** |\n | ----------------- | -------------------------------------------------- | ---------------------|\n | TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"500":{"description":"Внутренняя ошибка сервера\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"503":{"description":"Сервис временно недоступен\n\n | **Cause** | **Message** | **Description** |\n | ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n | UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}}}} />
---
# Создание сведений о валютной операции
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/currency-operation-details/create-currency-operation-details.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/currency-operation-details`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/currency-operation-details`
## Описание
Для создания СВО необходимо отправить POST-запрос `/fintech/api/v1/currency-operation-details` с токеном доступа (**access\_token**) пользователя в параметре **Authorization** заголовка и реквизитами документа в теле.
В параметре scope ссылки авторизации пользователя должен быть указан сервис `CURRENCY_OPERATION_DETAILS` для получения доступа к этому запросу.
* Если в запросе на создание заявления передать ЭП к документу (объект **digestSignatures**), то Банк сразу начнет обработку документа.
* Если в запросе не передавать ЭП к документу, то заявление будет создано в статусе черновик. Для начала обработки документа Банком потребуется зайти в интерфейс СберБизнес и подписать его.
Дайджест
Дайджест это текстовый документ, содержащий перечень и значения полей запроса, к которому он относится и предназначенный для подписания ЭП. Сохраняйте порядок и количество полей дайджеста, как показано в примере ниже, иначе подписать его не получится.
Формат дайджеста:
:::note
Если в запросе contractNumberType = 2, то в дайджесте необходимо указать passportNumber.
:::
| **Наименование поля** | **Описание поля** | **Пример** |
| --------------------------------- | -------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| accountNumber | Номер счета | 40702810123643875107 |
| addInfo | Дополнительная информация | Дополнительная информация |
| authPersonName | ФИО ответственного лица | Иванов Иван Иванович |
| authPersonTelfax | Телефон ответственного лица | +7 123 1456 56 56 |
| bankNonResidentCountryName | Наименование страны | СОЕДИНЕННОЕ КОРОЛЕВСТВО |
| bankNonResidentCountryNumericCode | Код страны | 826 |
| correction | Признак корректировки | false |
| correctionNumber | Номер корректировки | 1 |
| currencyDocDate | Дата валютного документа | 2019-05-16 |
| currencyDocNumber | Номер валютного документа | 54321 |
| currencyDocType | Тип валютного документа | PayDocCur |
| date | Дата документа | 2019-05-16 |
| externalId | Идентификатор документа в организации-партнере | 75d8d497-05cc-4cc6-9b78-070ae0a605fd |
| isAccountInOtherBank | Признак счета в другом банке | false |
| isNumberAbsent | Признак отсутствия номера валютного документа | false |
| paymentAmount.amount | Сумма платежа | 2.02 |
| paymentAmount.currencyCode | Цифровой код валюты платежа | 840 |
| paymentAmount.currencyName | ISO код валюты платежа | USD |
| paymentDirection | Направление платежа | 1 |
| senderInn | ИНН клиента | 7582099944 |
| senderName | Полное наименование клиента | Организация NyJurbsIJTXzRTL |
| senderOkpo | ОКПО клиента | 1350995802 |
| TABLES | Значение указывается при наличии UUID-ов больших файлов или Операций | |
| Table=BfAttachments | Значение указывается при наличии UUID-ов больших файлов | |
| fileId | UUID больших файлов | 08ba3412-118a-4f4d-be23-e93f81d58fdc |
| # | Разделитель строк таблицы | |
| fileId | UUID больших файлов | 81ff03ad-bceb-4a8a-b5bf-8c8439519bab |
| # | Разделитель строк таблицы | |
| Table=Operations | Значение указывается при наличии операций | |
| additionalInfo | Дополнительная информация | Примечание |
| amount.amount | Сумма платежа | 2.02 |
| amount.currencyCode | Цифровой код валюты платежа | 840 |
| amount.currencyName | ISO код валюты платежа | USD |
| contractDate | Дата договора | 2019-05-16 |
| contractNumber | Номер договора | 123 |
| contractNumberType | Тип заполнения номера договора | 0 |
| creditAmount.amount | Сумма договора | 33.33 |
| creditAmount.currencyCode | Цифровой код валюты договора | 840 |
| creditAmount.currencyName | ISO код валюты договора | USD |
| dataComposition | Состав предоставляемой информации | 3 |
| expectedDate | Ожидаемый срок | 2019-05-16 |
| operationCode | Код вида валютной операции | 20300 |
| operationCodeDescription | Описание валютной операции | Оплата нерезидента резиденту по договору аренды движимого или недвижимого имущества |
| operationReason | Основание проведения операции | 1 |
| passportNumber | Уникальный номер контракта (кредитного договора) | 120123A0/1234/GU23/1/2 |
| paymentConditions | Условия расчета | 1 |
| serialNumber | Номер по порядку | 0 |
Пример дайджеста:
```json
accountNumber=40702810123643875107
addInfo=Дополнительная информация
authPersonName=Иванов Иван Иванович
authPersonTelfax=+7 123 1456 56 56
bankNonResidentCountryName=СОЕДИНЕННОЕ КОРОЛЕВСТВО
bankNonResidentCountryNumericCode=826
correction=false
correctionNumber=1
currencyDocDate=2019-05-16
currencyDocNumber=54321
currencyDocType=PayDocCur
date=2019-05-16
externalId=75d8d497-05cc-4cc6-9b78-070ae0a605fd
isAccountInOtherBank=false
isNumberAbsent=false
paymentAmount.amount=2.02
paymentAmount.currencyCode=840
paymentAmount.currencyName=USD
paymentDirection=1
senderInn=7582099944
senderName=Организация NyJurbsIJTXzRTL
senderOkpo=1350995802
TABLES
Table=BfAttachments
fileId=08ba3412-118a-4f4d-be23-e93f81d58fdc
#
fileId=81ff03ad-bceb-4a8a-b5bf-8c8439519bab
#
Table=Operations
additionalInfo=Примечание
amount.amount=2.02
amount.currencyCode=840
amount.currencyName=USD
contractDate=2019-05-16
contractNumber=123
contractNumberType=0
creditAmount.amount=33.33
creditAmount.currencyCode=840
creditAmount.currencyName=USD
dataComposition=3
expectedDate=2019-05-16
operationCode=20300
operationCodeDescription=Оплата нерезидента резиденту по договору аренды движимого или недвижимого имущества
operationReason=1
passportNumber=120123A0/1234/GU23/1/
paymentConditions=1
serialNumber=0
#
```
Рекомендации по тестированию в песочнице
При тестировании создания сведений о валютной операции в Песочнице соблюдайте правила:
* **Не нужно устанавливать промышленные сертификаты электронной подписи (ЭП)** — Песочница использует тестовые идентификаторы ЭП (certificateUuid).
* Все остальные поля запроса заполняйте произвольными данными (реквизиты, суммы) в соответствии с требованиями в документации.
## Сценарии тестирования
Для тестирования сценариев используйте **фиксированные** значения `certificateUuid`. При использовании любых других значений `certificateUuid` вернется ошибка `INVALIDEDS`.
**1.** Чтобы создать черновик СВО, отправьте запрос **без объекта `digestSignatures`**.
***
**2.** Для отправки документа с единственной или двумя подписями передайте в объекте `digestSignatures` тестовые `certificateUuid`.
**Параметры:**
* bb014b5d-8159-40be-97c1-eafeed4a8c3d (единственная подпись)
* d5d4f811-f4d4-4205-a70f-58f772eeab72 (первая подпись)
* 4f29c8ef-b55d-43c7-a321-f2b1303a29cd (вторая подпись)
**Статус в ответе:** `bankStatus: "EXPORTED"`
**Пример:**
```json
#Единственная подпись
"digestSignatures": [
\{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c3d",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
#Первая и вторая подпись
"digestSignatures": [
\{
"certificateUuid": "d5d4f811-f4d4-4205-a70f-58f772eeab72",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\},
\{
"certificateUuid": "4f29c8ef-b55d-43c7-a321-f2b1303a29cd",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
```
1 000 000 рублей РФ\n3 - Контракт (кредитный договор), поставленный на учет в банке.\n4 - Иные\n","nullable":false,"example":"1","enum":["1","2","3","4"]},"dataComposition":{"type":"string","description":"**Состав предоставляемой информации**\n1 - Информация об Уникальном номере контракта\n2 - Документы, связанные с проведением операции (кредитного договора)\n3 - Информация о коде вида операции\n4 - Информация о Коде вида операции + Информация об Уникальном номере контракта\n5 - Документы, связанные с проведением операции + Информация об Уникальном номере контракта\n6 - Документы, связанные с проведением операции представлены ранее\n8 - Сведения Уполномоченного банка о проведении операции с указанием Уникального номера контракта (кредитного договора)\n","example":"1","enum":["1","2","3","4","5","6","8"]},"paymentConditions":{"type":"string","description":"Условия расчета: 0 - Аванс , 1 - По факту","example":"0","enum":["0","1"]}},"description":"Документ валютного контроля","title":"FintechCurrencyOperationDetailsDoc"}},"linkedDocs":{"type":"array","description":"Cвязанные документы","items":{"required":["docExtId","type"],"type":"object","properties":{"docExtId":{"type":"string","description":"Идентификатор документа во внешней системе (UUID)","format":"uuid","nullable":false,"example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"type":{"maxLength":50,"minLength":1,"type":"string","description":"Тип связанного документа","nullable":false,"example":"ExportContractInsure"}},"description":"Связанный документ","title":"FintechLinkedDoc"}},"bfAttachments":{"type":"array","description":"Приложенные к документу: отсканированные образы-вложения - для АС БФ","items":{"required":["fileId"],"properties":{"fileId":{"type":"string","description":"Уникальный идентификатор файла","nullable":false,"example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"fileName":{"type":"string","description":"Имя файла","readOnly":true,"example":"SB_7718830000_40702810038290010000_T18.txt"}},"description":"Данные о вложении документа (большой файл)","title":"FintechBfAttachment"}},"acceptDate":{"type":"string","description":"Дата представления в банк","format":"date","readOnly":true,"example":"2018-12-31"},"valueDate":{"type":"string","description":"Дата принятия/возврата","format":"date","readOnly":true,"example":"2018-12-31"},"executorEmployeeName":{"type":"string","description":"Должность ответственного лица","readOnly":true,"example":"Ответственный исполнитель банка"},"executorName":{"type":"string","description":"Подпись ответсвенного лица","readOnly":true,"example":"Иванов Иван Иванович"},"failReasons":{"type":"array","description":"Причины отказа","readOnly":true,"items":{"properties":{"docField":{"type":"string","description":"Поле документа","example":"Номер контракта"},"reasonComment":{"type":"string","description":"Правило заполнения/замечания","example":"Указан неверно"},"reasonId":{"type":"string","description":"Код причины отказа","example":"PS_REST_REJ_PART_2-9"},"returnComment":{"type":"string","description":"Комментарий","example":"Комментарий"}},"description":"Причина отказа","title":"FintechFailReason"}}},"description":"Сведения о валютной операции"}}}}} />
1 000 000 рублей РФ\n3 - Контракт (кредитный договор), поставленный на учет в банке.\n4 - Иные\n","nullable":false,"example":"1","enum":["1","2","3","4"]},"dataComposition":{"type":"string","description":"**Состав предоставляемой информации**\n1 - Информация об Уникальном номере контракта\n2 - Документы, связанные с проведением операции (кредитного договора)\n3 - Информация о коде вида операции\n4 - Информация о Коде вида операции + Информация об Уникальном номере контракта\n5 - Документы, связанные с проведением операции + Информация об Уникальном номере контракта\n6 - Документы, связанные с проведением операции представлены ранее\n8 - Сведения Уполномоченного банка о проведении операции с указанием Уникального номера контракта (кредитного договора)\n","example":"1","enum":["1","2","3","4","5","6","8"]},"paymentConditions":{"type":"string","description":"Условия расчета: 0 - Аванс , 1 - По факту","example":"0","enum":["0","1"]}},"description":"Документ валютного контроля","title":"FintechCurrencyOperationDetailsDoc"}},"linkedDocs":{"type":"array","description":"Cвязанные документы","items":{"required":["docExtId","type"],"type":"object","properties":{"docExtId":{"type":"string","description":"Идентификатор документа во внешней системе (UUID)","format":"uuid","nullable":false,"example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"type":{"maxLength":50,"minLength":1,"type":"string","description":"Тип связанного документа","nullable":false,"example":"ExportContractInsure"}},"description":"Связанный документ","title":"FintechLinkedDoc"}},"bfAttachments":{"type":"array","description":"Приложенные к документу: отсканированные образы-вложения - для АС БФ","items":{"required":["fileId"],"properties":{"fileId":{"type":"string","description":"Уникальный идентификатор файла","nullable":false,"example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"fileName":{"type":"string","description":"Имя файла","readOnly":true,"example":"SB_7718830000_40702810038290010000_T18.txt"}},"description":"Данные о вложении документа (большой файл)","title":"FintechBfAttachment"}},"acceptDate":{"type":"string","description":"Дата представления в банк","format":"date","readOnly":true,"example":"2018-12-31"},"valueDate":{"type":"string","description":"Дата принятия/возврата","format":"date","readOnly":true,"example":"2018-12-31"},"executorEmployeeName":{"type":"string","description":"Должность ответственного лица","readOnly":true,"example":"Ответственный исполнитель банка"},"executorName":{"type":"string","description":"Подпись ответсвенного лица","readOnly":true,"example":"Иванов Иван Иванович"},"failReasons":{"type":"array","description":"Причины отказа","readOnly":true,"items":{"properties":{"docField":{"type":"string","description":"Поле документа","example":"Номер контракта"},"reasonComment":{"type":"string","description":"Правило заполнения/замечания","example":"Указан неверно"},"reasonId":{"type":"string","description":"Код причины отказа","example":"PS_REST_REJ_PART_2-9"},"returnComment":{"type":"string","description":"Комментарий","example":"Комментарий"}},"description":"Причина отказа","title":"FintechFailReason"}}},"description":"Сведения о валютной операции"}}}},"202":{"description":"Операция не завершена полностью","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"400":{"description":"\"Ошибка в запросе или его жизненном цикле\"\n\n| Cause | Message | **Description** |\n| --------------------- | -------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| DESERIALIZATION_FAULT | Неверный формат запроса | Данные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в response в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request ресурса. Скорректируйте заполнение атрибутов и повторите запрос. |\n| WORKFLOW_FAULT | Документ с такими реквизитами уже существует | В АС Банка также присутствует проверка на дублирование документов по полям. Если поля совпадают с уже существующим в банке документом, то такой документ получает статус \"bankStatus\": \"CHECKERROR\", а комментарий \"bankComment\": \"Документ с такими реквизитами уже существует.\" |\n| VALIDATION_FAULT | Ошибка валидации | Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request ресурса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"401":{"description":"\"Не авторизован\"\n\n| **Cause** | **Message** | **Description** |\n| ------------ | ---------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |\n| UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |\n| | Некорректное значение Access Token | Указан некорректный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"403":{"description":"\"Запрещено\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------------- | ----------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `CURRENCY_OPERATION_DETAILS`. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"429":{"description":"\"Превышен лимит запросов\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"503":{"description":"\"Сервис временно недоступен\"\n\n| **Cause** | **Message** | **Description** |\n| ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}}}} />
---
# CurrencyOperationDetails
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/currency-operation-details/currencyoperationdetails.md)
## Описание
## Методы Sber API по работе с валютными операциями:
* [Создание сведений о валютной операции](/ru/sber-api/specifications/currency-operation-details/create-currency-operation-details)
* [Получение документа сведения о валютной операции](/ru/sber-api/specifications/currency-operation-details/get-currency-operation-details)
* [Получение статуса сведений о валютной операции](/ru/sber-api/specifications/currency-operation-details/get-currency-operation-details-status)
---
# Получение статуса сведений о валютной операции
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/currency-operation-details/get-currency-operation-details-status.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/currency-operation-details/{externalId}/state`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/currency-operation-details/{externalId}/state`
## Описание
Для получения статуса документа СВО необходимо отправить GET-запрос `/fintech/api/v1/currency-operation-details/{externalId}/state` с токеном доступа (**access\_token**) пользователя в параметре **Authorization** заголовка и идентификатором документа (**externalId**) в path-параметре.
В параметре scope ссылки авторизации пользователя должен быть указан сервис `CURRENCY_OPERATION_DETAILS` для получения доступа к этому запросу.
Рекомендации по тестированию в песочнице
При получении статуса сведений о валютной операции в песочнице, ответ зависит от переданного `externalId`.
Все остальные поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.
**1.** Чтобы получить статус сведений о валютной операции, нужно в поле `externalId` передать произвольное значение.
***
**2.** Чтобы получить ошибку "Документ с указанным ID не найден.", нужно в поле `externalId` передать значение `22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6`.
`EXPORTED` `ACCEPTED_BY_ABS` | В обработке | Клиент отправил сведения о валютной операции на проверку в банк. |\n| **Окончательные статусы/Прекратить опрос** | | |\n| `REFUSED_BY_ABS` | Ошибка | Сведения о валютной операции не приняты банком, валютный контроль пройден |\n| `REFUSED_BY_CFE` | Отказан ВК | Сведения о валютной операции отказаны после проверки валютным контролем |\n| `INVALID_SIGN` | Подпись неверна | Возникла ошибка при подписании сведений о валютной операции |\n| `UNABLE_TO_RECEIVE` | Ошибка при приеме | Возникла ошибка при приеме сведений о валютной операции |\n| **Окончательные(Успешные) статусы/Прекратить опрос** | | |\n| `ACCEPTED_BY_CFE` | Принят ВК | Сведения о валютной операции приняты банком, валютный контроль пройден |\n| `RECALL` | Отозван | Сведения и валютной операции отозваны клиентом до обработки документа банком |\n","content":{"application/json":{"schema":{"properties":{"bankComment":{"type":"string","description":"Банковский комментарий к статусу документа","readOnly":true,"example":"Документ в обработке"},"bankStatus":{"type":"string","description":"Статус документа","example":"PROCESSING"},"channelInfo":{"type":"string","description":"Комментарий, специфичный для документа, полученного по данному каналу","readOnly":true,"example":"string"}},"description":"Статус документа","title":"FintechDocState"}}}},"400":{"description":"\"Ошибка в запросе или его жизненном цикле\"\n\n| **Cause** | **Message** | **Description** |\n| --------------------- | ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| DESERIALIZATION_FAULT | Неверный формат запроса | Данные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в response в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request запроса. Скорректируйте заполнение атрибутов и повторите запрос. |\n| VALIDATION_FAULT | Ошибка валидации | Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request запроса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"401":{"description":"\"Не авторизован\"\n\n | **Cause** | **Message** | **Description** |\n | ------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |\n | UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"403":{"description":"\"Запрещено\"\n\n | **Cause** | **Message** | **Description** |\n | ----------------------- | ----------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n | ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `CURRENCY_OPERATION_DETAILS`. Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"404":{"description":"\"Не найдено\"\n\n | **Cause** | **Message** | **Description** |\n | --------- | --------------------------------- | --------------- |\n | NOT_FOUND | Документ с указанным ID не найден | |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"429":{"description":"\"Превышен лимит запросов\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n | **Cause** | **Message** | **Description** |\n | ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n | UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"503":{"description":"\"Сервис временно недоступен\"\n\n | **Cause** | **Message** | **Description** |\n | ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n | UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}}}} />
---
# Получение документа сведения о валютной операции
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/currency-operation-details/get-currency-operation-details.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/currency-operation-details/{externalId}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/currency-operation-details/{externalId}`
## Описание
Для получения полных данных СВО необходимо отправить GET-запрос `/fintech/api/v1/currency-operation-details/{externalId}` с токеном доступа (**access\_token**) пользователя в параметре **Authorization** заголовка и идентификатором документа (**externalId**) в path-параметре.
В параметре scope ссылки авторизации пользователя должен быть указан сервис `CURRENCY_OPERATION_DETAILS` для получения доступа к этому запросу.
Рекомендации по тестированию в песочнице
При получении документа сведения о валютной операции в песочнице, ответ зависит от переданного `externalId`.
Все остальные поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.
**1.** Чтобы получить документ сведения о валютной операции, нужно в поле `externalId` передать произвольное значение.
***
**2.** Чтобы получить ошибку "Документ с указанным ID не найден.", нужно в поле `externalId` передать значение `22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6`.
1 000 000 рублей РФ\n3 - Контракт (кредитный договор), поставленный на учет в банке.\n4 - Иные\n","nullable":false,"example":"1","enum":["1","2","3","4"]},"dataComposition":{"type":"string","description":"**Состав предоставляемой информации**\n1 - Информация об Уникальном номере контракта\n2 - Документы, связанные с проведением операции (кредитного договора)\n3 - Информация о коде вида операции\n4 - Информация о Коде вида операции + Информация об Уникальном номере контракта\n5 - Документы, связанные с проведением операции + Информация об Уникальном номере контракта\n6 - Документы, связанные с проведением операции представлены ранее\n8 - Сведения Уполномоченного банка о проведении операции с указанием Уникального номера контракта (кредитного договора)\n","example":"1","enum":["1","2","3","4","5","6","8"]},"paymentConditions":{"type":"string","description":"Условия расчета: 0 - Аванс , 1 - По факту","example":"0","enum":["0","1"]}},"description":"Документ валютного контроля","title":"FintechCurrencyOperationDetailsDoc"}},"linkedDocs":{"type":"array","description":"Cвязанные документы","items":{"required":["docExtId","type"],"type":"object","properties":{"docExtId":{"type":"string","description":"Идентификатор документа во внешней системе (UUID)","format":"uuid","nullable":false,"example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"type":{"maxLength":50,"minLength":1,"type":"string","description":"Тип связанного документа","nullable":false,"example":"ExportContractInsure"}},"description":"Связанный документ","title":"FintechLinkedDoc"}},"bfAttachments":{"type":"array","description":"Приложенные к документу: отсканированные образы-вложения - для АС БФ","items":{"required":["fileId"],"properties":{"fileId":{"type":"string","description":"Уникальный идентификатор файла","nullable":false,"example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"fileName":{"type":"string","description":"Имя файла","readOnly":true,"example":"SB_7718830000_40702810038290010000_T18.txt"}},"description":"Данные о вложении документа (большой файл)","title":"FintechBfAttachment"}},"acceptDate":{"type":"string","description":"Дата представления в банк","format":"date","readOnly":true,"example":"2018-12-31"},"valueDate":{"type":"string","description":"Дата принятия/возврата","format":"date","readOnly":true,"example":"2018-12-31"},"executorEmployeeName":{"type":"string","description":"Должность ответственного лица","readOnly":true,"example":"Ответственный исполнитель банка"},"executorName":{"type":"string","description":"Подпись ответсвенного лица","readOnly":true,"example":"Иванов Иван Иванович"},"failReasons":{"type":"array","description":"Причины отказа","readOnly":true,"items":{"properties":{"docField":{"type":"string","description":"Поле документа","example":"Номер контракта"},"reasonComment":{"type":"string","description":"Правило заполнения/замечания","example":"Указан неверно"},"reasonId":{"type":"string","description":"Код причины отказа","example":"PS_REST_REJ_PART_2-9"},"returnComment":{"type":"string","description":"Комментарий","example":"Комментарий"}},"description":"Причина отказа","title":"FintechFailReason"}}},"description":"Сведения о валютной операции"}}}},"400":{"description":"\"Ошибка в запросе или его жизненном цикле\"\n\n| **Cause** | **Message** | **Description** |\n| --------------------- | ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| DESERIALIZATION_FAULT | Неверный формат запроса | Данные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в response в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request запроса. Скорректируйте заполнение атрибутов и повторите запрос. |\n| VALIDATION_FAULT | Ошибка валидации | Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request запроса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"401":{"description":"\"Не авторизован\"\n\n | **Cause** | **Message** | **Description** |\n | ------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |\n | UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"403":{"description":"\"Запрещено\"\n\n | **Cause** | **Message** | **Description** |\n | ----------------------- | ----------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n | ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `CURRENCY_OPERATION_DETAILS`. Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"404":{"description":"\"Не найдено\"\n\n | **Cause** | **Message** | **Description** |\n | --------- | --------------------------------- | --------------- |\n | NOT_FOUND | Документ с указанным ID не найден | |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"429":{"description":"\"Превышен лимит запросов\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n | **Cause** | **Message** | **Description** |\n | ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n | UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}},"503":{"description":"\"Сервис временно недоступен\"\n\n | **Cause** | **Message** | **Description** |\n | ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n | UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"title":"Notice","type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"internalErrorCode":{"type":"string","description":"Внутренний код ошибки"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"title":"Check","type":"object","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}},"description":"Результат проверки"}}},"description":"Информационное сообщение об ошибке, сбое или предупреждение"}}}}}} />
---
# Dicts Overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/dicts/dicts-overview.md)
## Описание
## Методы для работы с банковскими справочниками
* [Получение справочников](/ru/sber-api/specifications/dicts/get-dictionary)
## Перечень справочников
| **Наименование справочника** | **Значение параметра `name`** |
| -------------------------------------------------------------| ------------------------------- |
| Справочник БИК | BIC |
| Справочник структур национальных клиринговых кодов | ClearingStructure |
| Справочник стран | Country |
| Справочник валют | CurDict |
| Справочник типов пластиковых карт ЗП проект | MzpCardType |
| Справочник цифровых значений видов зачислений | SalType |
| Международный справочник банков | SwiftBic |
| Справочник Коды видов валютных операций | VOCodes |
## Формат справочников
### BIC — справочник БИК \{#bic-spravochnik-bik2}
| **Наименование** | **Описание** | **Пример** |
| ------------------- | ---------------------------------------- | ------------------------------- |
| zipcode(String) | Индекс | 109240 |
| datech(Date) | Дата контроля | 1970-01-01 |
| address(String) | Адрес | ул Высоцкого, 4 |
| city(String) | Город | Г. Москва |
| corrAccount(String) | Корр. счет | 30101810600000000754 |
| tnp(String) | Тип населенного пункта | Г |
| name(String) | Наименование банка | КУ АО "ЗЕРНОБАНК"- ГК "АСВ" |
| type(String) | Флаг «Участие в электронных расчетах» 0 |
| bic(String) | БИК банка | 040173754 |
| cityOrig(String) | Населенный пункт | Москва |
| status(String) | Статус | ЛИКВ |
**Пример записи справочника**
```json
{
"zipcode": "350000",
"datech": null,
"address": "ул Фестивальная, 1",
"city": "Г. Краснодар",
"corrAccount": "30101810203490000724",
"tnp": "Г",
"name": "ФИЛИАЛ ООО КБ \"СОЮЗНЫЙ\" В Г. КРАСНОДАРЕ",
"type": "4",
"bic": "040349724",
"cityOrig": "Краснодар",
"status": null
}
```
### ClearingStructure — справочник структур национальных клиринговых кодов \{#clearing-structure-spravochnik-struktur-natsionalnyh-kliringovyh-kodov2}
| **Наименование** | **Описание** | **Пример** |
| ---------------------- | -------------------------------------------------------- | ------------------------------ |
| countryCode(String) | Код страны | CH |
| countryIso(String) | ISO код страны | CH |
| countryNameRus(String) | Наименование страны на русском языке | null |
| format(String) | Формат национального клирингового кода | 6!n |
| fullName(String) | Наименование национального клирингового кода | Swiss Clearing Code (SIC code) |
| name(String) | Сокращенное наименование национального клирингового кода | Swiss Clearing Code (SIC code) |
| note(String ) | Обозначение национального клирингового кода | SW |
**Пример записи справочника**
```json
{
"note": "RU",
"countryIso": "RU",
"countryCode": "RU",
"format": "9!n",
"name": "Банковский идентификационный код (БИК)",
"fullName": "Банковский идентификационный код (БИК)",
"countryNameRus": null
}
```
### Country — справочник стран \{#country-spravochnik-stran2}
| **Наименование** | **Описание** | **Пример** |
| ----------------- | --------------------------- | --------------------------------------------- |
| mnem03(String) | 3-символьный код | DZA |
| code(String) | Цифровой код | 012 |
| nameInt(String) | Международное наименование | ALGERIA |
| mnem02(String) | 2-символьный код | DZ |
| name(String) | Наименование | Алжирская Народная Демократическая Республика |
| nameShort(String) | Краткое наименование страны | АЛЖИР |
**Пример записи справочника**
```json
{
"mnem03": "EGY",
"code": "818",
"nameInt": "EGYPT",
"mnem02": "EG",
"name": "Арабская Республика Египет",
"nameShort": "ЕГИПЕТ"
}
```
### CurDict — справочник валют \{#cur-dict-spravochnik-valyut2}
| **Наименование** | **Описание** | **Пример** |
| -------------------- | -------------------------------------------------- | -------------------- |
| name(String) | Наименование валюты | АВСТРАЛИЙСКИЙ ДОЛЛАР |
| code(String) | Код валюты (цифровой) | 036 |
| isoCode(String) | ISO код валюты | AUD |
| fractDigits(Integer) | Количество знаков дробных единиц в 1 целой единице | 2 |
**Пример записи справочника**
```json
{
"name": "КАНАДСКИЙ ДОЛЛАР",
"code": "124",
"isoCode": "CAD",
"fractDigits": 2
}
```
### MzpCardType — справочник типов пластиковых карт ЗП проект \{#mzp-card-type-spravochnik-tipov-plastikovyh-kart-zp-proekt2}
| **Наименование** | **Описание** | **Пример** |
| ---------------------------- | ---------------------------- | ------------------------- |
| extendedCode(String) | Код карты | 111754.Z0.810.00.0.1 |
| peopleGroupCode(String) | Код категории населения | 207 |
| bonusProgramCode(String) | Код бонусной программы | 00 |
| depositTypeCode1C(String) | Код вида вклада 1C | 52 |
| depositSubTypeCode1C(String) | Код подвида вклада 1C | 6 |
| typeName(String) | Вид карты | МИР Классическая |
| uniqueDesign(Boolean) | Индивидуальный дизайн | true |
**Пример записи справочника**
```json
{
"extendedCode": "111754.Z0.810.00.0.1",
"peopleGroupCode":"207",
"bonusProgramCode":"00",
"depositTypeCode1C":"52",
"depositSubTypeCode1C":"6",
"typeName":"МИР Классическая",
"uniqueDesign": true
}
```
### SalType — справочник цифровых значений видов зачислений \{#sal-type-spravochnik-tsifrovyh-znacheniy-vidov-zachisleniy2}
| **Наименование** | **Описание** | **Пример** |
| ------------------- | ----------------- | ----------------------- |
| description(String) | Описание | Перевод по договору ГПХ |
| code(String) | Цифровое значение | 49 |
**Пример записи справочника**
```json
{
"description": "юридическое лицо или его филиал",
"code": "1"
}
```
### SwiftBic — справочник цифровых значений видов зачислений \{#swift-bic-spravochnik-tsifrovyh-znacheniy-vidov-zachisleniy2}
| **Наименование** | **Описание** | **Пример** |
| ------------------------ | ---------------------------------- | --------------------------------------- |
| zip | Zip код | 13022 KUWA |
| address(String) | Адрес | OPPOSITE PUBLIC LIBRARY |
| bicInt(String) | Международный БИК | AAACKWKWXXX |
| filialName(String) | Наименование филиала | Branch lxdMF |
| bicTypeNat(String) | Тип национального БИК | null |
| countryNameShort(String) | Краткое наименование страны | СОЕДИНЕННЫЕ ШТАТЫ АМЕРИКИ |
| modflag(String) | Статус | U |
| abonent(String) | Тип абонента | null |
| mnem03(String) | 3-символьный код | KWT |
| nationalId(String) | Национальный клиринговый код | 50 |
| bicNat(String) | Национальный БИК | null |
| countryCode(String) | Цифровой код | 414 |
| mnem02(String) | 2-символьный код | KW |
| name(String) | Наименование банка | ALMUZAINI EXCHANGE COMPANY KSC (CLOSED) |
| location(String) | Почтовый индекс, месторасположение | ALKHOBAR |
| countryNameInt(String) | Международное наименование | KUWAIT |
| bicTypeInt(String) | Тип международного БИК | SWIFT |
| state(String) | Республика/штат | null |
| place(String) | Населенный пункт | KUWAIT |
| account(String) | Корсчет | 42013457689100142604 |
**Пример записи справочника**
```json
{
"zip":"Zip Lkspx",
"address":"BankAddress qeTUG",
"bicInt":"SWIFTEPNPOI",
"filialName":"Branch JwHtB",
"bicTypeNat":null,
"countryNameShort":"СОЕДИНЕННЫЕ ШТАТЫ АМЕРИКИ",
"modflag":null,
"abonent":null,
"mnem03":"USA",
"nationalId":null,
"bicNat":null,
"countryCode":"840",
"mnem02":"US",
"name":"Открытое акционерное общество Сбербанк России",
"location":null,
"countryNameInt":null,
"bicTypeInt":"SWIFT",
"state":null,
"place":"City VqDOp",
"account":"86027683840122180969"
}
```
### VOCodes — справочник Коды видов валютных операций \{#vo-codes-spravochnik-kody-vidov-valyutnyh-operatsiy2}
| **Наименование** | **Описание** | **Пример** |
| ------------------- | ----------------------------------- | -------------------------------------------------------------------- |
| description(String) | Наименование вида валютной операции | Продажа резидентом иностранной валюты за валюту Российской Федерации |
| code(String) | Код вида валютной операции | 01010 |
**Пример записи справочника**
```json
{
"description": "Покупка резидентом иностранной валюты за валюту Российской Федерации",
"code": "01030"
}
```
---
# Метод для получения справочника
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/dicts/get-dictionary.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/dicts`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/dicts`
## Описание
Метод для получения справочника
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `PAY_DOC_RU`. Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"cause":{"type":"string","description":"Тип ошибки"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"type":"object","properties":{"level":{"type":"string","description":"Уровень результата"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","description":"Названия полей (при наличии связи с моделью)","items":{"type":"string"}}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}},"title":"ErrorResponse"}}},"description":"Справочник с указанным идентификатором не найден"},"429":{"description":"\"Превышен лимит запросов\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"503":{"description":"\"Сервис временно недоступен\"\n\n| **Cause** | **Message** | **Description** |\n| ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}}}} />
---
# Отмена электронной препроводительной ведомости
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/encashment/cancel-encashment-waybill.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/encashments/waybill/cancel`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/encashments/waybill/cancel`
## Описание
Отмена ЭлППВ доступна только до достижения статуса `RECEIVED_BY_COLLECTOR`.
После присвоения ЭлППВ статуса `RECEIVED_BY_COLLECTOR` отмена становится невозможной.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `ENCASHMENTS_REQUEST`.
Дайджест
Дайджест это текстовый документ, содержащий перечень и значения полей запроса, к которому он относится и предназначенный для подписания ЭП. Сохраняйте порядок и количество полей дайджеста, как показано в примере ниже, иначе подписать его не получится.
| Наименование поля в дайджесте | Описание поля (информационно) | Пример |
|-------------------------------|-------------------------------|--------|
| `cancelPerson` | ФИО пользователя, запросившего отмену | |
| `comment` | Комментарий | |
| `externalId` | Внешний идентификатор описи (UUID) | |
Пример:
```json
cancelPerson=Петрова Мария Ивановна
comment=комментарий
externalId=c0d3d376-2952-45b0-8ebe-87320de77d32
```
Рекомендации по тестированию в песочнице
При тестировании создание электронной препроводительной ведомости в Песочнице соблюдайте правила:
* **Не нужно устанавливать промышленные сертификаты электронной подписи (ЭП)** — Песочница использует тестовые идентификаторы ЭП (certificateUuid).
* Все остальные поля запроса заполняйте произвольными данными (реквизиты, суммы) в соответствии с требованиями в документации.
## Сценарии тестирования
Для тестирования сценариев используйте **фиксированные** значения `certificateUuid`. При использовании любых других значений `certificateUuid` вернется ошибка `WORKFLOW_FAULT`.
**1.** Для отправки документа с единственной или двумя подписями передайте в объекте `digestSignatures` тестовые `certificateUuid` и `externalId`.
**Параметры:**
* bb014b5d-8159-40be-97c1-eafeed4a8c3d (единственная подпись)
* d5d4f811-f4d4-4205-a70f-58f772eeab72 (первая подпись)
* 4f29c8ef-b55d-43c7-a321-f2b1303a29cd (вторая подпись)
* fb2b92ee-f310-4d9b-9db5-176c3c7f414a (externalId)
**Статус в ответе:** `bankStatus: "SUCCESS"`
**Пример:**
```json
#Единственная подпись
"digestSignatures": [
\{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c3d",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
#Первая и вторая подпись
"digestSignatures": [
\{
"certificateUuid": "d5d4f811-f4d4-4205-a70f-58f772eeab72",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\},
\{
"certificateUuid": "4f29c8ef-b55d-43c7-a321-f2b1303a29cd",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
```
***
**2.** Чтобы получить ошибку при отмене ведомости в поле `base64Encoded` передать значение `INVALIDEDS`, а `certificateUuid` заполнить произвольно.
**Статус в ответе:** `bankStatus: "WORKFLOW_FAULT"`
**Пример:**
```json
"digestSignatures": [
{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c33",
"base64Encoded": "INVALIDEDS"
}
],
```
***
**3.** Для получения иных статусов используйте следующие тестовые идентификаторы:
| Передаваемое значение externalId | Возвращаемое значение bankStatus |
| :--- | :--- |
| `bb014b5d-8159-40be-97c1-eafeed4a8c3d` | `UNAVAILABLE_RESOURCE_EXCEPTION` |
| `f2f2463c-eb1a-427f-98db-100000000400` | `WORKFLOW_FAULT` |
| Любое другое валидное значение | `DATA_NOT_FOUND_EXCEPTION` |
---
# Создание электронной препроводительной ведомости
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/encashment/create-encashment-waybill.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/encashments/waybill`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/encashments/waybill`
## Описание
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `ENCASHMENTS_REQUEST`.
Дайджест
Дайджест это текстовый документ, содержащий перечень и значения полей запроса, к которому он относится и предназначенный для подписания ЭП. Сохраняйте порядок и количество полей дайджеста, как показано в примере ниже, иначе подписать его не получится.
| Наименование поля в дайджесте | Описание поля (информационно) | Пример |
|-------------------------------|-------------------------------|--------|
| `contactPhone` | Телефон контактного лица | |
| `creatorPerson` | ФИО создателя | |
| `date` | Дата препроводительной ведомости | |
| `externalId` | Внешний идентификатор описи (UUID) | |
| `fromName` | От кого | |
| `number` | Номер сумки | |
| `objectCode` | Код объекта (ИНК) | |
| `payeeInn` | ИНН получателя | |
| `payeeName` | Наименование получателя | |
| `payerBankBic` | БИК банка вносителя | |
| `payerBankName` | Наименование банка вносителя | |
| `sourceOfIncome` | Источник поступления | |
| `transKind` | Шифр документа (Вид операции) | |
| `TABLES` | | |
| `Table=currencyNominalValues` | Опись содержимого сумки по валютам и номиналам | currencyNominalValues |
| `cashType` | Тип валюты | |
| `currencyCode` | Цифровой код валюты | |
| `nominal` | Номинал | |
| `quantity` | Количество | |
| `Table=sumByAccounts` | Разбивка суммы сумки по лицевым счетам и символам | sumByAccounts |
| `account` | Номер лицевого счета зачисления | |
| `bankName` | Наименование банка зачисления | |
| `bic` | БИК банка зачисления | |
| `Table=sumBySymbols` | Сумма для зачисления на данный счет в разбивке по символам | sumBySymbols |
| `sum` | Сумма | |
| `symbol` | Кассовый символ | |
||# Разделитель||
Пример:
```json
contactPhone=+79991234567
creatorPerson=Петрова Мария Ивановна
date=2025-10-30
externalId=f57cf751-0dd0-4844-9f4a-f441452fc66e
fromName=ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ РОГА И КОПЫТА
number=64
objectCode=859707561048848759521282
payeeInn=5438603379
payeeName=ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ РОГА И КОПЫТА; Адрес:1_Адрес объекта по заявке 7245172782510899201; ИНК: 7245172782510899201
payerBankBic=047501602
payerBankName=Челябинское отделение №8597
sourceOfIncome=02 - Поступления от продажи товаров; 32 - Прочие поступления;
transKind=04
TABLES
Table=currencyNominalValues
cashType=BANKNOTES
currencyCode=810
nominal=5000.00
quantity=123456
#
cashType=BANKNOTES
currencyCode=810
nominal=1000.00
quantity=123456
#
cashType=BANKNOTES
currencyCode=810
nominal=2000.00
quantity=123456
#
cashType=COINS
currencyCode=810
nominal=5.00
quantity=123456
#
Table=sumByAccounts
account=40702810738000083369
bankName=ПАО Сбербанк
bic=044525225
Table=sumBySymbols
sum=617280000.00
symbol=02
#
sum=123456000.00
symbol=32
#
#
account=40702810738000083367
bankName=ПАО Сбербанк
bic=044525225
Table=sumBySymbols
sum=246912000.00
symbol=02
#
sum=617280.00
symbol=32
#
#
```
Рекомендации по тестированию в песочнице
При тестировании создания электронной препроводительной ведомости в Песочнице соблюдайте правила:
* **Не нужно устанавливать промышленные сертификаты электронной подписи (ЭП)** — Песочница использует тестовые идентификаторы ЭП (certificateUuid).
* Все остальные поля запроса заполняйте произвольными данными (реквизиты, суммы) в соответствии с требованиями в документации.
## Сценарии тестирования
Для тестирования сценариев используйте **фиксированные** значения `certificateUuid`. При использовании любых других значений `certificateUuid` вернется ошибка `WORKFLOW_FAULT`.
**1.** Чтобы создать неподписанную ведомость (черновик), отправьте запрос **без объекта `digestSignatures`**.
***
**2.** Для отправки документа с единственной или двумя подписями передайте в объекте `digestSignatures` тестовые `certificateUuid`.
**Параметры:**
* bb014b5d-8159-40be-97c1-eafeed4a8c3d (единственная подпись)
* d5d4f811-f4d4-4205-a70f-58f772eeab72 (первая подпись)
* 4f29c8ef-b55d-43c7-a321-f2b1303a29cd (вторая подпись)
**Статус в ответе:** `bankStatus: "SUCCESS"`
**Пример:**
```json
#Единственная подпись
"digestSignatures": [
\{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c3d",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
#Первая и вторая подпись
"digestSignatures": [
\{
"certificateUuid": "d5d4f811-f4d4-4205-a70f-58f772eeab72",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\},
\{
"certificateUuid": "4f29c8ef-b55d-43c7-a321-f2b1303a29cd",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
```
***
**3.** Чтобы получить ошибку при создании ведомости необходимо в поле `base64Encoded` передать значение `INVALIDEDS`, а `certificateUuid` заполнить произвольно.
**Статус в ответе:** `bankStatus: "WORKFLOW_FAULT"`
**Пример:**
```json
"digestSignatures": [
{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c33",
"base64Encoded": "INVALIDEDS"
}
],
```
***
**4.** Для получения иных статусов используйте следующие тестовые идентификаторы:
| Передаваемое значение externalId | Возвращаемое значение bankStatus |
| :--- | :--- |
| `bb014b5d-8159-40be-97c1-eafeed4a8c3d` | `UNAVAILABLE_RESOURCE_EXCEPTION` |
| `2dddbfbe-d24a-498f-8e43-2d70b940e95f` | `WORKFLOW_FAULT` |
---
# Получение списка договоров инкассации
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/encashment/get-encashment-contracts.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/encashments/contracts`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/encashments/contracts`
## Описание
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `ENCASHMENTS_REQUEST`.
Рекомендации по тестированию в песочнице
## Сценарии тестирования \{#stsenarii-testirovaniya}
Для тестирования сценариев используйте **фиксированные** значения `page`, `isActual`.
**1.** Чтобы получить положительный ответ со всеми договорами, нужно в поле `page` передать значение от `1` до `10`.
***
**2.** Чтобы получить положительный ответ с действующими договорами, нужно в поле `page` передать значение от `1` до `10` и в поле `isActual` передать значение `true`.
***
**3.** Чтобы получить положительный ответ с не действующими договорами, нужно в поле `page` передать значение от `1` до `10` и в поле `isActual` передать значение `false`.
***
**4.** Чтобы получить положительный ответ с договорами за период, нужно в поле `page` передать значение от `1` до `10`, в поле `beginDateFrom` передать значение дату не позднее текущей и в поле `beginDateTo` любую дату.
***
**5.** Чтобы получить ошибку "У вас недостаточно прав для совершения операции.", нужно в поле `page` передать значение `88`.
**Причина в ответе:** `"cause": "ACTION_ACCESS_EXCEPTION"`
***
**6.** Чтобы получить ошибку "Запрос списка договоров инкассации доступен только по собственной организации.", нужно в поле `page` передать значение `98`.
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**7.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в поле `page` передать значение `500`.
**Причина в ответе:** `"cause": "UNAVAILABLE_RESOURCE_EXCEPTION"`
***
**8.** Чтобы получить ошибку "Договоры не найдены.", нужно в поле `page` передать значение > `10`.
**Причина в ответе:** `"cause": "DATA_NOT_FOUND_EXCEPTION"`
---
# Запрос информации по объекту инкассации
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/encashment/get-encashment-object.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/encashments/object`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/encashments/object`
## Описание
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `ENCASHMENTS_REQUEST`.
Рекомендации по тестированию в песочнице
## Сценарии тестирования \{#stsenarii-testirovaniya}
Для тестирования сценариев используйте **фиксированные** значения `ino`.
**1.** Чтобы получить положительный ответ с одним счетом, нужно в поле `ino` передать значение `3325355`.
***
**2.** Чтобы получить положительный ответ с несколькими счетами, нужно в поле `ino` передать значение `3325356`.
***
**3.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в поле `ino` передать значение `500`.
**Причина в ответе:** `"cause": "UNAVAILABLE_RESOURCE_EXCEPTION"`
***
**4.** Чтобы получить ошибку "Найдено более одного объекта.", нужно в поле `ino` передать значение `400`.
**Причина в ответе:** `"cause": "VALIDATION_FAULT"`
***
**5.** Чтобы получить ошибку "Объект не найден.", нужно в поле `ino` передать произвольное значение.
**Причина в ответе:** `"cause": "DATA_NOT_FOUND_EXCEPTION"`
---
# Запрос списка объектов по договору инкассации
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/encashment/get-encashment-objects-by-contract.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/encashments/contracts/{contractId}/objects`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/encashments/contracts/{contractId}/objects`
## Описание
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `ENCASHMENTS_REQUEST`.
Рекомендации по тестированию в песочнице
## Сценарии тестирования \{#stsenarii-testirovaniya}
Для тестирования сценариев используйте **фиксированные** значения `page`, `isActual`.
**1.** Чтобы получить положительный ответ со всеми договорами, нужно в поле `page` передать значение от `1` до `10`.
***
**2.** Чтобы получить положительный ответ с действующими договорами, нужно в поле `page` передать значение от `1` до `10` и в поле `isActual` передать значение `true`.
***
**3.** Чтобы получить положительный ответ с не действующими договорами, нужно в поле `page` передать значение от `1` до `10` и в поле `isActual` передать значение `false`.
***
**4.** Чтобы получить положительный ответ с договорами за период, нужно в поле `page` передать значение от `1` до `10`, в поле `beginDateFrom` передать значение дату не позднее текущей и в поле `beginDateTo` любую дату.
***
**5.** Чтобы получить ошибку "У вас недостаточно прав для совершения операции.", нужно в поле `page` передать значение `88`.
**Причина в ответе:** `"cause": "ACTION_ACCESS_EXCEPTION"`
***
**6.** Чтобы получить ошибку "Запрос списка объектов по договору инкассации доступен только по собственной организации.", нужно в поле `page` передать значение `98`.
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**7.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в поле `page` передать значение `500`.
**Причина в ответе:** `"cause": "UNAVAILABLE_RESOURCE_EXCEPTION"`
***
**8.** Чтобы получить ошибку "Объект не найден.", нужно в поле `page` передать значение > `10`.
**Причина в ответе:** `"cause": "DATA_NOT_FOUND_EXCEPTION"`
---
# Получение статуса Электронной препроводительной ведомости
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/encashment/get-encashment-waybill-state.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/encashments/waybill/{externalId}/state`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/encashments/waybill/{externalId}/state`
## Описание
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `ENCASHMENTS_REQUEST`.
Статусы
| bankStatus | Наименование статуса | Назначение кода состояния |
| :--- | :--- | :--- |
| **Промежуточные статусы/Продолжать опрашивать** | | |
| `ACCEPTED` | Принят | Электронный документ принят Банком |
| `IN_PROCESS` | Обрабатывается | Электронный документ был принят к обработке в АБС Банка |
| `CREATED` | Создан | Электронный документ создан на стороне Банка |
| `RECEIVED_BY_COLLECTOR` | Получена инкассатором | Сумка получена инкассатором для дальнейшей передачи в КЦ |
| `RECEIVED_BY_CC` | Получена в КЦ | Сумка получена КЦ для дальнейшего пересчета и подписания |
| **Окончательные (Не успешные) статусы/Прекратить опрос** | | |
| `REJECTED_BY_CLIENT` | Отменена клиентом | Документ был отменен клиентом |
| **Окончательные (Успешные) статусы/Прекратить опрос** | | |
| `COMPLETED` | Исполнена | Пересчитана и подписана бухгалтером |
| `UNCOMPLETED` | Не исполнена | Сумка не сдана инкассатором. Отсутствует при приеме в КЦ (необходимо обратиться в Банк) |
Рекомендации по тестированию в песочнице
При получении статуса ЭлППВ в песочнице, ответ зависит от переданного параметра `externalId`. Для симуляции различных сценариев используйте следующие тестовые идентификаторы:
| Передаваемое значение `externalId` | Возвращаемое значение `bankStatus` |
| :----------------------------------- | :---------------------------------- |
| `d6177171-664d-4440-8bbb-c5065272ec6e` | `CREATED` |
| `a2e6818e-a7e9-4c26-8010-8c7080716446` | `REJECTED_BY_CLIENT` |
| `09fa985c-858a-4c6f-b78c-b5b8ba62b720` | `COMPLETED` |
| `336ff88e-01b5-4c2a-85c5-8a427bd4fc0b` | `UNAVAILABLE_RESOURCE_EXCEPTION` |
| Любое другое валидное значение | `DATA_NOT_FOUND_EXCEPTION` |
---
# Запрос детальной формы ЭлППВ
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/encashment/get-encashment-waybill.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/encashments/waybill/{externalId}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/encashments/waybill/{externalId}`
## Описание
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `ENCASHMENTS_REQUEST`.
Рекомендации по тестированию в песочнице
При получении детальной формы ЭлППВ в песочнице, ответ зависит от переданного параметра `externalId`. Для симуляции различных сценариев используйте следующие тестовые идентификаторы:
| Передаваемое значение `externalId` | Возвращаемое значение `bankStatus` |
| :----------------------------------- | :---------------------------------- |
| `d6177171-664d-4440-8bbb-c5065272ec6e` | `CREATED` |
| `8dc2e3ef-15a3-43f3-90e5-d2f71fb52dd4` | `REJECTED_BY_CLIENT` |
| `336ff88e-01b5-4c2a-85c5-8a427bd4fc0b` | `UNAVAILABLE_RESOURCE_EXCEPTION` |
| Любое другое валидное значение | `DATA_NOT_FOUND_EXCEPTION` |
---
# Overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/encashment/overview.md)
## Описание
API по инкассации
---
# Создание запроса на ссылку для скачивания файла
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/files/create-download-urls.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/files/download`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/files/download`
## Описание
Запрос позволяет запустить процесс подготовки ссылки для скачивания ранее загруженного в Банк файла.
Для запуска процесса подготовки ссылки необходимо отправить POST-запрос `/fintech/api/v1/files/download` с токеном доступа (*access\_token*) пользователя в параметре *Authorization* заголовка и идентификаторами файлов (*fileId*).
В параметре scope ссылки авторизации пользователя должен быть указан сервис `FILES` для получения доступа к этому запросу.
Рекомендации по тестированию в песочнице
При отправке запроса на создание запроса на ссылку для скачивания файла в песочнице успешный ответ формируется на основе параметров запроса.
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `FILES`. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"description":"Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1003","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNAUTHORIZED"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Ошибка авторизации по Access Token 3513f959-bbd5-490a-9f9f-67fb7380fae5-2"}},"title":"Notice"}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"description":"Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1003","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNAUTHORIZED"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Ошибка авторизации по Access Token 3513f959-bbd5-490a-9f9f-67fb7380fae5-2"}},"title":"Notice"}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}}},"429":{"description":"Too Many Requests\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"description":"Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1003","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNAUTHORIZED"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Ошибка авторизации по Access Token 3513f959-bbd5-490a-9f9f-67fb7380fae5-2"}},"title":"Notice"}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}}},"500":{"description":"Internal Server Error\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"description":"Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1003","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNAUTHORIZED"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Ошибка авторизации по Access Token 3513f959-bbd5-490a-9f9f-67fb7380fae5-2"}},"title":"Notice"}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}}},"502":{"description":"Bad Gateway","content":{"application/json":{"schema":{"description":"Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1003","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNAUTHORIZED"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Ошибка авторизации по Access Token 3513f959-bbd5-490a-9f9f-67fb7380fae5-2"}},"title":"Notice"}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}}}}} />
---
# Запрос ссылки на загрузку файла в Банк
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/files/create-upload-url.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/files/upload`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/files/upload`
## Описание
Запрос позволяет получить ссылку для загрузки вашего файла на платформу Банка.
Для получения статуса необходимо отправить POST-запрос `/fintech/api/v1/files/upload` с токеном доступа (**access\_token**) пользователя в параметре **Authorization** заголовка и параметрами загружаемого файла в теле.
В параметре scope ссылки авторизации пользователя должен быть указан сервис `FILES` для получения доступа к этому запросу.
Рекомендации по тестированию в песочнице
При отправке запроса на получение ссылки на загрузку файла в Банк в песочнице успешный ответ формируется на основе параметров запроса.
О подписании дайджеста документа [подробно рассказали в соответствующем разделе документации](/ru/sber-api/start/eds-in-api#signing).","type":"object","required":["base64Encoded","certificateUuid"],"properties":{"base64Encoded":{"description":"Значение электронной подписи (ЭП), закодированное в Base64.","example":"HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w==","type":"string","format":"base64"},"certificateUuid":{"description":"Уникальный идентификатор сертификата, использованного при создании ЭП.","example":"0eec6752-30df-4905-979b-da0f4e30e239","type":"string","format":"uuid"}},"title":"DigestSignature"},"subType":{"description":"Строковое наименование подтипа документа/справочника.","example":"InternalControlStatement","type":"string","minLength":1,"maxLength":100},"type":{"description":"'Строковое наименование типа документа/справочника.'\n- DOC — используется для всех типов файлов (pdf, jpeg, jpg, png, tiff, tif, pcx, txt, doc, docx, rar, zip, xls, xlsx).\n- DICT — для словарей или специальных объектов.\n- FILE — универсальный формат для любого прикрепляемого файла.\n","example":"DOC","type":"string","minLength":1,"maxLength":20,"enum":["DOC","DICT","FILE"],"title":"Type"}},"title":"FileUploadRequest"}}}}} />
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `FILES`. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"description":"Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1003","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNAUTHORIZED"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Ошибка авторизации по Access Token 3513f959-bbd5-490a-9f9f-67fb7380fae5-2"}},"title":"Notice"}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}}},"429":{"description":"Too Many Requests\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"description":"Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1003","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNAUTHORIZED"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Ошибка авторизации по Access Token 3513f959-bbd5-490a-9f9f-67fb7380fae5-2"}},"title":"Notice"}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}}},"500":{"description":"Internal Server Error\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"description":"Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1003","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNAUTHORIZED"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Ошибка авторизации по Access Token 3513f959-bbd5-490a-9f9f-67fb7380fae5-2"}},"title":"Notice"}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}}},"502":{"description":"Bad Gateway","content":{"application/json":{"schema":{"description":"Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1003","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNAUTHORIZED"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Ошибка авторизации по Access Token 3513f959-bbd5-490a-9f9f-67fb7380fae5-2"}},"title":"Notice"}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}}}}} />
---
# Files Overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/files/files-overview.md)
## Описание
## Сервис предназначен для работы с файлами.
* [Запрос ссылки для загрузки файла](/ru/sber-api/specifications/files/create-upload-url)
* [Получение статуса загрузки файла](/ru/sber-api/specifications/files/get-upload-state)
* [Создание запроса ссылки для скачивания файла](/ru/sber-api/specifications/files/create-download-urls)
* [Получение статуса готовности файла](/ru/sber-api/specifications/files/get-download-states)
* [Получение ссылки для загрузки печатной формы](/ru/sber-api/specifications/files/task-for-download)
## API URLs
* Тестовый контур: `https://iftfintech.testsbi.sberbank.ru:9443`
* Промышленный контур: `https://fintech.sberbank.ru:9443`
:::note
Обратите внимание, что для успешного выполнения запросов требуется наличие установленного TLS-сертификата на платформе.
:::
---
# Получение статуса готовности файла
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/files/get-download-states.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/files/downloadState`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/files/downloadState`
## Описание
Запрос позволяет получить статус о готовности файла для скачивания.
Для получения статуса необходимо отправить POST-запрос `/fintech/api/v1/files/downloadState` с токеном доступа (*access\_token*) пользователя в параметре *Authorization* заголовка и идентификаторами файлов (*fileId*).
В параметре scope ссылки авторизации пользователя должен быть указан сервис `FILES` для получения доступа к этому запросу.
Рекомендации по тестированию в песочнице
При отправке запроса на получение статуса готовности файла в песочнице успешный ответ формируется на основе параметров запроса.
---
# Получение статуса загрузки файла в Банк
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/files/get-upload-state.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/files/upload/{fileId}/state`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/files/upload/{fileId}/state`
## Описание
Запрос позволяет получить статус загрузки вашего файла на платформу Банка.
Для получения статуса необходимо отправить GET-запрос `/fintech/api/v1/files/upload/{fileId}/state` с токеном доступа (*access\_token*) пользователя в параметре **Authorization** заголовка и идентификатором (**fileId**) документа в path-параметре.
В параметре scope ссылки авторизации пользователя должен быть указан сервис `FILES` для получения доступа к этому запросу.
Рекомендации по тестированию в песочнице
При отправке запроса на получение статуса загрузки файла в Банк в песочнице успешный ответ формируется на основе параметров запроса.
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `FILES`. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"description":"Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1003","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNAUTHORIZED"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Ошибка авторизации по Access Token 3513f959-bbd5-490a-9f9f-67fb7380fae5-2"}},"title":"Notice"}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"description":"Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1003","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNAUTHORIZED"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Ошибка авторизации по Access Token 3513f959-bbd5-490a-9f9f-67fb7380fae5-2"}},"title":"Notice"}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}}},"429":{"description":"Too Many Requests\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"description":"Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1003","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNAUTHORIZED"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Ошибка авторизации по Access Token 3513f959-bbd5-490a-9f9f-67fb7380fae5-2"}},"title":"Notice"}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}}},"500":{"description":"Internal Server Error\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"description":"Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1003","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNAUTHORIZED"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Ошибка авторизации по Access Token 3513f959-bbd5-490a-9f9f-67fb7380fae5-2"}},"title":"Notice"}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}}},"502":{"description":"Bad Gateway","content":{"application/json":{"schema":{"description":"Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1003","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNAUTHORIZED"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Ошибка авторизации по Access Token 3513f959-bbd5-490a-9f9f-67fb7380fae5-2"}},"title":"Notice"}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}}}}} />
---
# Получение ссылки на скачивание
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/files/task-for-download.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/files/tasks-for-download/{taskId}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/files/tasks-for-download/{taskId}`
## Описание
Запрос позволяет получить ссылку для загрузки печатной формы файла выписки по ранее сформированной задаче.
Для получения ссылки на загрузку необходимо отправить GET-запрос `/fintech/api/v1/files/tasks-for-download/{taskId}` с токеном доступа (*access\_token*) пользователя в параметре **Authorization** заголовка и идентификатором задачи (**taskId**) в path-параметре.
В параметре scope ссылки авторизации пользователя должен быть указан сервис `FILES` для получения доступа к этому запросу.
:::note
После получения ответа 200 OK со статусом готовности файла к скачиванию `EXECUTED`, платформа осуществляет скачивание файла по предоставленному URL.
Обратите внимание, что для успешного выполнения этого запроса требуется наличие установленного TLS-сертификата на платформе.
Загруженный файл сохраните в базе данных платформы. Это действие позволит организовать эффективное хранение и управление доступом к файлам.
Платформа предоставляет пользователям доступ к файлам из своей базы данных. Это гарантирует, что пользователи не столкнутся с проблемами доступа, связанными с отсутствием TLS-сертификата на их устройствах.
:::
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `FILES`. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"415":{"description":"В соответствии с текущими настройками сервиса с clientId=%s необходимо использовать запрос в формате JWS Compact Serialization","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"500":{"description":"Internal Server Error\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}}}} />
---
# Создать бенефициара
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/add-beneficiarylite.md)
## Адрес запроса
- Тестовый контур: **POST** `https://iftfintech.testsbi.sberbank.ru:9443/v1/nominal-account/beneficiaries/create`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/v1/nominal-account/beneficiaries/create`
## Описание
Запрос отправляет анкету бенефициара для добавления в реестр бенефициаров номинального счета
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
В случае открытия клиентом нескольких номинальных счетов заголовок **nominalAccountId** является обяательным к заполнению
После успешного вызова метода **POST /beneficiaries/create** бенефициар будет переведен в статус **ACTIVATED** асинхронно. Процесс активации бенефициара занимает в среднем от 5 до 15 минут
Значение атрибута **beneficiaryId** в запросе должно быть уникально относительно **beneficiaryId** ранее созданных бенефициаров
Схема блока **data** должна соответствовать типу бенефициара (**beneficiaryType**)
БИК банка счета бенефициара в запросе (**account.bankBIC**) должен соответствовать номеру счета бенефициара в запросе (**account.accountNumber**). Подробности правил соответствия по [ссылке](https://normativ.kontur.ru/document?moduleId=1\&documentId=24444\&ysclid=m3ygncn8z6925372348)
Значение ИНН бенефициара (**inn**) в запросе должно быть уникально относительно ранее созданных бенефициаров
Владелец номинального счета не может стать его бенефициаром
---
# Запросить детали операции
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/cash-flow-event.md)
## Адрес запроса
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/v1/nominal-account/transactions/{id}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/v1/nominal-account/transactions/{id}`
## Описание
Метод возвращает детали операции по ее **id**
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
В случае открытия клиентом нескольких номинальных счетов заголовок **nominalAccountId** является обяательным к заполнению
---
# Запросить операции зачисления
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/cash-flow-events-incomes-by-id-nominal-accounts.md)
## Адрес запроса
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/v1/nominal-account/transactions/incomes`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/v1/nominal-account/transactions/incomes`
## Описание
Метод возвращает список операций зачисления по номинальному счету, начиная с дня Х на заданную глубину (за исключением операций возврата). Для получения списка операций возврата по номинальному счету необходимо воспользоваться методом **GET/transactions/refunds**
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
В случае открытия клиентом нескольких номинальных счетов заголовок **nominalAccountId** является обяательным к заполнению
Значения параметров **startDate** и **endDate** фильтруют события зачисления по дате создания транзакции
Значение параметра **pageNumber** в запросе позволит отобразить в ответе необходимую страницу с данными
Значение параметра **pageSize** в запросе позволит отобразить в ответе необходимое количество записей на странице
---
# Прервать сделку
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/complete-smart-contract.md)
## Адрес запроса
- Тестовый контур: **POST** `https://iftfintech.testsbi.sberbank.ru:9443/v1/nominal-account/smart-contracts/completion`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/v1/nominal-account/smart-contracts/completion`
## Описание
После того, как выполнены все расчеты по сделке (смарт-контракту), или стороны пришли к согласию завершить сделку (смарт-контракт) преждевременно, необходимо выполнить запрос прерывания сделки (смарт-контракта)
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
В случае открытия клиентом нескольких номинальных счетов заголовок **nominalAccountId** является обяательным к заполнению
Данный метод вызывается в случае, если необходимо завершить сделку (смарт-контракт), у которой не израсходована сумма захолдированных средств (метод используется для расхолдирования средств по неисполненным или частично исполненным сделкам (смарт-контрактам) в статусе **RUN**)
Бенефициар, в отношении которого выполняется прерывание сделки (смарт-контракта), должен быть активным
---
# Исполнить сделку
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/confirm-smart-contract-step.md)
## Адрес запроса
- Тестовый контур: **POST** `https://iftfintech.testsbi.sberbank.ru:9443/v1/nominal-account/smart-contracts/confirmstep`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/v1/nominal-account/smart-contracts/confirmstep`
## Описание
Метод предназначен для проведения оплаты ранее созданной сделки (смарт-контракта) (выплата исполнителю сделки (смарт-контракта), оплата комиссии площадки, оплата налогов). В запросе можно отправить на исполнение сразу несколько транзакций (в рамках одной сделки (смарт-контракта))
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
В случае открытия клиентом нескольких номинальных счетов заголовок **nominalAccountId** является обяательным к заполнению
Транзакции в рамках одного запроса обрабатываются независимо. Ошибка при выполнении одной или нескольких транзакций не влияет на обработку остальных. Неудача исполнения одной транзакции не отменяет исполнения других. Успешно исполненные транзакции будут завершены
Если сумма всех транзакций в запросе равна сумме захолдированных под сделку (смарт-контракт) средств, то после исполнения всех транзакций в рамках данного запроса, сделка (смарт-контракт) автоматически завершится (перейдет в статус **"DONE"**)
Данные отправителя в запросе (блок **payer**) должны соответствовать данным бенефициара. Данные всех блоков **payer** в запросе должны быть идентичны. Бенефициар в рамках запроса должен быть активным (в статусе **"ACTIVATED"**)
Значение атрибута **amount** каждой транзакции в запросе должно быть больше 0
Сумма всех транзакций в запросе должа быть меньше или равна сумме захолдированных средств под сделку (смарт-контракт)
Сделка (смарт-контракт), в рамках которой выполняется исполнение должна быть активной (в статусе **"RUN"**)
Тип транзакции (**transactionType**) в запросе = **FEE** - устанавливается для формирования платежа по перечислению комиссии на расчетный счет площадки. При указанном типе транзакции данные получателя средств (блок **payee**) должны соответствовать данным владельца номинального счета (данные в **account** - расчетный счет, который принадлежит владельцу номинального счета, в любом банке)
Тип транзакции (**transactionType**) в запросе = **PAYMENT** - устанавливается для формирования платежа по перечислению средств в пользу исполнителя сделки (смарт-контракта)
Тип транзакции (**transactionType**) в запросе = **TAX** - устанавливается для формирования платежа по перечислению средств в ФНС (налоговый платеж в пользу исполнителя сделки (смарт-контракта)). Для данного типа транзакции должен быть заполнен блок **tax** (реквизиты для налоговой)
Тип транзакции (**transactionType**) в запросе = **INTERNAL** - устанавливается для формирования платежа в рамках перевода средств между бенефициарами. Для данного типа транзакции должен быть заполнен блок **payee** в соответствии со схемой **beneficiaryPayee**
Значение атрибута **transactionId** в запросе для каждой транзакции должно быть уникально
ФИО владельца расчетного счета получателя средств должно полностью совпадать с ФИО получателя средств, указанном в блоке **payee**
Для перемещения средств между бенефициарами в рамках одного номинального счета в транзакции в объекте **payer** необходимо указать данные бенефициара отправителя средств, а в объекте **payee** необходимо указать данные бенефициара получателя (заполнить объект в соответствии со схемой **beneficiaryPayee**)
**validateSelfEmployed** - принимает значение false/true (по умолчанию - false) - выполнить проверку самозанятого
Параметр **kvd** (код вида дохода) - это поле 20 в платежном поручении. Порядок заполнения **kvd**: не заполняется, если получателем является индивидуальный предприниматель или юридическое лицо, так как этот код необходим только при перечислении денег физическим лицам для указания оснований удержаний по исполнительным документам (229-ФЗ). **kvd** заполняется: при перечислении заработной платы, отпускных, премий сотрудникам; при выплате самозанятым; в других случаях выплат физическим лицам (например, возмещение вреда здоровью) (см. 229-ФЗ ст. 99, ч. 1, 2 ст. 101)
Ответ на запрос **201 Created** подтверждает, что платеж прошел предварительные проверки (активность бенефициара и сделки, корректность суммы и т.д.) и принят в асинхронную обработку, но финальный статус требует проверки через вызовы методов **GET /beneficiaries/state/\{id} или GET /smart-contracts/\{id}**. Здесь возможны три негативных сценария: 1. Синхронный отказ (4xx) — транзакция не создана; 2. Отказ внутри банка (ответ на запрос будет 201, но GET запрос вернет ERROR); 3. Успешная отправка в сторонний банк (ответ на запрос будет 201 и GET запрос вернет DONE), однако при отказе банка получателя в приеме платежа позже инициируется отдельная транзакция возврата, хотя исходный платеж сохранит статус DONE.
#@&$’]+$","maxLength":250,"description":"ФИО для платежа","example":"И Кван Ё"},"orgName":{"type":"string","pattern":"^[А-Яа-яеЁA-Za-z0-9 \"№.+()-]{3,160}$","description":"Наименование организации","example":"ПАО Ромашки","title":"orgShortNameRuGet"},"inn":{"type":"string","pattern":"^[0-9]{12}$","description":"ИНН ФЛ","example":"774352898912"},"ogrnip":{"type":"string","pattern":"^3[0-9]{14}$","description":"ОГРНИП","example":"304500116000157"},"snils":{"type":"string","pattern":"^[0-9]{3}-[0-9]{3}-[0-9]{3} [0-9]{2}$","description":"Страховой номер индивидуального лицевого счета","example":"012-345-678 90","title":"snils"}},"additionalProperties":false,"title":"payerIP"},{"required":["beneficiaryId","typeCode","personName","inn"],"type":"object","description":"Реквизиты плательщика ФЛ","properties":{"beneficiaryId":{"type":"string","format":"uuid","pattern":"^[0-9a-fA-F-]{36}$","description":"Идентификатор","example":"74550e51-9e81-435d-864c-4b5e07d70e18","title":"id"},"typeCode":{"type":"string","pattern":"^FL$","default":"FL","description":"Тип участника FL","example":"FL"},"personName":{"type":"string","pattern":"^(?!.–)[^<>#@&$’]+$","maxLength":250,"description":"ФИО для платежа","example":"Коган-Константинопольский Константин Константинович"},"inn":{"type":"string","pattern":"^[0-9]{12}$","description":"ИНН ФЛ","example":"074352898912"},"snils":{"type":"string","pattern":"^[0-9]{3}-[0-9]{3}-[0-9]{3} [0-9]{2}$","description":"Страховой номер индивидуального лицевого счета","example":"012-345-678 90","title":"snils"}},"additionalProperties":false,"title":"payerFL"}],"title":"subjectPayerConfirmstep"},"payee":{"oneOf":[{"type":"object","required":["typeCode","personName","inn","account"],"description":"Общий набор данных для ИП","properties":{"typeCode":{"description":"Тип участника IP","type":"string","pattern":"^IP$","default":"IP","example":"IP"},"personName":{"type":"string","pattern":"^(?!.–)[^<>#@&$’]+$","maxLength":250,"description":"ФИО для платежа","example":"И Кван Ё"},"orgName":{"type":"string","pattern":"^[А-Яа-яеЁA-Za-z0-9 \"№.+()-]{3,160}$","description":"Наименование организации","example":"ПАО Ромашки","title":"orgShortNameRuGet"},"inn":{"type":"string","pattern":"^[0-9]{12}$","description":"ИНН ФЛ","example":"774352898912"},"ogrnip":{"type":"string","pattern":"^3[0-9]{14}$","description":"ОГРНИП","example":"304500116000157"},"snils":{"type":"string","pattern":"^[0-9]{3}-[0-9]{3}-[0-9]{3} [0-9]{2}$","description":"Страховой номер индивидуального лицевого счета","example":"012-345-678 90","title":"snils"},"account":{"required":["bankBIC","bankCorAccount","bankName","accountNumber"],"type":"object","description":"Данные расчетного счета","properties":{"accountNumber":{"type":"string","pattern":"^[0-9]{20,25}$","description":"номер расчетного счета","example":"40702810538000118319","title":"basisAccountNumber"},"bankBIC":{"type":"string","pattern":"^[0-9]{9}$","description":"БИК","example":"044525225"},"bankCorAccount":{"type":"string","pattern":"^[0-9]{20}$","description":"Корреспондентский счет","example":"30101810400000000225"},"bankName":{"type":"string","pattern":"^[А-ЯЁа-яеa-zA-Z][А-ЯЁа-яеa-zA-Z0-9 №N.,()\\\"#$%&\\'\\*{|}~\\[\\]\\-\\\\\\/]+$","maxLength":140,"description":"Наименование банка","example":"ПАО СБЕРБАНК"}},"additionalProperties":false,"title":"account"}},"additionalProperties":false,"title":"getIndividualEntrepreneur"},{"type":"object","required":["typeCode","personName","inn","account"],"description":"Общий набор данные для ФЛ","properties":{"typeCode":{"type":"string","pattern":"^FL$","default":"FL","description":"Тип участника FL","example":"FL"},"personName":{"type":"string","pattern":"^(?!.–)[^<>#@&$’]+$","maxLength":250,"description":"ФИО для платежа","example":"Коган-Константинопольский Константин Константинович"},"inn":{"type":"string","pattern":"^[0-9]{12}$","description":"ИНН ФЛ","example":"074352898912"},"snils":{"type":"string","pattern":"^[0-9]{3}-[0-9]{3}-[0-9]{3} [0-9]{2}$","description":"Страховой номер индивидуального лицевого счета","example":"012-345-678 90","title":"snils"},"account":{"required":["bankBIC","bankCorAccount","bankName","accountNumber"],"type":"object","description":"Данные расчетного счета","properties":{"accountNumber":{"type":"string","pattern":"^[0-9]{20,25}$","description":"номер расчетного счета","example":"40702810538000118319","title":"basisAccountNumber"},"bankBIC":{"type":"string","pattern":"^[0-9]{9}$","description":"БИК","example":"044525225"},"bankCorAccount":{"type":"string","pattern":"^[0-9]{20}$","description":"Корреспондентский счет","example":"30101810400000000225"},"bankName":{"type":"string","pattern":"^[А-ЯЁа-яеa-zA-Z][А-ЯЁа-яеa-zA-Z0-9 №N.,()\\\"#$%&\\'\\*{|}~\\[\\]\\-\\\\\\/]+$","maxLength":140,"description":"Наименование банка","example":"ПАО СБЕРБАНК"}},"additionalProperties":false,"title":"account"}},"additionalProperties":false,"title":"individualPost"},{"type":"object","required":["typeCode","orgName","inn","kpp","account"],"description":"Общая структура описания организации","properties":{"typeCode":{"type":"string","pattern":"^UL$","description":"Тип участника UL","default":"UL","example":"UL"},"orgName":{"type":"string","pattern":"^[А-Яа-яеЁ0-9 \"№.+()-]{3,160}$","description":"Наименование организации","example":"ПАО Ромашки","title":"orgShortNameRu"},"inn":{"type":"string","pattern":"^[0-9]{10}$","description":"ИНН ЮЛ","example":"0743528989"},"kpp":{"type":"string","pattern":"^[0-9]{9}$","description":"Код причины постановки на учет","example":"773101001","title":"kpp"},"ogrn":{"type":"string","pattern":"^[0-9]{13}$","description":"ОРГН","example":"1047796372711"},"account":{"required":["bankBIC","bankCorAccount","bankName","accountNumber"],"type":"object","description":"Данные расчетного счета","properties":{"accountNumber":{"type":"string","pattern":"^[0-9]{20,25}$","description":"номер расчетного счета","example":"40702810538000118319","title":"basisAccountNumber"},"bankBIC":{"type":"string","pattern":"^[0-9]{9}$","description":"БИК","example":"044525225"},"bankCorAccount":{"type":"string","pattern":"^[0-9]{20}$","description":"Корреспондентский счет","example":"30101810400000000225"},"bankName":{"type":"string","pattern":"^[А-ЯЁа-яеa-zA-Z][А-ЯЁа-яеa-zA-Z0-9 №N.,()\\\"#$%&\\'\\*{|}~\\[\\]\\-\\\\\\/]+$","maxLength":140,"description":"Наименование банка","example":"ПАО СБЕРБАНК"}},"additionalProperties":false,"title":"account"}},"additionalProperties":false,"title":"getOrganization"},{"type":"object","required":["typeCode","beneficiaryId"],"description":"Общий набор данные для получателя бенефициара","properties":{"typeCode":{"type":"string","pattern":"^BEN$","default":"BEN","description":"Тип участника BEN (бенефициар)","example":"BEN"},"beneficiaryId":{"type":"string","format":"uuid","pattern":"^[0-9a-fA-F-]{36}$","description":"Идентификатор бенефициара номинального счета, в пользу кого зачисляются средства","example":"99ee301b-8e06-4fd5-88d4-2ca5668294b1"}},"additionalProperties":false,"title":"beneficiaryPayee"}],"title":"subjectPayeeConfirmstep"},"amount":{"type":"integer","minimum":0,"maximum":100000000000,"description":"Cумма средств в копейках","example":20100,"title":"amount"},"currency":{"type":"string","enum":["RUB","RUR"],"description":"Валюта","example":"RUB","title":"currency"},"purpose":{"type":"string","pattern":"^(?!.--)[^<>#@&$’—\\u00A0]+$","maxLength":210,"description":"Назначение платежа","example":"Оплата по Договору поставки №23/04-2022 от 01.04.2022, включая НДС 20%","title":"purpose"},"kvd":{"description":"Код вида дохода","type":"string","pattern":"^[1-5]$","example":"1","title":"kvd"},"validateSelfEmployed":{"type":"boolean","description":"Выполнить проверку самозанятого (только для получателя ФЛ)","example":false,"title":"validateSelfEmployed"},"tax":{"type":"object","description":"налоговые реквизиты","required":["taxPayerInn","tax_101","tax_104","tax_105"],"properties":{"taxPayerInn":{"type":"string","pattern":"^[0-9]{12}$","description":"ИНН самозанятого (налогоплательщика), будет указан в платежном документе разделе \"ИНН Плательщика\"","example":"774352898912"},"tax_101":{"type":"string","pattern":"^[0-9]{2}$","description":"статус составителя расчетного документа (поле 101)","example":"01"},"tax_104":{"type":"string","pattern":"^[0-9]{20}$","description":"код бюджетной классификации (поле 104)","example":"18201061201010000510"},"tax_105":{"type":"string","pattern":"^[0-9]{1,8}$","description":"код ОКТМО (поле 105)","example":"60701000"},"tax_106":{"type":"string","pattern":"^([А-Я]{2}|0)$","description":"основание налогового платежа (поле 106)","example":"ТП"},"tax_107":{"type":"string","pattern":"(^([МС|КВ|ПЛ|ГД]{2})(\\.{1})([0-9]{2})(\\.{1})([0-9]{4}))$","description":"налоговый период МС.03.2025 или КВ.02.2025, или ПЛ.02.2025 или ГД.00.2025 (поле 107)","example":"МС.03.2025"},"tax_108":{"type":"string","pattern":"^[А-Я0-9]{1,15}$","description":"номер налогового документа (поле 108)","example":"ТР41797"},"tax_109":{"type":"string","pattern":"^20[0-9]{2}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$","description":"дата налогового документа (поле 109)","example":"2025-04-15"},"tax_uin":{"type":"string","pattern":"^[0-9]{4,25}$","description":"уникальный идентификатор налогового платежа","example":"18209997250163368008"}},"title":"tax"}},"additionalProperties":false,"title":"transaction"}}},"additionalProperties":false,"title":"stepconfirmation"},"agreement":{"type":"string","enum":["Клиент подтверждает, что операция совершается в соответствии с условиями Договора номинального счета"],"description":"Соглашение","example":"Клиент подтверждает, что операция совершается в соответствии с условиями Договора номинального счета","title":"agreement"}},"additionalProperties":false,"description":"Подписываемый payload"},"signature":{"type":"string","pattern":"^[A-Za-z0-9+/=]+$","maxLength":16000,"description":"Подпись над content","example":"MIIN9gYJKoZIhvcNAQcCoIIN5zCCDeMCAQExDDAKBggqhQMHAQECAjALBgkqhkiG9w0BBwGgggpKMIIFHDCCBMmgAwIBAgIQOyCK5f1GaIZJoFD6r6iDkzAKBggqhQMHAQEDAjCCAQoxGDAWBgUqhQNkARINMTIzNDU2Nzg5MDEyMzEaMBgGCCqFAwOBAwEBEgwwMDEyMzQ1Njc4OTAxLzAtBgNVBAkMJtGD0LsuINCh0YPRidGR0LLRgdC60LjQuSDQstCw0Lsg0LQuIDE4MQswCQYDVQQGEwJSVTEZMBcGA1UECAwQ0LMuINCc0L7RgdC60LLQsDEVMBMGA1UEBwwM0JzQvtGB0LrQstCwMSUwIwYDVQQKDBzQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4iMTswOQYDVQQDDDLQotC10YHRgtC+0LLRi9C5INCj0KYg0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjAeFw0xODA5MTIxMDE5MzBaFw0yMzA5MTIxMDI4NTVaMIIBCjEYMBYGBSqFA2QBEg0xMjM0NTY3ODkwMTIzMRowGAYIKoUDA4EDAQESDDAwMTIzNDU2Nzg5MDEvMC0GA1UECQwm0YPQuy4g0KHRg9GJ0ZHQstGB0LrQuNC5INCy0LDQuyDQtC4gMTgxCzAJBgNVBAYTAlJVMRkwFwYDVQQIDBDQsy4g0JzQvtGB0LrQstCwMRUwEwYDVQQHDAzQnNC+0YHQutCy0LAxJTAjBgNVBAoMHNCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIxOzA5BgNVBAMMMtCi0LXRgdGC0L7QstGL0Lkg0KPQpiDQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4iMGYwHwYIKoUDBwEBAQEwEwYHKoUDAgIjAQYIKoUDBwEBAgIDQwAEQJgf/alQzSGGMPRZBnKp1j1rwDOCBkY349whSrH4n7dW7KUttYGHtp3CLt/9CTNTnBgyrNdCLgml9DajpcHSIvCjggH+MIIB+jA2BgUqhQNkbwQtDCsi0JrRgNC40L/RgtC+0J/RgNC+IENTUCIgKNCy0LXRgNGB0LjRjyA0LjApMIIBIQYFKoUDZHAEggEWMIIBEgwrItCa0YDQuNC/0YLQvtCf0YDQviBDU1AiICjQstC10YDRgdC40Y8gNC4wKQxB0KPQtNC+0YHRgtC+0LLQtdGA0Y/RjtGJ0LjQuSDRhtC10L3RgtGAICLQmtGA0LjQv9GC0L7Qn9GA0L4g0KPQpiIMT9Ch0LXRgNGC0LjRhNC40LrQsNGCINGB0L7QvtGC0LLQtdGC0YHRgtCy0LjRjyDihJYg0KHQpC8wMDAtMDAwMCDQvtGCIDAwLjAwLjAwMDAMT9Ch0LXRgNGC0LjRhNC40LrQsNGCINGB0L7QvtGC0LLQtdGC0YHRgtCy0LjRjyDihJYg0KHQpC8wMDAtMDAwMCDQvtGCIDAwLjAwLjAwMDAwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJuFXvuB3E1ZB1Fjz77f2ix/yUQ8MBIGCSsGAQQBgjcVAQQFAgMBAAEwJQYDVR0gBB4wHDAIBgYqhQNkcQEwCAYGKoUDZHECMAYGBFUdIAAwIwYJKwYBBAGCNxUCBBYEFMjaZsu2l9I+yWcdwltkOqvcu89pMAoGCCqFAwcBAQMCA0EAPpXN2B+VvQmrc4L1BODyZhIygpsrA8xLwLNz+OcN1r2DyCctAcHs72VdrHf93dqdBOK/6AJ/hzYbz6x6KJwh/jCCBSYwggTToAMCAQICE3wAA9tSn+fyWo8tD/sAAQAD21IwCgYIKoUDBwEBAwIwggEKMRgwFgYFKoUDZAESDTEyMzQ1Njc4OTAxMjMxGjAYBggqhQMDgQMBARIMMDAxMjM0NTY3ODkwMS8wLQYDVQQJDCbRg9C7LiDQodGD0YnRkdCy0YHQutC40Lkg0LLQsNC7INC0LiAxODELMAkGA1UEBhMCUlUxGTAXBgNVBAgMENCzLiDQnNC+0YHQutCy0LAxFTATBgNVBAcMDNCc0L7RgdC60LLQsDElMCMGA1UECgwc0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjE7MDkGA1UEAwwy0KLQtdGB0YLQvtCy0YvQuSDQo9CmINCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIwHhcNMjExMDAxMTQyNTMxWhcNMjIwMTAxMTQzNTMxWjCBtjEYMBYGCCqFAwOBAwEBEgo2MTY1MTczNDA4MSAwHgYJKoZIhvcNAQkBFhFpaWNvbWV0YUB0ZWN0LmNvbTEvMC0GA1UEAwwm0JrQvtC80LXRgtCwINCY0LLQsNC9INCY0LLQsNC90L7QstC40YcxFTATBgNVBAoMDNCa0L7QvNC10YLQsDEjMCEGA1UEBwwa0KDQvtGB0YLQvtCyLdC90LAt0JTQvtC90YMxCzAJBgNVBAYTAlJVMGYwHwYIKoUDBwEBAQEwEwYHKoUDAgIkAAYIKoUDBwEBAgIDQwAEQFnrKMdW+QUgH8484b8cVBr3LQmikew2ZWUnfXpFzNi0yEfh/JM/autCt/YhmX9bAkYH86jCHq6J2RMk5VRJOPyjggJaMIICVjAPBgNVHQ8BAf8EBQMDB/AAMBMGA1UdJQQMMAoGCCsGAQUFBwMCMB0GA1UdDgQWBBR+BEDU3Eo8o2VJC0hT3Pi7FmBArTAfBgNVHSMEGDAWgBSbhV77gdxNWQdRY8++39osf8lEPDCCAQ8GA1UdHwSCAQYwggECMIH/oIH8oIH5hoG1aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC8hMDQyMiEwNDM1ITA0NDEhMDQ0MiEwNDNlITA0MzIhMDQ0YiEwNDM5JTIwITA0MjMhMDQyNiUyMCEwNDFlITA0MWUhMDQxZSUyMCEwMDIyITA0MWEhMDQyMCEwNDE4ITA0MWYhMDQyMiEwNDFlLSEwNDFmITA0MjAhMDQxZSEwMDIyKDEpLmNybIY/aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC90ZXN0Z29zdDIwMTIoMSkuY3JsMIHaBggrBgEFBQcBAQSBzTCByjBEBggrBgEFBQcwAoY4aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC9yb290MjAxOC5jcnQwPwYIKwYBBQUHMAGGM2h0dHA6Ly90ZXN0Z29zdDIwMTIuY3J5cHRvcHJvLnJ1L29jc3AyMDEyZy9vY3NwLnNyZjBBBggrBgEFBQcwAYY1aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvb2NzcDIwMTJnc3Qvb2NzcC5zcmYwCgYIKoUDBwEBAwIDQQA2aueOfec/1xFA/NOfciGpRGYPr06YaDfZRdx0jbiU2fubJgSjB/MvZMsrOrIPGSK9DBN9pk/cOqDQ3f20TottMYIDczCCA28CAQEwggEjMIIBCjEYMBYGBSqFA2QBEg0xMjM0NTY3ODkwMTIzMRowGAYIKoUDA4EDAQESDDAwMTIzNDU2Nzg5MDEvMC0GA1UECQwm0YPQuy4g0KHRg9GJ0ZHQstGB0LrQuNC5INCy0LDQuyDQtC4gMTgxCzAJBgNVBAYTAlJVMRkwFwYDVQQIDBDQsy4g0JzQvtGB0LrQstCwMRUwEwYDVQQHDAzQnNC+0YHQutCy0LAxJTAjBgNVBAoMHNCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIxOzA5BgNVBAMMMtCi0LXRgdGC0L7QstGL0Lkg0KPQpiDQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4iAhN8AAPbUp/n8lqPLQ/7AAEAA9tSMAoGCCqFAwcBAQICoIIB5zAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yMTEwMDExNDU4MjZaMC8GCSqGSIb3DQEJBDEiBCA/U5ohPpfIAswinUdMaqMqglo2CyqTOpSf2SUgjZzhuzCCAXoGCyqGSIb3DQEJEAIvMYIBaTCCAWUwggFhMIIBXTAKBggqhQMHAQECAgQg1wk0diRGLZG+oWXUM8cCdDszaDCKQ5onnGCp3uNcAnIwggErMIIBEqSCAQ4wggEKMRgwFgYFKoUDZAESDTEyMzQ1Njc4OTAxMjMxGjAYBggqhQMDgQMBARIMMDAxMjM0NTY3ODkwMS8wLQYDVQQJDCbRg9C7LiDQodGD0YnRkdCy0YHQutC40Lkg0LLQsNC7INC0LiAxODELMAkGA1UEBhMCUlUxGTAXBgNVBAgMENCzLiDQnNC+0YHQutCy0LAxFTATBgNVBAcMDNCc0L7RgdC60LLQsDElMCMGA1UECgwc0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjE7MDkGA1UEAwwy0KLQtdGB0YLQvtCy0YvQuSDQo9CmINCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniICE3wAA9tSn+fyWo8tD/sAAQAD21IwCgYIKoUDBwEBAQEEQCS2z4wN+cZlvy+49XUpf/K6pO2T/In+4PSC6xO0zJLGpiWIvbijHwaiZ8CpWu7/GlN++fWzkai7lAd4E0g4Qis=","title":"signature"}},"additionalProperties":false}}},"required":true}} />
---
# Запросить QR-код на пополнение номинального счета по реквизитам
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/create-q-rcredit-rpp.md)
## Адрес запроса
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/v1/nominal-account/beneficiaries/{beneficiaryId}/credit/payment-order-qr/create`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/v1/nominal-account/beneficiaries/{beneficiaryId}/credit/payment-order-qr/create`
## Описание
Метод возвращает изображение QR-кода (ГОСТ Р 56042—2014) с реквизитами платежного поручения для зачисления средств в пользу конкретного бенефициара номинального счета
Назначение платежа в данном случае формируется на стороне сервиса Безопасные сделки
Банк не несет ответственность за проверку корректности заполнения реквизитов платежного поручения
В случае открытия клиентом нескольких номинальных счетов заголовок **nominalAccountId** является обяательным к заполнению
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
---
# Создать сделку в асинхронном режиме
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/create-smart-contract-acync.md)
## Адрес запроса
- Тестовый контур: **POST** `https://iftfintech.testsbi.sberbank.ru:9443/v1/nominal-account/smart-contracts/async`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/v1/nominal-account/smart-contracts/async`
## Описание
Создание сделки (смарт-контракта) в асинхронном режиме
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
В случае открытия клиентом нескольких номинальных счетов заголовок **nominalAccountId** является обяательным к заполнению
Синхронный ответ с http-кодом 201 Created означает, что процесс создания сделки (смарт-контракта) в обработке
Вызов метода на исполнение сделки (смарт-контракта) необходимо осуществлять только после того, как сделка (смарт-контракт) перейдет в статус **RUN**
Статус сделки (смарт-контракта) можно узнать с помощью вызова метода **GET/smart-contracts/\{id}**: **DONE|ERROR** - конечные статусы; **PENDIG** - сделка (смарт-контракт) в процессе создания (необходимо повторить вызов метода **GET/smart-contracts/\{id}** до получения статуса RUN); **RUN** - действующая сделка (смарт-контракт)
Преимущества использования метода **POST/smart-contracts/async** перед методом **POST/smart-contracts** заключается в возможности одновременного создания нескольких сделок (смарт-контрактов) в рамках одного бенефициара
Значение атрибута **id** в запросе должно быть уникально относительно id ранее созданных сделок (смарт-контрактов)
Значение атрибута **amount** в запросе должно быть больше 0
---
# Создать сделку
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/create-smart-contract.md)
## Адрес запроса
- Тестовый контур: **POST** `https://iftfintech.testsbi.sberbank.ru:9443/v1/nominal-account/smart-contracts`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/v1/nominal-account/smart-contracts`
## Описание
Создание сделки (смарт-контракта)
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
В случае открытия клиентом нескольких номинальных счетов заголовок **nominalAccountId** является обяательным к заполнению
Синхронный ответ с http-кодом 201 Created означает, что сделка (смарт-контракт) создана
При последовательном создании сделок (смарт-контрактов) в рамках одного бенефициара рекомендуем руководствоваться правилом: каждый последующий запрос на создание сделки (смарт-контракта) необходимо вызывать, только после получения ответа на предыдущий, иначе - вернется ошибка с http-кодом 429; также вызов метода на исполнение сделки (смарт-контракта) необходимо осуществлять только после получения ответа на вызов метода о создании сделки (смарт-контракта)
Значение атрибута **id** в запросе должно быть уникально относительно id ранее созданных сделок (смарт-контрактов)
Значение атрибута **amount** в запросе должно быть больше 0
---
# Удалить бенефициара
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/delete-beneficiary.md)
## Адрес запроса
- Тестовый контур: **POST** `https://iftfintech.testsbi.sberbank.ru:9443/v1/nominal-account/beneficiaries/delete`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/v1/nominal-account/beneficiaries/delete`
## Описание
Запрос отправляет id бенефициара для удаления из реестра бенефициаров номинального счета
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
В случае открытия клиентом нескольких номинальных счетов заголовок **nominalAccountId** является обяательным к заполнению
Перед вызовом метода необходимо проверить, что у бенефициара закрыты все сделки (смарт-контракта)и выведены денежные средства
Бенефициар, в отношении которого выполняется удаление, должен быть активным
---
# Создать заказ для зачисления средств на номинальный счет с использованием сервисов интернет-эквайринга (оплата по СБП С2В)
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/ecom-credit-c-2-b.md)
## Адрес запроса
- Тестовый контур: **POST** `https://iftfintech.testsbi.sberbank.ru:9443/v1/nominal-account/beneficiaries/credit/ecom-order/create`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/v1/nominal-account/beneficiaries/credit/ecom-order/create`
## Описание
:::caution deprecated
This endpoint has been deprecated and may be replaced or removed in future versions of the API.
:::
Создание и регистрация заказа на оплату через интернет-эквайринг (включая СБП С2В)
**Важное изменение с 01.06.2026:**
С этой даты зачисление средств на номинальный счет через интернет-эквайринг (включая СБП С2В) производится напрямую через сервисы эквайринга.
Денежные средства, поступившие на номинальный счет через интернет-эквайринг, отразятся на нем, как неразнесенные. Получить список неразнесенных пополнений можно с помощью вызова метода **GET/transactions/undefined**. Разнести данные пополнения можно с помощью вызова метода **POST/transactions/undefined/\{id}/identify**
**Предварительные условия:**
1. Зарегистрируйтесь в системе интернет-эквайринга. Инициировать регистрацию можно в личном кабинете СББОЛ.
2. После регистрации комиссия с плательщика удерживается согласно тарифам вашего договора на интернет-эквайринг.
---
# Запросить перечень банков для переводов по СБП
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/get-bank-list-sbp.md)
## Адрес запроса
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/v1/nominal-account/sbp/b2c/bankList`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/v1/nominal-account/sbp/b2c/bankList`
## Описание
Предоставляет список банков, доступных для перевода по СБП В2С
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
Для использования метода необходимо подключить СБП для переводов физлицам по [инструкции](https://www.sberbank.com/help/business/sbbol/100911?tab=web)
В запросе **POST/sbp/b2c/smart-contracts/confirmstep** на исполнение сделки (смарт-контракта) через СБП В2С в блоке **payee** в параметре **bankBIC** необходимо передать БИК банка из списка банков, возвращаемом в ответе на запрос **GET/sbp/b2c/bankList**
#@&$’*]+$","minLength":0,"maxLength":12,"example":123456789123},"bankBIC":{"description":"БИК банка","type":"string","pattern":"^[0-9]{9}$","minLength":0,"maxLength":9,"example":46015602},"bankName":{"description":"Наименование банка","pattern":"^(?!.*--)[^<>#@&$’*]+$","type":"string","minLength":0,"maxLength":50,"example":"Альфа-банк"}}}}},"additionalProperties":false,"title":"bankListSBPresp"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"},{"description":"Схема ответа канала SberBusinessAPI. Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request ресурса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"241.1-1000","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина ошибки.","example":"DESERIALIZATION_FAULT"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"d1bdba36-d0b5-96c9-88ef-44083cf88ef2"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Неверный формат запроса"},"checks":{"type":"array","maxItems":200,"items":{"description":"Результат проверки.","type":"object","properties":{"level":{"description":"Уровень результата. Возможные результаты - ERROR, WARNING.","example":"ERROR","type":"string","maxLength":20,"enum":["ERROR","WARNING"],"title":"ErrorCode"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Cannot deserialize value of type java.util.UUID from String \\\"6f5186a3-f40e-4694-b7b7-86433d342649q\\\": UUID has to be represented by standard 36-char representation"},"fields":{"type":"array","maxItems":200,"description":"Названия полей (при наличии связи с моделью).","items":{"type":"string","example":"fileIds[0]"}}},"additionalProperties":false,"title":"Check"},"description":"Список проверок, приведших к ошибке."},"fieldNames":{"description":"Названия полей с некорректным значением.","type":"array","maxItems":200,"items":{"type":"string","example":"fileIds[0]"}}},"additionalProperties":false,"title":"errorSberBusinessAPIBadRequest"}]}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"},{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1003","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNAUTHORIZED"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Ошибка авторизации по Access Token 3513f959-bbd5-490a-9f9f-67fb7380fae5-2"}},"additionalProperties":false,"title":"errorSberBusinessAPIUnauthorized"}]}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"},{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"235.1-1003","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"CERTIFICATE_ACCESS_EXCEPTION"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Сертификат (serialNumber = 51E75203172EFD920FAAD907ABA40448668B9210) из входящего запроса не найден в белом списке сертификатов, не истекших на момент проверки"}},"additionalProperties":false,"title":"errorSberBusinessAPIForbidden"}]}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"}}},"description":"Not Found"},"405":{"content":{"application/json":{"schema":{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"}}},"description":"Method Not Allowed"},"422":{"content":{"application/json":{"schema":{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"256.2-1000","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNPROCESSABLE_ENTITY"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Ошибка валидации"}},"additionalProperties":false,"title":"errorSberBusinessAPIUnprocessableEntity"}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Unprocessable Entity"},"429":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"},{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1004","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"TOO_MANY_REQUESTS"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Превышен лимит запросов. Повторите операцию позже."}},"additionalProperties":false,"title":"errorSberBusinessAPITooManyRequests"}]}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Too Many Requests"},"500":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"},{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1005","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNKNOWN_EXCEPTION"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"При выполнении операции произошла ошибка. Мы уже работаем над ее устранением. Повторите попытку позже."}},"additionalProperties":false,"title":"errorSberBusinessAPIInternalServerError"}]}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Internal Server Error"},"502":{"content":{"application/json":{"schema":{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"235.4-1005","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"BAD_GATEWAY"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"При выполнении операции произошла ошибка. Мы уже работаем над ее устранением. Повторите попытку позже."}},"additionalProperties":false,"title":"errorSberBusinessAPIBadGateway"}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Bad Gateway"},"503":{"description":"Service Unavailable"},"504":{"description":"Gateway Timeout"}}} />
---
# Запросить реестр бенефициаров
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/get-beneficiaries-registry.md)
## Адрес запроса
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/v1/nominal-account/beneficiaries/registry`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/v1/nominal-account/beneficiaries/registry`
## Описание
В ответ на запрос возвращается список бенефициаров в статусах **ACTIVATED**. Список можно пролистать постранично. Каждая страница может содержать до 40 элементов списка
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
В случае открытия клиентом нескольких номинальных счетов заголовок **nominalAccountId** является обяательным к заполнению
---
# Запросить детали операции
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/get-beneficiary-balance-event-id.md)
## Адрес запроса
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/v1/nominal-account/beneficiaries/{beneficiaryId}/balance/events/{eventId}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/v1/nominal-account/beneficiaries/{beneficiaryId}/balance/events/{eventId}`
## Описание
Метод позволяет по eventId получить информацию про денежный event конкретного бенефициара
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
Событие: транзакция, холдирование, расхолдирование
Сочетания типа события (eventType) и статуса события (eventValue):
* CREDIT (Транзакция на пополнение) - CREATED (Создан), PENDING (В процессе обработки), DONE (Исполнен)
* DEBIT (Транзакция на списание с ном.счета: оплата СК, вывод средств, оплата комиссии ) - CREATED (Создан), PENDING (В процессе обработки), DONE (Исполнен)
* HOLD (Создать сделку (смарт-контракт)) - CREATED (Создан), DONE (Исполнен)
* UNHOLD (Исполнить сделку (смарт-контракт)/Прервать сделку (смарт-контракт)) - CREATED (Создан), DONE (Исполнен)
---
# Запросить выписку по движению средств
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/get-beneficiary-balance-report.md)
## Адрес запроса
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/v1/nominal-account/beneficiaries/balance-report/{id}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/v1/nominal-account/beneficiaries/balance-report/{id}`
## Описание
Метод позволяет по заданным параметрам получить выписку по движению средств на балансе бенефицира
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
События: транзакции
Сочетания типа события (eventType) и статуса события (eventValue):
* CREDIT (Транзакция на пополнение) - CREATED (Создан), PENDING (В процессе обработки), DONE (Исполнен)
* DEBIT (Транзакция на списание с ном.счета: оплата СК, вывод средств, оплата комиссии) - CREATED (Создан), PENDING (В процессе обработки), DONE (Исполнен)
---
# Запросить сведения о бенефициарe
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/get-beneficiary-details-by-id.md)
## Адрес запроса
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/v1/nominal-account/beneficiaries/details/{id}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/v1/nominal-account/beneficiaries/details/{id}`
## Описание
Возвращает текущий статус и реквизиты бенефициара, хранимые в реестре
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
События по бенефициару:
* включить бенефициара в реестр;
* изменить информацию по бенефициару;
* удалить бенефициара из реестра;
* заблокировать/разблокировать бенефициара (события, инициируемые банком);
---
# Запросить список возвратов
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/get-beneficiary-refunds.md)
## Адрес запроса
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/v1/nominal-account/transactions/refunds`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/v1/nominal-account/transactions/refunds`
## Описание
Метод возвращает список событий по зачислению средств на номинальный счет со счетов невыясненных сумм (возврат средств на номинальный счет по факту отказа в зачислении в **сторонних банках**)
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
В случае открытия клиентом нескольких номинальных счетов заголовок **nominalAccountId** является обяательным к заполнению
Транзакция возврата не связана с первоначальной проведенной транзакцией дебета, и никак не повлияет на статус исполненной первоначальной транзакции, статус сделки (смарт-контракта) и иные исполненные транзакции в рамках сделки (смарт-контракта) (для банка она будет восприниматься, как транзакция кредита в пользу бенефициара). Сопоставить перваначальную транзакцию с транзакцией возврата можно с помощью идентификаторов **primaryTransactionId** и **refundTransactionId** из ответа
Сортировка в запросе выполняется по createDate (дата создания возврата). Параметр **sortMethode = asc** в запросе, сортировка ответа будет от меньшего значения даты к большему, значение **sortMethod = desc** - от большего к меньшему. По умолчанию значение параметра **sortMethod = asc**
Значение параметра **startDate** и **endDate** в запросе позволит осуществить поиск событий возврата за указанный период (включая дату начала и дату окончания)
Значение параметра **pageNumber** в запросе позволит отобразить в ответе необходимую страницу с данными
Значение параметра **pageSize** в запросе позволит отобразить в ответе необходимое количество записей на странице
Значение параметра **beneficiaryId** в запросе позволит выполнить запрос по одному бенефициару
---
# Запросить состояние бенефициара
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/get-beneficiary-state-by-id.md)
## Адрес запроса
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/v1/nominal-account/beneficiaries/state/{id}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/v1/nominal-account/beneficiaries/state/{id}`
## Описание
Метод возвращает детализированный баланс, список сделок (смарт-контрактов) и список событий, связанных с балансом бенефициара. Списки можно пролистать постранично
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
Сочетания типа события (eventType) и статуса события (eventValue):
* CREDIT (Транзакция на пополнение, инициирована банком) - CREATED (Создан), PENDING (В процессе обработки), DONE (Исполнен)
* DEBIT (Транзакция на списание с ном.счета: оплата СК, вывод средств, оплата комиссии ) - CREATED (Создан), PENDING (В процессе обработки), DONE (Исполнен)
* HOLD (Создать сделку (смарт-контракт)) - CREATED (Создан), DONE (Исполнен)
* UNHOLD Прервать сделку (смарт-контракт)) - CREATED (Создан), DONE (Исполнен)
0, то freeBalance может получиться отрицательным значением.","properties":{"balance":{"type":"integer","minimum":0,"maximum":1000000000000,"description":"Все деньги бенефициара на НС в копейках","example":100100500},"obligations":{"type":"integer","minimum":0,"maximum":1000000000000,"description":"Общий объем обязательств по сделке (смарт-контракту) в копейках","example":100500},"pending":{"type":"integer","minimum":0,"maximum":1000000000000,"description":"Деньги, находящиеся в обработке банком при выводе средств (moneyback), в копейках","example":220030},"blocked":{"type":"integer","minimum":0,"maximum":1000000000000,"description":"Деньги, заблокированные ССП, в копейках","example":50000},"debt":{"type":"integer","minimum":0,"maximum":1000000000000,"description":"Текущий долг перед ССП, в копейках","example":0}},"additionalProperties":false,"title":"balance"},"smartContracts":{"type":"array","description":"Список актуальных сделок (смарт-контрактов)","items":{"type":"object","description":"Структура с параметрами сделки (смарт-контракта)","properties":{"id":{"type":"string","format":"uuid","pattern":"^[0-9a-fA-F-]{36}$","description":"Идентификатор","example":"74550e51-9e81-435d-864c-4b5e07d70e18","title":"id"},"title":{"type":"string","pattern":"^[А-ЯЁа-яеA-Za-z0-9 ./№+-]+$","maxLength":250,"description":"Заголовок сделки (смарт-контракта)","example":"Договор купли-продажи №КП 12/1-2022 от 01.12.2022","title":"smartContractTitle"},"expiryDate":{"type":"string","pattern":"^20[0-9]{2}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$","description":"Дата по которую действует сделка (смарт-контракт)","example":"2022-03-15","title":"expiryDate"},"status":{"type":"string","pattern":"^[A-Za-z]{1,20}$","description":"Статус сделки (смарт-контракта): RUN (Действующий), DONE (Исполненный), CANCELED (Отмененный), PENDING (В обработке), ERROR (В ошибке)","example":"RUN","title":"statusSmartContracts"},"beneficiaryId":{"type":"string","format":"uuid","pattern":"^[0-9a-fA-F-]{36}$","description":"Идентификатор","example":"74550e51-9e81-435d-864c-4b5e07d70e18","title":"id"},"obligations":{"type":"integer","minimum":0,"maximum":100000000000,"description":"Cумма средств в копейках","example":2019900,"title":"obligations"},"currency":{"type":"string","enum":["RUB","RUR"],"description":"Валюта","example":"RUB","title":"currency"},"pending":{"type":"integer","minimum":0,"maximum":1000000000000,"description":"Средства, находящиеся в обработке платежа банком, в копейках","example":220030,"title":"pending"}},"additionalProperties":false,"title":"actualSmartContract"},"maxItems":20},"events":{"type":"array","description":"События и их статусы","items":{"type":"object","description":"Событие: транзакция, холдирование, расхолдирование и т.д.","required":["eventId","eventType","eventValue","createDate"],"properties":{"eventId":{"type":"string","format":"uuid","pattern":"^[0-9a-fA-F-]{36}$","description":"Идентификатор","example":"74550e51-9e81-435d-864c-4b5e07d70e18","title":"id"},"smartContractId":{"type":"string","format":"uuid","pattern":"^[0-9a-fA-F-]{36}$","description":"Идентификатор","example":"74550e51-9e81-435d-864c-4b5e07d70e18","title":"id"},"eventType":{"type":"string","pattern":"^[A-Za-z]{1,20}$","description":"Тип события может принять одно из значений: \"CREDIT\", \"DEBIT\", \"HOLD\", \"UNHOLD\"","example":"DEBIT"},"eventValue":{"type":"string","pattern":"^[A-Za-z]{1,20}$","description":"Значение события, обычно является его статусом.\n\nМожет принять одно из значений: \n - \"CREATED (Создан)\", \n - \"PENDING (В процессе)\", \n - \"DONE (Исполнен)\", \n - \"ERROR (Ошибка)\"\n","example":"DONE"},"errorMessage":{"type":"string","pattern":"^[0-9а-яеА-ЯЁa-zA-Z._ @()/\\№,]+$","maxLength":254,"description":"Сообщение об ошибке","example":"Доступных средств у бенефициара недостаточно","title":"errorMessage"},"docNumber":{"type":"string","maxLength":32,"description":"номер платежного поручения","example":"145578"},"executionDate":{"type":"string","format":"date-time","description":"Дата обработки операции","example":"2025-03-15T00:00:00.999Z"},"operationId":{"type":"string","description":"Идентификатор операции","example":"12345678901234567890123456789012","maxLength":255},"amount":{"type":"integer","minimum":0,"maximum":100000000000,"description":"Cумма средств в копейках","example":20100,"title":"amount"},"purpose":{"type":"string","maxLength":210,"description":"Назначение платежа","example":"Оплата по Договору поставки №23/04-2022 от 01.04.2022, включая НДС 20%","title":"getPurpose"},"payee":{"oneOf":[{"type":"object","required":["typeCode","orgName","inn","kpp","account"],"description":"Общая структура описания организации","properties":{"typeCode":{"type":"string","pattern":"^UL$","description":"Тип участника UL","default":"UL","example":"UL"},"orgName":{"type":"string","pattern":"^[А-Яа-яеЁ0-9 \"№.+()-]{3,160}$","description":"Наименование организации","example":"ПАО Ромашки","title":"orgShortNameRu"},"inn":{"type":"string","pattern":"^[0-9]{10}$","description":"ИНН ЮЛ","example":"0743528989"},"kpp":{"type":"string","pattern":"^[0-9]{9}$","description":"Код причины постановки на учет","example":"773101001","title":"kpp"},"ogrn":{"type":"string","pattern":"^[0-9]{13}$","description":"ОРГН","example":"1047796372711"},"account":{"required":["bankBIC","bankCorAccount","bankName","accountNumber"],"type":"object","description":"Данные расчетного счета","properties":{"accountNumber":{"type":"string","pattern":"^[0-9]{20,25}$","description":"номер расчетного счета","example":"40702810538000118319","title":"basisAccountNumber"},"bankBIC":{"type":"string","pattern":"^[0-9]{9}$","description":"БИК","example":"044525225"},"bankCorAccount":{"type":"string","pattern":"^[0-9]{20}$","description":"Корреспондентский счет","example":"30101810400000000225"},"bankName":{"type":"string","pattern":"^[А-ЯЁа-яеa-zA-Z][А-ЯЁа-яеa-zA-Z0-9 №N.,()\\\"#$%&\\'\\*{|}~\\[\\]\\-\\\\\\/]+$","maxLength":140,"description":"Наименование банка","example":"ПАО СБЕРБАНК"}},"additionalProperties":false,"title":"account"}},"additionalProperties":false,"title":"organization"},{"type":"object","required":["typeCode","personName","inn","account"],"description":"Общий набор данных для ИП","properties":{"typeCode":{"description":"Тип участника IP","type":"string","pattern":"^IP$","default":"IP","example":"IP"},"personName":{"type":"string","maxLength":250,"description":"ФИО для платежа","example":"И Кван Ё"},"orgName":{"type":"string","pattern":"^[А-Яа-яеЁA-Za-z0-9 \"№.+()-]{3,160}$","description":"Наименование организации","example":"ПАО Ромашки","title":"orgShortNameRuGet"},"inn":{"type":"string","pattern":"^[0-9]{12}$","description":"ИНН ФЛ","example":"774352898912"},"ogrnip":{"type":"string","pattern":"^3[0-9]{14}$","description":"ОГРНИП","example":"304500116000157"},"snils":{"type":"string","pattern":"^[0-9]{3}-[0-9]{3}-[0-9]{3} [0-9]{2}$","description":"Страховой номер индивидуального лицевого счета","example":"012-345-678 90","title":"snils"},"account":{"required":["bankBIC","bankCorAccount","bankName","accountNumber"],"type":"object","description":"Данные расчетного счета","properties":{"accountNumber":{"type":"string","pattern":"^[0-9]{20,25}$","description":"номер расчетного счета","example":"40702810538000118319","title":"basisAccountNumber"},"bankBIC":{"type":"string","pattern":"^[0-9]{9}$","description":"БИК","example":"044525225"},"bankCorAccount":{"type":"string","pattern":"^[0-9]{20}$","description":"Корреспондентский счет","example":"30101810400000000225"},"bankName":{"type":"string","pattern":"^[А-ЯЁа-яеa-zA-Z][А-ЯЁа-яеa-zA-Z0-9 №N.,()\\\"#$%&\\'\\*{|}~\\[\\]\\-\\\\\\/]+$","maxLength":140,"description":"Наименование банка","example":"ПАО СБЕРБАНК"}},"additionalProperties":false,"title":"account"}},"additionalProperties":false,"title":"individualEntrepreneurGet"},{"type":"object","required":["typeCode","personName","inn","account"],"description":"Общий набор данные для ФЛ","properties":{"typeCode":{"type":"string","pattern":"^FL$","default":"FL","description":"Тип участника FL","example":"FL"},"personName":{"type":"string","maxLength":250,"description":"ФИО для платежа","example":"Коган-Константинопольский Константин Константинович"},"inn":{"type":"string","pattern":"^[0-9]{12}$","description":"ИНН ФЛ","example":"074352898912"},"snils":{"type":"string","pattern":"^[0-9]{3}-[0-9]{3}-[0-9]{3} [0-9]{2}$","description":"Страховой номер индивидуального лицевого счета","example":"012-345-678 90","title":"snils"},"account":{"required":["bankBIC","bankCorAccount","bankName","accountNumber"],"type":"object","description":"Данные расчетного счета","properties":{"accountNumber":{"type":"string","pattern":"^[0-9]{20,25}$","description":"номер расчетного счета","example":"40702810538000118319","title":"basisAccountNumber"},"bankBIC":{"type":"string","pattern":"^[0-9]{9}$","description":"БИК","example":"044525225"},"bankCorAccount":{"type":"string","pattern":"^[0-9]{20}$","description":"Корреспондентский счет","example":"30101810400000000225"},"bankName":{"type":"string","pattern":"^[А-ЯЁа-яеa-zA-Z][А-ЯЁа-яеa-zA-Z0-9 №N.,()\\\"#$%&\\'\\*{|}~\\[\\]\\-\\\\\\/]+$","maxLength":140,"description":"Наименование банка","example":"ПАО СБЕРБАНК"}},"additionalProperties":false,"title":"account"}},"additionalProperties":false,"title":"individual"},{"type":"object","required":["typeCode","phoneSBP"],"description":"Общий набор данные для ФЛ","properties":{"typeCode":{"type":"string","pattern":"^FLSBP$","default":"FLSBP","description":"Тип участника FL в рамках СБП","example":"FLSBP"},"personName":{"type":"string","maxLength":250,"description":"ФИО для платежа","example":"Коган-Константинопольский Константин Константинович","title":"personName"},"inn":{"type":"string","pattern":"^[0-9]{12}$","description":"ИНН ФЛ","example":"074352898912"},"phoneSBP":{"description":"Номер телефона получателя ФЛ в рамках перевода СБП В2С. Первые 3 цифры номера - код страны (если код страны менее 3 символов, то его необходимо впереди дополнить нулями (например, '007' для РФ)). Последующие 10 цифр - номер абонента","type":"string","pattern":"^[0-9]{11, 13}$","example":"0079051234567","title":"receiverPhone"}},"additionalProperties":false,"title":"individualSBP"},{"type":"object","required":["typeCode","beneficiaryId"],"description":"Общий набор данные для получателя бенефициара","properties":{"typeCode":{"type":"string","pattern":"^BEN$","default":"BEN","description":"Тип участника BEN (бенефициар)","example":"BEN"},"beneficiaryId":{"type":"string","format":"uuid","pattern":"^[0-9a-fA-F-]{36}$","description":"Идентификатор бенефициара номинального счета, в пользу кого зачисляются средства","example":"99ee301b-8e06-4fd5-88d4-2ca5668294b1"}},"additionalProperties":false,"title":"beneficiaryPayee"}],"title":"subjectPayeeEvent"},"createDate":{"type":"string","format":"date-time","description":"Время создания события","example":"2025-03-15T23:31:00.999Z"},"editDate":{"type":"string","format":"date-time","description":"Время изменения статуса события","example":"2025-03-15T23:31:00.999Z"}},"additionalProperties":false,"title":"event"},"maxItems":20}},"additionalProperties":false,"title":"beneficiaryState"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"},{"description":"Схема ответа канала SberBusinessAPI. Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request ресурса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"241.1-1000","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина ошибки.","example":"DESERIALIZATION_FAULT"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"d1bdba36-d0b5-96c9-88ef-44083cf88ef2"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Неверный формат запроса"},"checks":{"type":"array","maxItems":200,"items":{"description":"Результат проверки.","type":"object","properties":{"level":{"description":"Уровень результата. Возможные результаты - ERROR, WARNING.","example":"ERROR","type":"string","maxLength":20,"enum":["ERROR","WARNING"],"title":"ErrorCode"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Cannot deserialize value of type java.util.UUID from String \\\"6f5186a3-f40e-4694-b7b7-86433d342649q\\\": UUID has to be represented by standard 36-char representation"},"fields":{"type":"array","maxItems":200,"description":"Названия полей (при наличии связи с моделью).","items":{"type":"string","example":"fileIds[0]"}}},"additionalProperties":false,"title":"Check"},"description":"Список проверок, приведших к ошибке."},"fieldNames":{"description":"Названия полей с некорректным значением.","type":"array","maxItems":200,"items":{"type":"string","example":"fileIds[0]"}}},"additionalProperties":false,"title":"errorSberBusinessAPIBadRequest"}]}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"},{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1003","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNAUTHORIZED"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Ошибка авторизации по Access Token 3513f959-bbd5-490a-9f9f-67fb7380fae5-2"}},"additionalProperties":false,"title":"errorSberBusinessAPIUnauthorized"}]}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"},{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"235.1-1003","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"CERTIFICATE_ACCESS_EXCEPTION"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Сертификат (serialNumber = 51E75203172EFD920FAAD907ABA40448668B9210) из входящего запроса не найден в белом списке сертификатов, не истекших на момент проверки"}},"additionalProperties":false,"title":"errorSberBusinessAPIForbidden"}]}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"}}},"description":"Not Found"},"405":{"content":{"application/json":{"schema":{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"}}},"description":"Method Not Allowed"},"422":{"content":{"application/json":{"schema":{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"256.2-1000","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNPROCESSABLE_ENTITY"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Ошибка валидации"}},"additionalProperties":false,"title":"errorSberBusinessAPIUnprocessableEntity"}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Unprocessable Entity"},"429":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"},{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1004","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"TOO_MANY_REQUESTS"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Превышен лимит запросов. Повторите операцию позже."}},"additionalProperties":false,"title":"errorSberBusinessAPITooManyRequests"}]}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Too Many Requests"},"500":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"},{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1005","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNKNOWN_EXCEPTION"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"При выполнении операции произошла ошибка. Мы уже работаем над ее устранением. Повторите попытку позже."}},"additionalProperties":false,"title":"errorSberBusinessAPIInternalServerError"}]}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Internal Server Error"},"502":{"content":{"application/json":{"schema":{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"235.4-1005","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"BAD_GATEWAY"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"При выполнении операции произошла ошибка. Мы уже работаем над ее устранением. Повторите попытку позже."}},"additionalProperties":false,"title":"errorSberBusinessAPIBadGateway"}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Bad Gateway"},"503":{"description":"Service Unavailable"},"504":{"description":"Gateway Timeout"}}} />
---
# Запросить информацию о ранее созданном заказе
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/get-ecom-credit-c-2-b.md)
## Адрес запроса
- Тестовый контур: **POST** `https://iftfintech.testsbi.sberbank.ru:9443/v1/nominal-account/beneficiaries/credit/ecom-order/info`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/v1/nominal-account/beneficiaries/credit/ecom-order/info`
## Описание
:::caution deprecated
This endpoint has been deprecated and may be replaced or removed in future versions of the API.
:::
Предоставляет информацию о ранее созданном заказе по его идентификатору
**Важное изменение с 01.06.2026:**
С этой даты зачисление средств на номинальный счет через интернет-эквайринг (включая СБП С2В) производится напрямую через сервисы эквайринга.
Денежные средства, поступившие на номинальный счет через интернет-эквайринг, отразятся на нем, как неразнесенные. Получить список неразнесенных пополнений можно с помощью вызова метода **GET/transactions/undefined**. Разнести данные пополнения можно с помощью вызова метода **POST/transactions/undefined/\{id}/identify**
**Предварительные условия:**
1. Зарегистрируйтесь в системе интернет-эквайринга. Инициировать регистрацию можно в личном кабинете СББОЛ.
2. После регистрации комиссия с плательщика удерживается согласно тарифам вашего договора на интернет-эквайринг.
---
# Получить отчет по операциям зачисления эквайринга
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/get-report.md)
## Адрес запроса
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/v1/nominal-account/ecom/report`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/v1/nominal-account/ecom/report`
## Описание
:::caution
**ВАЖНО:** Метод находится на этапе опытной эксплуатации
Отчет может содержать **дублирующиеся записи**
**Как отследить дубли:** Убедитесь, что в назначении платежа в поле "description" при создании заказа добавлен **ключ реконсиляции**.
:::
Метод позволяет получить отчет по операциям зачисления эквайринга за определенную дату **(не позднее вчерашнего дня T-1)**
Запрос отчета за предыдущий день доступен с 12.00 текущего дня. Отчет за дни предшествующие предыдущему можно запрашивать в любое время
---
# Запросить информацию о сделке
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/get-smart-contract-by-id.md)
## Адрес запроса
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/v1/nominal-account/smart-contracts/{id}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/v1/nominal-account/smart-contracts/{id}`
## Описание
Запрос позволяет увидеть актуальный статус сделки (смарт-контракта), детализацию финансовых обязательств и список событий
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
В случае открытия клиентом нескольких номинальных счетов заголовок **nominalAccountId** является обяательным к заполнению
Возможные статусы жизненного цикла сделки (смарт-контракта): **RUN** (Действующий), **DONE** (Исполненный), **CANCELED** (Отмененный), **PENDING** (В обработке), **ERROR** (В ошибке)
#@&$’—\\u00A0]+$","maxLength":210,"description":"Назначение платежа","example":"Оплата по Договору поставки №23/04-2022 от 01.04.2022, включая НДС 20%","title":"purpose"},"payee":{"oneOf":[{"type":"object","required":["typeCode","orgName","inn","kpp","account"],"description":"Общая структура описания организации","properties":{"typeCode":{"type":"string","pattern":"^UL$","description":"Тип участника UL","default":"UL","example":"UL"},"orgName":{"type":"string","pattern":"^[А-Яа-яеЁ0-9 \"№.+()-]{3,160}$","description":"Наименование организации","example":"ПАО Ромашки","title":"orgShortNameRu"},"inn":{"type":"string","pattern":"^[0-9]{10}$","description":"ИНН ЮЛ","example":"0743528989"},"kpp":{"type":"string","pattern":"^[0-9]{9}$","description":"Код причины постановки на учет","example":"773101001","title":"kpp"},"ogrn":{"type":"string","pattern":"^[0-9]{13}$","description":"ОРГН","example":"1047796372711"},"account":{"required":["bankBIC","bankCorAccount","bankName","accountNumber"],"type":"object","description":"Данные расчетного счета","properties":{"accountNumber":{"type":"string","pattern":"^[0-9]{20,25}$","description":"номер расчетного счета","example":"40702810538000118319","title":"basisAccountNumber"},"bankBIC":{"type":"string","pattern":"^[0-9]{9}$","description":"БИК","example":"044525225"},"bankCorAccount":{"type":"string","pattern":"^[0-9]{20}$","description":"Корреспондентский счет","example":"30101810400000000225"},"bankName":{"type":"string","pattern":"^[А-ЯЁа-яеa-zA-Z][А-ЯЁа-яеa-zA-Z0-9 №N.,()\\\"#$%&\\'\\*{|}~\\[\\]\\-\\\\\\/]+$","maxLength":140,"description":"Наименование банка","example":"ПАО СБЕРБАНК"}},"additionalProperties":false,"title":"account"}},"additionalProperties":false,"title":"organization"},{"type":"object","required":["typeCode","personName","inn","account"],"description":"Общий набор данных для ИП","properties":{"typeCode":{"description":"Тип участника IP","type":"string","pattern":"^IP$","default":"IP","example":"IP"},"personName":{"type":"string","maxLength":250,"description":"ФИО для платежа","example":"И Кван Ё"},"orgName":{"type":"string","pattern":"^[А-Яа-яеЁA-Za-z0-9 \"№.+()-]{3,160}$","description":"Наименование организации","example":"ПАО Ромашки","title":"orgShortNameRuGet"},"inn":{"type":"string","pattern":"^[0-9]{12}$","description":"ИНН ФЛ","example":"774352898912"},"ogrnip":{"type":"string","pattern":"^3[0-9]{14}$","description":"ОГРНИП","example":"304500116000157"},"snils":{"type":"string","pattern":"^[0-9]{3}-[0-9]{3}-[0-9]{3} [0-9]{2}$","description":"Страховой номер индивидуального лицевого счета","example":"012-345-678 90","title":"snils"},"account":{"required":["bankBIC","bankCorAccount","bankName","accountNumber"],"type":"object","description":"Данные расчетного счета","properties":{"accountNumber":{"type":"string","pattern":"^[0-9]{20,25}$","description":"номер расчетного счета","example":"40702810538000118319","title":"basisAccountNumber"},"bankBIC":{"type":"string","pattern":"^[0-9]{9}$","description":"БИК","example":"044525225"},"bankCorAccount":{"type":"string","pattern":"^[0-9]{20}$","description":"Корреспондентский счет","example":"30101810400000000225"},"bankName":{"type":"string","pattern":"^[А-ЯЁа-яеa-zA-Z][А-ЯЁа-яеa-zA-Z0-9 №N.,()\\\"#$%&\\'\\*{|}~\\[\\]\\-\\\\\\/]+$","maxLength":140,"description":"Наименование банка","example":"ПАО СБЕРБАНК"}},"additionalProperties":false,"title":"account"}},"additionalProperties":false,"title":"individualEntrepreneurGet"},{"type":"object","required":["typeCode","personName","inn","account"],"description":"Общий набор данные для ФЛ","properties":{"typeCode":{"type":"string","pattern":"^FL$","default":"FL","description":"Тип участника FL","example":"FL"},"personName":{"type":"string","maxLength":250,"description":"ФИО для платежа","example":"Коган-Константинопольский Константин Константинович"},"inn":{"type":"string","pattern":"^[0-9]{12}$","description":"ИНН ФЛ","example":"074352898912"},"snils":{"type":"string","pattern":"^[0-9]{3}-[0-9]{3}-[0-9]{3} [0-9]{2}$","description":"Страховой номер индивидуального лицевого счета","example":"012-345-678 90","title":"snils"},"account":{"required":["bankBIC","bankCorAccount","bankName","accountNumber"],"type":"object","description":"Данные расчетного счета","properties":{"accountNumber":{"type":"string","pattern":"^[0-9]{20,25}$","description":"номер расчетного счета","example":"40702810538000118319","title":"basisAccountNumber"},"bankBIC":{"type":"string","pattern":"^[0-9]{9}$","description":"БИК","example":"044525225"},"bankCorAccount":{"type":"string","pattern":"^[0-9]{20}$","description":"Корреспондентский счет","example":"30101810400000000225"},"bankName":{"type":"string","pattern":"^[А-ЯЁа-яеa-zA-Z][А-ЯЁа-яеa-zA-Z0-9 №N.,()\\\"#$%&\\'\\*{|}~\\[\\]\\-\\\\\\/]+$","maxLength":140,"description":"Наименование банка","example":"ПАО СБЕРБАНК"}},"additionalProperties":false,"title":"account"}},"additionalProperties":false,"title":"individual"},{"type":"object","required":["typeCode","phoneSBP"],"description":"Общий набор данные для ФЛ","properties":{"typeCode":{"type":"string","pattern":"^FLSBP$","default":"FLSBP","description":"Тип участника FL в рамках СБП","example":"FLSBP"},"personName":{"type":"string","maxLength":250,"description":"ФИО для платежа","example":"Коган-Константинопольский Константин Константинович","title":"personName"},"inn":{"type":"string","pattern":"^[0-9]{12}$","description":"ИНН ФЛ","example":"074352898912"},"phoneSBP":{"description":"Номер телефона получателя ФЛ в рамках перевода СБП В2С. Первые 3 цифры номера - код страны (если код страны менее 3 символов, то его необходимо впереди дополнить нулями (например, '007' для РФ)). Последующие 10 цифр - номер абонента","type":"string","pattern":"^[0-9]{11, 13}$","example":"0079051234567","title":"receiverPhone"}},"additionalProperties":false,"title":"individualSBP"},{"type":"object","required":["typeCode","beneficiaryId"],"description":"Общий набор данные для получателя бенефициара","properties":{"typeCode":{"type":"string","pattern":"^BEN$","default":"BEN","description":"Тип участника BEN (бенефициар)","example":"BEN"},"beneficiaryId":{"type":"string","format":"uuid","pattern":"^[0-9a-fA-F-]{36}$","description":"Идентификатор бенефициара номинального счета, в пользу кого зачисляются средства","example":"99ee301b-8e06-4fd5-88d4-2ca5668294b1"}},"additionalProperties":false,"title":"beneficiaryPayee"}],"title":"subjectPayeeEvent"},"createDate":{"type":"string","format":"date-time","description":"Время создания события","example":"2025-03-15T23:31:00.999Z"},"editDate":{"type":"string","format":"date-time","description":"Время изменения статуса события","example":"2025-03-15T23:31:00.999Z"}},"additionalProperties":false,"title":"eventSmartContract"}}},"additionalProperties":false,"title":"actualSmartContractWithEvents"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"},{"description":"Схема ответа канала SberBusinessAPI. Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request ресурса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"241.1-1000","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина ошибки.","example":"DESERIALIZATION_FAULT"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"d1bdba36-d0b5-96c9-88ef-44083cf88ef2"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Неверный формат запроса"},"checks":{"type":"array","maxItems":200,"items":{"description":"Результат проверки.","type":"object","properties":{"level":{"description":"Уровень результата. Возможные результаты - ERROR, WARNING.","example":"ERROR","type":"string","maxLength":20,"enum":["ERROR","WARNING"],"title":"ErrorCode"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Cannot deserialize value of type java.util.UUID from String \\\"6f5186a3-f40e-4694-b7b7-86433d342649q\\\": UUID has to be represented by standard 36-char representation"},"fields":{"type":"array","maxItems":200,"description":"Названия полей (при наличии связи с моделью).","items":{"type":"string","example":"fileIds[0]"}}},"additionalProperties":false,"title":"Check"},"description":"Список проверок, приведших к ошибке."},"fieldNames":{"description":"Названия полей с некорректным значением.","type":"array","maxItems":200,"items":{"type":"string","example":"fileIds[0]"}}},"additionalProperties":false,"title":"errorSberBusinessAPIBadRequest"}]}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"},{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1003","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNAUTHORIZED"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Ошибка авторизации по Access Token 3513f959-bbd5-490a-9f9f-67fb7380fae5-2"}},"additionalProperties":false,"title":"errorSberBusinessAPIUnauthorized"}]}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"},{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"235.1-1003","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"CERTIFICATE_ACCESS_EXCEPTION"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Сертификат (serialNumber = 51E75203172EFD920FAAD907ABA40448668B9210) из входящего запроса не найден в белом списке сертификатов, не истекших на момент проверки"}},"additionalProperties":false,"title":"errorSberBusinessAPIForbidden"}]}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"}}},"description":"Not Found"},"405":{"content":{"application/json":{"schema":{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"}}},"description":"Method Not Allowed"},"422":{"content":{"application/json":{"schema":{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"256.2-1000","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNPROCESSABLE_ENTITY"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Ошибка валидации"}},"additionalProperties":false,"title":"errorSberBusinessAPIUnprocessableEntity"}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Unprocessable Entity"},"429":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"},{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1004","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"TOO_MANY_REQUESTS"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Превышен лимит запросов. Повторите операцию позже."}},"additionalProperties":false,"title":"errorSberBusinessAPITooManyRequests"}]}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Too Many Requests"},"500":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"},{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1005","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNKNOWN_EXCEPTION"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"При выполнении операции произошла ошибка. Мы уже работаем над ее устранением. Повторите попытку позже."}},"additionalProperties":false,"title":"errorSberBusinessAPIInternalServerError"}]}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Internal Server Error"},"502":{"content":{"application/json":{"schema":{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"235.4-1005","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"BAD_GATEWAY"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"При выполнении операции произошла ошибка. Мы уже работаем над ее устранением. Повторите попытку позже."}},"additionalProperties":false,"title":"errorSberBusinessAPIBadGateway"}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Bad Gateway"},"503":{"description":"Service Unavailable"},"504":{"description":"Gateway Timeout"}}} />
---
# Запросить информацию по чеку
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/get-smart-contract-receipt-by-id.md)
## Адрес запроса
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/v1/nominal-account/smart-contracts/receipt/{id}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/v1/nominal-account/smart-contracts/receipt/{id}`
## Описание
Запрос позволяет запросить актуальный статус чека и ссылку на чек
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
В случае открытия клиентом нескольких номинальных счетов заголовок **nominalAccountId** является обяательным к заполнению
---
# Запросить список нераспределенных пополнений
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/get-undefined-transactions.md)
## Адрес запроса
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/v1/nominal-account/transactions/undefined`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/v1/nominal-account/transactions/undefined`
## Описание
Метод возвращает список нераспределенных/частично распределенных операций пополнения номинального счета, совершенных через эквайринг (сортировка данных выполняется по возрастанию даты создания (createDate)
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
В случае открытия клиентом нескольких номинальных счетов заголовок **nominalAccountId** является обяательным к заполнению
Значение **amountUndefined** из ответа уменьшается на сумму разнесения после успешного вызова метода **POST/transactions/undefined/\{id}/identify** в рамках конкретного нераспределенного пополнения
Чтобы связать неразнесенное пополнение с конкретным заказом, необходимо сравнить два параметра: **paymentNumber** (из отчета эквайринга) — ответ на запрос **GET/ecom/report** и **docNumber** (из списка неразнесенных пополнений) — ответ на запрос **GET /transactions/undefined**. Если значения совпадают — транзакция из отчета относится к данному неразнесенному пополнению
---
# Разнести нераспределенные пополнения
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/identify-transactions.md)
## Адрес запроса
- Тестовый контур: **POST** `https://iftfintech.testsbi.sberbank.ru:9443/v1/nominal-account/transactions/undefined/{id}/identify`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/v1/nominal-account/transactions/undefined/{id}/identify`
## Описание
Метод предоставляет инструмент для распределения средств, поступивших на номинальный счет через систему эквайринга, на **бенефициаров**
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
В случае открытия клиентом нескольких номинальных счетов заголовок **nominalAccountId** является обяательным к заполнению
Сумма всех транзакций в запросе должа быть меньше или равна сумме нераспределенной операции пополнения
Значение path-параметра **id** в запросе - это **undefinedTransactionId** из запроса **GET/transactions/undefined**
Значение атрибута **transactionId** должно быть уникально относительно ранее созданных транзакций
Значение атрибута **amount** в запросе должно быть больше **0**
Бенефициар, в рамках которого выполняется разнесение, должен быть активен (в статусе **"ACTIVATED"**)
Ответ на запрос **201 Created** подтверждает, что запрос прошел предварительные проверки (активность бенефициара, корректность суммы и т.д.) и принят в асинхронную обработку, но финальный статус требует проверки через вызов метода **GET /transactions/\{id}**
---
# Вывести средства с номинального счета
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/moneyback.md)
## Адрес запроса
- Тестовый контур: **POST** `https://iftfintech.testsbi.sberbank.ru:9443/v1/nominal-account/beneficiaries/moneyback`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/v1/nominal-account/beneficiaries/moneyback`
## Описание
Метод позволяет вывести средства бенефициара с номинального счета на расчетный счет
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
В случае открытия клиентом нескольких номинальных счетов заголовок **nominalAccountId** является обяательным к заполнению
Расчетный счет бенефицира можно получить запросом **GET /beneficiaries/details/\{id}**
Перед вызовом метода необходимо проверить, что доступный остаток бенефициара больше или равен сумме выводимых средств (значение атрибута **amount** из запроса), путем вызова метода **GET/beneficiaries/state/\{id}**
Данные блока **subject** в запросе должны соответствовать данным бенефициара (счет может отличаться, но должен принадлежать бенефициару)
Параметр **kvd** (код вида дохода) - это поле 20 в платежном поручении. Порядок заполнения **kvd**: не заполняется, если получателем является индивидуальный предприниматель или юридическое лицо, так как этот код необходим только при перечислении денег физическим лицам для указания оснований удержаний по исполнительным документам (229-ФЗ). **kvd** заполняется: при перечислении заработной платы, отпускных, премий сотрудникам; при выплате самозанятым; в других случаях выплат физическим лицам (например, возмещение вреда здоровью) (см. 229-ФЗ ст. 99, ч. 1, 2 ст. 101)
#@&$’]+$","maxLength":250,"description":"ФИО для платежа","example":"И Кван Ё"},"orgName":{"type":"string","pattern":"^[А-Яа-яеЁ0-9 \"№.+()-]{3,160}$","description":"Наименование организации","example":"ПАО Ромашки","title":"orgShortNameRu"},"inn":{"type":"string","pattern":"^[0-9]{12}$","description":"ИНН ФЛ","example":"774352898912"},"ogrnip":{"type":"string","pattern":"^3[0-9]{14}$","description":"ОГРНИП","example":"304500116000157"},"snils":{"type":"string","pattern":"^[0-9]{3}-[0-9]{3}-[0-9]{3} [0-9]{2}$","description":"Страховой номер индивидуального лицевого счета","example":"012-345-678 90","title":"snils"},"account":{"required":["bankBIC","bankCorAccount","bankName","accountNumber"],"type":"object","description":"Данные расчетного счета","properties":{"accountNumber":{"type":"string","pattern":"^[0-9]{20,25}$","description":"номер расчетного счета","example":"40702810538000118319","title":"basisAccountNumber"},"bankBIC":{"type":"string","pattern":"^[0-9]{9}$","description":"БИК","example":"044525225"},"bankCorAccount":{"type":"string","pattern":"^[0-9]{20}$","description":"Корреспондентский счет","example":"30101810400000000225"},"bankName":{"type":"string","pattern":"^[А-ЯЁа-яеa-zA-Z][А-ЯЁа-яеa-zA-Z0-9 №N.,()\\\"#$%&\\'\\*{|}~\\[\\]\\-\\\\\\/]+$","maxLength":140,"description":"Наименование банка","example":"ПАО СБЕРБАНК"}},"additionalProperties":false,"title":"account"}},"additionalProperties":false,"title":"individualEntrepreneurPost"},{"type":"object","required":["typeCode","personName","inn","account"],"description":"Общий набор данные для ФЛ","properties":{"typeCode":{"type":"string","pattern":"^FL$","default":"FL","description":"Тип участника FL","example":"FL"},"personName":{"type":"string","pattern":"^(?!.–)[^<>#@&$’]+$","maxLength":250,"description":"ФИО для платежа","example":"Коган-Константинопольский Константин Константинович"},"inn":{"type":"string","pattern":"^[0-9]{12}$","description":"ИНН ФЛ","example":"074352898912"},"snils":{"type":"string","pattern":"^[0-9]{3}-[0-9]{3}-[0-9]{3} [0-9]{2}$","description":"Страховой номер индивидуального лицевого счета","example":"012-345-678 90","title":"snils"},"account":{"required":["bankBIC","bankCorAccount","bankName","accountNumber"],"type":"object","description":"Общий набор данных для вывода средств по реквизитам расчетного счета","properties":{"accountNumber":{"type":"string","pattern":"^[0-9]{20,25}$","description":"номер расчетного счета","example":"40702810538000118319","title":"basisAccountNumber"},"bankBIC":{"type":"string","pattern":"^[0-9]{9}$","description":"БИК","example":"044525225"},"bankCorAccount":{"type":"string","pattern":"^[0-9]{20}$","description":"Корреспондентский счет","example":"30101810400000000225"},"bankName":{"type":"string","pattern":"^[А-ЯЁа-яеa-zA-Z][А-ЯЁа-яеa-zA-Z0-9 №N.,()\\\"#$%&\\'\\*{|}~\\[\\]\\-\\\\\\/]+$","maxLength":140,"description":"Наименование банка","example":"ПАО СБЕРБАНК"}},"additionalProperties":false,"title":"accountForMoneyback"}},"additionalProperties":false,"title":"individualForMoneyback"}],"title":"subjectBeneficiaryForMoneyback"},"beneficiaryId":{"type":"string","format":"uuid","pattern":"^[0-9a-fA-F-]{36}$","description":"Идентификатор","example":"74550e51-9e81-435d-864c-4b5e07d70e18","title":"id"},"amount":{"type":"integer","minimum":0,"maximum":100000000000,"description":"Cумма средств в копейках","example":20100,"title":"amount"},"currency":{"type":"string","enum":["RUB","RUR"],"description":"Валюта","example":"RUB","title":"currency"},"kvd":{"description":"Код вида дохода","type":"string","pattern":"^[1-5]$","example":"1","title":"kvd"}},"additionalProperties":false},"agreement":{"type":"string","enum":["Клиент подтверждает, что операция совершается в соответствии с условиями Договора номинального счета"],"description":"Соглашение","example":"Клиент подтверждает, что операция совершается в соответствии с условиями Договора номинального счета","title":"agreement"}},"additionalProperties":false,"description":"Подписываемый payload"},"signature":{"type":"string","pattern":"^[A-Za-z0-9+/=]+$","maxLength":16000,"description":"Подпись над content","example":"MIIN9gYJKoZIhvcNAQcCoIIN5zCCDeMCAQExDDAKBggqhQMHAQECAjALBgkqhkiG9w0BBwGgggpKMIIFHDCCBMmgAwIBAgIQOyCK5f1GaIZJoFD6r6iDkzAKBggqhQMHAQEDAjCCAQoxGDAWBgUqhQNkARINMTIzNDU2Nzg5MDEyMzEaMBgGCCqFAwOBAwEBEgwwMDEyMzQ1Njc4OTAxLzAtBgNVBAkMJtGD0LsuINCh0YPRidGR0LLRgdC60LjQuSDQstCw0Lsg0LQuIDE4MQswCQYDVQQGEwJSVTEZMBcGA1UECAwQ0LMuINCc0L7RgdC60LLQsDEVMBMGA1UEBwwM0JzQvtGB0LrQstCwMSUwIwYDVQQKDBzQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4iMTswOQYDVQQDDDLQotC10YHRgtC+0LLRi9C5INCj0KYg0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjAeFw0xODA5MTIxMDE5MzBaFw0yMzA5MTIxMDI4NTVaMIIBCjEYMBYGBSqFA2QBEg0xMjM0NTY3ODkwMTIzMRowGAYIKoUDA4EDAQESDDAwMTIzNDU2Nzg5MDEvMC0GA1UECQwm0YPQuy4g0KHRg9GJ0ZHQstGB0LrQuNC5INCy0LDQuyDQtC4gMTgxCzAJBgNVBAYTAlJVMRkwFwYDVQQIDBDQsy4g0JzQvtGB0LrQstCwMRUwEwYDVQQHDAzQnNC+0YHQutCy0LAxJTAjBgNVBAoMHNCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIxOzA5BgNVBAMMMtCi0LXRgdGC0L7QstGL0Lkg0KPQpiDQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4iMGYwHwYIKoUDBwEBAQEwEwYHKoUDAgIjAQYIKoUDBwEBAgIDQwAEQJgf/alQzSGGMPRZBnKp1j1rwDOCBkY349whSrH4n7dW7KUttYGHtp3CLt/9CTNTnBgyrNdCLgml9DajpcHSIvCjggH+MIIB+jA2BgUqhQNkbwQtDCsi0JrRgNC40L/RgtC+0J/RgNC+IENTUCIgKNCy0LXRgNGB0LjRjyA0LjApMIIBIQYFKoUDZHAEggEWMIIBEgwrItCa0YDQuNC/0YLQvtCf0YDQviBDU1AiICjQstC10YDRgdC40Y8gNC4wKQxB0KPQtNC+0YHRgtC+0LLQtdGA0Y/RjtGJ0LjQuSDRhtC10L3RgtGAICLQmtGA0LjQv9GC0L7Qn9GA0L4g0KPQpiIMT9Ch0LXRgNGC0LjRhNC40LrQsNGCINGB0L7QvtGC0LLQtdGC0YHRgtCy0LjRjyDihJYg0KHQpC8wMDAtMDAwMCDQvtGCIDAwLjAwLjAwMDAMT9Ch0LXRgNGC0LjRhNC40LrQsNGCINGB0L7QvtGC0LLQtdGC0YHRgtCy0LjRjyDihJYg0KHQpC8wMDAtMDAwMCDQvtGCIDAwLjAwLjAwMDAwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJuFXvuB3E1ZB1Fjz77f2ix/yUQ8MBIGCSsGAQQBgjcVAQQFAgMBAAEwJQYDVR0gBB4wHDAIBgYqhQNkcQEwCAYGKoUDZHECMAYGBFUdIAAwIwYJKwYBBAGCNxUCBBYEFMjaZsu2l9I+yWcdwltkOqvcu89pMAoGCCqFAwcBAQMCA0EAPpXN2B+VvQmrc4L1BODyZhIygpsrA8xLwLNz+OcN1r2DyCctAcHs72VdrHf93dqdBOK/6AJ/hzYbz6x6KJwh/jCCBSYwggTToAMCAQICE3wAA9tSn+fyWo8tD/sAAQAD21IwCgYIKoUDBwEBAwIwggEKMRgwFgYFKoUDZAESDTEyMzQ1Njc4OTAxMjMxGjAYBggqhQMDgQMBARIMMDAxMjM0NTY3ODkwMS8wLQYDVQQJDCbRg9C7LiDQodGD0YnRkdCy0YHQutC40Lkg0LLQsNC7INC0LiAxODELMAkGA1UEBhMCUlUxGTAXBgNVBAgMENCzLiDQnNC+0YHQutCy0LAxFTATBgNVBAcMDNCc0L7RgdC60LLQsDElMCMGA1UECgwc0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjE7MDkGA1UEAwwy0KLQtdGB0YLQvtCy0YvQuSDQo9CmINCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIwHhcNMjExMDAxMTQyNTMxWhcNMjIwMTAxMTQzNTMxWjCBtjEYMBYGCCqFAwOBAwEBEgo2MTY1MTczNDA4MSAwHgYJKoZIhvcNAQkBFhFpaWNvbWV0YUB0ZWN0LmNvbTEvMC0GA1UEAwwm0JrQvtC80LXRgtCwINCY0LLQsNC9INCY0LLQsNC90L7QstC40YcxFTATBgNVBAoMDNCa0L7QvNC10YLQsDEjMCEGA1UEBwwa0KDQvtGB0YLQvtCyLdC90LAt0JTQvtC90YMxCzAJBgNVBAYTAlJVMGYwHwYIKoUDBwEBAQEwEwYHKoUDAgIkAAYIKoUDBwEBAgIDQwAEQFnrKMdW+QUgH8484b8cVBr3LQmikew2ZWUnfXpFzNi0yEfh/JM/autCt/YhmX9bAkYH86jCHq6J2RMk5VRJOPyjggJaMIICVjAPBgNVHQ8BAf8EBQMDB/AAMBMGA1UdJQQMMAoGCCsGAQUFBwMCMB0GA1UdDgQWBBR+BEDU3Eo8o2VJC0hT3Pi7FmBArTAfBgNVHSMEGDAWgBSbhV77gdxNWQdRY8++39osf8lEPDCCAQ8GA1UdHwSCAQYwggECMIH/oIH8oIH5hoG1aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC8hMDQyMiEwNDM1ITA0NDEhMDQ0MiEwNDNlITA0MzIhMDQ0YiEwNDM5JTIwITA0MjMhMDQyNiUyMCEwNDFlITA0MWUhMDQxZSUyMCEwMDIyITA0MWEhMDQyMCEwNDE4ITA0MWYhMDQyMiEwNDFlLSEwNDFmITA0MjAhMDQxZSEwMDIyKDEpLmNybIY/aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC90ZXN0Z29zdDIwMTIoMSkuY3JsMIHaBggrBgEFBQcBAQSBzTCByjBEBggrBgEFBQcwAoY4aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC9yb290MjAxOC5jcnQwPwYIKwYBBQUHMAGGM2h0dHA6Ly90ZXN0Z29zdDIwMTIuY3J5cHRvcHJvLnJ1L29jc3AyMDEyZy9vY3NwLnNyZjBBBggrBgEFBQcwAYY1aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvb2NzcDIwMTJnc3Qvb2NzcC5zcmYwCgYIKoUDBwEBAwIDQQA2aueOfec/1xFA/NOfciGpRGYPr06YaDfZRdx0jbiU2fubJgSjB/MvZMsrOrIPGSK9DBN9pk/cOqDQ3f20TottMYIDczCCA28CAQEwggEjMIIBCjEYMBYGBSqFA2QBEg0xMjM0NTY3ODkwMTIzMRowGAYIKoUDA4EDAQESDDAwMTIzNDU2Nzg5MDEvMC0GA1UECQwm0YPQuy4g0KHRg9GJ0ZHQstGB0LrQuNC5INCy0LDQuyDQtC4gMTgxCzAJBgNVBAYTAlJVMRkwFwYDVQQIDBDQsy4g0JzQvtGB0LrQstCwMRUwEwYDVQQHDAzQnNC+0YHQutCy0LAxJTAjBgNVBAoMHNCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIxOzA5BgNVBAMMMtCi0LXRgdGC0L7QstGL0Lkg0KPQpiDQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4iAhN8AAPbUp/n8lqPLQ/7AAEAA9tSMAoGCCqFAwcBAQICoIIB5zAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yMTEwMDExNDU4MjZaMC8GCSqGSIb3DQEJBDEiBCA/U5ohPpfIAswinUdMaqMqglo2CyqTOpSf2SUgjZzhuzCCAXoGCyqGSIb3DQEJEAIvMYIBaTCCAWUwggFhMIIBXTAKBggqhQMHAQECAgQg1wk0diRGLZG+oWXUM8cCdDszaDCKQ5onnGCp3uNcAnIwggErMIIBEqSCAQ4wggEKMRgwFgYFKoUDZAESDTEyMzQ1Njc4OTAxMjMxGjAYBggqhQMDgQMBARIMMDAxMjM0NTY3ODkwMS8wLQYDVQQJDCbRg9C7LiDQodGD0YnRkdCy0YHQutC40Lkg0LLQsNC7INC0LiAxODELMAkGA1UEBhMCUlUxGTAXBgNVBAgMENCzLiDQnNC+0YHQutCy0LAxFTATBgNVBAcMDNCc0L7RgdC60LLQsDElMCMGA1UECgwc0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjE7MDkGA1UEAwwy0KLQtdGB0YLQvtCy0YvQuSDQo9CmINCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniICE3wAA9tSn+fyWo8tD/sAAQAD21IwCgYIKoUDBwEBAQEEQCS2z4wN+cZlvy+49XUpf/K6pO2T/In+4PSC6xO0zJLGpiWIvbijHwaiZ8CpWu7/GlN++fWzkai7lAd4E0g4Qis=","title":"signature"}},"additionalProperties":false}}},"required":true}} />
---
# Nominal Accounts Overview (beneficiary-customer)
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/nominal-accounts-overview-beneficiary-customer.md)
## Описание
### Сервис предназначен для управления сделками (смарт-контрактами) при расчетах через номинальный счет с множеством бенефициаров по схеме "Бенефициар-заказчик".
**Рекомендации по использованию API:**
* При использовании методов в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к конкретному ресурсу
* Действия, касающиеся одного и того же бенефициара - создание сделки (смарт-контракта), исполнение сделки (смарт-контракта) прерывание сделки (смарт-контракта) и вывод средств - выполняются на стороне Банка последовательно (под блокировкой). Рекомендуется со стороны площадки также отправлять запросы по одному бенефициару последовательно, дожидаясь ответа по предыдущему запросу. Неисполнение данной рекомендации может привести к ошибке с кодом 429 "Too many requests" и необходимости повторной отправки запроса
* Бенефициар, в отношении которого выполняются операции по удалению, изменению информации, выводу средств, созданию сделки (смарт-контракта), исполнению сделки (смарт-контракта) или прерывание сделки (смарт-контракта), должен быть активным
* В случае получения ответа с кодом 500 "SOWA Internal Error" необходимо переподписать content и повторить отправку запроса
[Подробнее о сделках (смарт-контрактах)](/ru/sber-api/scenarios/transfers/nominal-accounts/overview)
[Инструкция по получению токена в интерфейсе СББОЛ](/ru/sber-api/start/connect)
### API URLs
* Тестовый контур - https://iftfintech.testsbi.sberbank.ru:9443
* Промышленный контур - https://fintech.sberbank.ru:9443
[Правила получения доступа к API](/ru/sber-api/specifications/overview)
[Скачать JSON-схемы](https://cdn-app.sberdevices.ru/misc/0.0.0/assets/bsm-docs/06deff79_nominal_accounts_overview_\(beneficiary-customer\).1.0.0.schemas.zip)
[Таблица ошибок](/ru/sber-api/scenarios/transfers/nominal-accounts/table-errors)
---
# Безопасные сделки
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/nominal-accounts-overview.md)
## Методы Sber API по работе с сервисом Безопасные сделки:
* [Бенефициар-заказчик](/ru/sber-api/specifications/nominal-accounts/nominal-accounts-overview-beneficiary-customer)
* [Бенефициар-исполнитель](/ru/sber-api/specifications/nominal-accounts-be/nominal-accounts-overview-beneficiary-executor)
* [Бизнес-описание и инструкции сервиса "Безопасные сделки"](/ru/sber-api/scenarios/transfers/nominal-accounts/overview)
---
# Создать чек для самозанятого
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/receipt-create-smart-contract.md)
## Адрес запроса
- Тестовый контур: **POST** `https://iftfintech.testsbi.sberbank.ru:9443/v1/nominal-account/smart-contracts/receipt/create`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/v1/nominal-account/smart-contracts/receipt/create`
## Описание
Метод позволяет сформировать чек для самозанятого по успешно завершенным транзакциям в рамках сделки (смарт-контракта)
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
В случае открытия клиентом нескольких номинальных счетов заголовок **nominalAccountId** является обяательным к заполнению
#@&$’*]+$","maximum":1024,"example":"Оказанная услуга"},"receiptDate":{"description":"Дата запроса на формирование чека","format":"date","example":"2025-05-25"},"beneficiaryId":{"type":"string","format":"uuid","pattern":"^[0-9a-fA-F-]{36}$","description":"Идентификатор бенефициара номинального счета - плательщика","example":"99ee301b-8e06-4fd5-88d4-2ca5668294b1"},"selfEmployedData":{"oneOf":[{"type":"object","description":"Реквизиты самозанятого (если платеж был проведен по номеру счета)","required":["inn","fullName","bankBIC","accountNumber"],"properties":{"inn":{"type":"string","pattern":"^[0-9]{12}$","description":"ИНН самозанятого","example":"774352898912"},"fullName":{"type":"object","required":["lastName","firstName"],"description":"ФИО самозанятого","properties":{"lastName":{"type":"string","pattern":"^(?!.–)[^<>#@&$’]+$","maxLength":50,"description":"Фамилия","example":"Коган-Константинопольский","title":"surnameReceipt"},"firstName":{"type":"string","pattern":"^(?!.–)[^<>#@&$’]+$","maxLength":50,"description":"Имя","example":"Фарид Оглы","title":"nameReceipt"},"middleName":{"type":"string","pattern":"^(?!.–)[^<>#@&$’]+$","maxLength":50,"description":"Отчество","example":"Николаевич","title":"patronymicReceipt"}},"additionalProperties":false,"title":"fullNameSelfEmployed"},"bankBIC":{"description":"БИК банка получателя","type":"string","maxLength":9,"pattern":"^[0-9]{9}$"},"accountNumber":{"type":"string","pattern":"^[0-9]{20,25}$","description":"номер расчетного счета","example":"40702810538000118319","title":"basisAccountNumber"}},"additionalProperties":false,"title":"selfEmployedAccount"},{"type":"object","description":"Реквизиты самозанятого (если платеж был проведен по СБП В2С)","required":["inn","fullName","bankBIC","phone"],"properties":{"inn":{"type":"string","pattern":"^[0-9]{12}$","description":"ИНН самозанятого","example":"774352898912"},"fullName":{"type":"object","required":["lastName","firstName"],"description":"ФИО самозанятого","properties":{"lastName":{"type":"string","pattern":"^(?!.–)[^<>#@&$’]+$","maxLength":50,"description":"Фамилия","example":"Коган-Константинопольский","title":"surnameReceipt"},"firstName":{"type":"string","pattern":"^(?!.–)[^<>#@&$’]+$","maxLength":50,"description":"Имя","example":"Фарид Оглы","title":"nameReceipt"},"middleName":{"type":"string","pattern":"^(?!.–)[^<>#@&$’]+$","maxLength":50,"description":"Отчество","example":"Николаевич","title":"patronymicReceipt"}},"additionalProperties":false,"title":"fullNameSelfEmployed"},"bankBIC":{"description":"БИК банка получателя","type":"string","maxLength":9,"pattern":"^[0-9]{9}$"},"phone":{"description":"Номер телефона получателя ФЛ в рамках перевода СБП В2С. Первые 3 цифры номера - код страны (если код страны менее 3 символов, то его необходимо впереди дополнить нулями (например, '007' для РФ)). Последующие 10 цифр - номер абонента","type":"string","pattern":"^[0-9]{11, 13}$","example":"0079051234567","title":"receiverPhone"}},"additionalProperties":false,"title":"selfEmployedSBPB2C"}],"title":"selfEmployedData"}},"additionalProperties":false,"title":"receiptCreate"},"agreement":{"type":"string","enum":["Клиент подтверждает, что операция совершается в соответствии с условиями Договора номинального счета"],"description":"Соглашение","example":"Клиент подтверждает, что операция совершается в соответствии с условиями Договора номинального счета","title":"agreement"}},"additionalProperties":false,"description":"Подписываемый payload"},"signature":{"type":"string","pattern":"^[A-Za-z0-9+/=]+$","maxLength":16000,"description":"Подпись над content","example":"MIIN9gYJKoZIhvcNAQcCoIIN5zCCDeMCAQExDDAKBggqhQMHAQECAjALBgkqhkiG9w0BBwGgggpKMIIFHDCCBMmgAwIBAgIQOyCK5f1GaIZJoFD6r6iDkzAKBggqhQMHAQEDAjCCAQoxGDAWBgUqhQNkARINMTIzNDU2Nzg5MDEyMzEaMBgGCCqFAwOBAwEBEgwwMDEyMzQ1Njc4OTAxLzAtBgNVBAkMJtGD0LsuINCh0YPRidGR0LLRgdC60LjQuSDQstCw0Lsg0LQuIDE4MQswCQYDVQQGEwJSVTEZMBcGA1UECAwQ0LMuINCc0L7RgdC60LLQsDEVMBMGA1UEBwwM0JzQvtGB0LrQstCwMSUwIwYDVQQKDBzQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4iMTswOQYDVQQDDDLQotC10YHRgtC+0LLRi9C5INCj0KYg0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjAeFw0xODA5MTIxMDE5MzBaFw0yMzA5MTIxMDI4NTVaMIIBCjEYMBYGBSqFA2QBEg0xMjM0NTY3ODkwMTIzMRowGAYIKoUDA4EDAQESDDAwMTIzNDU2Nzg5MDEvMC0GA1UECQwm0YPQuy4g0KHRg9GJ0ZHQstGB0LrQuNC5INCy0LDQuyDQtC4gMTgxCzAJBgNVBAYTAlJVMRkwFwYDVQQIDBDQsy4g0JzQvtGB0LrQstCwMRUwEwYDVQQHDAzQnNC+0YHQutCy0LAxJTAjBgNVBAoMHNCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIxOzA5BgNVBAMMMtCi0LXRgdGC0L7QstGL0Lkg0KPQpiDQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4iMGYwHwYIKoUDBwEBAQEwEwYHKoUDAgIjAQYIKoUDBwEBAgIDQwAEQJgf/alQzSGGMPRZBnKp1j1rwDOCBkY349whSrH4n7dW7KUttYGHtp3CLt/9CTNTnBgyrNdCLgml9DajpcHSIvCjggH+MIIB+jA2BgUqhQNkbwQtDCsi0JrRgNC40L/RgtC+0J/RgNC+IENTUCIgKNCy0LXRgNGB0LjRjyA0LjApMIIBIQYFKoUDZHAEggEWMIIBEgwrItCa0YDQuNC/0YLQvtCf0YDQviBDU1AiICjQstC10YDRgdC40Y8gNC4wKQxB0KPQtNC+0YHRgtC+0LLQtdGA0Y/RjtGJ0LjQuSDRhtC10L3RgtGAICLQmtGA0LjQv9GC0L7Qn9GA0L4g0KPQpiIMT9Ch0LXRgNGC0LjRhNC40LrQsNGCINGB0L7QvtGC0LLQtdGC0YHRgtCy0LjRjyDihJYg0KHQpC8wMDAtMDAwMCDQvtGCIDAwLjAwLjAwMDAMT9Ch0LXRgNGC0LjRhNC40LrQsNGCINGB0L7QvtGC0LLQtdGC0YHRgtCy0LjRjyDihJYg0KHQpC8wMDAtMDAwMCDQvtGCIDAwLjAwLjAwMDAwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJuFXvuB3E1ZB1Fjz77f2ix/yUQ8MBIGCSsGAQQBgjcVAQQFAgMBAAEwJQYDVR0gBB4wHDAIBgYqhQNkcQEwCAYGKoUDZHECMAYGBFUdIAAwIwYJKwYBBAGCNxUCBBYEFMjaZsu2l9I+yWcdwltkOqvcu89pMAoGCCqFAwcBAQMCA0EAPpXN2B+VvQmrc4L1BODyZhIygpsrA8xLwLNz+OcN1r2DyCctAcHs72VdrHf93dqdBOK/6AJ/hzYbz6x6KJwh/jCCBSYwggTToAMCAQICE3wAA9tSn+fyWo8tD/sAAQAD21IwCgYIKoUDBwEBAwIwggEKMRgwFgYFKoUDZAESDTEyMzQ1Njc4OTAxMjMxGjAYBggqhQMDgQMBARIMMDAxMjM0NTY3ODkwMS8wLQYDVQQJDCbRg9C7LiDQodGD0YnRkdCy0YHQutC40Lkg0LLQsNC7INC0LiAxODELMAkGA1UEBhMCUlUxGTAXBgNVBAgMENCzLiDQnNC+0YHQutCy0LAxFTATBgNVBAcMDNCc0L7RgdC60LLQsDElMCMGA1UECgwc0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjE7MDkGA1UEAwwy0KLQtdGB0YLQvtCy0YvQuSDQo9CmINCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIwHhcNMjExMDAxMTQyNTMxWhcNMjIwMTAxMTQzNTMxWjCBtjEYMBYGCCqFAwOBAwEBEgo2MTY1MTczNDA4MSAwHgYJKoZIhvcNAQkBFhFpaWNvbWV0YUB0ZWN0LmNvbTEvMC0GA1UEAwwm0JrQvtC80LXRgtCwINCY0LLQsNC9INCY0LLQsNC90L7QstC40YcxFTATBgNVBAoMDNCa0L7QvNC10YLQsDEjMCEGA1UEBwwa0KDQvtGB0YLQvtCyLdC90LAt0JTQvtC90YMxCzAJBgNVBAYTAlJVMGYwHwYIKoUDBwEBAQEwEwYHKoUDAgIkAAYIKoUDBwEBAgIDQwAEQFnrKMdW+QUgH8484b8cVBr3LQmikew2ZWUnfXpFzNi0yEfh/JM/autCt/YhmX9bAkYH86jCHq6J2RMk5VRJOPyjggJaMIICVjAPBgNVHQ8BAf8EBQMDB/AAMBMGA1UdJQQMMAoGCCsGAQUFBwMCMB0GA1UdDgQWBBR+BEDU3Eo8o2VJC0hT3Pi7FmBArTAfBgNVHSMEGDAWgBSbhV77gdxNWQdRY8++39osf8lEPDCCAQ8GA1UdHwSCAQYwggECMIH/oIH8oIH5hoG1aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC8hMDQyMiEwNDM1ITA0NDEhMDQ0MiEwNDNlITA0MzIhMDQ0YiEwNDM5JTIwITA0MjMhMDQyNiUyMCEwNDFlITA0MWUhMDQxZSUyMCEwMDIyITA0MWEhMDQyMCEwNDE4ITA0MWYhMDQyMiEwNDFlLSEwNDFmITA0MjAhMDQxZSEwMDIyKDEpLmNybIY/aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC90ZXN0Z29zdDIwMTIoMSkuY3JsMIHaBggrBgEFBQcBAQSBzTCByjBEBggrBgEFBQcwAoY4aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC9yb290MjAxOC5jcnQwPwYIKwYBBQUHMAGGM2h0dHA6Ly90ZXN0Z29zdDIwMTIuY3J5cHRvcHJvLnJ1L29jc3AyMDEyZy9vY3NwLnNyZjBBBggrBgEFBQcwAYY1aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvb2NzcDIwMTJnc3Qvb2NzcC5zcmYwCgYIKoUDBwEBAwIDQQA2aueOfec/1xFA/NOfciGpRGYPr06YaDfZRdx0jbiU2fubJgSjB/MvZMsrOrIPGSK9DBN9pk/cOqDQ3f20TottMYIDczCCA28CAQEwggEjMIIBCjEYMBYGBSqFA2QBEg0xMjM0NTY3ODkwMTIzMRowGAYIKoUDA4EDAQESDDAwMTIzNDU2Nzg5MDEvMC0GA1UECQwm0YPQuy4g0KHRg9GJ0ZHQstGB0LrQuNC5INCy0LDQuyDQtC4gMTgxCzAJBgNVBAYTAlJVMRkwFwYDVQQIDBDQsy4g0JzQvtGB0LrQstCwMRUwEwYDVQQHDAzQnNC+0YHQutCy0LAxJTAjBgNVBAoMHNCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIxOzA5BgNVBAMMMtCi0LXRgdGC0L7QstGL0Lkg0KPQpiDQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4iAhN8AAPbUp/n8lqPLQ/7AAEAA9tSMAoGCCqFAwcBAQICoIIB5zAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yMTEwMDExNDU4MjZaMC8GCSqGSIb3DQEJBDEiBCA/U5ohPpfIAswinUdMaqMqglo2CyqTOpSf2SUgjZzhuzCCAXoGCyqGSIb3DQEJEAIvMYIBaTCCAWUwggFhMIIBXTAKBggqhQMHAQECAgQg1wk0diRGLZG+oWXUM8cCdDszaDCKQ5onnGCp3uNcAnIwggErMIIBEqSCAQ4wggEKMRgwFgYFKoUDZAESDTEyMzQ1Njc4OTAxMjMxGjAYBggqhQMDgQMBARIMMDAxMjM0NTY3ODkwMS8wLQYDVQQJDCbRg9C7LiDQodGD0YnRkdCy0YHQutC40Lkg0LLQsNC7INC0LiAxODELMAkGA1UEBhMCUlUxGTAXBgNVBAgMENCzLiDQnNC+0YHQutCy0LAxFTATBgNVBAcMDNCc0L7RgdC60LLQsDElMCMGA1UECgwc0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjE7MDkGA1UEAwwy0KLQtdGB0YLQvtCy0YvQuSDQo9CmINCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniICE3wAA9tSn+fyWo8tD/sAAQAD21IwCgYIKoUDBwEBAQEEQCS2z4wN+cZlvy+49XUpf/K6pO2T/In+4PSC6xO0zJLGpiWIvbijHwaiZ8CpWu7/GlN++fWzkai7lAd4E0g4Qis=","title":"signature"}},"additionalProperties":false}}},"required":true}} />
---
# Исполнить сделку через СБП В2С
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/sb-pexecution-b-2-c.md)
## Адрес запроса
- Тестовый контур: **POST** `https://iftfintech.testsbi.sberbank.ru:9443/v1/nominal-account/sbp/b2c/smart-contracts/confirmstep`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/v1/nominal-account/sbp/b2c/smart-contracts/confirmstep`
## Описание
Метод проверяет статус подключения организации (владельца номинального счета) к СБП, проверяет возможность проведения операции СБП В2С с номинального счета, проверяет возможность перевода по указанным реквизитам и исполняет перевод
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
В случае открытия клиентом нескольких номинальных счетов заголовок **nominalAccountId** является обяательным к заполнению
Для использования метода необходимо подключить СБП для переводов физлицам по [инструкции](https://www.sberbank.com/help/business/sbbol/100911?tab=web)
Расшифровка значений параметра **kvd** в блоке **transactions**: **null** - **Не указан.**.Код дохода указывать не нужно, если денежные средства не относятся к доходам с установленными ограничениями согласно ст. 99 и запретом согласно ст. 101 229-ФЗ.), **1** - **Размер взыскания ограничен.** (Заработная плата или иные доходы, в отношении которых ст. 99 229-ФЗ установлены ограничения размеров удержания.), **2** - **Периодические выплаты, взыскание невозможно.** (Периодические доходы, на которые в соответствии с ч. 1 ст. 101 229-ФЗ не может быть обращено взыскание, за исключением доходов, указанных в ч. 2 ст. 101 229-ФЗ.), **3** - **Периодические выплаты, размер взыскания не ограничен.** (Периодические доходы, к которым согласно ч. 2 ст. 101 229-ФЗ ограничения по взысканию не применяются.), **4** - **Разовые выплаты, взыскание невозможно.** (Единовременный доход, на который в соответствии с ч. 1 ст. 101 229-ФЗ не может быть обращено взыскание, за исключением доходов, указанных в ч. 2 ст. 101 229-ФЗ.), **5** - **Разовые выплаты, размер взыскания не ограничен.** (Единовременный доход, к которому согласно ч. 2 ст. 101 229-ФЗ ограничения по взысканию не применяются.);
Комиссия за использование сервиса в пользу площадки должна списываться в рамках вызова метода **POST/smart-contracts/confirmstep** с **transactionType** = "FEE"
В блоке **payee** в параметре **bankBIC** необходимо передать БИК банка из списка банков, возвращаемом в ответе на запрос **GET/sbp/b2c/bankList**
Если в запросе в блоке **payee** заполнен блок **fullNameForCheck**, то будет произведена проверка ФИО получателя из запроса с ФИО получателя из СБП. Если в запросе в блоке **payee** не заполнен блок **fullNameForCheck**, проверка ФИО получателя из запроса с ФИО получателя из СБП производиться не будет (ДС будут переведены на счет по указанному номеру телефона в банк, указанный в запросе, без проверки ФИО получателя)
В блоке **fullNameForCheck** блока **payee** в параметрах **lastName**, **firstName** и **middleName** необходимо передать ФИО получателя средств в таком виде, в котором оно указано в ДУЛ получателя
*validateSelfEmployed*\* - принимает значение false/true (по умолчанию - false) - выполнить проверку самозанятого
#@&$’—\\u00A0]+$","maxLength":140,"example":"прочий перевод"},"validateSelfEmployed":{"type":"boolean","description":"Выполнить проверку самозанятого (только для получателя ФЛ)","example":false,"title":"validateSelfEmployed"},"payee":{"type":"object","required":["phone","bankBIC"],"description":"Общий набор данные для ФЛ","properties":{"phone":{"description":"Номер телефона получателя ФЛ в рамках перевода СБП В2С. Первые 3 цифры номера - код страны (если код страны менее 3 символов, то его необходимо впереди дополнить нулями (например, '007' для РФ)). Последующие 10 цифр - номер абонента","type":"string","pattern":"^[0-9]{11, 13}$","example":"0079051234567","title":"receiverPhone"},"bankBIC":{"description":"БИК банка получателя","type":"string","maxLength":9,"pattern":"^[0-9]{9}$"},"fullNameForCheck":{"type":"object","required":["lastName","firstName"],"description":"Общий набор данных для проверки ФИО получателя из запроса с ФИО получателя из НСПК (если объект fullNameForCheck заполнен - осуществлять проверку ФИО, если объект fullNameForCheck не заполнен - не осуществлять проверку ФИО)","properties":{"lastName":{"type":"string","pattern":"^(?!.–)[^<>#@&$’]+$","maxLength":50,"description":"Фамилия","example":"Коган-Константинопольский","title":"surnameReceipt"},"firstName":{"type":"string","pattern":"^(?!.–)[^<>#@&$’]+$","maxLength":50,"description":"Имя","example":"Фарид Оглы","title":"nameReceipt"},"middleName":{"type":"string","pattern":"^(?!.–)[^<>#@&$’]+$","maxLength":50,"description":"Отчество","example":"Николаевич","title":"patronymicReceipt"}},"additionalProperties":false,"title":"fullNameForCheck"},"inn":{"type":"string","pattern":"^[0-9]{12}$","description":"ИНН ФЛ","example":"074352898912"}},"additionalProperties":false,"title":"subjectPayeeConfirmstepSBP"}},"additionalProperties":false,"title":"transactionSBP"}}},"additionalProperties":false,"title":"executeSBPreq"},"agreement":{"type":"string","enum":["Клиент подтверждает, что операция совершается в соответствии с условиями Договора номинального счета"],"description":"Соглашение","example":"Клиент подтверждает, что операция совершается в соответствии с условиями Договора номинального счета","title":"agreement"}},"additionalProperties":false,"description":"Подписываемый payload"},"signature":{"type":"string","pattern":"^[A-Za-z0-9+/=]+$","maxLength":16000,"description":"Подпись над content","example":"MIIN9gYJKoZIhvcNAQcCoIIN5zCCDeMCAQExDDAKBggqhQMHAQECAjALBgkqhkiG9w0BBwGgggpKMIIFHDCCBMmgAwIBAgIQOyCK5f1GaIZJoFD6r6iDkzAKBggqhQMHAQEDAjCCAQoxGDAWBgUqhQNkARINMTIzNDU2Nzg5MDEyMzEaMBgGCCqFAwOBAwEBEgwwMDEyMzQ1Njc4OTAxLzAtBgNVBAkMJtGD0LsuINCh0YPRidGR0LLRgdC60LjQuSDQstCw0Lsg0LQuIDE4MQswCQYDVQQGEwJSVTEZMBcGA1UECAwQ0LMuINCc0L7RgdC60LLQsDEVMBMGA1UEBwwM0JzQvtGB0LrQstCwMSUwIwYDVQQKDBzQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4iMTswOQYDVQQDDDLQotC10YHRgtC+0LLRi9C5INCj0KYg0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjAeFw0xODA5MTIxMDE5MzBaFw0yMzA5MTIxMDI4NTVaMIIBCjEYMBYGBSqFA2QBEg0xMjM0NTY3ODkwMTIzMRowGAYIKoUDA4EDAQESDDAwMTIzNDU2Nzg5MDEvMC0GA1UECQwm0YPQuy4g0KHRg9GJ0ZHQstGB0LrQuNC5INCy0LDQuyDQtC4gMTgxCzAJBgNVBAYTAlJVMRkwFwYDVQQIDBDQsy4g0JzQvtGB0LrQstCwMRUwEwYDVQQHDAzQnNC+0YHQutCy0LAxJTAjBgNVBAoMHNCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIxOzA5BgNVBAMMMtCi0LXRgdGC0L7QstGL0Lkg0KPQpiDQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4iMGYwHwYIKoUDBwEBAQEwEwYHKoUDAgIjAQYIKoUDBwEBAgIDQwAEQJgf/alQzSGGMPRZBnKp1j1rwDOCBkY349whSrH4n7dW7KUttYGHtp3CLt/9CTNTnBgyrNdCLgml9DajpcHSIvCjggH+MIIB+jA2BgUqhQNkbwQtDCsi0JrRgNC40L/RgtC+0J/RgNC+IENTUCIgKNCy0LXRgNGB0LjRjyA0LjApMIIBIQYFKoUDZHAEggEWMIIBEgwrItCa0YDQuNC/0YLQvtCf0YDQviBDU1AiICjQstC10YDRgdC40Y8gNC4wKQxB0KPQtNC+0YHRgtC+0LLQtdGA0Y/RjtGJ0LjQuSDRhtC10L3RgtGAICLQmtGA0LjQv9GC0L7Qn9GA0L4g0KPQpiIMT9Ch0LXRgNGC0LjRhNC40LrQsNGCINGB0L7QvtGC0LLQtdGC0YHRgtCy0LjRjyDihJYg0KHQpC8wMDAtMDAwMCDQvtGCIDAwLjAwLjAwMDAMT9Ch0LXRgNGC0LjRhNC40LrQsNGCINGB0L7QvtGC0LLQtdGC0YHRgtCy0LjRjyDihJYg0KHQpC8wMDAtMDAwMCDQvtGCIDAwLjAwLjAwMDAwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJuFXvuB3E1ZB1Fjz77f2ix/yUQ8MBIGCSsGAQQBgjcVAQQFAgMBAAEwJQYDVR0gBB4wHDAIBgYqhQNkcQEwCAYGKoUDZHECMAYGBFUdIAAwIwYJKwYBBAGCNxUCBBYEFMjaZsu2l9I+yWcdwltkOqvcu89pMAoGCCqFAwcBAQMCA0EAPpXN2B+VvQmrc4L1BODyZhIygpsrA8xLwLNz+OcN1r2DyCctAcHs72VdrHf93dqdBOK/6AJ/hzYbz6x6KJwh/jCCBSYwggTToAMCAQICE3wAA9tSn+fyWo8tD/sAAQAD21IwCgYIKoUDBwEBAwIwggEKMRgwFgYFKoUDZAESDTEyMzQ1Njc4OTAxMjMxGjAYBggqhQMDgQMBARIMMDAxMjM0NTY3ODkwMS8wLQYDVQQJDCbRg9C7LiDQodGD0YnRkdCy0YHQutC40Lkg0LLQsNC7INC0LiAxODELMAkGA1UEBhMCUlUxGTAXBgNVBAgMENCzLiDQnNC+0YHQutCy0LAxFTATBgNVBAcMDNCc0L7RgdC60LLQsDElMCMGA1UECgwc0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjE7MDkGA1UEAwwy0KLQtdGB0YLQvtCy0YvQuSDQo9CmINCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIwHhcNMjExMDAxMTQyNTMxWhcNMjIwMTAxMTQzNTMxWjCBtjEYMBYGCCqFAwOBAwEBEgo2MTY1MTczNDA4MSAwHgYJKoZIhvcNAQkBFhFpaWNvbWV0YUB0ZWN0LmNvbTEvMC0GA1UEAwwm0JrQvtC80LXRgtCwINCY0LLQsNC9INCY0LLQsNC90L7QstC40YcxFTATBgNVBAoMDNCa0L7QvNC10YLQsDEjMCEGA1UEBwwa0KDQvtGB0YLQvtCyLdC90LAt0JTQvtC90YMxCzAJBgNVBAYTAlJVMGYwHwYIKoUDBwEBAQEwEwYHKoUDAgIkAAYIKoUDBwEBAgIDQwAEQFnrKMdW+QUgH8484b8cVBr3LQmikew2ZWUnfXpFzNi0yEfh/JM/autCt/YhmX9bAkYH86jCHq6J2RMk5VRJOPyjggJaMIICVjAPBgNVHQ8BAf8EBQMDB/AAMBMGA1UdJQQMMAoGCCsGAQUFBwMCMB0GA1UdDgQWBBR+BEDU3Eo8o2VJC0hT3Pi7FmBArTAfBgNVHSMEGDAWgBSbhV77gdxNWQdRY8++39osf8lEPDCCAQ8GA1UdHwSCAQYwggECMIH/oIH8oIH5hoG1aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC8hMDQyMiEwNDM1ITA0NDEhMDQ0MiEwNDNlITA0MzIhMDQ0YiEwNDM5JTIwITA0MjMhMDQyNiUyMCEwNDFlITA0MWUhMDQxZSUyMCEwMDIyITA0MWEhMDQyMCEwNDE4ITA0MWYhMDQyMiEwNDFlLSEwNDFmITA0MjAhMDQxZSEwMDIyKDEpLmNybIY/aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC90ZXN0Z29zdDIwMTIoMSkuY3JsMIHaBggrBgEFBQcBAQSBzTCByjBEBggrBgEFBQcwAoY4aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC9yb290MjAxOC5jcnQwPwYIKwYBBQUHMAGGM2h0dHA6Ly90ZXN0Z29zdDIwMTIuY3J5cHRvcHJvLnJ1L29jc3AyMDEyZy9vY3NwLnNyZjBBBggrBgEFBQcwAYY1aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvb2NzcDIwMTJnc3Qvb2NzcC5zcmYwCgYIKoUDBwEBAwIDQQA2aueOfec/1xFA/NOfciGpRGYPr06YaDfZRdx0jbiU2fubJgSjB/MvZMsrOrIPGSK9DBN9pk/cOqDQ3f20TottMYIDczCCA28CAQEwggEjMIIBCjEYMBYGBSqFA2QBEg0xMjM0NTY3ODkwMTIzMRowGAYIKoUDA4EDAQESDDAwMTIzNDU2Nzg5MDEvMC0GA1UECQwm0YPQuy4g0KHRg9GJ0ZHQstGB0LrQuNC5INCy0LDQuyDQtC4gMTgxCzAJBgNVBAYTAlJVMRkwFwYDVQQIDBDQsy4g0JzQvtGB0LrQstCwMRUwEwYDVQQHDAzQnNC+0YHQutCy0LAxJTAjBgNVBAoMHNCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIxOzA5BgNVBAMMMtCi0LXRgdGC0L7QstGL0Lkg0KPQpiDQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4iAhN8AAPbUp/n8lqPLQ/7AAEAA9tSMAoGCCqFAwcBAQICoIIB5zAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yMTEwMDExNDU4MjZaMC8GCSqGSIb3DQEJBDEiBCA/U5ohPpfIAswinUdMaqMqglo2CyqTOpSf2SUgjZzhuzCCAXoGCyqGSIb3DQEJEAIvMYIBaTCCAWUwggFhMIIBXTAKBggqhQMHAQECAgQg1wk0diRGLZG+oWXUM8cCdDszaDCKQ5onnGCp3uNcAnIwggErMIIBEqSCAQ4wggEKMRgwFgYFKoUDZAESDTEyMzQ1Njc4OTAxMjMxGjAYBggqhQMDgQMBARIMMDAxMjM0NTY3ODkwMS8wLQYDVQQJDCbRg9C7LiDQodGD0YnRkdCy0YHQutC40Lkg0LLQsNC7INC0LiAxODELMAkGA1UEBhMCUlUxGTAXBgNVBAgMENCzLiDQnNC+0YHQutCy0LAxFTATBgNVBAcMDNCc0L7RgdC60LLQsDElMCMGA1UECgwc0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjE7MDkGA1UEAwwy0KLQtdGB0YLQvtCy0YvQuSDQo9CmINCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniICE3wAA9tSn+fyWo8tD/sAAQAD21IwCgYIKoUDBwEBAQEEQCS2z4wN+cZlvy+49XUpf/K6pO2T/In+4PSC6xO0zJLGpiWIvbijHwaiZ8CpWu7/GlN++fWzkai7lAd4E0g4Qis=","title":"signature"}},"additionalProperties":false}}},"required":true}} />
---
# Активировать API
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/signup.md)
## Адрес запроса
- Тестовый контур: **POST** `https://iftfintech.testsbi.sberbank.ru:9443/v1/nominal-account/signup`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/v1/nominal-account/signup`
## Описание
Активация API для работы с сервисом "Nominal Accounts Overview (beneficiary-customer)"
Разовый запрос, выполняемый для сопоставления clientId SberAPI с номинальным счетом
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
---
# Изменить информацию по бенефициару
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts/update-beneficiary.md)
## Адрес запроса
- Тестовый контур: **POST** `https://iftfintech.testsbi.sberbank.ru:9443/v1/nominal-account/beneficiaries/update`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/v1/nominal-account/beneficiaries/update`
## Описание
Запрос отправляет информацию по бенефициару для изменения в реестре бенефициаров номинального счетаЗапрос отправляет id бенефициара для изменения информации по бенефициару:номер телефона, e-mail, реквизиты счета
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
В случае открытия клиентом нескольких номинальных счетов заголовок **nominalAccountId** является обяательным к заполнению
БИК банка счета бенефициара в запросе (**account.bankBIC**) должен соответствовать номеру счета бенефициара в запросе (**account.accountNumber**). Подробности правил соответствия по [ссылке](https://normativ.kontur.ru/document?moduleId=1\&documentId=24444\&ysclid=m3ygncn8z6925372348)
Бенефициар, в отношении которого выполняется изменение информации, должен быть активным
В случае обновления блока **account** предыдущие реквизиты бенефициара для вывода средств будут удалены
---
# Создать бенефициара
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts-be/add-beneficiarylite.md)
## Адрес запроса
- Тестовый контур: **POST** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/secure-deals/beneficiaries`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/secure-deals/beneficiaries`
## Описание
Запрос отправляет анкету бенефициара для добавления в реестр бенефициаров номинального счета
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
После успешного вызова метода **POST /beneficiaries** бенефициар будет переведен в статус **ACTIVATED** асинхронно. Процесс активации бенефициара занимает в среднем от 5 до 15 минут
Значение атрибута **beneficiaryId** в запросе должно быть уникально относительно **beneficiaryId** ранее созданных бенефициаров
Схема блока **data** должна соответствовать типу бенефициара (**beneficiaryType**)
БИК банка счета бенефициара в запросе (**account.bankBIC**) должен соответствовать номеру счета бенефициара в запросе (**account.accountNumber**). Подробности правил соответствия по [ссылке](https://normativ.kontur.ru/document?moduleId=1\&documentId=24444\&ysclid=m3ygncn8z6925372348)
Значение ИНН бенефициара (**inn**) в запросе должно быть уникально относительно ранее созданных бенефициаров
Владелец номинального счета не может стать его бенефициаром
---
# Запросить детали операции
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts-be/cash-flow-event.md)
## Адрес запроса
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/secure-deals/transactions/{id}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/secure-deals/transactions/{id}`
## Описание
Метод возвращает детали операции по ее идентификаторуМетод возвращает детали операции по ее id
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
---
# Запросить список операций
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts-be/cash-flow-events-by-id-nominal-accounts.md)
## Адрес запроса
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/secure-deals/transactions`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/secure-deals/transactions`
## Описание
Метод возвращает список операций по номинальному счету, начиная с дня Х на заданную глубину (за исключением операций возврата). Для получения списка операций возврата по номинальному счету необходимо воспользоваться методом **GET/payments/refunds**
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
Значения параметров **startDate** и **endDate** фильтруют события по дате создания транзакции
Значение параметра **pageNumber** в запросе позволит отобразить в ответе необходимую страницу с данными
Значение параметра **pageSize** в запросе позволит отобразить в ответе необходимое количество записей на странице//поменять даты тут и в новом рефанде, поменять объект на старом рефанде
---
# Создать сделку
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts-be/create-deal.md)
## Адрес запроса
- Тестовый контур: **POST** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/secure-deals/deals`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/secure-deals/deals`
## Описание
Метод предназначен для создания связи между сделкой и бенефициаром
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
Синхронный ответ с http-кодом 201 Created означает, что сделка успешно создана
Значение атрибута **dealId** в запросе должно быть уникально относительно **dealId** ранее созданных сделок
После успешной отправки запроса необходимо зафиксировать идентификатор сделки (dealId), чтобы обращаться к нему в дальнейшем при просмотре статуса сделки, пополнении сделки, исполнении или любых других действиях, связанных с управлением сделкой
После успешного создания сделки ее баланс необходимо пополнить. Это осуществляется через сервисы эквайринга и последующее распределение поступивших средств посредством вызова API-метода **POST/transactions/undefined/\{id}/identify**. Получить список нераспределенных операций пополнения номинального счета, совершенных через эквайринг, можно с помощью вызова метода **GET/transactions/undefined**
Этот метод позволит клиентам удобно создавать сделки, надежно сохранять связь между сделками и бенефициарами, а также обеспечит удобный доступ к необходимой информации по сделкам посредством единого идентификатора
#@&$’*]+$","maxLength":210,"description":"Наименование сделки","example":"Оплата доставки","title":"title"},"dealId":{"type":"string","format":"uuid","pattern":"^[0-9A-Fa-f-]{36}$","description":"Id сделки","example":"cc444f12-2ccf-84f7-777f-01df6ffd8c28","title":"dealId"},"payeeBeneficiaryId":{"type":"string","format":"uuid","pattern":"^[0-9a-fA-F-]{36}$","description":"Идентификатор бенефициара номинального счета","example":"99ee301b-8e06-4fd5-88d4-2ca5668294b1","title":"beneficiaryId"}},"additionalProperties":false},"agreement":{"type":"string","enum":["Клиент подтверждает, что операция совершается в соответствии с условиями Договора номинального счета"],"description":"Соглашение","example":"Клиент подтверждает, что операция совершается в соответствии с условиями Договора номинального счета","title":"agreement"}},"additionalProperties":false,"description":"Подписываемый payload"},"signature":{"type":"string","pattern":"^[A-Za-z0-9+/=]+$","maxLength":16000,"description":"Подпись над content","example":"MIIN9gYJKoZIhvcNAQcCoIIN5zCCDeMCAQExDDAKBggqhQMHAQECAjALBgkqhkiG9w0BBwGgggpKMIIFHDCCBMmgAwIBAgIQOyCK5f1GaIZJoFD6r6iDkzAKBggqhQMHAQEDAjCCAQoxGDAWBgUqhQNkARINMTIzNDU2Nzg5MDEyMzEaMBgGCCqFAwOBAwEBEgwwMDEyMzQ1Njc4OTAxLzAtBgNVBAkMJtGD0LsuINCh0YPRidGR0LLRgdC60LjQuSDQstCw0Lsg0LQuIDE4MQswCQYDVQQGEwJSVTEZMBcGA1UECAwQ0LMuINCc0L7RgdC60LLQsDEVMBMGA1UEBwwM0JzQvtGB0LrQstCwMSUwIwYDVQQKDBzQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4iMTswOQYDVQQDDDLQotC10YHRgtC+0LLRi9C5INCj0KYg0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjAeFw0xODA5MTIxMDE5MzBaFw0yMzA5MTIxMDI4NTVaMIIBCjEYMBYGBSqFA2QBEg0xMjM0NTY3ODkwMTIzMRowGAYIKoUDA4EDAQESDDAwMTIzNDU2Nzg5MDEvMC0GA1UECQwm0YPQuy4g0KHRg9GJ0ZHQstGB0LrQuNC5INCy0LDQuyDQtC4gMTgxCzAJBgNVBAYTAlJVMRkwFwYDVQQIDBDQsy4g0JzQvtGB0LrQstCwMRUwEwYDVQQHDAzQnNC+0YHQutCy0LAxJTAjBgNVBAoMHNCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIxOzA5BgNVBAMMMtCi0LXRgdGC0L7QstGL0Lkg0KPQpiDQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4iMGYwHwYIKoUDBwEBAQEwEwYHKoUDAgIjAQYIKoUDBwEBAgIDQwAEQJgf/alQzSGGMPRZBnKp1j1rwDOCBkY349whSrH4n7dW7KUttYGHtp3CLt/9CTNTnBgyrNdCLgml9DajpcHSIvCjggH+MIIB+jA2BgUqhQNkbwQtDCsi0JrRgNC40L/RgtC+0J/RgNC+IENTUCIgKNCy0LXRgNGB0LjRjyA0LjApMIIBIQYFKoUDZHAEggEWMIIBEgwrItCa0YDQuNC/0YLQvtCf0YDQviBDU1AiICjQstC10YDRgdC40Y8gNC4wKQxB0KPQtNC+0YHRgtC+0LLQtdGA0Y/RjtGJ0LjQuSDRhtC10L3RgtGAICLQmtGA0LjQv9GC0L7Qn9GA0L4g0KPQpiIMT9Ch0LXRgNGC0LjRhNC40LrQsNGCINGB0L7QvtGC0LLQtdGC0YHRgtCy0LjRjyDihJYg0KHQpC8wMDAtMDAwMCDQvtGCIDAwLjAwLjAwMDAMT9Ch0LXRgNGC0LjRhNC40LrQsNGCINGB0L7QvtGC0LLQtdGC0YHRgtCy0LjRjyDihJYg0KHQpC8wMDAtMDAwMCDQvtGCIDAwLjAwLjAwMDAwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJuFXvuB3E1ZB1Fjz77f2ix/yUQ8MBIGCSsGAQQBgjcVAQQFAgMBAAEwJQYDVR0gBB4wHDAIBgYqhQNkcQEwCAYGKoUDZHECMAYGBFUdIAAwIwYJKwYBBAGCNxUCBBYEFMjaZsu2l9I+yWcdwltkOqvcu89pMAoGCCqFAwcBAQMCA0EAPpXN2B+VvQmrc4L1BODyZhIygpsrA8xLwLNz+OcN1r2DyCctAcHs72VdrHf93dqdBOK/6AJ/hzYbz6x6KJwh/jCCBSYwggTToAMCAQICE3wAA9tSn+fyWo8tD/sAAQAD21IwCgYIKoUDBwEBAwIwggEKMRgwFgYFKoUDZAESDTEyMzQ1Njc4OTAxMjMxGjAYBggqhQMDgQMBARIMMDAxMjM0NTY3ODkwMS8wLQYDVQQJDCbRg9C7LiDQodGD0YnRkdCy0YHQutC40Lkg0LLQsNC7INC0LiAxODELMAkGA1UEBhMCUlUxGTAXBgNVBAgMENCzLiDQnNC+0YHQutCy0LAxFTATBgNVBAcMDNCc0L7RgdC60LLQsDElMCMGA1UECgwc0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjE7MDkGA1UEAwwy0KLQtdGB0YLQvtCy0YvQuSDQo9CmINCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIwHhcNMjExMDAxMTQyNTMxWhcNMjIwMTAxMTQzNTMxWjCBtjEYMBYGCCqFAwOBAwEBEgo2MTY1MTczNDA4MSAwHgYJKoZIhvcNAQkBFhFpaWNvbWV0YUB0ZWN0LmNvbTEvMC0GA1UEAwwm0JrQvtC80LXRgtCwINCY0LLQsNC9INCY0LLQsNC90L7QstC40YcxFTATBgNVBAoMDNCa0L7QvNC10YLQsDEjMCEGA1UEBwwa0KDQvtGB0YLQvtCyLdC90LAt0JTQvtC90YMxCzAJBgNVBAYTAlJVMGYwHwYIKoUDBwEBAQEwEwYHKoUDAgIkAAYIKoUDBwEBAgIDQwAEQFnrKMdW+QUgH8484b8cVBr3LQmikew2ZWUnfXpFzNi0yEfh/JM/autCt/YhmX9bAkYH86jCHq6J2RMk5VRJOPyjggJaMIICVjAPBgNVHQ8BAf8EBQMDB/AAMBMGA1UdJQQMMAoGCCsGAQUFBwMCMB0GA1UdDgQWBBR+BEDU3Eo8o2VJC0hT3Pi7FmBArTAfBgNVHSMEGDAWgBSbhV77gdxNWQdRY8++39osf8lEPDCCAQ8GA1UdHwSCAQYwggECMIH/oIH8oIH5hoG1aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC8hMDQyMiEwNDM1ITA0NDEhMDQ0MiEwNDNlITA0MzIhMDQ0YiEwNDM5JTIwITA0MjMhMDQyNiUyMCEwNDFlITA0MWUhMDQxZSUyMCEwMDIyITA0MWEhMDQyMCEwNDE4ITA0MWYhMDQyMiEwNDFlLSEwNDFmITA0MjAhMDQxZSEwMDIyKDEpLmNybIY/aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC90ZXN0Z29zdDIwMTIoMSkuY3JsMIHaBggrBgEFBQcBAQSBzTCByjBEBggrBgEFBQcwAoY4aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC9yb290MjAxOC5jcnQwPwYIKwYBBQUHMAGGM2h0dHA6Ly90ZXN0Z29zdDIwMTIuY3J5cHRvcHJvLnJ1L29jc3AyMDEyZy9vY3NwLnNyZjBBBggrBgEFBQcwAYY1aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvb2NzcDIwMTJnc3Qvb2NzcC5zcmYwCgYIKoUDBwEBAwIDQQA2aueOfec/1xFA/NOfciGpRGYPr06YaDfZRdx0jbiU2fubJgSjB/MvZMsrOrIPGSK9DBN9pk/cOqDQ3f20TottMYIDczCCA28CAQEwggEjMIIBCjEYMBYGBSqFA2QBEg0xMjM0NTY3ODkwMTIzMRowGAYIKoUDA4EDAQESDDAwMTIzNDU2Nzg5MDEvMC0GA1UECQwm0YPQuy4g0KHRg9GJ0ZHQstGB0LrQuNC5INCy0LDQuyDQtC4gMTgxCzAJBgNVBAYTAlJVMRkwFwYDVQQIDBDQsy4g0JzQvtGB0LrQstCwMRUwEwYDVQQHDAzQnNC+0YHQutCy0LAxJTAjBgNVBAoMHNCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIxOzA5BgNVBAMMMtCi0LXRgdGC0L7QstGL0Lkg0KPQpiDQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4iAhN8AAPbUp/n8lqPLQ/7AAEAA9tSMAoGCCqFAwcBAQICoIIB5zAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yMTEwMDExNDU4MjZaMC8GCSqGSIb3DQEJBDEiBCA/U5ohPpfIAswinUdMaqMqglo2CyqTOpSf2SUgjZzhuzCCAXoGCyqGSIb3DQEJEAIvMYIBaTCCAWUwggFhMIIBXTAKBggqhQMHAQECAgQg1wk0diRGLZG+oWXUM8cCdDszaDCKQ5onnGCp3uNcAnIwggErMIIBEqSCAQ4wggEKMRgwFgYFKoUDZAESDTEyMzQ1Njc4OTAxMjMxGjAYBggqhQMDgQMBARIMMDAxMjM0NTY3ODkwMS8wLQYDVQQJDCbRg9C7LiDQodGD0YnRkdCy0YHQutC40Lkg0LLQsNC7INC0LiAxODELMAkGA1UEBhMCUlUxGTAXBgNVBAgMENCzLiDQnNC+0YHQutCy0LAxFTATBgNVBAcMDNCc0L7RgdC60LLQsDElMCMGA1UECgwc0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjE7MDkGA1UEAwwy0KLQtdGB0YLQvtCy0YvQuSDQo9CmINCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniICE3wAA9tSn+fyWo8tD/sAAQAD21IwCgYIKoUDBwEBAQEEQCS2z4wN+cZlvy+49XUpf/K6pO2T/In+4PSC6xO0zJLGpiWIvbijHwaiZ8CpWu7/GlN++fWzkai7lAd4E0g4Qis=","title":"signature"}},"additionalProperties":false}}}}} />
---
# Создать заказ для зачисления на номинальный счет
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts-be/create-order.md)
## Адрес запроса
- Тестовый контур: **POST** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/secure-deals/deals/orders/ecom`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/secure-deals/deals/orders/ecom`
## Описание
:::caution deprecated
This endpoint has been deprecated and may be replaced or removed in future versions of the API.
:::
Создание и регистрация заказа на оплату через интернет-эквайринг (включая СБП С2В)
**Важное изменение с 01.06.2026:**
С этой даты зачисление средств на номинальный счет через интернет-эквайринг (включая СБП С2В) производится напрямую через сервисы эквайринга.
Денежные средства, поступившие на номинальный счет через интернет-эквайринг, отразятся на нем, как неразнесенные. Получить список неразнесенных пополнений можно с помощью вызова метода **GET/transactions/undefined**. Разнести данные пополнения можно с помощью вызова метода **POST/transactions/undefined/\{id}/identify**
**Предварительные условия:**
1. Зарегистрируйтесь в системе интернет-эквайринга. Инициировать регистрацию можно в личном кабинете СББОЛ.
2. После регистрации комиссия с плательщика удерживается согласно тарифам вашего договора на интернет-эквайринг.
Обратите внимание! 1. Если доменное имя содержит кирилические символы, то его необходимо преобразовать по алгоритму ACE. Т.е. строка \"сберпей.рф\" будет выглядеть как \"xn--90aiaq2afe.xn--p1ai\" 2. Если query параметр содержит символ % - считается, что к данному параметру уже применено экранирование и преобразование не осуществляется (параметр остается \"как есть\") 3. Если query параметр содержит символы, отличные от множества [a-zA-Z0-9.-*_ ], эти символы экранируются через символ %. Строка вида \"сберпей.рф\" будет выглядеть как \"%D1%81%D0%B1%D0%B5%D1%80%D0%BF%D0%B5%D0%B9%2E%D1%80%D1%84\"","type":"string","example":"https://testmerchant.ru/return","maxLength":2048,"minLength":12,"pattern":"^[ -~]+$","title":"returnUrlSBPC2B"},"failUrl":{"description":"Адрес, на который требуется перенаправить Плательщика в случае неуспешной оплаты, когда Партнер использует платежную страницу ПШ. Если не указан, используется returnUrl. Обратите внимание! 1. Если доменное имя содержит кирилические символы, то его необходимо преобразовать по алгоритму ACE. Т.е. строка \"сберпей.рф\" будет выглядеть как \"xn--90aiaq2afe.xn--p1ai\" 2. Если query параметр содержит символ % - считается, что к данному параметру уже применено экранирование и преобразование не осуществляется (параметр остается \"как есть\") 3. Если query параметр содержит символы, отличные от множества [a-zA-Z0-9.-*_ ], эти символы экранируются через символ %. Строка вида \"сберпей.рф\" будет выглядеть как \"%D1%81%D0%B1%D0%B5%D1%80%D0%BF%D0%B5%D0%B9%2E%D1%80%D1%84\"","type":"string","example":"https://testmerchant.ru/return","maxLength":2048,"minLength":12,"pattern":"^[ -~]+$","title":"failUrlSBPC2B"},"createBindingId":{"description":"Номер (идентификатор) Плательщика в системе Партнера. Используется для реализации функционала Связок","type":"string","example":"123abc","maxLength":255,"minLength":1,"pattern":"^[ -~]+$","title":"clientIdSBPC2B"},"bindingId":{"description":"Идентификатор Связки, созданной ранее. Может использоваться, только если у магазина есть разрешение на работу со связками","type":"string","format":"uuid","pattern":"^[0-9a-fA-F-]{36}$","example":"2090df9c-5c7c-11ee-8c99-0242ac120002","title":"bindingId"},"features":{"description":"Дополнительные параметры управления сценариями при использовании платежных реквизитов (можно указать несколько через разделитель \";\"): VERIFY = Происходит верификация Плательщика без списания средств с его счета, поэтому в запросе можно передавать нулевую сумму. Даже если сумма платежа будет передана в запросе, она не будет списана со счета покупателя. После успешной верификации заказ сразу переводится в статус REVERSED (отменен); FORCE_SSL = Принудительное проведение платежа без использования 3-D Secure; FORCE_TDS = Принудительное проведение платежа с использованием 3-D Secure. Если карта не поддерживает 3-D Secure, операция будет отклонена; FORCE_FULL_TDS = Принудительное проведение платежа только с успешной аутентификацией плательщика 3-D Secure (Y). В противном случае операция будет отклонена.","type":"string","maxLength":255,"minLength":1,"pattern":"^[ -~]+$","example":"VERIFY","title":"features"},"phone":{"description":"Номер телефона Плательщика. Если в телефон включен код страны, номер должен начинаться со знака плюс («+»). Если телефон передается без знака плюс («+»), то код страны указывать не следует. В случае использования фискализации обязателен для передачи в формате +79998887700, при отсутствии номера телефона обязателен email","type":"string","example":"+79998887700","maxLength":16,"minLength":1,"pattern":"^(\\+?)\\d{7,15}$"},"email":{"description":"Адрес электронной почты Плательщика. В случае использования фискализации обязателен, при отсутствии phone.","type":"string","format":"email","example":"+info@your-company.ru","maxLength":128,"minLength":3}},"additionalProperties":false,"title":"createOrderC2Breq"},"agreement":{"type":"string","enum":["Клиент подтверждает, что операция совершается в соответствии с условиями Договора номинального счета"],"description":"Соглашение","example":"Клиент подтверждает, что операция совершается в соответствии с условиями Договора номинального счета","title":"agreement"}},"description":"Подписываемый payload"},"signature":{"type":"string","pattern":"^[A-Za-z0-9+/=]+$","maxLength":16000,"description":"Подпись над content","example":"MIIN9gYJKoZIhvcNAQcCoIIN5zCCDeMCAQExDDAKBggqhQMHAQECAjALBgkqhkiG9w0BBwGgggpKMIIFHDCCBMmgAwIBAgIQOyCK5f1GaIZJoFD6r6iDkzAKBggqhQMHAQEDAjCCAQoxGDAWBgUqhQNkARINMTIzNDU2Nzg5MDEyMzEaMBgGCCqFAwOBAwEBEgwwMDEyMzQ1Njc4OTAxLzAtBgNVBAkMJtGD0LsuINCh0YPRidGR0LLRgdC60LjQuSDQstCw0Lsg0LQuIDE4MQswCQYDVQQGEwJSVTEZMBcGA1UECAwQ0LMuINCc0L7RgdC60LLQsDEVMBMGA1UEBwwM0JzQvtGB0LrQstCwMSUwIwYDVQQKDBzQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4iMTswOQYDVQQDDDLQotC10YHRgtC+0LLRi9C5INCj0KYg0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjAeFw0xODA5MTIxMDE5MzBaFw0yMzA5MTIxMDI4NTVaMIIBCjEYMBYGBSqFA2QBEg0xMjM0NTY3ODkwMTIzMRowGAYIKoUDA4EDAQESDDAwMTIzNDU2Nzg5MDEvMC0GA1UECQwm0YPQuy4g0KHRg9GJ0ZHQstGB0LrQuNC5INCy0LDQuyDQtC4gMTgxCzAJBgNVBAYTAlJVMRkwFwYDVQQIDBDQsy4g0JzQvtGB0LrQstCwMRUwEwYDVQQHDAzQnNC+0YHQutCy0LAxJTAjBgNVBAoMHNCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIxOzA5BgNVBAMMMtCi0LXRgdGC0L7QstGL0Lkg0KPQpiDQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4iMGYwHwYIKoUDBwEBAQEwEwYHKoUDAgIjAQYIKoUDBwEBAgIDQwAEQJgf/alQzSGGMPRZBnKp1j1rwDOCBkY349whSrH4n7dW7KUttYGHtp3CLt/9CTNTnBgyrNdCLgml9DajpcHSIvCjggH+MIIB+jA2BgUqhQNkbwQtDCsi0JrRgNC40L/RgtC+0J/RgNC+IENTUCIgKNCy0LXRgNGB0LjRjyA0LjApMIIBIQYFKoUDZHAEggEWMIIBEgwrItCa0YDQuNC/0YLQvtCf0YDQviBDU1AiICjQstC10YDRgdC40Y8gNC4wKQxB0KPQtNC+0YHRgtC+0LLQtdGA0Y/RjtGJ0LjQuSDRhtC10L3RgtGAICLQmtGA0LjQv9GC0L7Qn9GA0L4g0KPQpiIMT9Ch0LXRgNGC0LjRhNC40LrQsNGCINGB0L7QvtGC0LLQtdGC0YHRgtCy0LjRjyDihJYg0KHQpC8wMDAtMDAwMCDQvtGCIDAwLjAwLjAwMDAMT9Ch0LXRgNGC0LjRhNC40LrQsNGCINGB0L7QvtGC0LLQtdGC0YHRgtCy0LjRjyDihJYg0KHQpC8wMDAtMDAwMCDQvtGCIDAwLjAwLjAwMDAwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJuFXvuB3E1ZB1Fjz77f2ix/yUQ8MBIGCSsGAQQBgjcVAQQFAgMBAAEwJQYDVR0gBB4wHDAIBgYqhQNkcQEwCAYGKoUDZHECMAYGBFUdIAAwIwYJKwYBBAGCNxUCBBYEFMjaZsu2l9I+yWcdwltkOqvcu89pMAoGCCqFAwcBAQMCA0EAPpXN2B+VvQmrc4L1BODyZhIygpsrA8xLwLNz+OcN1r2DyCctAcHs72VdrHf93dqdBOK/6AJ/hzYbz6x6KJwh/jCCBSYwggTToAMCAQICE3wAA9tSn+fyWo8tD/sAAQAD21IwCgYIKoUDBwEBAwIwggEKMRgwFgYFKoUDZAESDTEyMzQ1Njc4OTAxMjMxGjAYBggqhQMDgQMBARIMMDAxMjM0NTY3ODkwMS8wLQYDVQQJDCbRg9C7LiDQodGD0YnRkdCy0YHQutC40Lkg0LLQsNC7INC0LiAxODELMAkGA1UEBhMCUlUxGTAXBgNVBAgMENCzLiDQnNC+0YHQutCy0LAxFTATBgNVBAcMDNCc0L7RgdC60LLQsDElMCMGA1UECgwc0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjE7MDkGA1UEAwwy0KLQtdGB0YLQvtCy0YvQuSDQo9CmINCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIwHhcNMjExMDAxMTQyNTMxWhcNMjIwMTAxMTQzNTMxWjCBtjEYMBYGCCqFAwOBAwEBEgo2MTY1MTczNDA4MSAwHgYJKoZIhvcNAQkBFhFpaWNvbWV0YUB0ZWN0LmNvbTEvMC0GA1UEAwwm0JrQvtC80LXRgtCwINCY0LLQsNC9INCY0LLQsNC90L7QstC40YcxFTATBgNVBAoMDNCa0L7QvNC10YLQsDEjMCEGA1UEBwwa0KDQvtGB0YLQvtCyLdC90LAt0JTQvtC90YMxCzAJBgNVBAYTAlJVMGYwHwYIKoUDBwEBAQEwEwYHKoUDAgIkAAYIKoUDBwEBAgIDQwAEQFnrKMdW+QUgH8484b8cVBr3LQmikew2ZWUnfXpFzNi0yEfh/JM/autCt/YhmX9bAkYH86jCHq6J2RMk5VRJOPyjggJaMIICVjAPBgNVHQ8BAf8EBQMDB/AAMBMGA1UdJQQMMAoGCCsGAQUFBwMCMB0GA1UdDgQWBBR+BEDU3Eo8o2VJC0hT3Pi7FmBArTAfBgNVHSMEGDAWgBSbhV77gdxNWQdRY8++39osf8lEPDCCAQ8GA1UdHwSCAQYwggECMIH/oIH8oIH5hoG1aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC8hMDQyMiEwNDM1ITA0NDEhMDQ0MiEwNDNlITA0MzIhMDQ0YiEwNDM5JTIwITA0MjMhMDQyNiUyMCEwNDFlITA0MWUhMDQxZSUyMCEwMDIyITA0MWEhMDQyMCEwNDE4ITA0MWYhMDQyMiEwNDFlLSEwNDFmITA0MjAhMDQxZSEwMDIyKDEpLmNybIY/aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC90ZXN0Z29zdDIwMTIoMSkuY3JsMIHaBggrBgEFBQcBAQSBzTCByjBEBggrBgEFBQcwAoY4aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC9yb290MjAxOC5jcnQwPwYIKwYBBQUHMAGGM2h0dHA6Ly90ZXN0Z29zdDIwMTIuY3J5cHRvcHJvLnJ1L29jc3AyMDEyZy9vY3NwLnNyZjBBBggrBgEFBQcwAYY1aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvb2NzcDIwMTJnc3Qvb2NzcC5zcmYwCgYIKoUDBwEBAwIDQQA2aueOfec/1xFA/NOfciGpRGYPr06YaDfZRdx0jbiU2fubJgSjB/MvZMsrOrIPGSK9DBN9pk/cOqDQ3f20TottMYIDczCCA28CAQEwggEjMIIBCjEYMBYGBSqFA2QBEg0xMjM0NTY3ODkwMTIzMRowGAYIKoUDA4EDAQESDDAwMTIzNDU2Nzg5MDEvMC0GA1UECQwm0YPQuy4g0KHRg9GJ0ZHQstGB0LrQuNC5INCy0LDQuyDQtC4gMTgxCzAJBgNVBAYTAlJVMRkwFwYDVQQIDBDQsy4g0JzQvtGB0LrQstCwMRUwEwYDVQQHDAzQnNC+0YHQutCy0LAxJTAjBgNVBAoMHNCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIxOzA5BgNVBAMMMtCi0LXRgdGC0L7QstGL0Lkg0KPQpiDQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4iAhN8AAPbUp/n8lqPLQ/7AAEAA9tSMAoGCCqFAwcBAQICoIIB5zAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yMTEwMDExNDU4MjZaMC8GCSqGSIb3DQEJBDEiBCA/U5ohPpfIAswinUdMaqMqglo2CyqTOpSf2SUgjZzhuzCCAXoGCyqGSIb3DQEJEAIvMYIBaTCCAWUwggFhMIIBXTAKBggqhQMHAQECAgQg1wk0diRGLZG+oWXUM8cCdDszaDCKQ5onnGCp3uNcAnIwggErMIIBEqSCAQ4wggEKMRgwFgYFKoUDZAESDTEyMzQ1Njc4OTAxMjMxGjAYBggqhQMDgQMBARIMMDAxMjM0NTY3ODkwMS8wLQYDVQQJDCbRg9C7LiDQodGD0YnRkdCy0YHQutC40Lkg0LLQsNC7INC0LiAxODELMAkGA1UEBhMCUlUxGTAXBgNVBAgMENCzLiDQnNC+0YHQutCy0LAxFTATBgNVBAcMDNCc0L7RgdC60LLQsDElMCMGA1UECgwc0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjE7MDkGA1UEAwwy0KLQtdGB0YLQvtCy0YvQuSDQo9CmINCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniICE3wAA9tSn+fyWo8tD/sAAQAD21IwCgYIKoUDBwEBAQEEQCS2z4wN+cZlvy+49XUpf/K6pO2T/In+4PSC6xO0zJLGpiWIvbijHwaiZ8CpWu7/GlN++fWzkai7lAd4E0g4Qis=","title":"signature"}}}}}}} />
---
# Создать платеж по СБП В2С
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts-be/create-payment-sbp.md)
## Адрес запроса
- Тестовый контур: **POST** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/secure-deals/transactions/sbp/b2c`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/secure-deals/transactions/sbp/b2c`
## Описание
Метод предназначен для формирования платежа по СБП В2С с целью вывода денежных средств с баланса бенефициара номинального счета
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
Бенефициар в рамках запроса должен быть активным (в статусе **"ACTIVATED"**)
Значение атрибута **amount** в запросе должно быть больше 0
Значение атрибута **transactionId** должно быть уникально относительно ранее созданных транзакций
Для использования метода необходимо подключить СБП для переводов физлицам по [инструкции](https://www.sberbank.com/help/business/sbbol/100911?tab=web)
Параметр **kvd** (код вида дохода) - это поле 20 в платежном поручении. Порядок заполнения **kvd**: не заполняется, если получателем является индивидуальный предприниматель или юридическое лицо, так как этот код необходим только при перечислении денег физическим лицам для указания оснований удержаний по исполнительным документам (229-ФЗ). **kvd** заполняется: при перечислении заработной платы, отпускных, премий сотрудникам; при выплате самозанятым; в других случаях выплат физическим лицам (например, возмещение вреда здоровью) (см. 229-ФЗ ст. 99, ч. 1, 2 ст. 101)
В блоке **payee** в параметре **bankBIC** необходимо передать БИК банка из списка банков, возвращаемом в ответе на запрос **GET/sbp/b2c/bankList**
Если в запросе в блоке **payee** заполнен блок **fullNameForCheck**, то будет произведена проверка ФИО получателя из запроса с ФИО получателя из СБП. Если в запросе в блоке **payee** не заполнен блок **fullNameForCheck**, проверка ФИО получателя из запроса с ФИО получателя из СБП производиться не будет (ДС будут переведены на счет по указанному номеру телефона в банк, указанный в запросе, без проверки ФИО получателя)
В блоке **fullNameForCheck** блока **payee** в параметрах **lastName**, **firstName** и **middleName** необходимо передать ФИО получателя средств в таком виде, в котором оно указано в ДУЛ получателя
#@&$’—\\u00A0]+$","maxLength":210,"description":"Назначение платежа","example":"Оплата по Договору поставки №23/04-2022 от 01.04.2022, включая НДС 20%","title":"purpose"},"payee":{"type":"object","required":["phone","bankBIC"],"description":"Общий набор данные для ФЛ при оплате по номеру телефона","properties":{"phone":{"description":"Номер телефона получателя ФЛ в рамках перевода СБП В2С. Первые 3 цифры номера - код страны (если код страны менее 3 символов, то его необходимо впереди дополнить нулями (например, '007' для РФ)). Последующие 10 цифр - номер абонента","type":"string","pattern":"^[0-9]$","maxLength":13,"minLength":11,"example":"0079051234567","title":"receiverPhone"},"bankBIC":{"description":"БИК банка получателя","type":"string","maxLength":9,"pattern":"^[0-9]$"},"inn":{"type":"string","pattern":"^[0-9]$","maxLength":12,"description":"ИНН ФЛ-получателя","example":"614352898912"},"fullNameForCheck":{"type":"object","required":["lastName","firstName"],"description":"Общий набор данных для проверки ФИО получателя из запроса с ФИО получателя из НСПК (если объект fullNameForCheck заполнен - осуществлять проверку ФИО, если объект fullNameForCheck не заполнен - не осуществлять проверку ФИО)","properties":{"lastName":{"type":"string","pattern":"^(?!.–)[^<>#@&$’]+$","maxLength":50,"description":"Фамилия","example":"Коган-Константинопольский","title":"surnameSBP"},"firstName":{"type":"string","pattern":"^(?!.–)[^<>#@&$’]+$","maxLength":50,"description":"Имя","example":"Фарид Оглы","title":"nameSBP"},"middleName":{"type":"string","pattern":"^(?!.–)[^<>#@&$’]+$","maxLength":50,"description":"Отчество","example":"Николаевич","title":"patronymicSBP"}},"additionalProperties":false,"title":"fullNameForCheck"}},"additionalProperties":false,"title":"payeeFLSBP"}},"additionalProperties":false,"title":"transactionSBP"},"agreement":{"type":"string","enum":["Клиент подтверждает, что операция совершается в соответствии с условиями Договора номинального счета"],"description":"Соглашение","example":"Клиент подтверждает, что операция совершается в соответствии с условиями Договора номинального счета","title":"agreement"}}},"signature":{"type":"string","pattern":"^[A-Za-z0-9+/=]+$","maxLength":16000,"description":"Подпись над content","example":"MIIN9gYJKoZIhvcNAQcCoIIN5zCCDeMCAQExDDAKBggqhQMHAQECAjALBgkqhkiG9w0BBwGgggpKMIIFHDCCBMmgAwIBAgIQOyCK5f1GaIZJoFD6r6iDkzAKBggqhQMHAQEDAjCCAQoxGDAWBgUqhQNkARINMTIzNDU2Nzg5MDEyMzEaMBgGCCqFAwOBAwEBEgwwMDEyMzQ1Njc4OTAxLzAtBgNVBAkMJtGD0LsuINCh0YPRidGR0LLRgdC60LjQuSDQstCw0Lsg0LQuIDE4MQswCQYDVQQGEwJSVTEZMBcGA1UECAwQ0LMuINCc0L7RgdC60LLQsDEVMBMGA1UEBwwM0JzQvtGB0LrQstCwMSUwIwYDVQQKDBzQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4iMTswOQYDVQQDDDLQotC10YHRgtC+0LLRi9C5INCj0KYg0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjAeFw0xODA5MTIxMDE5MzBaFw0yMzA5MTIxMDI4NTVaMIIBCjEYMBYGBSqFA2QBEg0xMjM0NTY3ODkwMTIzMRowGAYIKoUDA4EDAQESDDAwMTIzNDU2Nzg5MDEvMC0GA1UECQwm0YPQuy4g0KHRg9GJ0ZHQstGB0LrQuNC5INCy0LDQuyDQtC4gMTgxCzAJBgNVBAYTAlJVMRkwFwYDVQQIDBDQsy4g0JzQvtGB0LrQstCwMRUwEwYDVQQHDAzQnNC+0YHQutCy0LAxJTAjBgNVBAoMHNCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIxOzA5BgNVBAMMMtCi0LXRgdGC0L7QstGL0Lkg0KPQpiDQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4iMGYwHwYIKoUDBwEBAQEwEwYHKoUDAgIjAQYIKoUDBwEBAgIDQwAEQJgf/alQzSGGMPRZBnKp1j1rwDOCBkY349whSrH4n7dW7KUttYGHtp3CLt/9CTNTnBgyrNdCLgml9DajpcHSIvCjggH+MIIB+jA2BgUqhQNkbwQtDCsi0JrRgNC40L/RgtC+0J/RgNC+IENTUCIgKNCy0LXRgNGB0LjRjyA0LjApMIIBIQYFKoUDZHAEggEWMIIBEgwrItCa0YDQuNC/0YLQvtCf0YDQviBDU1AiICjQstC10YDRgdC40Y8gNC4wKQxB0KPQtNC+0YHRgtC+0LLQtdGA0Y/RjtGJ0LjQuSDRhtC10L3RgtGAICLQmtGA0LjQv9GC0L7Qn9GA0L4g0KPQpiIMT9Ch0LXRgNGC0LjRhNC40LrQsNGCINGB0L7QvtGC0LLQtdGC0YHRgtCy0LjRjyDihJYg0KHQpC8wMDAtMDAwMCDQvtGCIDAwLjAwLjAwMDAMT9Ch0LXRgNGC0LjRhNC40LrQsNGCINGB0L7QvtGC0LLQtdGC0YHRgtCy0LjRjyDihJYg0KHQpC8wMDAtMDAwMCDQvtGCIDAwLjAwLjAwMDAwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJuFXvuB3E1ZB1Fjz77f2ix/yUQ8MBIGCSsGAQQBgjcVAQQFAgMBAAEwJQYDVR0gBB4wHDAIBgYqhQNkcQEwCAYGKoUDZHECMAYGBFUdIAAwIwYJKwYBBAGCNxUCBBYEFMjaZsu2l9I+yWcdwltkOqvcu89pMAoGCCqFAwcBAQMCA0EAPpXN2B+VvQmrc4L1BODyZhIygpsrA8xLwLNz+OcN1r2DyCctAcHs72VdrHf93dqdBOK/6AJ/hzYbz6x6KJwh/jCCBSYwggTToAMCAQICE3wAA9tSn+fyWo8tD/sAAQAD21IwCgYIKoUDBwEBAwIwggEKMRgwFgYFKoUDZAESDTEyMzQ1Njc4OTAxMjMxGjAYBggqhQMDgQMBARIMMDAxMjM0NTY3ODkwMS8wLQYDVQQJDCbRg9C7LiDQodGD0YnRkdCy0YHQutC40Lkg0LLQsNC7INC0LiAxODELMAkGA1UEBhMCUlUxGTAXBgNVBAgMENCzLiDQnNC+0YHQutCy0LAxFTATBgNVBAcMDNCc0L7RgdC60LLQsDElMCMGA1UECgwc0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjE7MDkGA1UEAwwy0KLQtdGB0YLQvtCy0YvQuSDQo9CmINCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIwHhcNMjExMDAxMTQyNTMxWhcNMjIwMTAxMTQzNTMxWjCBtjEYMBYGCCqFAwOBAwEBEgo2MTY1MTczNDA4MSAwHgYJKoZIhvcNAQkBFhFpaWNvbWV0YUB0ZWN0LmNvbTEvMC0GA1UEAwwm0JrQvtC80LXRgtCwINCY0LLQsNC9INCY0LLQsNC90L7QstC40YcxFTATBgNVBAoMDNCa0L7QvNC10YLQsDEjMCEGA1UEBwwa0KDQvtGB0YLQvtCyLdC90LAt0JTQvtC90YMxCzAJBgNVBAYTAlJVMGYwHwYIKoUDBwEBAQEwEwYHKoUDAgIkAAYIKoUDBwEBAgIDQwAEQFnrKMdW+QUgH8484b8cVBr3LQmikew2ZWUnfXpFzNi0yEfh/JM/autCt/YhmX9bAkYH86jCHq6J2RMk5VRJOPyjggJaMIICVjAPBgNVHQ8BAf8EBQMDB/AAMBMGA1UdJQQMMAoGCCsGAQUFBwMCMB0GA1UdDgQWBBR+BEDU3Eo8o2VJC0hT3Pi7FmBArTAfBgNVHSMEGDAWgBSbhV77gdxNWQdRY8++39osf8lEPDCCAQ8GA1UdHwSCAQYwggECMIH/oIH8oIH5hoG1aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC8hMDQyMiEwNDM1ITA0NDEhMDQ0MiEwNDNlITA0MzIhMDQ0YiEwNDM5JTIwITA0MjMhMDQyNiUyMCEwNDFlITA0MWUhMDQxZSUyMCEwMDIyITA0MWEhMDQyMCEwNDE4ITA0MWYhMDQyMiEwNDFlLSEwNDFmITA0MjAhMDQxZSEwMDIyKDEpLmNybIY/aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC90ZXN0Z29zdDIwMTIoMSkuY3JsMIHaBggrBgEFBQcBAQSBzTCByjBEBggrBgEFBQcwAoY4aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC9yb290MjAxOC5jcnQwPwYIKwYBBQUHMAGGM2h0dHA6Ly90ZXN0Z29zdDIwMTIuY3J5cHRvcHJvLnJ1L29jc3AyMDEyZy9vY3NwLnNyZjBBBggrBgEFBQcwAYY1aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvb2NzcDIwMTJnc3Qvb2NzcC5zcmYwCgYIKoUDBwEBAwIDQQA2aueOfec/1xFA/NOfciGpRGYPr06YaDfZRdx0jbiU2fubJgSjB/MvZMsrOrIPGSK9DBN9pk/cOqDQ3f20TottMYIDczCCA28CAQEwggEjMIIBCjEYMBYGBSqFA2QBEg0xMjM0NTY3ODkwMTIzMRowGAYIKoUDA4EDAQESDDAwMTIzNDU2Nzg5MDEvMC0GA1UECQwm0YPQuy4g0KHRg9GJ0ZHQstGB0LrQuNC5INCy0LDQuyDQtC4gMTgxCzAJBgNVBAYTAlJVMRkwFwYDVQQIDBDQsy4g0JzQvtGB0LrQstCwMRUwEwYDVQQHDAzQnNC+0YHQutCy0LAxJTAjBgNVBAoMHNCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIxOzA5BgNVBAMMMtCi0LXRgdGC0L7QstGL0Lkg0KPQpiDQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4iAhN8AAPbUp/n8lqPLQ/7AAEAA9tSMAoGCCqFAwcBAQICoIIB5zAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yMTEwMDExNDU4MjZaMC8GCSqGSIb3DQEJBDEiBCA/U5ohPpfIAswinUdMaqMqglo2CyqTOpSf2SUgjZzhuzCCAXoGCyqGSIb3DQEJEAIvMYIBaTCCAWUwggFhMIIBXTAKBggqhQMHAQECAgQg1wk0diRGLZG+oWXUM8cCdDszaDCKQ5onnGCp3uNcAnIwggErMIIBEqSCAQ4wggEKMRgwFgYFKoUDZAESDTEyMzQ1Njc4OTAxMjMxGjAYBggqhQMDgQMBARIMMDAxMjM0NTY3ODkwMS8wLQYDVQQJDCbRg9C7LiDQodGD0YnRkdCy0YHQutC40Lkg0LLQsNC7INC0LiAxODELMAkGA1UEBhMCUlUxGTAXBgNVBAgMENCzLiDQnNC+0YHQutCy0LAxFTATBgNVBAcMDNCc0L7RgdC60LLQsDElMCMGA1UECgwc0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjE7MDkGA1UEAwwy0KLQtdGB0YLQvtCy0YvQuSDQo9CmINCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniICE3wAA9tSn+fyWo8tD/sAAQAD21IwCgYIKoUDBwEBAQEEQCS2z4wN+cZlvy+49XUpf/K6pO2T/In+4PSC6xO0zJLGpiWIvbijHwaiZ8CpWu7/GlN++fWzkai7lAd4E0g4Qis=","title":"signature"}},"additionalProperties":false}}},"required":true}} />
---
# Создать платеж по реквизитам счета
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts-be/create-payment.md)
## Адрес запроса
- Тестовый контур: **POST** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/secure-deals/transactions/payments`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/secure-deals/transactions/payments`
## Описание
Метод предназначен для формирования платежа по банковским реквизитам счета с целью вывода денежных средств с баланса бенефициара номинального счета
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
Бенефициар в рамках запроса должен быть активным (в статусе **"ACTIVATED"**)
Значение атрибута **amount** в запросе должно быть больше 0
ФИО владельца расчетного счета получателя средств должно полностью совпадать с ФИО получателя средств, указанном в блоке **payee**
Значение атрибута **transactionId** должно быть уникально относительно ранее созданных транзакций
Параметр **kvd** (код вида дохода) - это поле 20 в платежном поручении. Порядок заполнения **kvd**: не заполняется, если получателем является индивидуальный предприниматель или юридическое лицо, так как этот код необходим только при перечислении денег физическим лицам для указания оснований удержаний по исполнительным документам (229-ФЗ). **kvd** заполняется: при перечислении заработной платы, отпускных, премий сотрудникам; при выплате самозанятым; в других случаях выплат физическим лицам (например, возмещение вреда здоровью) (см. 229-ФЗ ст. 99, ч. 1, 2 ст. 101)
Ответ на запрос **201 Created** подтверждает, что платеж прошел предварительные проверки (активность бенефициара, корректность суммы и т.д.) и принят в асинхронную обработку, но финальный статус требует проверки через вызов метода **GET /transactions/\{id}**. Здесь возможны три негативных сценария: 1. Синхронный отказ (4xx) — транзакция не создана; 2. Отказ внутри банка (ответ на запрос будет 201, но GET запрос вернет ERROR); 3. Успешная отправка в сторонний банк (ответ на запрос будет 201 и GET запрос вернет DONE), однако при отказе банка получателя в приеме платежа позже инициируется отдельная транзакция возврата, хотя исходный платеж сохранит статус DONE.
В рамках вызова данного метода взымается комиссия сервиса Безопасные сделки
#@&$’—\\u00A0]+$","maxLength":210,"description":"Назначение платежа","example":"Оплата по Договору поставки №23/04-2022 от 01.04.2022, включая НДС 20%","title":"purpose"},"payee":{"oneOf":[{"type":"object","required":["typeCode","personName","inn","account"],"description":"Общий набор данные для ФЛ","properties":{"typeCode":{"type":"string","pattern":"^FL$","default":"FL","description":"Тип участника FL","example":"FL"},"personName":{"type":"string","pattern":"^(?!.–)[^<>#@&$’]+$","maxLength":250,"description":"ФИО для платежа","example":"Коган-Константинопольский Константин Константинович"},"inn":{"type":"string","pattern":"^[0-9]{12}$","description":"ИНН ФЛ","example":"074352898912"},"account":{"required":["bankBIC","bankCorAccount","bankName","accountNumber"],"type":"object","description":"Данные расчетного счета","properties":{"accountNumber":{"type":"string","pattern":"^[0-9]{20,25}$","description":"номер счета","example":"40702810538000118319","title":"accountNumber"},"bankBIC":{"type":"string","pattern":"^[0-9]{9}$","description":"БИК","example":"044525225"},"bankCorAccount":{"type":"string","pattern":"^[0-9]{20}$","description":"Корреспондентский счет","example":"30101810400000000225"},"bankName":{"type":"string","pattern":"^[А-ЯЁа-яеa-zA-Z][А-ЯЁа-яеa-zA-Z0-9 №N.,()\\\"#$%&\\'\\*{|}~\\[\\]\\-\\\\\\/]+$","maxLength":140,"description":"Наименование банка","example":"ПАО СБЕРБАНК"}},"additionalProperties":false,"title":"account"}},"additionalProperties":false,"title":"payeeFL"},{"type":"object","required":["typeCode","inn","account","orgName"],"description":"Общий набор данных для ИП","properties":{"typeCode":{"description":"Тип участника IP","type":"string","pattern":"^IP$","default":"IP","example":"IP"},"orgName":{"type":"string","pattern":"^[А-Яа-яеЁA-Za-z0-9 \"№.+()-]{3,250}$","description":"Наименование ИП для платежа","example":"Индивидуальный предприниматель И Кван Ё"},"inn":{"type":"string","pattern":"^[0-9]{12}$","description":"ИНН ФЛ","example":"774352898912"},"account":{"required":["bankBIC","bankCorAccount","bankName","accountNumber"],"type":"object","description":"Данные расчетного счета","properties":{"accountNumber":{"type":"string","pattern":"^[0-9]{20,25}$","description":"номер счета","example":"40702810538000118319","title":"accountNumber"},"bankBIC":{"type":"string","pattern":"^[0-9]{9}$","description":"БИК","example":"044525225"},"bankCorAccount":{"type":"string","pattern":"^[0-9]{20}$","description":"Корреспондентский счет","example":"30101810400000000225"},"bankName":{"type":"string","pattern":"^[А-ЯЁа-яеa-zA-Z][А-ЯЁа-яеa-zA-Z0-9 №N.,()\\\"#$%&\\'\\*{|}~\\[\\]\\-\\\\\\/]+$","maxLength":140,"description":"Наименование банка","example":"ПАО СБЕРБАНК"}},"additionalProperties":false,"title":"account"}},"additionalProperties":false,"title":"payeeIP"},{"type":"object","required":["typeCode","orgName","inn","kpp","account"],"description":"Реквизиты получателя ЮЛ","properties":{"typeCode":{"type":"string","pattern":"^UL$","default":"UL","description":"Тип участника UL","example":"UL"},"orgName":{"type":"string","pattern":"^[А-Яа-яеЁ0-9 \"№.+()-]{3,160}$","description":"Наименование организации","example":"ПАО Ромашки","title":"orgName"},"inn":{"pattern":"^[0-9]{10}$","type":"string","description":"ИНН ЮЛ","example":"0743528989"},"kpp":{"type":"string","pattern":"^[0-9]{9}$","maxLength":9,"description":"Код причины постановки на учет","example":"773101001","title":"kpp"},"account":{"required":["bankBIC","bankCorAccount","bankName","accountNumber"],"type":"object","description":"Данные расчетного счета","properties":{"accountNumber":{"type":"string","pattern":"^[0-9]{20,25}$","description":"номер счета","example":"40702810538000118319","title":"accountNumber"},"bankBIC":{"type":"string","pattern":"^[0-9]{9}$","description":"БИК","example":"044525225"},"bankCorAccount":{"type":"string","pattern":"^[0-9]{20}$","description":"Корреспондентский счет","example":"30101810400000000225"},"bankName":{"type":"string","pattern":"^[А-ЯЁа-яеa-zA-Z][А-ЯЁа-яеa-zA-Z0-9 №N.,()\\\"#$%&\\'\\*{|}~\\[\\]\\-\\\\\\/]+$","maxLength":140,"description":"Наименование банка","example":"ПАО СБЕРБАНК"}},"additionalProperties":false,"title":"account"}},"additionalProperties":false,"title":"payeeUL"}]}},"title":"transaction"},"agreement":{"type":"string","enum":["Клиент подтверждает, что операция совершается в соответствии с условиями Договора номинального счета"],"description":"Соглашение","example":"Клиент подтверждает, что операция совершается в соответствии с условиями Договора номинального счета","title":"agreement"}}},"signature":{"type":"string","pattern":"^[A-Za-z0-9+/=]+$","maxLength":16000,"description":"Подпись над content","example":"MIIN9gYJKoZIhvcNAQcCoIIN5zCCDeMCAQExDDAKBggqhQMHAQECAjALBgkqhkiG9w0BBwGgggpKMIIFHDCCBMmgAwIBAgIQOyCK5f1GaIZJoFD6r6iDkzAKBggqhQMHAQEDAjCCAQoxGDAWBgUqhQNkARINMTIzNDU2Nzg5MDEyMzEaMBgGCCqFAwOBAwEBEgwwMDEyMzQ1Njc4OTAxLzAtBgNVBAkMJtGD0LsuINCh0YPRidGR0LLRgdC60LjQuSDQstCw0Lsg0LQuIDE4MQswCQYDVQQGEwJSVTEZMBcGA1UECAwQ0LMuINCc0L7RgdC60LLQsDEVMBMGA1UEBwwM0JzQvtGB0LrQstCwMSUwIwYDVQQKDBzQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4iMTswOQYDVQQDDDLQotC10YHRgtC+0LLRi9C5INCj0KYg0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjAeFw0xODA5MTIxMDE5MzBaFw0yMzA5MTIxMDI4NTVaMIIBCjEYMBYGBSqFA2QBEg0xMjM0NTY3ODkwMTIzMRowGAYIKoUDA4EDAQESDDAwMTIzNDU2Nzg5MDEvMC0GA1UECQwm0YPQuy4g0KHRg9GJ0ZHQstGB0LrQuNC5INCy0LDQuyDQtC4gMTgxCzAJBgNVBAYTAlJVMRkwFwYDVQQIDBDQsy4g0JzQvtGB0LrQstCwMRUwEwYDVQQHDAzQnNC+0YHQutCy0LAxJTAjBgNVBAoMHNCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIxOzA5BgNVBAMMMtCi0LXRgdGC0L7QstGL0Lkg0KPQpiDQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4iMGYwHwYIKoUDBwEBAQEwEwYHKoUDAgIjAQYIKoUDBwEBAgIDQwAEQJgf/alQzSGGMPRZBnKp1j1rwDOCBkY349whSrH4n7dW7KUttYGHtp3CLt/9CTNTnBgyrNdCLgml9DajpcHSIvCjggH+MIIB+jA2BgUqhQNkbwQtDCsi0JrRgNC40L/RgtC+0J/RgNC+IENTUCIgKNCy0LXRgNGB0LjRjyA0LjApMIIBIQYFKoUDZHAEggEWMIIBEgwrItCa0YDQuNC/0YLQvtCf0YDQviBDU1AiICjQstC10YDRgdC40Y8gNC4wKQxB0KPQtNC+0YHRgtC+0LLQtdGA0Y/RjtGJ0LjQuSDRhtC10L3RgtGAICLQmtGA0LjQv9GC0L7Qn9GA0L4g0KPQpiIMT9Ch0LXRgNGC0LjRhNC40LrQsNGCINGB0L7QvtGC0LLQtdGC0YHRgtCy0LjRjyDihJYg0KHQpC8wMDAtMDAwMCDQvtGCIDAwLjAwLjAwMDAMT9Ch0LXRgNGC0LjRhNC40LrQsNGCINGB0L7QvtGC0LLQtdGC0YHRgtCy0LjRjyDihJYg0KHQpC8wMDAtMDAwMCDQvtGCIDAwLjAwLjAwMDAwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJuFXvuB3E1ZB1Fjz77f2ix/yUQ8MBIGCSsGAQQBgjcVAQQFAgMBAAEwJQYDVR0gBB4wHDAIBgYqhQNkcQEwCAYGKoUDZHECMAYGBFUdIAAwIwYJKwYBBAGCNxUCBBYEFMjaZsu2l9I+yWcdwltkOqvcu89pMAoGCCqFAwcBAQMCA0EAPpXN2B+VvQmrc4L1BODyZhIygpsrA8xLwLNz+OcN1r2DyCctAcHs72VdrHf93dqdBOK/6AJ/hzYbz6x6KJwh/jCCBSYwggTToAMCAQICE3wAA9tSn+fyWo8tD/sAAQAD21IwCgYIKoUDBwEBAwIwggEKMRgwFgYFKoUDZAESDTEyMzQ1Njc4OTAxMjMxGjAYBggqhQMDgQMBARIMMDAxMjM0NTY3ODkwMS8wLQYDVQQJDCbRg9C7LiDQodGD0YnRkdCy0YHQutC40Lkg0LLQsNC7INC0LiAxODELMAkGA1UEBhMCUlUxGTAXBgNVBAgMENCzLiDQnNC+0YHQutCy0LAxFTATBgNVBAcMDNCc0L7RgdC60LLQsDElMCMGA1UECgwc0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjE7MDkGA1UEAwwy0KLQtdGB0YLQvtCy0YvQuSDQo9CmINCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIwHhcNMjExMDAxMTQyNTMxWhcNMjIwMTAxMTQzNTMxWjCBtjEYMBYGCCqFAwOBAwEBEgo2MTY1MTczNDA4MSAwHgYJKoZIhvcNAQkBFhFpaWNvbWV0YUB0ZWN0LmNvbTEvMC0GA1UEAwwm0JrQvtC80LXRgtCwINCY0LLQsNC9INCY0LLQsNC90L7QstC40YcxFTATBgNVBAoMDNCa0L7QvNC10YLQsDEjMCEGA1UEBwwa0KDQvtGB0YLQvtCyLdC90LAt0JTQvtC90YMxCzAJBgNVBAYTAlJVMGYwHwYIKoUDBwEBAQEwEwYHKoUDAgIkAAYIKoUDBwEBAgIDQwAEQFnrKMdW+QUgH8484b8cVBr3LQmikew2ZWUnfXpFzNi0yEfh/JM/autCt/YhmX9bAkYH86jCHq6J2RMk5VRJOPyjggJaMIICVjAPBgNVHQ8BAf8EBQMDB/AAMBMGA1UdJQQMMAoGCCsGAQUFBwMCMB0GA1UdDgQWBBR+BEDU3Eo8o2VJC0hT3Pi7FmBArTAfBgNVHSMEGDAWgBSbhV77gdxNWQdRY8++39osf8lEPDCCAQ8GA1UdHwSCAQYwggECMIH/oIH8oIH5hoG1aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC8hMDQyMiEwNDM1ITA0NDEhMDQ0MiEwNDNlITA0MzIhMDQ0YiEwNDM5JTIwITA0MjMhMDQyNiUyMCEwNDFlITA0MWUhMDQxZSUyMCEwMDIyITA0MWEhMDQyMCEwNDE4ITA0MWYhMDQyMiEwNDFlLSEwNDFmITA0MjAhMDQxZSEwMDIyKDEpLmNybIY/aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC90ZXN0Z29zdDIwMTIoMSkuY3JsMIHaBggrBgEFBQcBAQSBzTCByjBEBggrBgEFBQcwAoY4aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC9yb290MjAxOC5jcnQwPwYIKwYBBQUHMAGGM2h0dHA6Ly90ZXN0Z29zdDIwMTIuY3J5cHRvcHJvLnJ1L29jc3AyMDEyZy9vY3NwLnNyZjBBBggrBgEFBQcwAYY1aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvb2NzcDIwMTJnc3Qvb2NzcC5zcmYwCgYIKoUDBwEBAwIDQQA2aueOfec/1xFA/NOfciGpRGYPr06YaDfZRdx0jbiU2fubJgSjB/MvZMsrOrIPGSK9DBN9pk/cOqDQ3f20TottMYIDczCCA28CAQEwggEjMIIBCjEYMBYGBSqFA2QBEg0xMjM0NTY3ODkwMTIzMRowGAYIKoUDA4EDAQESDDAwMTIzNDU2Nzg5MDEvMC0GA1UECQwm0YPQuy4g0KHRg9GJ0ZHQstGB0LrQuNC5INCy0LDQuyDQtC4gMTgxCzAJBgNVBAYTAlJVMRkwFwYDVQQIDBDQsy4g0JzQvtGB0LrQstCwMRUwEwYDVQQHDAzQnNC+0YHQutCy0LAxJTAjBgNVBAoMHNCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIxOzA5BgNVBAMMMtCi0LXRgdGC0L7QstGL0Lkg0KPQpiDQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4iAhN8AAPbUp/n8lqPLQ/7AAEAA9tSMAoGCCqFAwcBAQICoIIB5zAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yMTEwMDExNDU4MjZaMC8GCSqGSIb3DQEJBDEiBCA/U5ohPpfIAswinUdMaqMqglo2CyqTOpSf2SUgjZzhuzCCAXoGCyqGSIb3DQEJEAIvMYIBaTCCAWUwggFhMIIBXTAKBggqhQMHAQECAgQg1wk0diRGLZG+oWXUM8cCdDszaDCKQ5onnGCp3uNcAnIwggErMIIBEqSCAQ4wggEKMRgwFgYFKoUDZAESDTEyMzQ1Njc4OTAxMjMxGjAYBggqhQMDgQMBARIMMDAxMjM0NTY3ODkwMS8wLQYDVQQJDCbRg9C7LiDQodGD0YnRkdCy0YHQutC40Lkg0LLQsNC7INC0LiAxODELMAkGA1UEBhMCUlUxGTAXBgNVBAgMENCzLiDQnNC+0YHQutCy0LAxFTATBgNVBAcMDNCc0L7RgdC60LLQsDElMCMGA1UECgwc0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjE7MDkGA1UEAwwy0KLQtdGB0YLQvtCy0YvQuSDQo9CmINCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniICE3wAA9tSn+fyWo8tD/sAAQAD21IwCgYIKoUDBwEBAQEEQCS2z4wN+cZlvy+49XUpf/K6pO2T/In+4PSC6xO0zJLGpiWIvbijHwaiZ8CpWu7/GlN++fWzkai7lAd4E0g4Qis=","title":"signature"}},"additionalProperties":false}}},"required":true}} />
---
# Исполнить сделку
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts-be/execute-deal.md)
## Адрес запроса
- Тестовый контур: **POST** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/secure-deals/deals/{id}/execute`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/secure-deals/deals/{id}/execute`
## Описание
Метод предназначен для распределения средств с ранее созданной сделки на виртуальные счета бенефициаров
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
Транзакции в рамках одного запроса обрабатываются независимо. Ошибка при выполнении одной или нескольких транзакций не влияет на обработку остальных. Неудача исполнения одной транзакции не отменяет исполнения других. Успешно исполненные транзакции будут завершены
Ответ на запрос **201 Created** подтверждает, что запрос прошел предварительные проверки (активность бенефициара, корректность суммы и т.д.) и принят в асинхронную обработку, но финальный статус требует проверки через вызов метода **GET /transactions/\{id}**
Сделка, в рамках которой выполняется исполнение должна быть активной (в статусе **"RUN"**)
Бенефициары в рамках запроса должны быть активными (в статусе **"ACTIVATED"**)
Значение атрибута **amount** каждой транзакции в запросе должно быть больше 0
Сумма всех транзакций в запросе должа быть меньше или равна сумме захолдированных средств под сделку
Значение атрибута **transactionId** должно быть уникально относительно каждой транзакции в рамках запроса и относительно ранее созданных транзакций
В рамках вызова данного метода комиссия сервиса Безопасные сделки не взымается
---
# Запросить перечень банков для переводов по СБП
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts-be/get-bank-list-sbp.md)
## Адрес запроса
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/secure-deals/sbp/b2c/bankList`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/secure-deals/sbp/b2c/bankList`
## Описание
Предоставляет список банков, доступных для перевода по СБП В2С
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
Для использования метода необходимо подключить СБП для переводов физлицам по [инструкции](https://www.sberbank.com/help/business/sbbol/100911?tab=web)
В запросе **POST/transactions/sbp/b2c** на создание платежа по СБП В2С в блоке **payee** в параметре **bankBIC** необходимо передать БИК банка из списка банков, возвращаемом в ответе на запрос **GET/sbp/b2c/bankList**
#@&$’*]+$","minLength":0,"maxLength":12,"example":123456789123},"bankBIC":{"description":"БИК банка","type":"string","pattern":"^[0-9]{9}$","minLength":0,"maxLength":9,"example":46015602},"bankName":{"description":"Наименование банка","pattern":"^(?!.*--)[^<>#@&$’*]+$","type":"string","minLength":0,"maxLength":50,"example":"Альфа-банк"}}}}},"additionalProperties":false,"title":"bankListSBPresp"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"},{"description":"Схема ответа канала SberBusinessAPI. Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request ресурса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"241.1-1000","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина ошибки.","example":"DESERIALIZATION_FAULT"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"d1bdba36-d0b5-96c9-88ef-44083cf88ef2"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Неверный формат запроса"},"checks":{"type":"array","maxItems":200,"items":{"description":"Результат проверки.","type":"object","properties":{"level":{"description":"Уровень результата. Возможные результаты - ERROR, WARNING.","example":"ERROR","type":"string","maxLength":20,"enum":["ERROR","WARNING"],"title":"ErrorCode"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Cannot deserialize value of type java.util.UUID from String \\\"6f5186a3-f40e-4694-b7b7-86433d342649q\\\": UUID has to be represented by standard 36-char representation"},"fields":{"type":"array","maxItems":200,"description":"Названия полей (при наличии связи с моделью).","items":{"type":"string","example":"fileIds[0]"}}},"additionalProperties":false,"title":"Check"},"description":"Список проверок, приведших к ошибке."},"fieldNames":{"description":"Названия полей с некорректным значением.","type":"array","maxItems":200,"items":{"type":"string","example":"fileIds[0]"}}},"additionalProperties":false,"title":"errorSberBusinessAPIBadRequest"}]}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"},{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1003","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNAUTHORIZED"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Ошибка авторизации по Access Token 3513f959-bbd5-490a-9f9f-67fb7380fae5-2"}},"additionalProperties":false,"title":"errorSberBusinessAPIUnauthorized"}]}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"},{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"235.1-1003","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"CERTIFICATE_ACCESS_EXCEPTION"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Сертификат (serialNumber = 51E75203172EFD920FAAD907ABA40448668B9210) из входящего запроса не найден в белом списке сертификатов, не истекших на момент проверки"}},"additionalProperties":false,"title":"errorSberBusinessAPIForbidden"}]}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"}}},"description":"Not Found"},"405":{"content":{"application/json":{"schema":{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"}}},"description":"Method Not Allowed"},"422":{"content":{"application/json":{"schema":{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"256.2-1000","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNPROCESSABLE_ENTITY"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Ошибка валидации"}},"additionalProperties":false,"title":"errorSberBusinessAPIUnprocessableEntity"}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Unprocessable Entity"},"429":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"},{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1004","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"TOO_MANY_REQUESTS"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Превышен лимит запросов. Повторите операцию позже."}},"additionalProperties":false,"title":"errorSberBusinessAPITooManyRequests"}]}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Too Many Requests"},"500":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"},{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1005","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNKNOWN_EXCEPTION"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"При выполнении операции произошла ошибка. Мы уже работаем над ее устранением. Повторите попытку позже."}},"additionalProperties":false,"title":"errorSberBusinessAPIInternalServerError"}]}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Internal Server Error"},"502":{"content":{"application/json":{"schema":{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"235.4-1005","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"BAD_GATEWAY"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"При выполнении операции произошла ошибка. Мы уже работаем над ее устранением. Повторите попытку позже."}},"additionalProperties":false,"title":"errorSberBusinessAPIBadGateway"}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Bad Gateway"},"503":{"description":"Service Unavailable"},"504":{"description":"Gateway Timeout"}}} />
---
# Запросить реестр бенефициаров
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts-be/get-beneficiaries-registry.md)
## Адрес запроса
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/secure-deals/beneficiaries`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/secure-deals/beneficiaries`
## Описание
В ответ на запрос возвращается список бенефициаров в статусах **ACTIVATED**. Список можно пролистать постранично. Каждая страница может содержать до 40 элементов списка
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
---
# Запросить баланс бенефициара
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts-be/get-beneficiary-balance.md)
## Адрес запроса
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/secure-deals/beneficiaries/{id}/balance`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/secure-deals/beneficiaries/{id}/balance`
## Описание
Метод позволяет по заданным параметрам получить детали баланса бенефицира
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
---
# Запросить сведения о бенефициарe
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts-be/get-beneficiary-details-by-id.md)
## Адрес запроса
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/secure-deals/beneficiaries/{id}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/secure-deals/beneficiaries/{id}`
## Описание
Возвращает текущий статус и реквизиты бенефициара, хранимые в реестре
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
События по бенефициару:
* включить бенефициара в реестр;
* изменить информацию по бенефициару;
* удалить бенефициара из реестра;
* заблокировать/разблокировать бенефициара (события, инициируемые банком);'
---
# Запросить информацию по сделке
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts-be/get-deal-id.md)
## Адрес запроса
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/secure-deals/deals/{id}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/secure-deals/deals/{id}`
## Описание
Метод позволяет получить актуальную информацию по сделке. Возможные статусы сделки: **RUN** (Активная)
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
#@&$’*]+$","maxLength":210,"description":"Наименование сделки","example":"Оплата доставки","title":"title"},"status":{"type":"string","pattern":"^[A-Za-z]{1,20}$","description":"Статус сделки: RUN (Активная)","example":"RUN","title":"statusDeal"},"payeeBeneficiaryId":{"type":"string","format":"uuid","pattern":"^[0-9a-fA-F-]{36}$","description":"Идентификатор бенефициара номинального счета","example":"99ee301b-8e06-4fd5-88d4-2ca5668294b1","title":"beneficiaryId"},"totalAmount":{"type":"integer","minimum":0,"maximum":100000000000,"description":"Cумма средств в копейках","example":20100,"title":"amount"},"createDate":{"type":"string","format":"date-time","description":"Время создания сделки","example":"2026-03-15T23:31:00.999Z"},"editDate":{"type":"string","format":"date-time","description":"Время изменения статуса сделки","example":"2026-03-15T23:31:00.999Z"}},"additionalProperties":false,"title":"dealResp"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"},{"description":"Схема ответа канала SberBusinessAPI. Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request ресурса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"241.1-1000","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина ошибки.","example":"DESERIALIZATION_FAULT"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"d1bdba36-d0b5-96c9-88ef-44083cf88ef2"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Неверный формат запроса"},"checks":{"type":"array","maxItems":200,"items":{"description":"Результат проверки.","type":"object","properties":{"level":{"description":"Уровень результата. Возможные результаты - ERROR, WARNING.","example":"ERROR","type":"string","maxLength":20,"enum":["ERROR","WARNING"],"title":"ErrorCode"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Cannot deserialize value of type java.util.UUID from String \\\"6f5186a3-f40e-4694-b7b7-86433d342649q\\\": UUID has to be represented by standard 36-char representation"},"fields":{"type":"array","maxItems":200,"description":"Названия полей (при наличии связи с моделью).","items":{"type":"string","example":"fileIds[0]"}}},"additionalProperties":false,"title":"Check"},"description":"Список проверок, приведших к ошибке."},"fieldNames":{"description":"Названия полей с некорректным значением.","type":"array","maxItems":200,"items":{"type":"string","example":"fileIds[0]"}}},"additionalProperties":false,"title":"errorSberBusinessAPIBadRequest"}]}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"},{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1003","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNAUTHORIZED"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Ошибка авторизации по Access Token 3513f959-bbd5-490a-9f9f-67fb7380fae5-2"}},"additionalProperties":false,"title":"errorSberBusinessAPIUnauthorized"}]}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"},{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"235.1-1003","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"CERTIFICATE_ACCESS_EXCEPTION"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Сертификат (serialNumber = 51E75203172EFD920FAAD907ABA40448668B9210) из входящего запроса не найден в белом списке сертификатов, не истекших на момент проверки"}},"additionalProperties":false,"title":"errorSberBusinessAPIForbidden"}]}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"}}},"description":"Not Found"},"405":{"content":{"application/json":{"schema":{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"}}},"description":"Method Not Allowed"},"422":{"content":{"application/json":{"schema":{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"256.2-1000","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNPROCESSABLE_ENTITY"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Ошибка валидации"}},"additionalProperties":false,"title":"errorSberBusinessAPIUnprocessableEntity"}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Unprocessable Entity"},"429":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"},{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1004","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"TOO_MANY_REQUESTS"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"Превышен лимит запросов. Повторите операцию позже."}},"additionalProperties":false,"title":"errorSberBusinessAPITooManyRequests"}]}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Too Many Requests"},"500":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["httpCode","httpMessage","moreInformation"],"description":"Сообщение об ошибке","properties":{"httpCode":{"pattern":"^[0-9]{3}$","type":"string","description":"Код ошибки","example":"400"},"httpMessage":{"type":"string","pattern":"^[0-9a-zA-Z '.-]+$","maxLength":50,"description":"Описание ошибки","example":"Error description"},"moreInformation":{"type":"string","pattern":"^[0-9a-zA-ZА-ЯЁа-яе.,@№^)(}{$|\\s:_!=?/-]*$","maxLength":254,"description":"Дополнительная информация об ошибке","example":"Error details"}},"additionalProperties":false,"title":"error"},{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"234.1-1005","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"UNKNOWN_EXCEPTION"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"При выполнении операции произошла ошибка. Мы уже работаем над ее устранением. Повторите попытку позже."}},"additionalProperties":false,"title":"errorSberBusinessAPIInternalServerError"}]}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Internal Server Error"},"502":{"content":{"application/json":{"schema":{"description":"Схема ответа канала SberBusinessAPI. Информационное сообщение об ошибке, сбое или предупреждение.","type":"object","properties":{"internalErrorCode":{"description":"Внутренний код, указывающий на место возникновения ошибки.","type":"string","minLength":1,"example":"235.4-1005","x-field-extra-annotation":"@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)"},"cause":{"type":"string","description":"Причина или основание сообщения.","example":"BAD_GATEWAY"},"referenceId":{"type":"string","format":"uuid","description":"Уникальный идентификатор ошибки.","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"message":{"type":"string","description":"Сообщение об ошибке.","example":"При выполнении операции произошла ошибка. Мы уже работаем над ее устранением. Повторите попытку позже."}},"additionalProperties":false,"title":"errorSberBusinessAPIBadGateway"}}},"headers":{"X-Request-Id":{"required":false,"description":"Уникальный идентификатор запроса.","schema":{"type":"string","minLength":1,"maxLength":36,"example":"a30b2c5c-3d89-4f59-9f3b-f20b55ef4f59"}}},"description":"Bad Gateway"},"503":{"description":"Service Unavailable"},"504":{"description":"Gateway Timeout"}}} />
---
# Запросить список возвратов
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts-be/get-refunds.md)
## Адрес запроса
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/secure-deals/transactions/refunds`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/secure-deals/transactions/refunds`
## Описание
Метод возвращает список событий по зачислению средств на номинальный счет со счетов невыясненных сумм (возврат средств на номинальный счет по факту отказа в зачислении в **сторонних банках**)
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
Транзакция возврата не связана с первоначальной проведенной транзакцией дебета, и никак не повлияет на статус исполненной первоначальной транзакции, статус сделки и иные исполненные транзакции в рамках сделки (для банка она будет восприниматься, как транзакция кредита в пользу бенефициара). Сопоставить перваначальную транзакцию с транзакцией возврата можно с помощью идентификаторов **primaryTransactionId** и **refundTransactionId** из ответа
Сортировка в запросе выполняется по createDate (дата создания возврата). Параметр **sortMethode = asc** в запросе, сортировка ответа будет от меньшего значения даты к большему, значение **sortMethod = desc** - от большего к меньшему. По умолчанию значение параметра **sortMethod = asc**
Значение параметра **startDate** и **endDate** в запросе позволит осуществить поиск событий возврата за указанный период (включая дату начала и дату окончания)
Значение параметра **pageNumber** в запросе позволит отобразить в ответе необходимую страницу с данными
Значение параметра **pageSize** в запросе позволит отобразить в ответе необходимое количество записей на странице
Значение параметра **beneficiaryId** в запросе позволит выполнить запрос по одному бенефициару
---
# Получить отчет по операциям зачисления эквайринга
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts-be/get-report.md)
## Адрес запроса
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/secure-deals/ecom/report`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/secure-deals/ecom/report`
## Описание
:::caution
**ВАЖНО:** Метод находится на этапе опытной эксплуатации
Отчет может содержать **дублирующиеся записи**
**Как отследить дубли:** Убедитесь, что в назначении платежа в поле "description" при создании заказа добавлен **ключ реконсиляции**.
:::
Метод позволяет получить отчет по операциям зачисления эквайринга за определенную дату **(не позднее вчерашнего дня T-1)**
Запрос отчета за предыдущий день доступен с 12.00 текущего дня. Отчет за дни предшествующие предыдущему можно запрашивать в любое время
---
# Запросить список нераспределенных пополнений
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts-be/get-undefined.md)
## Адрес запроса
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/secure-deals/transactions/undefined`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/secure-deals/transactions/undefined`
## Описание
Метод возвращает список нераспределенных/частично распределенных операций пополнения номинального счета, совершенных через эквайринг (сортировка данных выполняется по возрастанию даты создания (createDate))
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
Значение **amountUndefined** из ответа уменьшается на сумму разнесения после успешного вызова метода **POST/transactions/undefined/\{id}/identify** в рамках конкретного нераспределенного пополнения
Чтобы связать неразнесенное пополнение с конкретным заказом, необходимо сравнить два параметра: **paymentNumber** (из отчета эквайринга) — ответ на запрос **GET/ecom/report** и **docNumber** (из списка неразнесенных пополнений) — ответ на запрос **GET /transactions/undefined**. Если значения совпадают — транзакция из отчета относится к данному неразнесенному пополнению
---
# Разнести нераспределенные пополнения
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts-be/identify-incoming-id.md)
## Адрес запроса
- Тестовый контур: **POST** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/secure-deals/transactions/undefined/{id}/identify`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/secure-deals/transactions/undefined/{id}/identify`
## Описание
Метод предоставляет инструмент для распределения средств, поступивших на номинальный счет через систему эквайринга, на **сделки**
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
Сумма всех транзакций в запросе должа быть меньше или равна сумме нераспределенной операции пополнения
Значение path-параметра **id** в запросе - это **undefinedTransactionId** из запроса **GET/transactions/undefined**
Значение атрибута **transactionId** должно быть уникально относительно ранее созданных транзакций
Значение атрибута **amount** в запросе должно быть больше 0
Сделка, в рамках которой выполняется разнесение, должна быть активной (в статусе **"RUN"**)
Ответ на запрос **201 Created** подтверждает, что запрос прошел предварительные проверки (активность сделки, корректность суммы и т.д.) и принят в асинхронную обработку, но финальный статус требует проверки через вызов метода **GET /transactions/\{id}**
---
# Nominal Accounts Overview (beneficiary-executor)
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts-be/nominal-accounts-overview-beneficiary-executor.md)
## Описание
### Сервис предназначен для управления сделками (смарт-контрактами) при расчетах через номинальный счет с множеством бенефициаров по схеме "Бенефициар-исполнитель".
**Рекомендации по использованию API:**
* При использовании методов в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к конкретному ресурсу
* Действия, касающиеся одного и того же бенефициара - создание сделки (смарт-контракта), исполнение сделки (смарт-контракта) прерывание сделки (смарт-контракта) и вывод средств - выполняются на стороне Банка последовательно (под блокировкой). Рекомендуется со стороны площадки также отправлять запросы по одному бенефициару последовательно, дожидаясь ответа по предыдущему запросу. Неисполнение данной рекомендации может привести к ошибке с кодом 429 "Too many requests" и необходимости повторной отправки запроса
* Бенефициар, в отношении которого выполняются операции по удалению, изменению информации, выводу средств, созданию сделки (смарт-контракта), исполнению сделки (смарт-контракта) или прерывание сделки (смарт-контракта), должен быть активным
* В случае получения ответа с кодом 500 "SOWA Internal Error" необходимо переподписать content и повторить отправку запроса
[Подробнее о сделках (смарт-контрактах)](/ru/sber-api/scenarios/transfers/nominal-accounts/overview)
[Инструкция по получению токена в интерфейсе СББОЛ](/ru/sber-api/start/connect)
### API URLs
* Тестовый контур - https://iftfintech.testsbi.sberbank.ru:9443
* Промышленный контур - https://fintech.sberbank.ru:9443/fintech/api
[Правила получения доступа к API](/ru/sber-api/specifications/overview)
[Скачать JSON-схемы](https://cdn-app.sberdevices.ru/misc/0.0.0/assets/bsm-docs/b72c0828_nominal_accounts_overview_\(beneficiary-executor\).1.0.0.schemas.zip)
[Таблица ошибок](/ru/sber-api/scenarios/transfers/nominal-accounts/table-errors)
---
# Получить информацию по заказу
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts-be/order-status.md)
## Адрес запроса
- Тестовый контур: **POST** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/secure-deals/deals/orders/ecom/info`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/secure-deals/deals/orders/ecom/info`
## Описание
:::caution deprecated
This endpoint has been deprecated and may be replaced or removed in future versions of the API.
:::
Предоставляет информацию о ранее созданном заказе по его идентификатору
**Важное изменение с 01.06.2026:**
С этой даты зачисление средств на номинальный счет через интернет-эквайринг (включая СБП С2В) производится напрямую через сервисы эквайринга.
Денежные средства, поступившие на номинальный счет через интернет-эквайринг, отразятся на нем, как неразнесенные. Получить список неразнесенных пополнений можно с помощью вызова метода **GET/transactions/undefined**. Разнести данные пополнения можно с помощью вызова метода **POST/transactions/undefined/\{id}/identify**
**Предварительные условия:**
1. Зарегистрируйтесь в системе интернет-эквайринга. Инициировать регистрацию можно в личном кабинете СББОЛ.
2. После регистрации комиссия с плательщика удерживается согласно тарифам вашего договора на интернет-эквайринг.
---
# Активировать API
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/nominal-accounts-be/signup.md)
## Адрес запроса
- Тестовый контур: **POST** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/secure-deals/signup`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/secure-deals/signup`
## Описание
Активация API для работы с сервисом "Nominal Accounts Overview (beneficiary-customer)"
Разовый запрос, выполняемый для сопоставления clientId SberAPI с номинальным счетом
Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal\_accounts** для получения доступа к этому ресурсу
---
# Обновление сlient secret
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/oauth/change-client-secret-post.md)
## Адрес запроса
**POST** `https://fintech.sberbank.ru:9443/ic/sso/api/v1/change-client-secret`
## Описание
Запрос позволяет обновить Client Secret вашей интеграции. В запросе необходимо передавать токен доступа (**access\_token**) Пользователя собственной организации.
---
# Получение бессрочного client secret
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/oauth/generate-secret-post.md)
## Адрес запроса
**POST** `https://fintech.sberbank.ru:9443/fintech/api/applications/secrets/v1/refresh-client-secret`
## Описание
Позволяет получить бессрочный client\_secret для указанного client\_id. Требует валидного клиентского TLS-сертификата.
---
# Получение кода авторизации
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/oauth/oauth-authorize-get.md)
## Адрес запроса
**GET** `https://sbi.sberbank.ru:9443/ic/sso/api/v2/oauth/authorize`
## Описание
Запрос позволяет открыть страницу аутентификации в СберБизнес. Ваша Платформа формирует запрос в формате ссылки, устанавливая все параметры, и **передает ее браузеру пользователя** (Клиента) для прохождения аутентификации. При успешной аутентификации СберБизнес ID вернет браузер пользователя на **Redirect\_uri** вместе с кодом авторизации (**authorization code**).
Для клиентов, работающих через токен:
* `http://localhost:28016`
Если тип пользователя не может быть определен, то вызов должен осуществляться на основной host.
:::note
Браузер автоматически кодирует URL, но при работе с API (например, через cURL или в backend-системах) необходимо вручную применять URL-encoding.
:::
Пример ссылки авторизации
**Пример**
```sh
https://sbi.sberbank.ru:9443/ic/sso/api/v2/oauth/authorize?prompt=login&redirect_uri=https://www.sberbank.ru/ru/person&nonce=80012c9c-1b9a-449e-a8d5-75100ea698ac&state=296014df-dbc8-4559-ab32-041bf5064a40&scope=openid ACCEPTANCE_ADVANCE ACCEPTANCE_LETTER BANK_CONTROL_STATEMENT BANK_CONTROL_STATEMENT_CHANGE_APPLICATION BUSINESS_CARD_LIMIT BUSINESS_CARDS_TRANSFER CARD_ISSUE CERTIFICATE_REQUEST CLIENT_TARIFF COLLECTION_ORDERS CONFIRMATORY_DOCUMENTS_INQUIRY CONTRACT_CLOSE_APPLICATION CORPORATE_CARD_REQUEST CORPORATE_CARDS CREDIT_REQUEST CRYPTO_CERT_REQUEST_EIO CURR_BUY CURR_CONTROL_INFO_REQ CURR_CONTROL_MESSAGE_FROM_BANK CURR_CONTROL_MESSAGE_TO_BANK CURR_SELL CURRENCY_NOTICES CURRENCY_OPERATION_DETAILS DEBT_REGISTRY DICT ESTATE_FEED FILES GENERIC_LETTER_FROM_BANK GENERIC_LETTER_TO_BANK GET_ADVANCE_ACCEPTANCES GET_CLIENT_ACCOUNTS GET_CORRESPONDENTS GET_CREDIT_OFFERS GET_CRYPTO_INFO GET_CRYPTO_INFO_EIO GET_CUSTOMER_INFO GET_PARTNER_OFFERS GET_REQUEST_STATISTICS GET_STATEMENT_ACCOUNT GET_STATEMENT_TRANSACTION GET_TARIFF_PLANS GET_TARIFF_PLANS_LIST_AVAILABLE ORDER_MANDATORY_SALE PAY_DOC_CUR PAY_DOC_RU PAY_DOC_RU_INVOICE_ANY PAY_DOC_RU_INVOICE_BUDGET PAY_DOC_RU_INVOICE PAYMENT_REQUEST_IN PAYMENT_REQUEST_OUT PAYMENTS_REGISTRY PAYROLL SALARY_AGREEMENT SALARY_AGREEMENT_REQUEST TARIFF_PLAN_MANAGEMENT TARIFF_PLAN_MANAGEMENT_JWS TARIFF_PLAN_OVER_BILLING_JSON TARIFF_PLAN_OVER_BILLING_JWS inn orgActualAddress orgFullName orgJuridicalAddress orgKpp orgLawForm orgLawFormShort OrgName orgOgrn orgOktmo terBank email individualExecutiveAgency name offerExpirationDate phone_number userPosition accounts aud buyOnCreditMmb creditLineAvailableSum hasActiveCreditLine HashOrgId iss offerSmartCredit sub summOfferSmartCredit userCryptoType&response_type=code&client_id=92233764567396
```
**URL-encoding**
```sh
https://sbi.sberbank.ru:9443/ic/sso/api/v2/oauth/authorize?prompt=login&redirect_uri=https%3A%2F%2Fwww.sberbank.ru%2Fru%2Fperson&nonce=80012c9c-1b9a-449e-a8d5-75100ea698ac&state=296014df-dbc8-4559-ab32-041bf5064a40&scope=openid+ACCEPTANCE_ADVANCE+ACCEPTANCE_LETTER+BANK_CONTROL_STATEMENT+BANK_CONTROL_STATEMENT_CHANGE_APPLICATION+BUSINESS_CARD_LIMIT+BUSINESS_CARDS_TRANSFER+CARD_ISSUE+CERTIFICATE_REQUEST+CLIENT_TARIFF+COLLECTION_ORDERS+CONFIRMATORY_DOCUMENTS_INQUIRY+CONTRACT_CLOSE_APPLICATION+CORPORATE_CARD_REQUEST+CORPORATE_CARDS+CREDIT_REQUEST+CRYPTO_CERT_REQUEST_EIO+CURR_BUY+CURR_CONTROL_INFO_REQ+CURR_CONTROL_MESSAGE_FROM_BANK+CURR_CONTROL_MESSAGE_TO_BANK+CURR_SELL+CURRENCY_NOTICES+CURRENCY_OPERATION_DETAILS+DEBT_REGISTRY+DICT+ESTATE_FEED+FILES+GENERIC_LETTER_FROM_BANK+GENERIC_LETTER_TO_BANK+GET_ADVANCE_ACCEPTANCES+GET_CLIENT_ACCOUNTS+GET_CORRESPONDENTS+GET_CREDIT_OFFERS+GET_CRYPTO_INFO+GET_CRYPTO_INFO_EIO+GET_CUSTOMER_INFO+GET_PARTNER_OFFERS+GET_REQUEST_STATISTICS+GET_STATEMENT_ACCOUNT+GET_STATEMENT_TRANSACTION+GET_TARIFF_PLANS+GET_TARIFF_PLANS_LIST_AVAILABLE+ORDER_MANDATORY_SALE+PAY_DOC_CUR+PAY_DOC_RU+PAY_DOC_RU_INVOICE_ANY+PAY_DOC_RU_INVOICE_BUDGET+PAY_DOC_RU_INVOICE+PAYMENT_REQUEST_IN+PAYMENT_REQUEST_OUT+PAYMENTS_REGISTRY+PAYROLL+SALARY_AGREEMENT+SALARY_AGREEMENT_REQUEST+TARIFF_PLAN_MANAGEMENT+TARIFF_PLAN_MANAGEMENT_JWS+TARIFF_PLAN_OVER_BILLING_JSON+TARIFF_PLAN_OVER_BILLING_JWS+inn+orgActualAddress+orgFullName+orgJuridicalAddress+orgKpp+orgLawForm+orgLawFormShort+OrgName+orgOgrn+orgOktmo+terBank+email+individualExecutiveAgency+name+offerExpirationDate+phone_number+userPosition+accounts+aud+buyOnCreditMmb+creditLineAvailableSum+hasActiveCreditLine+HashOrgId+iss+offerSmartCredit+sub+summOfferSmartCredit+userCryptoType&response_type=code&client_id=92233764567396
```
---
# Отзыв токена доступа
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/oauth/oauth-revoke-post.md)
## Адрес запроса
**POST** `https://fintech.sberbank.ru:9443/ic/sso/api/v2/oauth/revoke`
## Описание
Для отзыва токена доступа (**access\_token**) необходимо отправить POST-запрос `/v2/oauth/revoke`, в котором передать токен доступа (**access\_token**), Client ID и Client Secret вашей Платформы.
---
# Получение/обновление токенов доступа
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/oauth/oauth-token-post.md)
## Адрес запроса
**POST** `https://fintech.sberbank.ru:9443/ic/sso/api/v2/oauth/token`
## Описание
Запрос позволяет обменять [код авторизации](/ru/sber-api/specifications/oauth/oauth-authorize-get) на токены доступа (`access_token`, `refresh_token`, `id_token`), а также обновить `access_token`.
Cрок действия токена доступа (access\_token) 60 минут. Поэтому требуется обновление токена доступа для последующих запросов в канале Sber API.
:::note
Использованный токен обновления (refresh\_token) переводится в статус резервного на 2 часа с момента выпуска новой пары ключей (access\_token/refresh\_token).
:::
Если по каким-то причинам сформированная пара не была получена от Банка, то рекомендуется повторно отправить запрос на актуализацию ключей в течение 1 часа от момента отправки первой попытки, используя тот же refresh\_token.
Для последующих обновлений ключей доступа необходимо использовать refresh\_token из новой пары ключей (access\_token/refresh\_token).
---
# Получение информации об учетной записи
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/oauth/oauth-user-info-get.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/ic/sso/api/v2/oauth/user-info`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/ic/sso/api/v2/oauth/user-info`
## Описание
Запрос позволяет получить информацию о клиенте в ID token. GET-запрос должен содержать токен доступа (**access\_token**) пользователя в параметре **Authorization** заголовка.
Набор атрибутов, доступный в scope, зависит от подключенного вами сервиса.
Полный перечень возможных атрибутов и примеры ответов
| Наименование атрибута (claim) | Описание | Пример возвращаемого ответа |
| :--- | :--- | :--- |
| **accounts** | Счет, БИК, корреспондентский счет компании | `"accounts": [ { "corrAccountNumber": "30101810400000000225", "accountNumber": "26812810325210000156", "bic": "044525225" }, { "corrAccountNumber": "30101810400000000225", "accountNumber": "86112810623000546644", "bic": "044525225" } ]` |
| **active** | Признак активности пользователя | `"active": 1` |
| **email** | Адрес электронной почты | `"email": "avangard@sbbid.ru"` |
| **HashOrgId** | Хэш идентификатора организации (orgId) | `"HashOrgId": "378250884741d092b15be6ac84372b8a51e96947dd5a7005534cfe63d491e658"` |
| **individualExecutiveAgency** | Признак ЕИО (Единоличный исполнительный орган) | `"individualExecutiveAgency": 1` |
| **inn** | ИНН | `"inn": "0102573875"` |
| **isIdentified** | Признак идентификации пользователя | `"isIdentified": true` |
| **name** | Фамилия Имя Отчество | `"name": "Иванов Игнат Петрович"` |
| **nonClient** | Признак «Неклиент» (неверифицированный пользователь, у которого не подтверждены учетные данные, отсутствуют расчетный счет и право подписи документов) | `"nonClient": false` |
| **offerExpirationDate** | Дата окончания срока действия согласия (оферты) | `"offerExpirationDate": "2022-03-09T09:25:51+0300"` |
| **orgBusinessSegment** | Бизнес-сегмент | `"orgBusinessSegment": "1"` |
| **orgFullName** | Полное наименование компании | `"orgFullName": "Открытое акционерное общество \"Тестовая организация СберБизнес ID\""` |
| **orgJuridicalAddress** | Юридический адрес компании | `"orgJuridicalAddress": "141002, RUSSIAN FEDERATION, Московская область, Мытищинский, г.Долгопрудный, ул.Мира, д.1, кв.325"` |
| **orgKpp** | КПП | `"orgKpp": "577145884"` |
| **orgLawForm** | Организационно-правовая форма (полное наименование) | `"orgLawForm": "Открытые акционерные общества"` |
| **orgLawFormShort** | Организационно-правовая форма (принятое сокращение) | `"orgLawFormShort": "ОАО"` |
| **OrgName** | Сокращенное наименование организации | `"OrgName": "ОАО \"Тест СберБизнес ID\""` |
| **orgOgrn** | ОГРН | `"orgOgrn": "5186069854119"` |
| **orgOkpo** | ОКПО | `"orgOkpo": "00040778"` |
| **orgOktmo** | ОКТМО | `"orgOktmo": "40321000000"` |
| **orgUnconfirmed** | Признак «Неподтвержденная организация» | `"orgUnconfirmed": false` |
| **phone\_number** | Номер телефона | `"phone_number": "75555555555"` |
| **tbIdentCode** | Код территориального банка | `"tbIdentCode": "10000367"` |
| **terBank** | Территориальный банк | `"terBank": "Московский Банк"` |
| **userCryptoType** | Тип криптографии | `"userCryptoType": "SMS"` |
| **userGroups** | Группы пользователя | `"userGroups": "Руководитель"` |
| **userPosition** | Должность | `"userPosition": "Главный специалист"` |
| **userRoles** | Роли пользователя | `"userRoles": [ "bankClient", "specialistStructuralDeposit" ]` |
| **userSignatureType** | Тип подписи | `"userSignatureType": "Единственная подпись"` |
| **firstName** | Имя владельца учетной записи | `"firstName": "Игнат"` |
| **middleName** | Отчество владельца учетной записи | `"middleName": "Петрович"` |
| **lastName** | Фамилия владельца учетной записи | `"lastName": "Иванов"` |
\"."}]} />
---
# Overview clientSecret
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/oauth/overview-clientsecret.md)
## Описание
Требуется взаимный TLS (mTLS) для аутентификации.
Security Scheme Type:
http
HTTP Authorization Scheme:
bearer
---
# Overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/oauth/overview.md)
## Описание
---
# Oauth
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/oauth.md)
## Список запросов
* [Получение кода авторизации](/ru/sber-api/specifications/oauth/oauth-authorize-get)
* [Получение токена доступа](/ru/sber-api/specifications/oauth/oauth-token-post)
* [Получение информации о пользователе](/ru/sber-api/specifications/oauth/oauth-user-info-get)
* [Отзыв токена доступа](/ru/sber-api/specifications/oauth/oauth-revoke-post)
* [Обновление Client Secret](/ru/sber-api/specifications/oauth/change-client-secret-post)
* [Получение бессрочного Сlient Secret](/ru/sber-api/specifications/oauth/generate-secret-post)
---
# API
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/overview.md)
---
# Запрос сведений о клиентах, подключенных к подпискам и пакетам услуг
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/partner-info/get-advance-acceptances.md)
## Адрес запроса
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/partner-info/advance-acceptances`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/partner-info/advance-acceptances`
## Описание
Запрос для получить сведения о клиентах, которые подключились или отписались.
В ответе возвращается массив данных с перечнем подписчиков и отписавшихся на запрашиваемый день. Для поддержания актуальной информации необходимо осуществлять ежедневный запрос информации.
В массиве данных по клиентам также содержится информация с реквизитным составом, которую дальше можно использовать в запросах на безакцепное списание..
Должен содержать токен доступа (access\_token) пользователя в параметре **Authorization** заголовка, а также дату, на которую запрашиваете информацию, и идентификатор сервиса (`clientId`) в параметрах запроса.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `GET_ADVANCE_ACCEPTANCES`.
---
# Partner Info Overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/partner-info/partner-info-overview.md)
## Описание
## Методы Sber API по информации о клиентах, подключенных к внешнему сервису
* [Запрос сведений о клиентах](/ru/sber-api/specifications/partner-info/get-advance-acceptances)
## API URLs
* Тестовый контур: `https://iftfintech.testsbi.sberbank.ru:9443`
* Промышленный контур: `https://fintech.sberbank.ru:9443`
---
# Создание валютного платежного поручения
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/pay-doc-cur/create.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/pay-doc-cur`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/pay-doc-cur`
## Описание
Запрос на создание валютного платежного поручения. Должен содержать токен доступа (access\_token) пользователя в параметре **Authorization** заголовка.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `PAY_DOC_CUR`.
* Если в запросе на создание платежного документа передать ЭП к документу (объект **digestSignatures**), то Банк сразу начнет обработку документа.
* Если в запросе не передавать ЭП к документу, то платежное поручение будет создано в статусе черновик. Для начала обработки документа Банком потребуется зайти в интерфейс СберБизнес и подписать его.
Дайджест
Дайджест это текстовый документ, содержащий перечень и значения полей запроса, к которому он относится и предназначенный для подписания ЭП. Сохраняйте порядок и количество полей дайджеста, как показано в примере ниже, иначе подписать его не получится.
Формат дайджеста запроса на создание валютного платежного поручения (значения number и блок linkedDocs не используются):
| **Наименование поля** | **Описание поля** | **Пример** |
|---|---|---|
| addInfo | Примечание | Примечание |
| additionalInfo | Информация получателю платежа (поле 72) | /CCTFDR/ |
| amountTransfer.amount | Сумма валютного перевода | 1.00 |
| amountTransfer.currencyCode | Цифровой код валюты | 840 |
| amountTransfer.currencyName | ISO-код валюты | USD |
| authPersonName | ФИО ответственного лица | Иванов Алексей Сергеевич |
| authPersonTelfax | Телефон ответственного лица | +74951234567 |
| b77info | Информация для регулирующих органов | Информация для регулирующих органов |
| beneficiaryAccount | Счет бенефициара | 40802840600000200000 |
| beneficiaryAddress | Адрес бенефициара | UL.KUTUZOVSKAYA,D.2 |
| beneficiaryBankAccount | Корреспондентский счет банка бенефициара | 40802840600000200000 |
| beneficiaryBankAddress | Адрес банка бенефициара | ул. Вавилова, д. 19 |
| beneficiaryBankBranchName | Наименование филиала банка бенефициара | (TREASURY DEPARTMENT) |
| beneficiaryBankClearingCode.clearingCode | Клиринговый код банка бенефициара | 111111 |
| beneficiaryBankClearingCode.countryCode | Обозначение национального клирингового кода банка бенефициара | UA |
| beneficiaryBankClearingCode.shortName | Сокращенное наименование национального клирингового кода | Сокращенное наименование национального клирингового кода |
| beneficiaryBankClearingCode.symbol | Клиринговый код банка бенефициара | UA |
| beneficiaryBankCountryDigital | Цифровой код страны банка бенефициара | 643 |
| beneficiaryBankCountryIso2 | 2х буквенный ISO-код страны банка бенефициара | RU |
| beneficiaryBankName | Наименование банка бенефициара | ПАО СБЕРБАНК |
| beneficiaryBankPlace | Местонахождение банка бенефициара | MOSKVA |
| beneficiaryBankSwift | SWIFT-код банка бенефициара | ABNARUMMSPB |
| beneficiaryBeiCode | BEI-код (SWIFT-код) | AAAAAAAA |
| beneficiaryCountryDigital | Цифровой код страны бенефициара | 643 |
| beneficiaryCountryIso2 | 2х буквенный ISO-код страны бенефициара | RU |
| beneficiaryCountryName | Наименование страны бенефициара на русском языке (краткое наименование) | Россия |
| beneficiaryInn | ИНН бенефициара | 222201236445 |
| beneficiaryName | Наименование бенефициара | EMIRP |
| beneficiaryPlace | Город (месторасположение) бенефициара | MOSKVA |
| chargesType | Тип комиссии за перевод: BEN, SHA или OUR | BEN |
| date | Дата документа | 2019-10-16 |
| externalId | Идентификатор документа в организации-партнере (UUID) | 619e25cf-dc0b-4420-8957-1b94bf29f145 |
| iMediaBankAddress | Адрес банка-посредника | SWEDEN HOUSE |
| iMediaBankCountryDigital | Цифровой код страны банка-посредника | 643 |
| iMediaBankCountryIso2 | 2х буквенный ISO-код страны банка-посредника | RU |
| iMediaBankName | Наименование банка-посредника | ABN AMRO BANK A.O. |
| iMediaBankPlace | Город банка-посредника | ST. PETERSBURG |
| iMediaBankSwift | SWIFT-код банка-посредника | ABNARUMMSPB |
| iMediaClearingCode.clearingCode | Клиринговый код банка посредника | 111111 |
| iMediaClearingCode.countryCode | Обозначение национального клирингового кода банка-посредника | UA |
| iMediaClearingCode.shortName | Сокращенное наименование национального клирингового кода | |
| iMediaClearingCode.symbol | Обозначение национального клирингового кода банка-посредника | UA |
| iMediaFilialBankName | Наименование филиала банка-посредника | ОСБ1 |
| inn | ИНН клиента | 1182079004 |
| option50a | Опция "K" для поля 50а | K |
| option56a | Опция "A", "D" для поля 56а | A |
| option57a | Опция "A", "D" для поля 57а | A |
| option59a | Опция "А" для поля 59а или «без опции» | A |
| orgName | Наименование организации клиента | Организация YUaegpVCyvHROOE |
| payerAccount | Счет плательщика | 40702840775470463045 |
| payerAddress | Адрес плательщика | UL.DOBROLIUBOVA,D.18,OF.III |
| payerBankBic | БИК банка плательщика | 044525225 |
| payerBankPlace | Местонахождение банка плательщика | MOSKVA |
| payerCountryDigital | Цифровой код страны перевододателя | 643 |
| payerCountryIso2 | 2х буквенный ISO-код страны перевододателя | RU |
| payerCountryName | Наименование страны перевододателя на русском языке (краткое наименование) | Россия |
| payerName | Международное наименование плательщика | LLC COMPANY |
| payerPlace | Город (местонахождение) плательщика | MOSKVA |
| paymentDetails | Назначение платежа | ABCD |
| paymentDirection | Направление платежа (Платеж внутри или вне СБРФ): 1-внутри, 0-вне | 1 |
| rateAgree | С курсом проведения конверсионной операции согласны | true |
| urgent | Срочность | false |
| **TABLES** | | |
| Table | 23E: Код инструкции | Codes23e |
| code | Код инструкции | TELE |
| description | Описание | Описание |
| info | Дополнительная информация | ИНФО |
| # | Разделитель | |
**Пример дайджеста**
```json
addInfo=Примечание
additionalInfo=Информация получателю платежа
amountTransfer.amount=1.00
amountTransfer.currencyCode=840
amountTransfer.currencyName=USD
authPersonName=Иванов Алексей Сергеевич
authPersonTelfax=+74951234567
b77info=Информация для регулирующих органов
beneficiaryAccount=40802840600000200000
beneficiaryAddress=UL.KUTUZOVSKAYA,D.2
beneficiaryBankAccount=40802840600000200000
beneficiaryBankAddress=ул. Вавилова, д. 19
beneficiaryBankBranchName=ОСБ1
beneficiaryBankClearingCode.clearingCode=111111
beneficiaryBankClearingCode.countryCode=UA
beneficiaryBankClearingCode.shortName=Сокращенное наименование национального клирингового кода
beneficiaryBankClearingCode.symbol=UA
beneficiaryBankCountryDigital=643
beneficiaryBankCountryIso2=RU
beneficiaryBankName=ПАО СБЕРБАНК
beneficiaryBankPlace=MOSKVA
beneficiaryBankSwift=ABNARUMMSPB
beneficiaryBeiCode=AAAAAAAA
beneficiaryCountryDigital=643
beneficiaryCountryIso2=RU
beneficiaryCountryName=Россия
beneficiaryInn=222201236445
beneficiaryName=EMIRP
beneficiaryPlace=MOSKVA
chargesType=BEN
date=2019-11-26
externalId=fa1dabed-d7c4-42c3-9c59-25cbf4724765
iMediaBankAddress=SWEDEN HOUSE
iMediaBankCountryDigital=643
iMediaBankCountryIso2=RU
iMediaBankName=ABN AMRO BANK A.O.
iMediaBankPlace=ST. PETERSBURG
iMediaBankSwift=ABNARUMMSPB
iMediaClearingCode.clearingCode=111111
iMediaClearingCode.countryCode=UA
iMediaClearingCode.shortName=Сокращенное наименование национального клирингового кода
iMediaClearingCode.symbol=UA
iMediaFilialBankName=ОСБ1
inn=7494979410
option50a=K
option56a=A
option57a=A
option59a=A
orgName=Организация LCMdmYRFBCUflhq
payerAccount=40702840459430282265
payerAddress=UL.DOBROLIUBOVA,D.18,OF.III
payerBankBic=044525225
payerBankPlace=MOSKVA
payerCountryDigital=643
payerCountryIso2=RU
payerCountryName=Россия
payerName=LLC COMPANY
payerPlace=MOSKVA
paymentDetails=НАЗНАЧЕНИЕ ПЛАТЕЖА
paymentDirection=1
rateAgree=true
urgent=false
TABLES
Table=Codes23e
code=TELE
description=Описание
info=Дополнительная информация
#
```
### Заполнение клиринговых кодов \{#zapolnenie-kliringovyh-kodov}
Для задания массива клиринговых кодов банка бенефициара (`beneficiaryBankClearingCode`) или банка-посредника (`iMediaClearingCode`), используйте данные [справочников](/ru/sber-api/specifications/dicts/dicts-overview):
* Справочник структур национальных клиринговых кодов [ClearingStructure](https://developers.sber.ru/docs/ru/sber-api/specifications/dicts/dicts-overview) для заполнения `countryCode`, `shortName` и `symbol`;
* Международный справочник банков [SwiftBic](https://developers.sber.ru/docs/ru/sber-api/specifications/dicts/dicts-overview) для заполнения `clearingCode` и `countryCode`.
Рекомендации по тестированию в песочнице
При тестировании создания валютного платежного поручения в Песочнице соблюдайте правила:
* **Генерируйте уникальный `externalId`** для каждого документа.
* **Не нужно устанавливать промышленные сертификаты электронной подписи (ЭП)** — Песочница использует тестовые идентификаторы ЭП (certificateUuid).
* Все остальные поля запроса заполняйте произвольными данными (реквизиты, суммы, назначение платежа) в соответствии с требованиями в документации.
## Сценарии тестирования \{#stsenarii-testirovaniya}
Для тестирования сценариев используйте **фиксированные** значения `certificateUuid`. При использовании любых других значений `certificateUuid` вернется ошибка WORKFLOW\_FAULT "Проверьте актуальность сертификата электронной подписи."
**1.** Чтобы создать неподписанное платежное поручение (черновик), отправьте запрос **без объекта `digestSignatures`**.
**Статус в ответе:** `bankStatus: "CREATED"`
***
**2.** Для отправки документа с единственной подписью передайте в объекте `digestSignatures` тестовый UUID единоличного исполнительного органа (ЕИО).
**Параметры:**
* `certificateUuid`: `bb014b5d-8159-40be-97c1-eafeed4a8c3d`
**Статус в ответе:** `bankStatus: "IMPLEMENTED"`
**Пример:**
```json
"digestSignatures": [
\{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c3d",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
```
***
**3.** Для отправки документа с двумя подписями передайте в объекте `digestSignatures` тестовые UUID первой **И** второй подписи.
**Параметры:**
* `certificateUuid`: `d5d4f811-f4d4-4205-a70f-58f772eeab72` (Первая подпись)
* `certificateUuid`: `4f29c8ef-b55d-43c7-a321-f2b1303a29cd` (Вторая подпись)
**Статус в ответе:** `bankStatus: "IMPLEMENTED"`
**Пример:**
```json
"digestSignatures": [
\{
"certificateUuid": "d5d4f811-f4d4-4205-a70f-58f772eeab72",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\},
\{
"certificateUuid": "4f29c8ef-b55d-43c7-a321-f2b1303a29cd",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
```
***
**4.** Для отправки документа с одной из двух подписей передайте в объекте `digestSignatures` тестовые UUID первой **ИЛИ** второй подписи.
**Статус в ответе:** `bankStatus: "PARTSIGNED"`
**Параметры:**
* `certificateUuid`: `d5d4f811-f4d4-4205-a70f-58f772eeab72` (Первая подпись)
* `certificateUuid`: `4f29c8ef-b55d-43c7-a321-f2b1303a29cd` (Вторая подпись)
**Пример:**
```json
"digestSignatures": [
\{
"certificateUuid": "d5d4f811-f4d4-4205-a70f-58f772eeab72",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
```
\n Коды документов\n\n **CHQB** - Выплатить бенефициару только чеком. Строка с номером счета в поле 59a не должна использоваться.\n\n **Не допускается** совместное использование с кодами: CORT, HOLD, INTC, REPA, SDVA\n\n \n\n **CORT** - Платеж совершается в счет расчетов по сделке, например, по сделке с иностранной валютой, операции с ценными бумагами.\n\n **Не допускается** совместное использование с кодами: CHQB, HOLD, REPA\n\n \n\n **HOLD** - Бенефициар/заявитель обратится сам; выплатить после установления личности.\n\n **Не допускается** совместное использование с кодами: CHQB, CORT, INTC, REPA, SDVA\n\n \n\n **INTC** - Платеж между двумя компаниями, входящими в одну группу.\n\n **Не допускается** совместное использование с кодами: CHQB, HOLD\n\n \n\n **PHOB** - Просьба уведомить/связаться с бенефициаром/заявителем по телефону.\n\n **Не допускается** совместное использование с кодами: TELB\n\n \n\n **PHOI** - Просьба уведомить банк-посредник по телефону.\n\n **Не допускается** совместное использование с кодами: TELI\n\n \n\n **PHON** - Просьба уведомить банк, в котором открыт счет, по телефону.\n\n **Не допускается** совместное использование с кодами: TELE\n\n \n\n **REPA** - Платеж имеет ссылку на электронный платежный продукт (e-Payments).\n\n **Не допускается** совместное использование с кодами: CHQB, CORT, HOLD\n\n \n\n **SDVA** - Платеж должен быть исполнен с валютированием в день поступления бенефициару.\n\n **Не допускается** совместное использование с кодами: CHQB, HOLD\n\n \n\n **TELB** - Просьба уведомить/связаться с бенефициаром/заявителем наиболее эффективным средством электросвязи.\n\n **Не допускается** совместное использование с кодами: PHOB\n\n \n\n **TELE** - Просьба уведомить банк, в котором открыт счет, наиболее эффективным средством электросвязи.\n\n **Не допускается** совместное использование с кодами: PHON\n\n \n \n **TELI** - Просьба уведомить банк-посредник наиболее эффективным средством электросвязи.\n\n **Не допускается** совместное использование с кодами: PHOI\n\n","example":"SDVA"},"description":{"type":"string","maxLength":255,"example":"Средства должны быть зачислены бенефициару той же датой валютирования"},"info":{"type":"string","maxLength":30,"description":"Дополнительная информация","example":"DOPOLNITEL INFO 8747483893"}},"title":"Code23e"}},"date":{"type":"string","format":"date","description":"Дата документа","example":"2023-12-31"},"digestSignatures":{"type":"array","items":{"description":"Электронная подпись","title":"Signature","type":"object","required":["certificateUuid","base64Encoded"],"properties":{"certificateUuid":{"type":"string","format":"uuid","description":"Уникальный идентификатор сертификата ключа проверки электронной подписи (UUID)","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"base64Encoded":{"type":"string","nullable":false,"minLength":1,"description":"Значение электронной подписи, закодированное в Base64","example":"HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w=="}}},"description":"Электронные подписи по дайджесту документа"},"externalId":{"type":"string","format":"uuid","description":"Идентификатор документа в организации-партнере (UUID)","example":"550e8400-e29b-41d4-a716-446655440000"},"factRate":{"type":"number","readOnly":true,"description":"Фактический курс конверсии","example":"1.0001"},"iMediaBankAddress":{"type":"string","maxLength":255,"description":"Адрес банка-посредника","example":"33 BEETHOVENSTRASSE"},"iMediaBankCountryDigital":{"type":"string","pattern":"^[0-9]{3}$","description":"Цифровой код страны банка-посредника","example":"576"},"iMediaBankCountryIso2":{"type":"string","pattern":"^[A-Z]{2}$","description":"2х буквенный ISO-код страны банка-посредника","example":"CH"},"iMediaBankName":{"type":"string","maxLength":140,"description":"Наименование банка-посредника","example":"ABN AMRO BANK (SCHWEIZ)"},"iMediaBankPlace":{"type":"string","maxLength":35,"description":"Местоположение банка-посредника","example":"ZURICH"},"iMediaBankSwift":{"type":"string","maxLength":11,"description":"SWIFT-код банка-посредника","example":"ABNACHZZ80A"},"iMediaClearingCode":{"type":"object","description":"Клиринговый код банка бенефициара","properties":{"clearingCode":{"type":"string","maxLength":11,"description":"Клиринговый код банка-посредника","example":"BANKCODE123"},"countryCode":{"type":"string","pattern":"^[A-Z]{2}$","description":"Обозначение национального клирингового кода банка-посредника","example":"IN"},"shortName":{"type":"string","maxLength":140,"description":"Сокращенное наименование национального клирингового кода банка-посредника","example":"Indian Financial System Code"},"symbol":{"type":"string","pattern":"^[A-Z]{2}$","description":"Обозначение национального клирингового кода банка-посредника","example":"IFSC"}},"title":"ClearingCode"},"iMediaFilialBankName":{"type":"string","maxLength":140,"description":"Наименование филиала банка-посредника","example":"FILIAL ONE OF ABN AMRO BANK (SCHWEIZ)"},"inn":{"type":"string","pattern":"^([0-9]{10}|[0-9]{12}|0)$","description":"ИНН клиента","example":"123456236440"},"linkedDocs":{"type":"array","items":{"description":"Связанные документы","type":"object","required":["docExtId","type"],"properties":{"docExtId":{"type":"string","format":"uuid","nullable":false,"description":"Идентификатор документа в организации-партнере (UUID)","example":"31663ef5-7975-4016-b0f3-f1d70a4e9c22"},"type":{"type":"string","nullable":false,"minLength":1,"maxLength":50,"description":"Тип связанного документа","example":"CurrencyOperationDetails"}},"title":"FintechLinkedDoc"}},"number":{"type":"string","pattern":"^[0-9]{1,7}$","description":"Номер документа","example":"1234567"},"option50a":{"type":"string","pattern":"^[KF]$","description":"Опция \"K\" , \"F\" для поля 50а","example":"F"},"option56a":{"type":"string","pattern":"^[AD]$","description":"Опция \"A\", \"D\" для поля 56а","example":"A"},"option57a":{"type":"string","pattern":"^[AD]$","description":"Опция \"A\", \"D\" для поля 57а","example":"A"},"option59a":{"type":"string","pattern":"^[AF]$","description":"Опция \"А\", \"F\" для поля 59а или «без опции»","example":"A"},"orgName":{"type":"string","maxLength":160,"description":"Наименование организации клиента","example":"ООО \"Наименование организации\""},"payerAccount":{"type":"string","pattern":"^[0-9]{20}$","description":"Счет перевододателя","example":"12341234123412341234"},"payerAddress":{"type":"string","maxLength":35,"example":"UL.DOBROLIUBOVA,D.18,OF.III","description":"Адрес перевододателя.\n\nМаксимальное количество символов для платежей в Индию составляет 33 символа.\n"},"payerBankBic":{"type":"string","pattern":"^[0-9]{9}$","description":"БИК банка перевододателя","example":"044525225"},"payerBankPlace":{"type":"string","maxLength":35,"description":"Местонахождение банка перевододателя","example":"MOSCOW"},"payerCountryDigital":{"type":"string","pattern":"^[0-9]{3}$","description":"Цифровой код страны перевододателя","example":"643"},"payerCountryIso2":{"type":"string","pattern":"^[A-Z]{2}$","description":"2х буквенный ISO-код страны перевододателя","example":"RU"},"payerCountryName":{"type":"string","maxLength":80,"description":"Наименование страны перевододателя на русском языке (краткое наименование)","example":"РОССИЯ"},"payerName":{"type":"string","maxLength":140,"description":"Международное наименование перевододателя","example":"LLC COMPANY"},"payerPlace":{"type":"string","maxLength":35,"description":"Город (местонахождение) перевододателя","example":"MOSCOW"},"paymentDetails":{"type":"string","maxLength":137,"description":"Назначение платежа.\n\nЧтобы передать \"Код назначения перевода\", необходимо заполнить данное поле в формате: \"(ХХХХХ) Текст назначения платежа\", где (ХХХХХ)- код назначения перевода. \n","example":"(P1019) CONTRACT 12321"},"paymentDirection":{"type":"string","maxLength":10,"description":"Направление платежа (Платеж внутри или вне СБРФ): 1-внутри, 0-вне","example":"0"},"rateAgree":{"type":"boolean","description":"С курсом проведения конверсионной операции согласны","example":true},"urgent":{"type":"boolean","description":"Срочность. Значение необходимо отправлять, если по счету списания есть возможность отправлять неотложные платежи.","example":false},"valueDate":{"type":"string","readOnly":true,"format":"date","description":"Дата валютирования/возврата","example":"2025-12-31"},"amountDebitTotal":{"type":"number","minimum":0.01,"exclusiveMinimum":false,"readOnly":true,"description":"Фактическая сумма списанной валюты","example":"1.01"}}}}}}} />
\n Коды документов\n\n **CHQB** - Выплатить бенефициару только чеком. Строка с номером счета в поле 59a не должна использоваться.\n\n **Не допускается** совместное использование с кодами: CORT, HOLD, INTC, REPA, SDVA\n\n \n\n **CORT** - Платеж совершается в счет расчетов по сделке, например, по сделке с иностранной валютой, операции с ценными бумагами.\n\n **Не допускается** совместное использование с кодами: CHQB, HOLD, REPA\n\n \n\n **HOLD** - Бенефициар/заявитель обратится сам; выплатить после установления личности.\n\n **Не допускается** совместное использование с кодами: CHQB, CORT, INTC, REPA, SDVA\n\n \n\n **INTC** - Платеж между двумя компаниями, входящими в одну группу.\n\n **Не допускается** совместное использование с кодами: CHQB, HOLD\n\n \n\n **PHOB** - Просьба уведомить/связаться с бенефициаром/заявителем по телефону.\n\n **Не допускается** совместное использование с кодами: TELB\n\n \n\n **PHOI** - Просьба уведомить банк-посредник по телефону.\n\n **Не допускается** совместное использование с кодами: TELI\n\n \n\n **PHON** - Просьба уведомить банк, в котором открыт счет, по телефону.\n\n **Не допускается** совместное использование с кодами: TELE\n\n \n\n **REPA** - Платеж имеет ссылку на электронный платежный продукт (e-Payments).\n\n **Не допускается** совместное использование с кодами: CHQB, CORT, HOLD\n\n \n\n **SDVA** - Платеж должен быть исполнен с валютированием в день поступления бенефициару.\n\n **Не допускается** совместное использование с кодами: CHQB, HOLD\n\n \n\n **TELB** - Просьба уведомить/связаться с бенефициаром/заявителем наиболее эффективным средством электросвязи.\n\n **Не допускается** совместное использование с кодами: PHOB\n\n \n\n **TELE** - Просьба уведомить банк, в котором открыт счет, наиболее эффективным средством электросвязи.\n\n **Не допускается** совместное использование с кодами: PHON\n\n \n \n **TELI** - Просьба уведомить банк-посредник наиболее эффективным средством электросвязи.\n\n **Не допускается** совместное использование с кодами: PHOI\n\n","example":"SDVA"},"description":{"type":"string","maxLength":255,"example":"Средства должны быть зачислены бенефициару той же датой валютирования"},"info":{"type":"string","maxLength":30,"description":"Дополнительная информация","example":"DOPOLNITEL INFO 8747483893"}},"title":"Code23e"}},"date":{"type":"string","format":"date","description":"Дата документа","example":"2023-12-31"},"digestSignatures":{"type":"array","items":{"description":"Электронная подпись","title":"Signature","type":"object","required":["certificateUuid","base64Encoded"],"properties":{"certificateUuid":{"type":"string","format":"uuid","description":"Уникальный идентификатор сертификата ключа проверки электронной подписи (UUID)","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"base64Encoded":{"type":"string","nullable":false,"minLength":1,"description":"Значение электронной подписи, закодированное в Base64","example":"HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w=="}}},"description":"Электронные подписи по дайджесту документа"},"externalId":{"type":"string","format":"uuid","description":"Идентификатор документа в организации-партнере (UUID)","example":"550e8400-e29b-41d4-a716-446655440000"},"factRate":{"type":"number","readOnly":true,"description":"Фактический курс конверсии","example":"1.0001"},"iMediaBankAddress":{"type":"string","maxLength":255,"description":"Адрес банка-посредника","example":"33 BEETHOVENSTRASSE"},"iMediaBankCountryDigital":{"type":"string","pattern":"^[0-9]{3}$","description":"Цифровой код страны банка-посредника","example":"576"},"iMediaBankCountryIso2":{"type":"string","pattern":"^[A-Z]{2}$","description":"2х буквенный ISO-код страны банка-посредника","example":"CH"},"iMediaBankName":{"type":"string","maxLength":140,"description":"Наименование банка-посредника","example":"ABN AMRO BANK (SCHWEIZ)"},"iMediaBankPlace":{"type":"string","maxLength":35,"description":"Местоположение банка-посредника","example":"ZURICH"},"iMediaBankSwift":{"type":"string","maxLength":11,"description":"SWIFT-код банка-посредника","example":"ABNACHZZ80A"},"iMediaClearingCode":{"type":"object","description":"Клиринговый код банка бенефициара","properties":{"clearingCode":{"type":"string","maxLength":11,"description":"Клиринговый код банка-посредника","example":"BANKCODE123"},"countryCode":{"type":"string","pattern":"^[A-Z]{2}$","description":"Обозначение национального клирингового кода банка-посредника","example":"IN"},"shortName":{"type":"string","maxLength":140,"description":"Сокращенное наименование национального клирингового кода банка-посредника","example":"Indian Financial System Code"},"symbol":{"type":"string","pattern":"^[A-Z]{2}$","description":"Обозначение национального клирингового кода банка-посредника","example":"IFSC"}},"title":"ClearingCode"},"iMediaFilialBankName":{"type":"string","maxLength":140,"description":"Наименование филиала банка-посредника","example":"FILIAL ONE OF ABN AMRO BANK (SCHWEIZ)"},"inn":{"type":"string","pattern":"^([0-9]{10}|[0-9]{12}|0)$","description":"ИНН клиента","example":"123456236440"},"linkedDocs":{"type":"array","items":{"description":"Связанные документы","type":"object","required":["docExtId","type"],"properties":{"docExtId":{"type":"string","format":"uuid","nullable":false,"description":"Идентификатор документа в организации-партнере (UUID)","example":"31663ef5-7975-4016-b0f3-f1d70a4e9c22"},"type":{"type":"string","nullable":false,"minLength":1,"maxLength":50,"description":"Тип связанного документа","example":"CurrencyOperationDetails"}},"title":"FintechLinkedDoc"}},"number":{"type":"string","pattern":"^[0-9]{1,7}$","description":"Номер документа","example":"1234567"},"option50a":{"type":"string","pattern":"^[KF]$","description":"Опция \"K\" , \"F\" для поля 50а","example":"F"},"option56a":{"type":"string","pattern":"^[AD]$","description":"Опция \"A\", \"D\" для поля 56а","example":"A"},"option57a":{"type":"string","pattern":"^[AD]$","description":"Опция \"A\", \"D\" для поля 57а","example":"A"},"option59a":{"type":"string","pattern":"^[AF]$","description":"Опция \"А\", \"F\" для поля 59а или «без опции»","example":"A"},"orgName":{"type":"string","maxLength":160,"description":"Наименование организации клиента","example":"ООО \"Наименование организации\""},"payerAccount":{"type":"string","pattern":"^[0-9]{20}$","description":"Счет перевододателя","example":"12341234123412341234"},"payerAddress":{"type":"string","maxLength":35,"example":"UL.DOBROLIUBOVA,D.18,OF.III","description":"Адрес перевододателя.\n\nМаксимальное количество символов для платежей в Индию составляет 33 символа.\n"},"payerBankBic":{"type":"string","pattern":"^[0-9]{9}$","description":"БИК банка перевододателя","example":"044525225"},"payerBankPlace":{"type":"string","maxLength":35,"description":"Местонахождение банка перевододателя","example":"MOSCOW"},"payerCountryDigital":{"type":"string","pattern":"^[0-9]{3}$","description":"Цифровой код страны перевододателя","example":"643"},"payerCountryIso2":{"type":"string","pattern":"^[A-Z]{2}$","description":"2х буквенный ISO-код страны перевододателя","example":"RU"},"payerCountryName":{"type":"string","maxLength":80,"description":"Наименование страны перевододателя на русском языке (краткое наименование)","example":"РОССИЯ"},"payerName":{"type":"string","maxLength":140,"description":"Международное наименование перевододателя","example":"LLC COMPANY"},"payerPlace":{"type":"string","maxLength":35,"description":"Город (местонахождение) перевододателя","example":"MOSCOW"},"paymentDetails":{"type":"string","maxLength":137,"description":"Назначение платежа.\n\nЧтобы передать \"Код назначения перевода\", необходимо заполнить данное поле в формате: \"(ХХХХХ) Текст назначения платежа\", где (ХХХХХ)- код назначения перевода. \n","example":"(P1019) CONTRACT 12321"},"paymentDirection":{"type":"string","maxLength":10,"description":"Направление платежа (Платеж внутри или вне СБРФ): 1-внутри, 0-вне","example":"0"},"rateAgree":{"type":"boolean","description":"С курсом проведения конверсионной операции согласны","example":true},"urgent":{"type":"boolean","description":"Срочность. Значение необходимо отправлять, если по счету списания есть возможность отправлять неотложные платежи.","example":false},"valueDate":{"type":"string","readOnly":true,"format":"date","description":"Дата валютирования/возврата","example":"2025-12-31"},"amountDebitTotal":{"type":"number","minimum":0.01,"exclusiveMinimum":false,"readOnly":true,"description":"Фактическая сумма списанной валюты","example":"1.01"}}}}},"description":"Успешный ответ"},"202":{"description":"Операция не завершена полностью","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"400":{"description":"\"Ошибка в запросе\"\n\n| **Cause** | **Message** | **Description** |\n| --------------------- | ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| DESERIALIZATION_FAULT | Неверный формат запроса | Данные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в response в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request запроса. Скорректируйте заполнение атрибутов и повторите запрос. |\n| VALIDATION_FAULT | Ошибка валидации | Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request запроса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |\n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"401":{"description":"\"Не авторизован\"\n\n| **Cause** | **Message** | **Description** |\n| ------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |\n| UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. | \n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"403":{"description":"\"Операция не может быть выполнена: доступ к ресурсу запрещен\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------------- | ----------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `PAY_DOC_RU`. Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"404":{"description":"Данные не найдены","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"429":{"description":"\"Превышен лимит запросов\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"503":{"description":"\"Сервис временно недоступен\"\n\n| **Cause** | **Message** | **Description** |\n| ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}}}} />
---
# Получение документа валютное платежное поручение
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/pay-doc-cur/get-document.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/pay-doc-cur/{externalId}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/pay-doc-cur/{externalId}`
## Описание
Возвращает полные данные ранее созданного валютного платежного поручения. Должен содержать токен доступа (access\_token) пользователя в параметре **Authorization** заголовка и идентификатор документа (**externalId**), указанный при его создании.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `PAY_DOC_CUR`.
Рекомендации по тестированию в песочнице
При отправке запроса на получение валютного поручения, ответ будет статичным при любом `externalId`.
\n Коды документов\n\n **CHQB** - Выплатить бенефициару только чеком. Строка с номером счета в поле 59a не должна использоваться.\n\n **Не допускается** совместное использование с кодами: CORT, HOLD, INTC, REPA, SDVA\n\n \n\n **CORT** - Платеж совершается в счет расчетов по сделке, например, по сделке с иностранной валютой, операции с ценными бумагами.\n\n **Не допускается** совместное использование с кодами: CHQB, HOLD, REPA\n\n \n\n **HOLD** - Бенефициар/заявитель обратится сам; выплатить после установления личности.\n\n **Не допускается** совместное использование с кодами: CHQB, CORT, INTC, REPA, SDVA\n\n \n\n **INTC** - Платеж между двумя компаниями, входящими в одну группу.\n\n **Не допускается** совместное использование с кодами: CHQB, HOLD\n\n \n\n **PHOB** - Просьба уведомить/связаться с бенефициаром/заявителем по телефону.\n\n **Не допускается** совместное использование с кодами: TELB\n\n \n\n **PHOI** - Просьба уведомить банк-посредник по телефону.\n\n **Не допускается** совместное использование с кодами: TELI\n\n \n\n **PHON** - Просьба уведомить банк, в котором открыт счет, по телефону.\n\n **Не допускается** совместное использование с кодами: TELE\n\n \n\n **REPA** - Платеж имеет ссылку на электронный платежный продукт (e-Payments).\n\n **Не допускается** совместное использование с кодами: CHQB, CORT, HOLD\n\n \n\n **SDVA** - Платеж должен быть исполнен с валютированием в день поступления бенефициару.\n\n **Не допускается** совместное использование с кодами: CHQB, HOLD\n\n \n\n **TELB** - Просьба уведомить/связаться с бенефициаром/заявителем наиболее эффективным средством электросвязи.\n\n **Не допускается** совместное использование с кодами: PHOB\n\n \n\n **TELE** - Просьба уведомить банк, в котором открыт счет, наиболее эффективным средством электросвязи.\n\n **Не допускается** совместное использование с кодами: PHON\n\n \n \n **TELI** - Просьба уведомить банк-посредник наиболее эффективным средством электросвязи.\n\n **Не допускается** совместное использование с кодами: PHOI\n\n","example":"SDVA"},"description":{"type":"string","maxLength":255,"example":"Средства должны быть зачислены бенефициару той же датой валютирования"},"info":{"type":"string","maxLength":30,"description":"Дополнительная информация","example":"DOPOLNITEL INFO 8747483893"}},"title":"Code23e"}},"date":{"type":"string","format":"date","description":"Дата документа","example":"2023-12-31"},"digestSignatures":{"type":"array","items":{"description":"Электронная подпись","title":"Signature","type":"object","required":["certificateUuid","base64Encoded"],"properties":{"certificateUuid":{"type":"string","format":"uuid","description":"Уникальный идентификатор сертификата ключа проверки электронной подписи (UUID)","example":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"},"base64Encoded":{"type":"string","nullable":false,"minLength":1,"description":"Значение электронной подписи, закодированное в Base64","example":"HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w=="}}},"description":"Электронные подписи по дайджесту документа"},"externalId":{"type":"string","format":"uuid","description":"Идентификатор документа в организации-партнере (UUID)","example":"550e8400-e29b-41d4-a716-446655440000"},"factRate":{"type":"number","readOnly":true,"description":"Фактический курс конверсии","example":"1.0001"},"iMediaBankAddress":{"type":"string","maxLength":255,"description":"Адрес банка-посредника","example":"33 BEETHOVENSTRASSE"},"iMediaBankCountryDigital":{"type":"string","pattern":"^[0-9]{3}$","description":"Цифровой код страны банка-посредника","example":"576"},"iMediaBankCountryIso2":{"type":"string","pattern":"^[A-Z]{2}$","description":"2х буквенный ISO-код страны банка-посредника","example":"CH"},"iMediaBankName":{"type":"string","maxLength":140,"description":"Наименование банка-посредника","example":"ABN AMRO BANK (SCHWEIZ)"},"iMediaBankPlace":{"type":"string","maxLength":35,"description":"Местоположение банка-посредника","example":"ZURICH"},"iMediaBankSwift":{"type":"string","maxLength":11,"description":"SWIFT-код банка-посредника","example":"ABNACHZZ80A"},"iMediaClearingCode":{"type":"object","description":"Клиринговый код банка бенефициара","properties":{"clearingCode":{"type":"string","maxLength":11,"description":"Клиринговый код банка-посредника","example":"BANKCODE123"},"countryCode":{"type":"string","pattern":"^[A-Z]{2}$","description":"Обозначение национального клирингового кода банка-посредника","example":"IN"},"shortName":{"type":"string","maxLength":140,"description":"Сокращенное наименование национального клирингового кода банка-посредника","example":"Indian Financial System Code"},"symbol":{"type":"string","pattern":"^[A-Z]{2}$","description":"Обозначение национального клирингового кода банка-посредника","example":"IFSC"}},"title":"ClearingCode"},"iMediaFilialBankName":{"type":"string","maxLength":140,"description":"Наименование филиала банка-посредника","example":"FILIAL ONE OF ABN AMRO BANK (SCHWEIZ)"},"inn":{"type":"string","pattern":"^([0-9]{10}|[0-9]{12}|0)$","description":"ИНН клиента","example":"123456236440"},"linkedDocs":{"type":"array","items":{"description":"Связанные документы","type":"object","required":["docExtId","type"],"properties":{"docExtId":{"type":"string","format":"uuid","nullable":false,"description":"Идентификатор документа в организации-партнере (UUID)","example":"31663ef5-7975-4016-b0f3-f1d70a4e9c22"},"type":{"type":"string","nullable":false,"minLength":1,"maxLength":50,"description":"Тип связанного документа","example":"CurrencyOperationDetails"}},"title":"FintechLinkedDoc"}},"number":{"type":"string","pattern":"^[0-9]{1,7}$","description":"Номер документа","example":"1234567"},"option50a":{"type":"string","pattern":"^[KF]$","description":"Опция \"K\" , \"F\" для поля 50а","example":"F"},"option56a":{"type":"string","pattern":"^[AD]$","description":"Опция \"A\", \"D\" для поля 56а","example":"A"},"option57a":{"type":"string","pattern":"^[AD]$","description":"Опция \"A\", \"D\" для поля 57а","example":"A"},"option59a":{"type":"string","pattern":"^[AF]$","description":"Опция \"А\", \"F\" для поля 59а или «без опции»","example":"A"},"orgName":{"type":"string","maxLength":160,"description":"Наименование организации клиента","example":"ООО \"Наименование организации\""},"payerAccount":{"type":"string","pattern":"^[0-9]{20}$","description":"Счет перевододателя","example":"12341234123412341234"},"payerAddress":{"type":"string","maxLength":35,"example":"UL.DOBROLIUBOVA,D.18,OF.III","description":"Адрес перевододателя.\n\nМаксимальное количество символов для платежей в Индию составляет 33 символа.\n"},"payerBankBic":{"type":"string","pattern":"^[0-9]{9}$","description":"БИК банка перевододателя","example":"044525225"},"payerBankPlace":{"type":"string","maxLength":35,"description":"Местонахождение банка перевододателя","example":"MOSCOW"},"payerCountryDigital":{"type":"string","pattern":"^[0-9]{3}$","description":"Цифровой код страны перевододателя","example":"643"},"payerCountryIso2":{"type":"string","pattern":"^[A-Z]{2}$","description":"2х буквенный ISO-код страны перевододателя","example":"RU"},"payerCountryName":{"type":"string","maxLength":80,"description":"Наименование страны перевододателя на русском языке (краткое наименование)","example":"РОССИЯ"},"payerName":{"type":"string","maxLength":140,"description":"Международное наименование перевододателя","example":"LLC COMPANY"},"payerPlace":{"type":"string","maxLength":35,"description":"Город (местонахождение) перевододателя","example":"MOSCOW"},"paymentDetails":{"type":"string","maxLength":137,"description":"Назначение платежа.\n\nЧтобы передать \"Код назначения перевода\", необходимо заполнить данное поле в формате: \"(ХХХХХ) Текст назначения платежа\", где (ХХХХХ)- код назначения перевода. \n","example":"(P1019) CONTRACT 12321"},"paymentDirection":{"type":"string","maxLength":10,"description":"Направление платежа (Платеж внутри или вне СБРФ): 1-внутри, 0-вне","example":"0"},"rateAgree":{"type":"boolean","description":"С курсом проведения конверсионной операции согласны","example":true},"urgent":{"type":"boolean","description":"Срочность. Значение необходимо отправлять, если по счету списания есть возможность отправлять неотложные платежи.","example":false},"valueDate":{"type":"string","readOnly":true,"format":"date","description":"Дата валютирования/возврата","example":"2025-12-31"},"amountDebitTotal":{"type":"number","minimum":0.01,"exclusiveMinimum":false,"readOnly":true,"description":"Фактическая сумма списанной валюты","example":"1.01"}}}}}},"400":{"description":"\"Ошибка в запросе\"\n\n| **Cause** | **Message** | **Description** |\n| --------------------- | ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| DESERIALIZATION_FAULT | Неверный формат запроса | Данные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в response в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request запроса. Скорректируйте заполнение атрибутов и повторите запрос. |\n| VALIDATION_FAULT | Ошибка валидации | Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request запроса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |\n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"401":{"description":"\"Не авторизован\"\n\n| **Cause** | **Message** | **Description** |\n| ------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |\n| UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. | \n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"403":{"description":"\"Операция не может быть выполнена: доступ к ресурсу запрещен\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------------- | ----------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `PAY_DOC_RU`. Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"404":{"description":"Данные не найдены","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"429":{"description":"\"Превышен лимит запросов\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"503":{"description":"\"Сервис временно недоступен\"\n\n| **Cause** | **Message** | **Description** |\n| ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}}}} />
---
# Получение статуса валютного платежного поручения
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/pay-doc-cur/get-state.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/pay-doc-cur/{externalId}/state`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/pay-doc-cur/{externalId}/state`
## Описание
Возвращает статус ранее созданного валютного платежного поручения. Должен содержать токен доступа (access\_token) пользователя в параметре **Authorization** заголовка и идентификатор документа (**externalId**), указанный при его создании.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `PAY_DOC_CUR`.
Статусы
Значения поля `bankStatus`:
| bankStatus | Описание |
| ---------------------------------------------------- | ----------------------------------- |
| **Промежуточные статусы/Продолжать опрашивать** | |
| `ACCEPTED` | Принят |
| `ACCEPTED_BY_ABS` | Принят АБС |
| `ACCEPTED_BY_CFE` | Принят ВК |
| `ACCEPTED_RZK` | Акцептован СБК |
| `CARD2` | Картотека №2 |
| `CORRESPONDENT_APPROVE_WAITING` | Ожидает подтверждения контрагента |
| `CREATED` | Создан |
| `CHECKERROR` | Ошибка контроля |
| `CREATED_BANK` | Создан Банком |
| `CHECKERROR_BANK` | Ошибка контроля, Банк |
| `DELAYED` | Приостановлен |
| `DELIVERED` | Доставлен |
| `EXPORTED` | Выгружен |
| `FRAUDSMS` | Требуется подтверждение СМС-паролем |
| `FRAUDREVIEW` | На проверке у специалиста банка |
| `FRAUDSENT` | Отправлен во ФРОД |
| `FRAUDALLOW` | Одобрен ФРОД |
| `FRAUDDENY` | Отвергнут ФРОД |
| `IMPORTED` | Импортирован |
| `IMPORTED_BANK` | Импортирован Банком |
| `NEED_REVIEW` | Необходимы исправления |
| `PROCESSING` | В обработке |
| `PUBLISHED_BY_BANK` | Издан Банком |
| `PARTSIGNED` | Частично подписан |
| `PROCESSING_RZK` | Обрабатывается СБК |
| `PROCESSED` | Обработан |
| `READY_TO_SEND` | Ждет отправки |
| `RETURNED` | Возвращен |
| `RATE_CONFIRMATION` | На подтверждении курса |
| `SIGNED` | Подписан |
| `SENDING` | Отправляется |
| `SENDED` | Отправлен |
| `SENDING_TO_RZK` | Отправляется в СБК |
| `SIGNED_BANK` | Подписан Банком |
| `SENT_TO_ADMIN` | Передан администратору |
| `TEMPLATE` | Шаблон документа |
| `TRIED` | Проверен |
| `TO_PROCESSING_RZK` | К отправке в СБК |
| `TO_SIGN_IN_RZK` | Подписывается в СБК |
| `TRIED_BY_CFE` | Проверяется ВК |
| `USER_RESERVED` | Зарезервированы логины |
| `VALIDEDS` | ЭП/АСП верна |
| `PROCESSING_RECALL` | Запрошен отзыв |
| **Окончательные статусы/Прекратить опрос** | |
| `CLOSED` | Закрыт |
| `DELETED` | Удален |
| `EXPORTED_TO_1C` | Выгружен в реестр |
| `INVALIDEDS` | ЭП/АСП не верна |
| `PROCESSERROR` | Отказан |
| `REQUISITEERROR` | Ошибка реквизитов |
| `REFUSEDBYBANK` | Отвергнут Банком |
| `REFUSEDBYABS` | Отказан АБС |
| `RECALL` | Отозван |
| `RECALL_BY_BANK` | Отозван Банком |
| `REFUSED_BY_CFE` | Отказан ВК |
| `UNABLE_TO_DECRYPT` | Ошибка шифрования |
| `UNABLE_TO_RECEIVE` | Ошибка при приеме |
| **Окончательные(Успешные) статусы/Прекратить опрос** | |
| `IMPLEMENTED` | Исполнен |
Рекомендации по тестированию в песочнице
При отправке запроса на получение статуса валютного поручения, ответ зависит от переданного параметра `externalId`. Для симуляции различных сценариев используйте следующие тестовые идентификаторы:
| Передаваемое значение `externalId` | Возвращаемое значение `bankStatus` |
| :----------------------------------- | :---------------------------------- |
| `a7d93c1b-f0eb-49e6-a2c3-1739bc509f82` | `CHECKERROR` |
| `2b5a12dc-d567-4b89-bece-587c38551bca` | `REQUISITEERROR` |
| `8e34b6fa-78c5-4a32-b719-429433657f26` | `INVALIDEDS` |
| Любое другое значение | `IMPLEMENTED` |
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `PAY_DOC_RU`. Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"404":{"description":"Данные не найдены","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"429":{"description":"\"Превышен лимит запросов\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"503":{"description":"\"Сервис временно недоступен\"\n\n| **Cause** | **Message** | **Description** |\n| ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}}}} />
---
# Pay-Doc-Cur Overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/pay-doc-cur/pay-doc-cur-overview.md)
## Описание
## Методы для работы с валютным платежным поручением (ВПП)
* [Создание валютного платежного поручения](/ru/sber-api/specifications/pay-doc-cur/create)
* [Получение статуса валютного платежного поручения](/ru/sber-api/specifications/pay-doc-cur/get-state)
* [Получение деталей документа "Валютное платежное поручение"](/ru/sber-api/specifications/pay-doc-cur/get-document)
---
# Overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/payment-link/overview.md)
## Описание
## Методы Sber API по работе с СБП B2B:
* [Запрос на регистрацию функциональной ссылки](/ru/sber-api/specifications/payment-link/sbp-b-2-b-link-create)
---
# Запрос на регистрацию функциональной ссылки
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/payment-link/sbp-b-2-b-link-create.md)
## Адрес запроса
- Тестовый контур: **POST** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/sbpb2b/v1/sbp/payment-link/create`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/sbpb2b/v1/sbp/payment-link/create`
## Описание
Запрос создает и регистрирует в НСПК функциональную ссылку на оплату
В параметре scope ссылки авторизации пользователя вашей компании должен быть указан сервис `BB_CREATE_LINK_APP` для получения доступа к этому ресурсу.
При получении ошибки:
```json
{
"internalErrorCode": "234.1-1013",
"cause": "ACTION_ACCESS_EXCEPTION",
"referenceId": "33b65e55-5624-4f97-adbe-3dffb505b41f",
"message": "Недостаточно прав для вызова POST /sbpb2b/v1/sbp/payment-link/create. Отсутствует доступ хотя бы до одного из сервисов [BB_CREATE_LINK_APP]."
}
```
Говорит об отсутствии в scope операции `BB_CREATE_LINK_APP`. Для добавления необходимо написать письмо на почту поддержки supportdbo2@sberbank.ru.
Статусы
| Статус | Описание |
|---------------------|--------------------------------------|
| FRAUDDENY | Отказ из-за риска мошенничества |
| ACTIVATED | Ссылка активна |
Коды ошибок
| HTTP код | internalErrorCode | cause | Эндпоинт | В ответе метода в message |
|-----------|-------------------|---------------------------|--------------------------------------|---------------------------------------------------------------------------------------------------------------------------|
| 200 | - | - | | - |
| 400 | 786-0001 | VALIDATE\_ERROR | POST /v1/sbp/payment-link/create GET /v1/sbp/payment-link/getTransactionList/\{linkId} | Ошибка валидации запроса. |
| 200 | 786-0211 | NSPK\_DENY | POST /v1/sbp/payment-link/create | Не удалось создать ссылку. |
| 200 | 786-0225 | PERMISSION\_ERROR | GET /v1/sbp/payment-link/getTransactionList/\{linkId} | Недостаточно полномочий для просмотра списка операций. |
| 200 | 786-0230 | CLIENT\_NOT\_FOUND | POST /v1/sbp/payment-link/create | Клиент не зарегистрирован в СБП. |
| 200 | 786-0231 | MP\_DENY | POST /v1/sbp/payment-link/create | 1. Не удалось создать ссылку. Повторите попытку позже. 2. По счету имеются целевые назначения, не позволяющие использовать СБП. 3. Клиент – нерезидент. 4. По счету имеются ограничения проведения операций списания. 5. Клиент – владелец счета – банкрот. 6. Счет недоступен для перевода. 7. Счет закрыт.|
| 503 | 786-0220 | SERVICE\_IS\_NOT\_AVAILABLE | POST /v1/sbp/payment-link/create GET /v1/sbp/payment-link/getTransactionList/\{linkId} | В настоящее время сервис недоступен по техническим причинам. Попробуйте позднее. |
| 500 | 786-0500 | INTERNAL\_SERVER\_ERROR | POST /v1/sbp/payment-link/create | При выполнении операции произошла ошибка. Мы уже работаем над ее устранением. Повторите попытку позже. |
---
# Получение списка транзакций по ссылке
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/payment-link/sbp-b-2-bget-transaction-list.md)
## Адрес запроса
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/sbpb2b/v1/sbp/payment-link/getTransactionList/{linkId}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/sbpb2b/v1/sbp/payment-link/getTransactionList/{linkId}`
## Описание
Получение списка транзакций по ссылке
Данный сервис в канале SberAPI позволяет получить детальную информацию обо всех операциях по ранее созданной функциональной ссылке.
Статусы
| Статус | Описание |
|---------------------|--------------------------------------|
| EXECUTED | Исполнен |
---
# Создание исходящего платежного требования
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/payment-requests/create.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/payment-requests/outgoing`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/payment-requests/outgoing`
## Описание
:::danger
Выставить платежное требование можно не раньше даты, следующей за датой оформления подписки.
Например, клиент оформил подписку 15 января. На следующий день, 16 января, можно будет сформировать платежное требование для списания денежных средств.
Если сформировать платежное требование в день оформления подписки, то платежное требование не будет исполнено - оно встанет в "Картотеку" в СберБизнес Клиента на ручное подтверждение.
:::
Запрос на создание платежного требования, где получателем средств является ваша компания.
Должен содержать токен доступа (access\_token) пользователя в параметре **Authorization** заголовка.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `PAYMENT_REQUEST_OUT`.
Дайджест
Дайджест это текстовый документ, содержащий перечень и значения полей запроса, к которому он относится и предназначенный для подписания ЭП. Сохраняйте порядок и количество полей дайджеста, как показано в примере ниже, иначе подписать его не получится.
| **Наименование поля** | **Описание поля** | **Пример** |
| --------------------- | --------------------------------------------- | ------------------------------------------------------------------------------ |
| acceptanceTerm | Срок акцепта | 5 |
| amount | Сумма платежа | 100.01 |
| date | Дата составления документа | 31.12.2018 |
| externalId | Идентификатор документа, присвоенный сервисом | 22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6 |
| operationCode | Код операции | 02 |
| payeeAccount | Номер счета получателя | 40802810600000200000 |
| payeeBankBic | БИК получателя | 044525225 |
| payeeBankCorrAccount | Корсчет банка получателя | 30101810400000000225 |
| payeeInn | ИНН получателя | 0452566242 |
| payeeName | Полное наименование получателя платежа | Общество с ограниченной ответственностью "Получатель" |
| payerAccount | Счет плательщика | 40802810600000200000 |
| payerBankBic | БИК плательщика | 044525225 |
| payerBankCorrAccount | Корсчет банка плательщика | 30101810400000000225 |
| payerInn | ИНН плательщика | 8554122325 |
| payerName | Полное наименование плательщика | Общество с ограниченной ответственностью "Клиент" |
| paymentCondition | Условие оплаты (1/2) | 1 |
| priority | Очередность платежа | 5 |
| purpose | Назначение платежа | Оплата по договору №123 от 13.04.2024. НДС 20% - 20.00 рублей включен в сумму. |
Пример:
```json
acceptanceTerm=5
amount=100.01
date=2018-12-31
externalId=22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6
operationCode=02
payeeAccount=40802810600000200000
payeeBankBic=044525225
payeeBankCorrAccount=30101810400000000225
payeeInn=0
payeeName=Общество с ограниченной ответственностью "Получатель"
payerAccount=40802810600000200000
payerBankBic=044525225
payerBankCorrAccount=30101810400000000225
payerInn=0
payerName=Общество с ограниченной ответственностью "Клиент"
paymentCondition=1
priority=5
purpose=Назначение платежа
```
Рекомендации по тестированию в песочнице
При тестировании создания исходящего платежного требования в Песочнице соблюдайте правила:
* **Не нужно устанавливать промышленные сертификаты электронной подписи (ЭП)** — Песочница использует тестовые идентификаторы ЭП (certificateUuid).
* Все остальные поля запроса заполняйте произвольными данными (реквизиты, суммы, назначение платежа) в соответствии с требованиями в документации.
## Сценарии тестирования
Для тестирования сценариев используйте **фиксированные** значения `certificateUuid`. При использовании любых других значений `certificateUuid` вернется ошибка `UNKNOWN_EXCEPTION`.
**1.** Чтобы создать неподписанное платежное требование (черновик), отправьте запрос **без объекта `digestSignatures`**.
**Статус в ответе:** `bankStatus: "CREATED"`
***
**2.** Для отправки документа с единственной или двумя подписями передайте в объекте `digestSignatures` тестовые `certificateUuid`.
**Параметры:**
* bb014b5d-8159-40be-97c1-eafeed4a8c3d (единственная подпись)
* d5d4f811-f4d4-4205-a70f-58f772eeab72 (первая подпись)
* 4f29c8ef-b55d-43c7-a321-f2b1303a29cd (вторая подпись)
**Статус в ответе:** `bankStatus: "DELIVERED"`
**Пример:**
```json
#Единственная подпись
"digestSignatures": [
\{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c3d",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
#Первая и вторая подпись
"digestSignatures": [
\{
"certificateUuid": "d5d4f811-f4d4-4205-a70f-58f772eeab72",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\},
\{
"certificateUuid": "4f29c8ef-b55d-43c7-a321-f2b1303a29cd",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
```
***
**3.** Чтобы получить ошибку о превышении лимита необходимо указать сумму платежа больше `1000000.00`.
**Статус в ответе:** `bankStatus: "WORKFLOW_FAULT"`
***
**4.** Для получения иных статусов используйте следующие тестовые идентификаторы:
| Передаваемое значение externalId | Возвращаемое значение bankStatus |
| :--- | :--- |
| `20211028-01e1-476e-bfee-f2112e4573a8` | `CHECKERROR` |
| `20221028-02e1-476e-bfee-f2112e4573a8` | `REQUISITEERROR` |
| `20211028-03e1-476e-bfee-f2112e4573a8` | `INVALIDEDS` |
| `20191028-04e1-476e-bfee-f2112e4573a8` | `TOO_MANY_REQUESTS` |
| `20191028-05e1-476e-bfee-f2112e4573a8` | `WORKFLOW_FAULT` |
| `20191028-07e1-476e-bfee-f2112e4573a8` | `ACTION_ACCESS_EXCEPTION` |
---
# Получение статуса исходящего платежного требования
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/payment-requests/get-state.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/payment-requests/outgoing/{externalId}/state`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/payment-requests/outgoing/{externalId}/state`
## Описание
Запрос на получение статуса исходящего платежного требования.
Должен содержать токен доступа (`access_token`) пользователя в параметре **Authorization** заголовка и идентификатор документа (`externalId`) в параметрах запроса.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `PAYMENT_REQUEST_OUT`.
Статусы
| bankStatus | Наименование статуса | Назначение кода состояния |
| ---------------------------------------------------- | ----------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| **Промежуточные статусы/Продолжать опрашивать** | | |
| `ACCEPTED` | Принят | Электронный документ принят на стороне Банка |
| `ACCEPTED_BY_ABS` | Принят АБС | Электронный документ был принят к обработке в АБС Банка |
| `CARD2` | Картотека 2 | Электронный документ передан в картотеку в ожидание средств на счету клиента |
| `CREATED` | Создан | Документ записан в БД, проверки не выполнялись |
| `DELAYED` | Приостановлен | Обработка электронного документа была приостановлена |
| `DELIVERED` | Доставлен | Запрос доставлен в ДБО и взят в обработку |
| `EXPORTED` | Выгружен | Электронный документ выгружен Банком в АБС |
| `FRAUDALLOW` | Одобрен ФРОД | Проверка во ФРОДЕ прошла успешно, переход на «Принят» |
| `FRAUDDENY` | Отвергнут ФРОД | Документ отказан на основе проверки в АС Fraud-мониторинг, переходим в «Отвергнут банком» |
| `FRAUDREVIEW` | На проверке у специалиста Банка | Со стороны ФРОД-анализа получен статус документа «На проверке у специалиста Банка» |
| `FRAUDSENT` | Отправлен во ФРОД | Документ отправлен на проверку в АС Fraud-мониторинг |
| `FRAUDSMS` | Требуется подтверждение sms-паролем | Со стороны ФРОД-анализа получен статус документа «Требуется подтверждение sms-паролем» |
| `PARTSIGNED` | Частично подписан | ЭД подписан частью подписей, входящих в предусмотренный для данного документа комплект подписей |
| `PROCESSING` | В обработке | Клиент сформировал «Заявление об акцепте/частичном акцепте/отказе от акцепта» |
| `REQUESTED_RECALL` | Запрошен отзыв | Документ отозван |
| `SENDED_TO_PAYER` | Отправлен плательщику | Документ отправлен плательщику, который является клиентом Сбербанка |
| `SIGNED` | Подписан | ЭД подписан предусмотренным для него комплектом подписей |
| `SUBMITTED` | Представлен | Электронный документ принят ВК |
| **Окончательные статусы/Прекратить опрос** | | |
| `CHECKERROR` | Ошибка контроля | ЭД сформирован, но при сохранении не прошел проверку корректности заполнения полей и сохранен с имеющимися в нем ошибками |
| `CHECKERROR_BANK` | Ошибка контроля, Банк | ЭД сформирован, но при сохранении не прошел проверку корректности заполнения полей и сохранен с имеющимися в нем ошибками |
| `DECLINED_BY_PAYER` | Отвергнут плательщиком | Документ отвергнут плательщиком |
| `INVALIDEDS` | ЭПАСП не верна | Проверка ЭП под ЭД на стороне Банка дала отрицательный результат |
| `RECALL` | Отозван | Электронный документ был отозван Клиентом по запросу |
| `REFUSED_BY_RZK` | Отказан контролирующей организацией | ЭД не прошел проверки контролирующей организацией |
| `REFUSEDBYBANK` | Отвергнут банком или Отклонен банком | Электронный документ отвергнут банком |
| `REQUISITEERROR` | Ошибка реквизитов | В ЭД указаны ошибочные реквизиты |
| `REFUSEDBYABS` | Отказан АБС | ЭД не прошел проверки в АБС |
| `NONEACCEPTANCE` | Отказ от акцепта | Получатель отказался от акцепта. |
| **Окончательные(Успешные) статусы/Прекратить опрос** | | |
| `IMPLEMENTED` | Исполнен | Электронный документ исполнен Банком |
| `SENDED_TO_PAYER` | Отправлен плательщику | Документ отправлен плательщику, который не является клиентом Сбербанка |
Рекомендации по тестированию в песочнице
При получении статуса исходящего платежного требования в песочнице, статус в ответе зависит от переданного параметра `externalId`. Для симуляции различных сценариев используйте следующие тестовые идентификаторы:
| Передаваемое значение externalId | Возвращаемое значение bankStatus |
| :--- | :--- |
| `20251028-01e1-476e-bfee-f2112e4573a8` | `DELIVERED` |
| `20251028-02e1-476e-bfee-f2112e4573a8` | `CHECKERROR` |
| `20251028-03e1-476e-bfee-f2112e4573a8` | `IMPLEMENTED` |
| `20251028-04e1-476e-bfee-f2112e4573a8` | `SEND_TO_PAYER` |
| `20251028-05e1-476e-bfee-f2112e4573a8` | `PARTSIGNED` |
| `20251028-06e1-476e-bfee-f2112e4573a8` | `REQUISITEERROR` |
| `20251028-07e1-476e-bfee-f2112e4573a8` | `INVALIDEDS` |
| `20251028-08e1-476e-bfee-f2112e4573a8` | `WORKFLOW_FAULT` |
| `20251028-09e1-476e-bfee-f2112e4573a8` | `TOO_MANY_REQUESTS` |
| `20251028-10e1-476e-bfee-f2112e4573a8` | `WORKFLOW_FAULT` |
| `20251028-11e1-476e-bfee-f2112e4573a8` | `ACTION_ACCESS_EXCEPTION` |
| `20251028-12e1-476e-bfee-f2112e4573a8` | `UNKNOWN_EXCEPTION` |
| Любой другой externalId | `CREATED` |
---
# Payment Requests Overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/payment-requests/payment-requests-overview.md)
## Описание
## Методы Sber API по исходящему платежному требованию
* [Создание исходящего платежного требования](/ru/sber-api/specifications/payment-requests/create)
* [Получение статуса исходящего платежного требования](/ru/sber-api/specifications/payment-requests/get-state)
---
# Webhook overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/payment-requests/webhook-overview.md)
## Описание
API для получения финальных статусов исходящих платежных требований.
Вебхук позволяет получать финальные статусы исходящих платежных требований. Когда документ достигает конечного
состояния на стороне банка (исполнен, отклонен, отозван и т.д.), система отправляет
уведомление на ваш endpoint.
**Важно:** Промежуточные статусы не отправляются. Событие приходит только при
наступлении финального состояния.
---
# Уведомление о финальном статусе ИПТ
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/payment-requests/wh-payment-request.md)
## Адрес запроса
**EVENT** `https://your-domain.ru/webhook`
## Описание
Вебхук позволяет получать финальные статусы исходящих платежных требований. Когда документ достигает конечного состояния на стороне банка (исполнен, отклонен, отозван и т.д.), система отправляет уведомление на ваш endpoint.
> Промежуточные статусы не отправляются. Событие приходит только при наступлении финального состояния.
Статусы
| Статус | Описание |
|--------|----------|
| **Успешные** | |
| `IMPLEMENTED` | Исполнен |
| `SENDED_TO_PAYER` | Отправлен плательщику |
| **Неуспешные** | |
| `DECLINED_BY_PAYER` | Отвергнут плательщиком |
| `INVALIDEDS` | ЭПАСП не верна |
| `RECALL` | Отозван |
| `REFUSEDBYBANK` | Отвергнут / отклонен банком |
| `REFUSEDBYABS` | Отказан АБС |
| `REQUISITEERROR` | Ошибка реквизитов |
| `NONEACCEPTANCE` | Отказ от акцепта |
**Правила обработки:**
**Дедупликация и смена статуса**
Пара (`externalId`, `version`) определяет актуальность сообщения:
* Если `externalId` новый → принять.
* Если `externalId` совпадает, а `version` больше предыдущего → принять (более свежий статус).
* Если `externalId` и `version` совпадают → игнорировать (дубль).
**Ответ на вебхук**
Для подтверждения получения события необходимо вернуть `2xx` без тела. Если возвращен один из статусов: `408`, `409`, `429`, `500`, `502`, `503`, `504`, `507`, `508` или `509`, Банк сочтет доставку неуспешной и предпримет повторную попытку.
**Обработка недоставленных событий**
Если по истечении суток с момента создания ИПТ вебхук не получен, следует запросить статус [через API](/ru/sber-api/specifications/payment-requests/get-state):
```sh
GET /v1/payment-requests/outgoing/{externalId}/state
```
Полезные ссылки:
* [Подключение и настройка подписки](/ru/sber-api/start/webhooks/connection)
* [Вебхук-обработчик](/ru/sber-api/start/webhooks/partner-webhook)
* [Безопасность](/ru/sber-api/start/webhooks/security)
---
# Создание черновика платежного поручения по свободным реквизитам
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/payments/create-payment-from-invoice-any.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/payments/from-invoice-any`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/payments/from-invoice-any`
## Описание
Запрос создает черновик платежного поручения по свободным реквизитам.
Должен содержать токен доступа (access\_token) пользователя в параметре **Authorization** заголовка.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `PAY_DOC_RU_INVOICE_ANY`.
Получение денежных средств возможно на счета сторонних банков, а получателем денежных средств может быть любая организация.
Рекомендации по тестированию в песочнице
## Сценарии тестирования \{#stsenarii-testirovaniya}
Для тестирования создания черновика платежного поручения по свободным реквизитам в песочнице, используйте следующие сценарии:
**1.** Чтобы создать документ со статусом `CREATED`, необходимо отправить запрос согласно документации с произвольными значениями.
***
**2.** Чтобы получить ошибку `CHECKERROR`, нужно в поле `date` передать дату на 10 дней больше текущей.
***
**3.** Для имитации проведения платежа от имени третьего лица (клиента или покупателя) необходимо использовать тестовую учетную запись. Порядок получения access\_token описан в [инструкции](/ru/sber-api/start/sandbox).
? @ ^ _ ` { | } ~ № \n * пробел, перенос строки (\\n), возврат каретки (\\r).\n \nПри формировании платежного поручения в адрес контрагента-нерезидента в начало поля необходимо добавить уникальный код операции.\n\nФормат: {VOXXXXX}, где XXXXX - значение параметра voCode \n","nullable":false,"maxLength":210,"example":"Оплата заказа №123. НДС не облагается"},"payeeAccount":{"type":"string","pattern":"^[0-9]{20}$","nullable":false,"description":"Счет получателя платежа","example":"40802810600000200000"},"vat":{"nullable":true,"description":"Данные НДС (носит информационный характер, не влияет на заполнение \"Назначения платежа\")\n","type":"object","title":"Vat","required":["type"],"properties":{"type":{"type":"string","pattern":"^.{0,15}$","nullable":true,"enum":["INCLUDED","ONTOP","NO_VAT","MANUAL"],"description":"Способ расчета НДС \n* INCLUDED - НДС включен в сумму платежа\n* NO_VAT - не облагается НДС\n* MANUAL - ручной ввод НДС\n* ONTOP - НДС рассчитан по указанной ставке и добавляется к сумме платежа.\n","example":"NO_VAT"},"rate":{"type":"string","pattern":"^(0|5|7|10|20|22)$","description":"Ставка НДС","example":"10","nullable":true},"amount":{"type":"number","pattern":"^-?\\d{0,18}(\\.\\d{1,2})?$","description":"Сумма НДС","example":1.01,"nullable":true}}}}},{"type":"object","title":"InvoiceDetails","description":"Счет на оплату по реквизитам","required":["payeeBankBic","payeeInn","payeeName"],"properties":{"payeeBankBic":{"type":"string","nullable":false,"pattern":"^[0-9]{9}$","description":"БИК банка получателя платежа","example":"044525225"},"payeeBankCorrAccount":{"type":"string","pattern":"^[0-9]{20}$","description":"Кор. счет банка получателя платежа","example":"30101810400000000225"},"payeeInn":{"type":"string","pattern":"^([0-9]{5}|[0-9]{10}|[0-9]{12}|0)$","nullable":false,"description":"ИНН получателя платежа","example":"7707083893"},"payeeKpp":{"type":"string","pattern":"^([0-9]{9}|0)$","description":"КПП получателя платежа","example":"222201001"},"payeeName":{"type":"string","pattern":"^.{0,160}$","description":"Наименование получателя платежа","maxLength":160,"example":"ООО \"Наименование получателя\""}}}],"title":"FintechInvoiceDetails"},{"type":"object","title":"InvoiceAny","description":"Счет на оплату по свободным реквизитам","properties":{"expirationDate":{"type":"string","pattern":"^[0-9a-f]{64}$","format":"date-time","description":"Дата истечения заказа (платеж должен быть подтвержден клиентом)","example":"2025-12-31"},"orderNumber":{"type":"string","pattern":"^.{0,255}$","description":"Номер заказа","example":"123"},"isPaidByCredit":{"type":"boolean","description":"Признак того, что платежное поручение будет оплачено за счет кредитных средств","example":true},"creditContractNumber":{"type":"string","pattern":"^.{0,50}$","description":"Номер кредитного договора","example":"2020/66556"}}}],"title":"FintechInvoiceAny"}}},"required":true}} />
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `PAY_DOC_RU`. Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"429":{"description":"\"Превышен лимит запросов\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"503":{"description":"\"Сервис временно недоступен\"\n\n| **Cause** | **Message** | **Description** |\n| ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}}}} />
---
# Создание черновика платежного поручения в бюджет
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/payments/create-payment-from-invoice-budget.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/payments/from-invoice-budget`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/payments/from-invoice-budget`
## Описание
Запрос создает черновик платежного поручения поручений в адрес бюджетных организаций со счетом в любом банке для оплаты налоговых, таможенных и других бюджетных платежей.
Должен содержать токен доступа (access\_token) пользователя в параметре **Authorization** заголовка.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `PAY_DOC_RU_INVOICE_BUDGET`.
Рекомендации по тестированию в песочнице
## Сценарии тестирования \{#stsenarii-testirovaniya}
Для тестирования создания черновика платежного поручения в бюджет по фиксированным реквизитам в песочнице, используйте следующие сценарии:
**1.** Возможны следующие сценарии, при которых платежное поручение будет создано со статусом `CREATED`:
* передан полный набор параметров в объекте `departmentalInfo`;
* переданы все параметры `departmentalInfo`, за исключением `paymentKind110`;
* в объекте `departmentalInfo` заполнен только `paymentKind110`, а остальные поля имеют значение `null`;
* объект `departmentalInfo` передан как `null`.
***
**2.** Чтобы получить ошибку `CHECKERROR`, нужно в поле `date` передать дату на 10 дней больше текущей.
***
**3.** Для имитации проведения платежа от имени третьего лица (клиента или покупателя) необходимо использовать тестовую учетную запись. Порядок получения access\_token описан в [инструкции](/ru/sber-api/start/sandbox).
? @ ^ _ ` { | } ~ № \n * пробел, перенос строки (\\n), возврат каретки (\\r).\n \nПри формировании платежного поручения в адрес контрагента-нерезидента в начало поля необходимо добавить уникальный код операции.\n\nФормат: {VOXXXXX}, где XXXXX - значение параметра voCode \n","nullable":false,"maxLength":210,"example":"Оплата заказа №123. НДС не облагается"},"payeeAccount":{"type":"string","pattern":"^[0-9]{20}$","nullable":false,"description":"Счет получателя платежа","example":"40802810600000200000"},"vat":{"nullable":true,"description":"Данные НДС (носит информационный характер, не влияет на заполнение \"Назначения платежа\")\n","type":"object","title":"Vat","required":["type"],"properties":{"type":{"type":"string","pattern":"^.{0,15}$","nullable":true,"enum":["INCLUDED","ONTOP","NO_VAT","MANUAL"],"description":"Способ расчета НДС \n* INCLUDED - НДС включен в сумму платежа\n* NO_VAT - не облагается НДС\n* MANUAL - ручной ввод НДС\n* ONTOP - НДС рассчитан по указанной ставке и добавляется к сумме платежа.\n","example":"NO_VAT"},"rate":{"type":"string","pattern":"^(0|5|7|10|20|22)$","description":"Ставка НДС","example":"10","nullable":true},"amount":{"type":"number","pattern":"^-?\\d{0,18}(\\.\\d{1,2})?$","description":"Сумма НДС","example":1.01,"nullable":true}}}}},{"type":"object","title":"InvoiceDetails","description":"Счет на оплату по реквизитам","required":["payeeBankBic","payeeInn","payeeName"],"properties":{"payeeBankBic":{"type":"string","nullable":false,"pattern":"^[0-9]{9}$","description":"БИК банка получателя платежа","example":"044525225"},"payeeBankCorrAccount":{"type":"string","pattern":"^[0-9]{20}$","description":"Кор. счет банка получателя платежа","example":"30101810400000000225"},"payeeInn":{"type":"string","pattern":"^([0-9]{5}|[0-9]{10}|[0-9]{12}|0)$","nullable":false,"description":"ИНН получателя платежа","example":"7707083893"},"payeeKpp":{"type":"string","pattern":"^([0-9]{9}|0)$","description":"КПП получателя платежа","example":"222201001"},"payeeName":{"type":"string","pattern":"^.{0,160}$","description":"Наименование получателя платежа","maxLength":160,"example":"ООО \"Наименование получателя\""}}}],"title":"FintechInvoiceDetails"},{"type":"object","title":"InvoiceBudget","description":"Счет на оплату в бюджет","required":["departmentalInfo"],"properties":{"departmentalInfo":{"type":"object","title":"DepartmentalInfo","description":"Реквизиты налогового, таможенного или иного бюджетного платежа","properties":{"uip":{"type":"string","pattern":"^[A-ZА-Я0-9/]{1,25}$","description":"Уникальный идентификатор платежа.\n\nПри отсутствии номера может быть передано значение \"0\"\nЕсли при оплате контрагенту номер счета (payee.accountNumber) начинается на 40822, необходимо указать УИП. Уточнить УИП можно у получателя платежа. Если УИП указан неверно или не заполнен платеж не будет принят\n","maxLength":25,"example":"1234567890123456789012345"},"drawerStatus101":{"type":"string","pattern":"^.{0,2}$","description":"Показатель статуса налогоплательщика (реквизит - 101)","maxLength":2,"example":"01"},"kbk":{"type":"string","description":"Код бюджетной классификации (реквизит - 104)","pattern":"([A-ZА-Я0-9]{1,20})$","example":"18210102010011000110"},"oktmo":{"type":"string","description":"Код OKTMO (реквизит - 105).Если значение ОКТМО состоит из 11 цифр, то используются только первые 8 цифр","pattern":"(0|\\d{8,11})","example":"17010000"},"reasonCode106":{"type":"string","description":"Показатель основания платежа (реквизит - 106)","pattern":"^.{0,2}$","maxLength":2,"example":"ТП"},"taxPeriod107":{"type":"string","description":"Код таможенного органа (реквизит - 107).\n\nПоле должно состоять из 8 цифр. Если Код таможенного органа неизвестен, необходимо указать 0.\nДля payee.accountNumber = 40204810800000950001 должно принимать значение 0\n","pattern":"^(0|[0-9]{8})$","example":"10100000"},"docNumber108":{"type":"string","pattern":"^.{0,15}$","description":"Номер налогового документа (реквизит - 108)","maxLength":15,"example":"123456"},"docDate109":{"type":"string","description":"Дата налогового документа (реквизит - 109)","pattern":"^(0|00|[0-9]{2}\\.[0-9]{2}\\.[0-9]{4})$","example":"31.12.2025"},"paymentKind110":{"type":"string","pattern":"^.{0,2}$","description":"Тип налогового платежа (реквизит - 110)","maxLength":2,"example":"01"}}},"payerKpp":{"type":"string","pattern":"^([0-9]{9}|0)$","description":"КПП плательщика","example":"222201001"}}}],"title":"FintechInvoiceBudget"}}},"required":true}} />
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `PAY_DOC_RU`. Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"429":{"description":"\"Превышен лимит запросов\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"503":{"description":"\"Сервис временно недоступен\"\n\n| **Cause** | **Message** | **Description** |\n| ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}}}} />
---
# Создание черновика платежного поручения по фиксированным реквизитам
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/payments/create-payment-from-invoice.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/payments/from-invoice`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/payments/from-invoice`
## Описание
Запрос создает черновик платежного поручения с фиксированным сроком действия, без возможности изменить сумму оплаты и реквизиты получателя.
Должен содержать токен доступа (access\_token) пользователя в параметре **Authorization** заголовка.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `PAY_DOC_RU_INVOICE`.
Получение денежных средств возможно только на расчетный счет в Сбербанке, который принадлежит вашей организации.
Рекомендации по тестированию в песочнице
## Сценарии тестирования \{#stsenarii-testirovaniya}
Для тестирования создания черновика платежного поручения по фиксированным реквизитам в песочнице, используйте следующие сценарии:
**1.** Чтобы создать документ со статусом `CREATED`, необходимо отправить запрос согласно документации с произвольными значениями.
***
**2.** Чтобы получить ошибку `CHECKERROR`, нужно в поле `date` передать дату на 10 дней больше текущей.
***
**3.** Для имитации проведения платежа от имени третьего лица (клиента или покупателя) необходимо использовать тестовую учетную запись. Порядок получения access\_token описан в [инструкции](/ru/sber-api/start/sandbox).
? @ ^ _ ` { | } ~ № \n * пробел, перенос строки (\\n), возврат каретки (\\r).\n \nПри формировании платежного поручения в адрес контрагента-нерезидента в начало поля необходимо добавить уникальный код операции.\n\nФормат: {VOXXXXX}, где XXXXX - значение параметра voCode \n","nullable":false,"maxLength":210,"example":"Оплата заказа №123. НДС не облагается"},"payeeAccount":{"type":"string","pattern":"^[0-9]{20}$","nullable":false,"description":"Счет получателя платежа","example":"40802810600000200000"},"vat":{"nullable":true,"description":"Данные НДС (носит информационный характер, не влияет на заполнение \"Назначения платежа\")\n","type":"object","title":"Vat","required":["type"],"properties":{"type":{"type":"string","pattern":"^.{0,15}$","nullable":true,"enum":["INCLUDED","ONTOP","NO_VAT","MANUAL"],"description":"Способ расчета НДС \n* INCLUDED - НДС включен в сумму платежа\n* NO_VAT - не облагается НДС\n* MANUAL - ручной ввод НДС\n* ONTOP - НДС рассчитан по указанной ставке и добавляется к сумме платежа.\n","example":"NO_VAT"},"rate":{"type":"string","pattern":"^(0|5|7|10|20|22)$","description":"Ставка НДС","example":"10","nullable":true},"amount":{"type":"number","pattern":"^-?\\d{0,18}(\\.\\d{1,2})?$","description":"Сумма НДС","example":1.01,"nullable":true}}}}},{"type":"object","title":"Invoice","description":"Счет на оплату по фиксированным реквизитам","properties":{"payeeOrgIdHash":{"type":"string","pattern":"^[0-9a-f]{64}$","description":"Идентификатор получателя платежа","example":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"},"expirationDate":{"type":"string","format":"date-time","pattern":"^[0-9a-f]{64}$","description":"Дата истечения заказа (платеж должен быть подтвержден клиентом)","example":"2025-03-31"},"orderNumber":{"type":"string","pattern":"^.{0,255}$","description":"Номер заказа","example":"123"}}}],"title":"FintechInvoice"}}},"required":true}} />
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `PAY_DOC_RU`. Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"429":{"description":"\"Превышен лимит запросов\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"503":{"description":"\"Сервис временно недоступен\"\n\n| **Cause** | **Message** | **Description** |\n| ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}}}} />
---
# Создание рублевого платежного поручения
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/payments/create-payment.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/payments`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/payments`
## Описание
Запрос на создание рублевого платежного поручения (РПП).
Должен содержать токен доступа (access\_token) пользователя в параметре **Authorization** заголовка.
В случае использования подписи КЭП ЮЛ, необходимо передавать access\_token пользователя, на имя которого выпущен сертификат КЭП ЮЛ.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `PAY_DOC_RU`.
* Если в запросе на создание платежного документа передать ЭП к документу (объект **digestSignatures**), то Банк сразу начнет обработку документа.
* Если в запросе не передавать ЭП к документу, то платежное поручение будет создано в статусе черновик. Для начала обработки документа Банком потребуется зайти в интерфейс СберБизнес и подписать его.
Дайджест
Дайджест это текстовый документ, содержащий перечень и значения полей запроса, к которому он относится и предназначенный для подписания ЭП. Сохраняйте порядок и количество полей дайджеста, как показано в примере ниже, иначе подписать его не получится.
| **Наименование поля** | **Описание поля** | **Пример** |
| -------------------------------- | ---------------------------------------------------- | ------------------------------------------------------- |
| amount | Сумма платежа | 100.00 |
| date | Дата составления документа | 2018-05-31 |
| departmentalInfo.docNumber108 | Номер налогового документа(реквизит-108) | 123 |
| departmentalInfo.drawerStatus101 | Показатель статуса налогоплательщика(реквизит-101) | 01 |
| departmentalInfo.kbk | Код бюджетной классификации(реквизит-104) | 18210102010011000110 |
| departmentalInfo.oktmo | Код ОКТМО(реквизит-105) | 1701000 |
| departmentalInfo.paymentKind110 | Тип налогового платежа(реквизит-110) | НС |
| departmentalInfo.reasonCode106 | Показатель основания платежа(реквизит-106) | ТП |
| departmentalInfo.uip | Уникальный идентификатор платежа | 0 |
| externalId | Идентификатор документа, присвоенный сервисом | a0000000-0000-0000-0000-000000000001 |
| incomeTypeCode | Код вида дохода получателей выплаты по 229-ФЗ | 2 |
| operationCode | Код операции | 01 |
| payeeAccount | Номер счета получателя | 40702810600100001212 |
| payeeBankBic | БИК получателя | 044525225 |
| payeeBankCorrAccount | Корсчет банка получателя | 30101810400000000225 |
| payeeInn | Инн получателя | 222201236445 |
| payeeKpp | Кпп получателя | 222201001 |
| payeeName | Полное наименование получателя платежа | Общество с ограниченной ответственностью "Получатель" |
| payerAccount | Счет плательщика | 40702810500006103990 |
| payerBankBic | БИК плательщика | 044525225 |
| payerBankCorrAccount | Корсчет банка плательщика | 30101810400000000225 |
| payerInn | ИНН плательщика | 222201236445 |
| payerKpp | КПП плательщика | 222201001 |
| payerName | Полное наименование плательщика | Общество с ограниченной ответственностью "Клиент" |
| priority | Очередность платежа | 5 |
| purpose | Назначение платежа | Оплата интернет заказа №123. НДС нет. |
| voCode | Код вида валютной операции | 61150 |
| creditContractNumber | Номер кредитного договора | 2026/33556
Пример:
```json
amount=100.00
date=2018-05-31
departmentalInfo.docNumber108=123
departmentalInfo.drawerStatus101=01
departmentalInfo.kbk=18210102010011000110
departmentalInfo.oktmo=01701000
departmentalInfo.paymentKind110=НС
departmentalInfo.reasonCode106=ТП
departmentalInfo.uip=0
externalId=a0000000-0000-0000-0000-000000000001
incomeTypeCode=2
operationCode=01
payeeAccount=40702810600100001212
payeeBankBic=044525225
payeeBankCorrAccount=30101810400000000225
payeeInn=222201236445
payeeKpp=222201001
payeeName=Общество с ограниченной ответственностью "Получатель"
payerAccount=40702810500006103990
payerBankBic=044525225
payerBankCorrAccount=30101810400000000225
payerInn=222201236445
payerKpp=222201001
payerName=Общество с ограниченной ответственностью "Клиент"
priority=5
purpose=Оплата интернет заказа №123. НДС нет.
voCode=61150
creditContractNumber=2026/33556
```
Рекомендации по тестированию в песочнице
При тестировании создания рублевого платежного поручения в Песочнице соблюдайте правила:
* **Генерируйте уникальный `externalId`** для каждого документа.
* **Не нужно устанавливать промышленные сертификаты электронной подписи (ЭП)** — Песочница использует тестовые идентификаторы ЭП (certificateUuid).
* Все остальные поля запроса заполняйте произвольными данными (реквизиты, суммы, назначение платежа) в соответствии с требованиями в документации.
## Сценарии тестирования \{#stsenarii-testirovaniya}
Для тестирования сценариев используйте **фиксированные** значения `certificateUuid`. При использовании любых других значений `certificateUuid` вернется ошибка WORKFLOW\_FAULT "Проверьте актуальность сертификата электронной подписи."
Возможны следующие сценарии, при которых платежное поручение в бюджет будет создано:
* передан полный набор параметров в объекте `departmentalInfo`;
* переданы все параметры `departmentalInfo`, за исключением `paymentKind110`;
* в объекте `departmentalInfo` заполнен только `paymentKind110`, а остальные поля имеют значение `null`;
* объект `departmentalInfo` передан как `null`.
**1.** Чтобы создать неподписанное платежное поручение (черновик), отправьте запрос **без объекта `digestSignatures`**.
**Статус в ответе:** `bankStatus: "CREATED"`
***
**2.** Для отправки документа с единственной подписью передайте в объекте `digestSignatures` тестовый UUID единоличного исполнительного органа (ЕИО).
**Параметры:**
* `certificateUuid`: `bb014b5d-8159-40be-97c1-eafeed4a8c3d`
**Статус в ответе:** `bankStatus: "IMPLEMENTED"`
**Пример:**
```json
"digestSignatures": [
\{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c3d",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
```
***
**3.** Для отправки документа с двумя подписями передайте в объекте `digestSignatures` тестовые UUID первой **И** второй подписи.
**Параметры:**
* `certificateUuid`: `d5d4f811-f4d4-4205-a70f-58f772eeab72` (Первая подпись)
* `certificateUuid`: `4f29c8ef-b55d-43c7-a321-f2b1303a29cd` (Вторая подпись)
**Статус в ответе:** `bankStatus: "IMPLEMENTED"`
**Пример:**
```json
"digestSignatures": [
\{
"certificateUuid": "d5d4f811-f4d4-4205-a70f-58f772eeab72",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\},
\{
"certificateUuid": "4f29c8ef-b55d-43c7-a321-f2b1303a29cd",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
```
***
**4.** Для отправки документа с одной из двух подписей передайте в объекте `digestSignatures` тестовые UUID первой **ИЛИ** второй подписи.
**Статус в ответе:** `bankStatus: "PARTSIGNED"`
**Параметры:**
* `certificateUuid`: `d5d4f811-f4d4-4205-a70f-58f772eeab72` (Первая подпись)
* `certificateUuid`: `4f29c8ef-b55d-43c7-a321-f2b1303a29cd` (Вторая подпись)
**Важно:** для получения указанного статуса, передать необходимо только одну подпись.
**Пример:**
```json
"digestSignatures": [
\{
"certificateUuid": "d5d4f811-f4d4-4205-a70f-58f772eeab72",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
```
***
**5.** Для отправки документа с УКЭП передайте в объекте `digestSignatures` тестовый UUID.
**Статус в ответе:** `bankStatus: "IMPLEMENTED"`
**Параметры:**
* `certificateUuid`: `f47ac10b-58cc-4372-a567-0e02b2c3d479`
* `signType`: `UKEP_UL`
***
**6.** Если блок departmentalInfo передан некорректно, то метод вернет `bankStatus`: `CHECKERROR` и комментарий, в котором будет указано, какое именно поле вызвало ошибку.
? @ ^ _ ` { | } ~ № \n * пробел, перенос строки (\\n), возврат каретки (\\r).\n \nПри формировании платежного поручения в адрес контрагента-нерезидента в начало поля необходимо добавить уникальный код операции.\n\nФормат: {VOXXXXX}, где XXXXX - значение параметра voCode \n","nullable":false,"maxLength":210,"example":"Оплата заказа №123. НДС не облагается"},"departmentalInfo":{"type":"object","title":"DepartmentalInfo","description":"Реквизиты налогового, таможенного или иного бюджетного платежа","properties":{"uip":{"type":"string","pattern":"^[A-ZА-Я0-9/]{1,25}$","description":"Уникальный идентификатор платежа.\n\nПри отсутствии номера может быть передано значение \"0\"\nЕсли при оплате контрагенту номер счета (payee.accountNumber) начинается на 40822, необходимо указать УИП. Уточнить УИП можно у получателя платежа. Если УИП указан неверно или не заполнен платеж не будет принят\n","maxLength":25,"example":"1234567890123456789012345"},"drawerStatus101":{"type":"string","pattern":"^.{0,2}$","description":"Показатель статуса налогоплательщика (реквизит - 101)","maxLength":2,"example":"01"},"kbk":{"type":"string","description":"Код бюджетной классификации (реквизит - 104)","pattern":"([A-ZА-Я0-9]{1,20})$","example":"18210102010011000110"},"oktmo":{"type":"string","description":"Код OKTMO (реквизит - 105).Если значение ОКТМО состоит из 11 цифр, то используются только первые 8 цифр","pattern":"(0|\\d{8,11})","example":"17010000"},"reasonCode106":{"type":"string","description":"Показатель основания платежа (реквизит - 106)","pattern":"^.{0,2}$","maxLength":2,"example":"ТП"},"taxPeriod107":{"type":"string","description":"Код таможенного органа (реквизит - 107).\n\nПоле должно состоять из 8 цифр. Если Код таможенного органа неизвестен, необходимо указать 0.\nДля payee.accountNumber = 40204810800000950001 должно принимать значение 0\n","pattern":"^(0|[0-9]{8})$","example":"10100000"},"docNumber108":{"type":"string","pattern":"^.{0,15}$","description":"Номер налогового документа (реквизит - 108)","maxLength":15,"example":"123456"},"docDate109":{"type":"string","description":"Дата налогового документа (реквизит - 109)","pattern":"^(0|00|[0-9]{2}\\.[0-9]{2}\\.[0-9]{4})$","example":"31.12.2025"},"paymentKind110":{"type":"string","pattern":"^.{0,2}$","description":"Тип налогового платежа (реквизит - 110)","maxLength":2,"example":"01"}}},"payerName":{"type":"string","pattern":"^.{0,160}$","maxLength":160,"nullable":false,"description":"Полное наименование плательщика","example":"ООО \"Наименование плательщика\""},"payerInn":{"type":"string","pattern":"^([0-9]{5}|[0-9]{10}|[0-9]{12}|0)$","nullable":false,"description":"ИНН плательщика","example":"7707083893"},"payerKpp":{"type":"string","pattern":"^([0-9]{9}|0)$","nullable":true,"description":"КПП плательщика","example":"222201001"},"payerAccount":{"type":"string","pattern":"^[0-9]{20}$","nullable":false,"description":"Счет плательщика","example":"40802810600000200000"},"payerBankBic":{"type":"string","pattern":"^[0-9]{9}$","nullable":false,"description":"БИК банка плательщика","example":"044525225"},"payerBankCorrAccount":{"type":"string","pattern":"^[0-9]{20}$","nullable":false,"description":"Корсчет банка плательщика","example":"30101810400000000225"},"payeeName":{"type":"string","pattern":"^.{0,160}$","maxLength":160,"nullable":false,"description":"Полное наименование получателя платежа","example":"ООО \"Наименование получателя\""},"payeeInn":{"type":"string","pattern":"^([0-9]{5}|[0-9]{10}|[0-9]{12}|0)$","nullable":true,"description":"ИНН получателя платежа","example":"7707083893"},"payeeKpp":{"type":"string","pattern":"^([0-9]{9}|0)$","nullable":true,"description":"КПП получателя платежа","example":"222201001"},"payeeAccount":{"type":"string","pattern":"^[0-9]{20}$","nullable":true,"description":"Счет получателя платежа","example":"40802810600000200000"},"payeeBankBic":{"type":"string","pattern":"^[0-9]{9}$","nullable":false,"description":"БИК получателя платежа","example":"044525225"},"payeeBankCorrAccount":{"type":"string","pattern":"^[0-9]{20}$","nullable":true,"description":"Корсчет банка получателя платежа","example":"30101810400000000225"},"vat":{"nullable":true,"description":"Данные НДС (носит информационный характер, не влияет на заполнение \"Назначения платежа\")\n","type":"object","title":"Vat","required":["type"],"properties":{"type":{"type":"string","pattern":"^.{0,15}$","nullable":true,"enum":["INCLUDED","ONTOP","NO_VAT","MANUAL"],"description":"Способ расчета НДС \n* INCLUDED - НДС включен в сумму платежа\n* NO_VAT - не облагается НДС\n* MANUAL - ручной ввод НДС\n* ONTOP - НДС рассчитан по указанной ставке и добавляется к сумме платежа.\n","example":"NO_VAT"},"rate":{"type":"string","pattern":"^(0|5|7|10|20|22)$","description":"Ставка НДС","example":"10","nullable":true},"amount":{"type":"number","pattern":"^-?\\d{0,18}(\\.\\d{1,2})?$","description":"Сумма НДС","example":1.01,"nullable":true}}},"incomeTypeCode":{"type":"string","pattern":"^.{0,2}$","maxLength":2,"description":"Код вида дохода получателей выплаты по 229-ФЗ","example":"2"},"isPaidByCredit":{"type":"boolean","description":"Признак того, что платежное поручение будет оплачено за счет кредитных средств","example":"true"},"creditContractNumber":{"type":"string","pattern":"^.{0,50}$","description":"Номер кредитного договора","example":"2020/66556","maxLength":50}}}}},"required":true}} />
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `PAY_DOC_RU`. Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"429":{"description":"\"Превышен лимит запросов\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"503":{"description":"\"Сервис временно недоступен\"\n\n| **Cause** | **Message** | **Description** |\n| ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}}}} />
---
# Получение статуса рублевого платежного поручения
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/payments/get-payment-state.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/payments/{externalId}/state`
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/payments/{externalId}/state`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/payments/{externalId}/state`
## Описание
Возвращает статус ранее сформированного черновика платежного поручения. В случае, если у Клиента отключена услуга на формирование платежных поручений (или срок соглашения истек), вы все равно сможете получить статус готовых документов.
Должен содержать токен доступа (access\_token) пользователя в параметре **Authorization** заголовка.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан один из сервисов:
* `PAY_DOC_RU`
* `PAY_DOC_RU_INVOICE`
* `PAY_DOC_RU_INVOICE_ANY`
* `PAY_DOC_RU_INVOICE_BUDGET`
:::note
При исполнении запроса в тестовом контуре статус «Исполнено» не будет возвращен.
Для подтверждения завершения платежа, поручение по которому все еще находится в статусе ожидания, пожалуйста, свяжитесь с поддержкой supportdbo2@sberbank.ru, указав `externalid` в обращении.
:::
Рекомендации по тестированию в песочнице
При получении статуса рублевого платежного поручения в песочнице, ответ зависит от переданного параметра `externalId`. Для симуляции различных сценариев используйте следующие тестовые идентификаторы:
| Передаваемое значение `externalId` | Возвращаемое значение `bankStatus` |
| :----------------------------------- | :---------------------------------- |
| `c327a169-fa1d-4225-b293-e103938923ba` | `CHECKERROR` |
| `b64923fd-d561-4202-a567-c5522319a871` | `REQUISITEERROR` |
| `5b7568dc-ce32-4355-ad41-ff1b961a894c` | `INVALIDEDS` |
| Любое другое значение | `IMPLEMENTED` |
Принят | Электронный документ был принят к обработке в АБС Банка |\n| `CARD2` | Картотека 2 или Ожидает оплаты | АБС обнаружено, что на счете плательщика недостаточно средств для иcполнения документа |\n| `CREATED` | Создан | Документ записан в БД, проверки не выполнялись |\n| `DELAYED` | Приостановлен | Обработка электронного документа была приостановлена |\n| `DELIVERED` | Доставлен | Запрос доставлен в ДБО и взят в обработку |\n| `DELIVERED_RZK` | Доставлен в СБК | Электронный документ отправлен в СБК и получен квиток о доставке |\n| `FRAUDALLOW` | Одобрен ФРОД | Проверка во ФРОДЕ прошла успешно, переход на «Принят» |\n| `FRAUDREVIEW` | На проверке у специалиста Банка | Со стороны ФРОД-анализа получен статус документа «На проверке у специалиста Банка» |\n| `FRAUDSENT` | Отправлен во ФРОД | Документ отправлен на проверку в АС Fraud-мониторинг |\n| `FRAUDSMS` | Требуется подтверждение sms-паролем | Со стороны ФРОД-анализа получен статус документа «Требуется подтверждение sms-паролем» |\n| `NOT_ACCEPTED_RZK` | Не принят СБК | Электронный документ не прошел логические контроли СБК |\n| `PARTSIGNED` | Частично подписан | ЭД подписан частью подписей, входящих в предусмотренный для данного документа комплект подписей |\n| `PROCESSING_RZK` | Обрабатывается СБК | ЭД успешно прошел проверки ЭП и логические проверки СБК |\n| `REQUESTED_RECALL` | Запрошен отзыв | Документ отозван |\n| `RZK_SIGN_ERROR` | Ошибка ЭП СБК | Проверка подписи под ЭД на стороне СБК дала отрицательный результат |\n| `SENDING_TO_RZK` | Отправляется в СБК | Электронный документ отправлен в СБК, но не получен квиток о доставке |\n| `SIGNED` | Подписан | ЭД подписан предусмотренным для него комплектом подписей. |\n| `TO_PROCESSING_RZK` | К отправке в СБК | ЭД подписан предусмотренным для него комплектом о доставке |\n| `CHECKERROR` | Ошибка контроля | ЭД сформирован, но при сохранении не прошел проверку корректности заполнения полей и сохранен с имеющимися в нем ошибками |\n| **Окончательный (Не успешный)/Прекратить опрос** | | |\n| `DELETED` | Удален | Электронный документа удален из числа действующих документов |\n| `INVALIDEDS` | ЭП/АСП не верна Подпись неверна | Проверка ЭП под ЭД на стороне Банка дала отрицательный результат |\n| `RECALL` | Отозван | Электронный документ был отозван Клиентом по запросу |\n| `REFUSEDBYBANK` | Отвергнут банком или Отклонен банком | Электронный документ отвергнут банком |\n| `REFUSEDBYABS` | Отказан АБС | Электронный документ не прошел проверки в АБС |\n| `REQUISITEERROR` | Ошибка реквизитов | В ЭД указаны ошибочные реквизиты |\n| `REFUSED_BY_RZK` | Отказан контролирующей организацией | Электронный документ не прошел проверки контролирующей организацией |\n| `FRAUDDENY` | Отвергнут ФРОД | Документ отказан на основе проверки в АС Fraud-мониторинг, переходим в «Отвергнут банком» |\n| **Окончательный (Успешный)/Прекратить опрос** | | |\n| `IMPLEMENTED` | Исполнен | Электронный документ исполнен Банком |\n","content":{"application/json":{"schema":{"description":"Статус документа","type":"object","title":"PaymentDocState","allOf":[{"description":"Статус документа","type":"object","title":"DocState","allOf":[{"description":"Сокращенный статус документа","type":"object","title":"DocStateShort","properties":{"bankStatus":{"type":"string","description":"Статус документа","example":"PROCESSING"},"bankComment":{"type":"string","maxLength":255,"description":"Банковский комментарий к статусу документа","example":"Документ в обработке"}}},{"type":"object","properties":{"channelInfo":{"type":"string","title":"Дополнительная информация","description":"Комментарий, специфичный для документа, полученного по данному каналу"}}}]},{"type":"object","properties":{"crucialFieldsHash":{"type":"string","description":"Hash от ключевых полей документа","example":"12345678901234567890123456789012"}}}]}}}},"400":{"description":"\"Ошибка в запросе\"\n\n| **Cause** | **Message** | **Description** |\n| --------------------- | ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| DESERIALIZATION_FAULT | Неверный формат запроса | Данные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в response в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request запроса. Скорректируйте заполнение атрибутов и повторите запрос. |\n| VALIDATION_FAULT | Ошибка валидации | Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request запроса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |\n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"401":{"description":"\"Не авторизован\"\n\n| **Cause** | **Message** | **Description** |\n| ------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |\n| UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. | \n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"403":{"description":"\"Операция не может быть выполнена: доступ к ресурсу запрещен\"\n| **Cause** | **Message** | **Description** |\n| ----------------------- | ----------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `PAY_DOC_RU`. Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"404":{"description":"Данные не найдены","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"429":{"description":"\"Превышен лимит запросов\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"503":{"description":"\"Сервис временно недоступен\"\n\n| **Cause** | **Message** | **Description** |\n| ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}}}} />
---
# Получение платежного поручения
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/payments/get-payment.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/payments/{externalId}`
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/payments/{externalId}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/payments/{externalId}`
## Описание
Возвращает полные данные ранее созданного платежного поручения.
Должен содержать токен доступа (access\_token) пользователя в параметре **Authorization** заголовка.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан один из сервисов:
* `PAY_DOC_RU`
* `PAY_DOC_RU_INVOICE`
* `PAY_DOC_RU_INVOICE_ANY`
* `PAY_DOC_RU_INVOICE_BUDGET`
:::note
При исполнении запроса в тестовом контуре статус «Исполнено» не будет возвращен.
Для подтверждения завершения платежа, поручение по которому все еще находится в статусе ожидания, пожалуйста, свяжитесь с поддержкой supportdbo2@sberbank.ru, указав `externalid` в обращении.
:::
Рекомендации по тестированию в песочнице
При получении платежного поручения в песочнице, ответ зависит от переданного параметра `externalId`. Для симуляции различных сценариев используйте следующие тестовые идентификаторы:
| Передаваемое значение `externalId` | Ответ |
| :----------------------------------- | :-------------- |
| `74a13bca-69e7-4681-9585-de825b422e5d` | Возвращается рублевое платежное поручение, **содержащее блок `departmentalInfo`** (оплата в бюджет). |
| Любое другое значение | Возвращается **статичное** рублевое платежное поручение (без блока `departmentalInfo`). |
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `PAY_DOC_RU`. Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"404":{"description":"Данные не найдены","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"429":{"description":"\"Превышен лимит запросов\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n| **Cause** | **Message** | **Description** |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}},"503":{"description":"\"Сервис временно недоступен\"\n\n| **Cause** | **Message** | **Description** |\n| ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"description":"Описание ошибки ресурса (ошибка в запросе или его жизненном цикле)","type":"object","title":"WorkflowFault","properties":{"cause":{"type":"string","example":"WORKFLOW_FAULT","description":"Причина или основание ошибки"},"referenceId":{"type":"string","description":"Уникальный идентификатор ошибки (UUID)"},"message":{"type":"string","description":"Сообщение"},"checks":{"type":"array","description":"Список проверок, приведших к ошибке","items":{"description":"Результат проверки","type":"object","title":"Check","properties":{"level":{"type":"string","description":"Уровень результата","example":"ERROR"},"message":{"type":"string","description":"Сообщение"},"fields":{"type":"array","items":{"type":"string"},"description":"Названия полей (при наличии связи с моделью)"}}}},"internalErrorCode":{"description":"Внутренний код ошибки","nullable":true,"type":"string"}}}}}}}} />
---
# Payments Overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/payments/payments-overview.md)
## Описание
## Методы Sber API для работы с платежными поручениями
* [Создание рублевого платежного поручения](/ru/sber-api/specifications/payments/create-payment)
* [Получение статуса рублевого платежного поручения](/ru/sber-api/specifications/payments/get-payment-state)
* [Получение платежного поручения](/ru/sber-api/specifications/payments/get-payment)
* [Выставление счета на оплату по фиксированным реквизитам](/ru/sber-api/specifications/payments/create-payment-from-invoice)
* [Выставление счета на оплату по свободным реквизитам](/ru/sber-api/specifications/payments/create-payment-from-invoice-any)
* [Выставление счета на оплату в бюджет](/ru/sber-api/specifications/payments/create-payment-from-invoice-budget)
---
# Сформировать QR-код для подтверждения
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/payments/qr-confirm.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/payments/qr-confirm`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/payments/qr-confirm`
## Описание
Генерирует QR-код на основе переданных `externalId` рублевого платежного поручения для подтверждения в мобильном приложении.
:::note
По одному QR-коду можно подтвердить не более 5 платежных поручений.
Подтвердить платеж может только пользователь с типом подписи "Единственная подпись".
:::
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `PAY_DOC_RU`.
Рекомендации по тестированию в песочнице
## Сценарии тестирования \{#stsenarii-testirovaniya}
Для тестирования сценариев используйте **фиксированные** значения `externalDocIds`.
**1.** Чтобы получить успешный ответ, нужно в поле `externalDocIds` передать значение `739b63f1-a5b2-4150-a152-e22eb39a3386`.
***
**2.** Чтобы получить ошибку "Подтверждение по QR-коду доступно только пользователям с типом средства подписи OneTimePassword", нужно в поле `externalDocIds` передать значение `175529cd-26bc-4988-b14b-4aa1b7d81b92`.
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**3.** Чтобы получить ошибку "Невозможно сформировать QR-код для подтверждения по несуществующему платежному документу с внешним идентификатором \{externalId}.", нужно в поле `externalDocIds` передать любое значение, не указанное в других сценариях.
**Причина в ответе:** `"cause": "DATA_NOT_FOUND_EXCEPTION"`
***
**4.** Чтобы получить ошибку "Документ с внешним идентификатором \{externalId} находится в статусе, отличном от требуемого для подтверждения документа.", нужно в поле `externalDocIds` передать значение `998be1fd-4e89-4a3f-b7d0-a952d31a970d`.
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**5.** Чтобы получить ошибку "В связи с проведением технических работ сервис временно недоступен. Приносим извинения за неудобства.", нужно в поле `externalDocIds` передать значение `11456ac4-22b0-4b11-889a-0cd5ccd57223", "64ba808a-d1c9-441b-acd4-ca5411cdd6fd", "8c033fef-a81e-47c0-9bd7-097d46a94c67`.
**Причина в ответе:** `"cause": "TOO_MANY_REQUESTS"`
***
**6.** Чтобы получить ошибку "У вас недостаточно прав для совершения операции.", нужно в поле `externalDocIds` передать значение `578a808a-d1c9-441b-acd4-ca5411cdd6fd`.
**Причина в ответе:** `"cause": "ACTION_ACCESS_EXCEPTION"`
***
**7.** Чтобы получить ошибку "Операции по счету недоступны.", нужно в поле `externalDocIds` передать значение `64ba808a-d1c9-441b-acd4-ca5411cdd6fd`.
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**8.** Чтобы получить ошибку "Сумма платежей превышает лимит разрешенной дневной суммы пользователя.", нужно в поле `externalDocIds` передать значение `64ba808a-d1c9-851b-acd4-ca5423cdd6fd`.
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**9.** Чтобы получить ошибку "В связи с проведением технических работ сервис временно недоступен. Приносим извинения за неудобства.", нужно в поле `externalDocIds` передать значение `f6b8595d-d081-40df-80dc-f9e044ec8f2c`.
**Причина в ответе:** `"cause": "UNKNOWN_EXCEPTION"`
---
# Webhook overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/payments/webhook-overview.md)
## Описание
API для получения финальных статусов рублевых платежных поручений (РПП).
Вебхук позволяет получать финальные статусы РПП. Когда документ достигает конечного
состояния на стороне банка (исполнен, отклонен, отозван и т.д.), система отправляет
уведомление на ваш endpoint.
**Важно:** Промежуточные статусы не отправляются. Событие приходит только при
наступлении финального состояния.
---
# Уведомление о финальном статусе РПП
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/payments/wh-payment.md)
## Адрес запроса
**EVENT** `https://your-domain.ru/webhook`
## Описание
:::caution
Доступно только для набора «Компаниям»
:::
Вебхук позволяет получать финальные статусы рублевых платежных поручений (РПП). Когда документ достигает конечного состояния на стороне банка (исполнен, отклонен, отозван и т.д.), система отправляет уведомление на ваш endpoint.
> Промежуточные статусы не отправляются. Событие приходит только при наступлении финального состояния.
Статусы
| Статус | Описание |
|--------|----------|
| **Успешные** | |
| `IMPLEMENTED` | Исполнен |
| **Неуспешные** | |
| `DELETED` | Удален |
| `INVALIDEDS` | ЭП/АСП не верна |
| `RECALL` | Отозван |
| `REFUSEDBYBANK` | Отвергнут / отклонен банком |
| `REFUSEDBYABS` | Отказан АБС |
| `REQUISITEERROR` | Ошибка реквизитов |
| `REFUSED_BY_RZK` | Отказан контролирующей организацией |
| `FRAUDDENY` | Отвергнут ФРОД |
**Правила обработки:**
**Дедупликация и смена статуса:**
Идентификатор `externalId` определяет документ. Актуальность сообщения определяется
по полю `eventTime`:
* Если `externalId` новый → принять
* Если `externalId` совпадает, а `eventTime` более позднее, чем у ранее полученного
→ принять (более свежий статус)
* Если `externalId` и `bankStatus` совпадают с ранее полученными → игнорировать (дубль)
**Обработка недоставленных событий:**
Если по истечении суток с момента создания РПП вебхук не получен, следует запросить
статус через API синхронного запроса.
**Ответ на вебхук**
Для подтверждения получения события необходимо вернуть `2xx` без тела. Если возвращен один из статусов: `408`, `409`, `429`, `500`, `502`, `503`, `504`, `507`, `508` или `509`, Банк сочтет доставку неуспешной и предпримет повторную попытку.
**Обработка недоставленных событий**
Если по истечении суток с момента создания РПП вебхук не получен, следует запросить статус [через API](/ru/sber-api/specifications/payments/get-payment-state):
```sh
GET /v1/payments/{externalId}/state
```
Полезные ссылки:
* [Подключение и настройка подписки](/ru/sber-api/start/webhooks/connection)
* [Требования к вебхук-обработчику](/ru/sber-api/start/webhooks/partner-webhook)
* [Рекомендации по безопасности](/ru/sber-api/start/webhooks/security)
---
# Создание зарплатной ведомости
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/payrolls/create.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/payrolls`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/payrolls`
## Описание
Запрос для создания зарплатной ведомости для выплат в рамках зарплатного проекта. Должен содержать токен доступа (**access\_token**) пользователя в параметре **Authorization** заголовка и реквизитами зарплатной ведомости в теле запроса.
Для доступа к этому методу в параметре `scope` ссылки авторизации должно быть указано значение `PAYROLL`.
Если в запросе на создание платежного документа передать ЭП к документу (объект **digestSignatures**), то Банк сразу начнет его обработку.
Если в запросе не передавать ЭП к документу, то документ будет создан в статусе черновик. Для начала его обработки Банком потребуется зайти в интерфейс СберБизнес и подписать его.
Дайджест
Дайджест это текстовый документ, содержащий перечень и значения полей запроса, к которому он относится и предназначенный для подписания ЭП. Сохраняйте порядок и количество полей дайджеста, как показано в примере ниже, иначе подписать его не получится.
| **Наименование поля** | **Описание поля** | **Пример** |
| ---------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ |
| account | Номер счета клиента | 40702810600000001523 |
| admissionValue | Вид зачисления (цифровое значение вида зачисления) из справочника видов зачисления SalType | 01 |
| amount.amount | Сумма по договору | 1240687.00 |
| amount.currencyName | Трехбуквенный код валюты | RUB |
| authPersonName | Имя уполномоченного сотрудника организации пользователя | Иванов Алексей Сергеевич |
| authPersonTelfax | Номер телефона, факса уполномоченного сотрудника организации пользователя | 8(495)3612541 |
| bic | БИК банка пользователя | 044525225 |
| contractDate | Дата договора | 2018-02-20 |
| contractNumber | Номер договора | 456 |
| date | Дата составления документа | 2018-02-20 |
| employeesNumber | Количество сотрудников | 300 |
| externalId | Идентификатор документа, присвоенный сервисом (UUID) | 550e8400-e29b-41d4-a716-446655440000 |
| isSelfEmployedTax | Признак "Расчет НПД" | false |
| incomeTypeCode | Код вида дохода получателей выплаты по 229-ФЗ | 1 |
| loanAmount | Сумма оплаты за счет кредитных средств | 1000.00 |
| loanDate | Дата кредитного договора | 04.03.2019 |
| loanNumber | Номер кредитного договора | 155 |
| month | Месяц отчетного периода | Январь |
| orgName | Наименование организации пользователя | ООО Ромашка |
| orgTaxNumber | ИНН пользователя | 222201236445 |
| year | Год отчетного периода | 2018 |
| TABLES | | |
| TABLES=employeeSalaries | | |
| account | Номер счета физического лица Счет физического лица (получателя зарплаты) не может быть открыт в стороннем банке. Подразделение Сбербанка определяется в СББОЛ по счету, а именно по цифрам из отмеченных разрядов хххххххххХХХХххххххх | 40702810600000001673 |
| amount.amount | Сумма | 675988.00 |
| amount.currencyName | Трехбуквенный код валюты | RUB |
| bic | БИК | 040407777 |
| firstName | Имя физического лица | Дмитрий |
| lastName | Фамилия физического лица | Петров |
| middleName | Отчество физического лица | Дмитриевич |
| withheldAmount | Сумма удержанных средств по исполнительному документу | 1010.01 |
| Не заполняется если в зарплатном договоре стоит признак «с резервированием»! | | |
| TABLES=payDocs | | |
| amount.amount | Сумма | 675988.00 |
| amount.currencyName | Трехбуквенный код валюты | RUB |
| docDate | Дата расчетного документа (по местному времени обслуживающего подразделения банка) | 2018-02-20 |
| number | Номер расчетного документа | 388 |
| payeeAccount | Номер счета получателя | 40702810500006103990 |
| payeeBic | БИК банка зачисления | 044525225 |
| payerAccount | Номер счета плательщика | 40702810500006103990 |
| payerBic | БИК банка плательщика | 044525225 |
| purpose | Назначение платежа | Зачисление зарплаты |
Пример:
```json
account=40702810078452334405
admissionValue=01
amount.amount=10000.55
amount.currencyName=RUB
authPersonName=Иванов Александр Сергеевич
authPersonTelfax=+7(812)1234567
bic=044525225
contractDate=2019-02-04
contractNumber=46096
date=2019-02-04
employeesNumber=2
externalId=b37fbdbc-d7a3-49c4-a191-be8e8b49ffba
isSelfEmployedTax=false
incomeTypeCode=1
loanamount=1000.00
loandate=04.03.2019
loanNumber=155
month=Январь
orgName=Организация MuSAAIQKoXSVAFU
orgTaxNumber=4781796357
year=2019
TABLES
Table=EmployeeSalaries
account=42301810600000200001
amount.amount=5000.50
amount.currencyName=RUB
bic=040407777
firstName=Иван
lastName=Иванов
middleName=Иванович
withheldAmount=1010.01
#
account=42301810600000200002
amount.amount=5000.05
amount.currencyName=RUB
bic=040407777
firstName=Петр
lastName=Петров
middleName=Петрович
withheldAmount=1020.01
#
```
Рекомендации по тестированию в песочнице
При тестировании создания исходящего платежного требования в Песочнице соблюдайте правила:
* **Не нужно устанавливать промышленные сертификаты электронной подписи (ЭП)** — Песочница использует тестовые идентификаторы ЭП (certificateUuid).
* Все остальные поля запроса заполняйте произвольными данными (реквизиты, суммы) в соответствии с требованиями в документации.
## Сценарии тестирования
Для тестирования сценариев используйте **фиксированные** значения `certificateUuid`. При использовании любых других значений `certificateUuid` вернется ошибка `UNKNOWN_EXCEPTION`.
**1.** Чтобы создать неподписанный черновик зарплатной ведомости, отправьте запрос **без объекта `digestSignatures`**.
**Статус в ответе:** `bankStatus: "CREATED"`
***
**2.** Для отправки документа с единственной или двумя подписями передайте в объекте `digestSignatures` тестовые `certificateUuid`.
**Параметры:**
* bb014b5d-8159-40be-97c1-eafeed4a8c3d (единственная подпись)
* d5d4f811-f4d4-4205-a70f-58f772eeab72 (первая подпись)
* 4f29c8ef-b55d-43c7-a321-f2b1303a29cd (вторая подпись)
**Статус в ответе:** `bankStatus: "DELIVERED"`
**Пример:**
```json
#Единственная подпись
"digestSignatures": [
\{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c3d",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
#Первая и вторая подпись
"digestSignatures": [
\{
"certificateUuid": "d5d4f811-f4d4-4205-a70f-58f772eeab72",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\},
\{
"certificateUuid": "4f29c8ef-b55d-43c7-a321-f2b1303a29cd",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
```
***
**3.** Для создания документа с ошибкой используете параметр `number` со значением `111111111`.
**Статус в ответе:** `bankStatus: "CHECKERROR"`
***
**4.** Для получения ошибки «Документ уже существует» используйте параметр `externalId` со значением `20251028-12e1-476e-bfee-f2112e4573a8`.
**Статус в ответе:** `bankStatus: "WORKFLOW_FAULT"`
---
# Получение зарплатной ведомости
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/payrolls/get-document.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/payrolls/{externalId}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/payrolls/{externalId}`
## Описание
Запрос для получения полных данных по ранее отправленной зарплатной ведомости. Должен содержать токен доступа (**access\_token**) пользователя в параметре **Authorization** заголовка и идентификатором документа (**externalId**) в path-параметре.
Для доступа к этому методу в параметре `scope` ссылки авторизации должно быть указано значение `PAYROLL`.
Описание ошибок по самозанятым
При запросе данных по самозанятому в ответе возвращаются два дополнительных атрибута:
* `receiptStatus` – статус регистрации чека в ФНС,
* `receiptResult` – ссылка на чек в ФНС.
**Описание ошибок в параметрах receiptResult и receiptStatus**
| **Код ошибки** | **Описание** |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| IRB0540 | **Ошибка:** Получателю необходимо создать чек самостоятельно. **Описание:** Полученный ИНН не был найден в ФНС либо не зарегистрирован. В ФНС нет данных по указанному ИНН. ИНН получателя не совпадают в АС Банка и ФНС. **Что необходимо сделать:** Получателю необходимо самостоятельно зарегистрировать полученный доход и прислать ссылку на чек. Для избежание повтора ошибки рекомендуй актуализировать свои данные в АС Банка или в ФНС. |
| IRB0541 | **Ошибка:** Получателю необходимо создать чек самостоятельно. **Описание:** Для ИНН переданного в запросе, Сбербанк не подключен как партнер. Получатель не предоставил права доступа Сбербанку. **Что необходимо сделать:** \* самостоятельно зарегистрировать полученный доход и прислать ссылку на чек; \* во избежание повтора ошибки подключить сервис "Свое дело".
При регистрации в сервисе автоматически ФЛ в ФНС приобретает статус Самозанятого и предоставляются права Сбербанку на регистрацию дохода. |
| IRB0542 | **Ошибка:** Получателю необходимо создать чек самостоятельно. **Описание:** Для Сбербанка как партнера недостаточно прав на совершение операции. Получатель уже зарегистрирован в ФНС и в сервисе "Свое дело". НО, получатель предоставил права на регистрацию дохода другому Банку. **Что необходимо сделать:** \* самостоятельно зарегистрировать полученный доход и прислать ссылку на чек; \* во избежание повтора ошибки необходимо предоставить права Сбербанку в приложении «Мой налог» или на сайте ФНС. |
| IRB0543 | **Ошибка:** Получателю необходимо создать чек самостоятельно. **Описание:** Не получилось найти клиента. **Что необходимо сделать:** \* самостоятельно зарегистрировать полученный доход и прислать ссылку на чек; \* обновить паспортные данные из Госуслуг в профиле или обратиться в любой офис банка с паспортом. |
| IRB0546 | **Ошибка:** Не удалось получить чек. **Описание:** Неправильно указан ИНН клиента. **Что необходимо сделать:** Повторите формирование чека позднее.
Если при многократной повторной отправке запроса на регистрацию дохода, не приходит итоговый (зарегистрирован/не зарегистрирован) статус, то получателю необходимо самостоятельно зарегистрировать полученный доход и прислать ссылку на чек. |
| IRB0547 | **Ошибка:** Превышен годовой лимит. **Описание:** Получатель на текущий момент достиг лимита дохода в 2,4 млн рублей в год. Превышен допустимый порог суммы зачисления для самозанятого. **Что необходимо сделать:** Получатель не сможет зарегистрировать доход и получить чек. Ему необходимо сняться с учета в качестве самозанятого в ФНС. Чтобы продолжить работу, получатель имеет возможность стать ИП или подобрать налоговый режим с помощью Сбербанка. |
| IRB0548 | **Ошибка:** Превышен годовой лимит. **Описание:** При попытке регистрации чека будет превышен лимит дохода получателя в 2,4 млн рублей за год. **Что необходимо сделать:** Создание чека превысит лимит. В 2023/2024 году получатель зарегистрировал доход самозанятого на сумму более 2,4 млн ₽ в год. Чтобы продолжить работу, получатель имеет возможность стать ИП и подобрать налоговый режим с помощью Сбербанка. |
| IRB0549 | **Ошибка:** Получателю необходимо создать чек самостоятельно. **Описание:** Ошибка валидации запроса. Фатальная техническая ошибка (ошибка-инцидент). **Что необходимо сделать:** Получателю необходимо самостоятельно зарегистрировать полученный доход и прислать ссылку на чек. |
| RCB0015 | **Ошибка:** Невозможно сформировать чек. Дата продажи не может быть раньше даты регистрации самозанятости. **Что необходимо сделать:** - самостоятельно зарегистрировать полученный доход и прислать ссылку на чек; - во избежание повтора ошибки необходимо предоставить права Сбербанку в приложении «Мой налог» или на сайте ФНС. |
| RCB0016 | **Ошибка:** Невозможно сформировать чек. Наложено ограничение на операцию по требованию налогового органа. **Что необходимо сделать:** - самостоятельно зарегистрировать полученный доход и прислать ссылку на чек; - во избежание повтора ошибки необходимо предоставить права Сбербанку в приложении «Мой налог» или на сайте ФНС. |
| RCB0017 | **Ошибка:** Невозможно сформировать чек. Сумма продажи превышает допустимый порог. **Что необходимо сделать:** - самостоятельно зарегистрировать полученный доход и прислать ссылку на чек; - во избежание повтора ошибки необходимо предоставить права Сбербанку в приложении «Мой налог» или на сайте ФНС. |
Рекомендации по тестированию в песочнице
При получении зарплатной ведомости в песочнице, ответ зависит от переданного параметра `externalId`.
## Сценарии тестирования
**1.** Для получения зарплатного реестра с указанием рублевого платежного поручения (по договору без резервирования) используйте параметр `externalId` со значение `20251028-12e1-476e-bfee-f2112e4573a8`.
***
**2.** Для получения зарплатного реестра с выплатой в другой банк используйте параметр `externalId` со значение `20251028-13e1-476e-bfee-f2112e4573a8`.
***
**3.** Для получения зарплатного реестра с выплатой за счет кредитных средств используйте параметр `externalId` со значение `20251028-14e1-476e-bfee-f2112e4573a8`.
***
**4.** Для получения зарплатного реестра с выплатой самозанятым используйте параметр `externalId` со значение `20251028-15e1-476e-bfee-f2112e4573a8`.
***
**5** Для получения иных статусов используйте следующие тестовые идентификаторы:
| Передаваемое значение `externalId` | Возвращаемое значение `bankStatus` |
| :--------------------------------- | :---------------------------------- |
| `20251028-01e1-476e-bfee-f2112e4573a8` | DELIVERED |
| `20251028-02e1-476e-bfee-f2112e4573a8` | IMPLEMENTED |
| `20251028-03e1-476e-bfee-f2112e4573a8` | CHECKERROR |
| `20251028-04e1-476e-bfee-f2112e4573a8` | PARTIMPLEMENTED |
| `20251028-05e1-476e-bfee-f2112e4573a8` | REQUISITEERROR |
| `20251028-06e1-476e-bfee-f2112e4573a8` | INVALIDEDS |
| `20251028-07e1-476e-bfee-f2112e4573a8` | DATA\_NOT\_FOUND\_EXCEPTION |
| `20251028-08e1-476e-bfee-f2112e4573a8` | WORKFLOW\_FAULT |
| `20251028-09e1-476e-bfee-f2112e4573a8` | ACTION\_ACCESS\_EXCEPTION |
| `20251028-10e1-476e-bfee-f2112e4573a8` | UNAVAILABLE\_RESOURCE\_EXCEPTION |
| `20251028-11e1-476e-bfee-f2112e4573a8` | TOO\_MANY\_REQUESTS |
| `20251028-12e1-476e-bfee-f2112e4573a8` | DELIVERED (с блоком рпп) |
| `20251028-13e1-476e-bfee-f2112e4573a8` | IMPLEMENTED (др банк) |
| `20251028-14e1-476e-bfee-f2112e4573a8` | ACCEPTED\_BY\_ABS |
| `20251028-15e1-476e-bfee-f2112e4573a8` | PARTIMPLEMENTED |
| Любое другое валидное значение | CREATED |
---
# Получение статуса зарплатной ведомости
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/payrolls/get-state.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/payrolls/{externalId}/state`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/payrolls/{externalId}/state`
## Описание
Запрос для получения статуса ранее отправленной зарплатной ведомости. Должен содержать токенов доступа (**access\_token**) пользователя в параметре **Authorization** заголовка и идентификатором документа (**externalId**) в path-параметре.
Для доступа к этому методу в параметре `scope` ссылки авторизации должно быть указано значение `PAYROLL`.
Статусы
| bankStatus | Наименование статуса (клиентское) | Назначение кода состояния |
|---|---|---|
| **Промежуточный / продолжать опрашивать** | | |
| `CHECK_ERROR` | Содержит ошибки | Электронный документ содержит ошибки, требуется исправление |
| `IMPORTED` | Импортирован | Документ импортирован в систему, ожидает обработки |
| `CREATED` | Создан | Реестр создан |
| `TRANSIT` | Транзит | Документ находится в промежуточном состоянии при передаче между системами |
| `PART_SIGNED` | Частично подписан | Реестр подписан одной из двух положенных подписей |
| `SIGNED` | Подписан | ЭД подписан полным комплектом подписей |
| `DELAYED` | Отложен | Реестр отправлен с отложенным исполнением |
| `SENDING_TO_RZK` | Согласование контролирующей организацией | - |
| `SENT_TO_RZK` | Согласование контролирующей организацией | - |
| `WAITING_FOR_RZK` | Согласование контролирующей организацией | - |
| `PROCESSING` | В обработке | - |
| `WAITING_FOR_ORDER` | Ожидает распоряжения | Данный реестр с использованием кредитных средств. Необходимо завести распоряжение |
| `WAITING_FOR_MONEY` | Реестр с резервированием находится в ожидании денежных средств |
| **Окончательный (не успешный) / прекратить опрос** | | |
| `INVALID_SIGN` | Подпись неверна | При приеме реестра на исполнение в Банк произошла ошибка при проверке (и/или): - комплектности подписей; - полномочий подписантов. |
| `REQUISITE_ERROR` | Ошибка реквизитов | При приеме реестра на исполнение в Банк произошла ошибка при форматно-логических контролях (ФЛК) |
| `REFUSED_BY_BANK` | Отклонен банком | Реестр отклонен Банком, зачисление получателям не осуществлено |
| `QUALIFIED_SIGN_INVALID` | Ошибка НЭП | Недействительная квалифицированная электронная подпись (НЭП) |
| `REVOKE_ON_REQUEST` | Отозван по запросу | Документ отозван по заявке пользователя |
| `REFUSED_BY_RZK` | Отклонен контролирующей организацией | - |
| **Окончательный (успешный) / прекратить опрос** | | |
| `PART_IMPLEMENTED` | Частично исполнен | Документ исполнен банком частично (например, частичное списание) |
| `IMPLEMENTED` | Исполнен | Электронный документ полностью исполнен банком |
Рекомендации по тестированию в песочнице
При получении статуса зарплатной ведомости в песочнице, ответ зависит от переданного параметра `externalId`. Для симуляции различных сценариев используйте следующие тестовые идентификаторы:
| Передаваемое значение `externalId` | Возвращаемое значение `bankStatus` |
| :--- | :--- |
| `20251028-12e1-476e-bfee-f2112e4573a8` | ACCEPTED\_BY\_ABS |
| `20251028-03e1-476e-bfee-f2112e4573a8` | CHECKERROR |
| `20251028-01e1-476e-bfee-f2112e4573a8` | DELIVERED |
| `20251028-02e1-476e-bfee-f2112e4573a8` | IMPLEMENTED |
| `20231028-04e1-476e-bfee-f2112e4573a8` | PARTIMPLEMENTED |
| `20211028-06e1-476e-bfee-f2112e4573a8` | INVALIDEDS |
| `20221028-05e1-476e-bfee-f2112e4573a8` | REQUISITEERROR |
| `20251028-08e1-476e-bfee-f2112e4573a8` | WORKFLOW\_FAULT |
| `20191028-09e1-476e-bfee-f2112e4573a8` | ACTION\_ACCESS\_EXCEPTION |
| `20191028-07e1-476e-bfee-f2112e4573a8` | DATA\_NOT\_FOUND\_EXCEPTION |
| `20251028-11e1-476e-bfee-f2112e4573a8` | TOO\_MANY\_REQUESTS |
| `20251028-10e1-476e-bfee-f2112e4573a8` | UNAVAILABLE\_RESOURCE\_EXCEPTION |
| Любое другое валидное значение | CREATED |
---
# Payrolls Overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/payrolls/payrolls-overview.md)
## Описание
## Методы Sber API управления зарплатной ведомостью
* [Создание зарплатной ведомости](/ru/sber-api/specifications/payrolls/create)
* [Получение зарплатной ведомости](/ru/sber-api/specifications/payrolls/get-document)
* [Получение статуса зарплатной ведомости](/ru/sber-api/specifications/payrolls/get-state)
---
# Получение файла PDF-отчета
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/pdf-printform/get-report-file.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/sberbusinessapi/sberrating/files/download-file/{random}/{fileId}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/sberbusinessapi/sberrating/files/download-file/{random}/{fileId}`
## Описание
Получение файла PDF-отчета продукта «Безопасный бизнес»
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `SBERRATING_REPORT_FILE`.
Рекомендации по тестированию в песочнице
При использовании корректной (валидной) ссылки на скачивание приходит PDF-файл.
* Код ответа: 200
* Тип содержимого: application/octet-stream
* Тело ответа: бинарные данные PDF-отчета.
---
# Overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/pdf-printform/overview.md)
## Описание
Получение PDF-отчета продукта «Безопасный бизнес»
---
# Получение ссылки для скачивания файла PDF-отчета по контрагентам
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/pdf-printform/post-report-link.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/sberrating/report/link`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/sberrating/report/link`
## Описание
Получение ссылки для последующего скачивания файла PDF-отчета продукта «Безопасный бизнес» по контрагентам
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `SBERRATING_REPORT_LINK`.
Рекомендации по тестированию в песочнице
При использовании любой корректной пары ИНН и КПП в запросе, API отвечает так, будто организация действительно существует в базе.
---
# Запрос списка предодобренных коммерческих предложений по депозиту
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/placement/get-commercial-offers.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/placement/commercialoffers`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/placement/commercialoffers`
## Описание
Запрос списка предодобренных коммерческих предложений по депозиту
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `DEPOSIT_REQUEST`.
Рекомендации по тестированию в песочнице
При получении списка предодобренных коммерческих предложений в песочнице, ответ зависит от переданного параметра `page`.
Все остальные поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.
**1.** Чтобы получить **полный** ответ, нужно в параметре `page` передать значение от `1` до `6`.
***
**2.** Чтобы получить положительный ответ с последней страницей, нужно в параметре `page` передать значение `10`, остальные поля запроса можно заполнить произвольными значениями
***
**3.** Чтобы получить **пустой** ответ, нужно в параметре `page` передать значение `7`.
***
**4.** Чтобы получить ошибку "Запрошенной страницы не существует.", нужно в параметре `page` передать значение `11`.
***
**5.** Чтобы получить ошибку "При выполнении операции произошла ошибка.", нужно в параметре `page` передать значение `9`.
***
**6.** Чтобы получить ошибку "У вас недостаточно прав для совершения операции.", нужно в параметре `page` передать значение `88`.
---
# Запрос статуса заявления по депозиту
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/placement/get-deposit-state.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/placement/deposit/application/{externalId}/state`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/placement/deposit/application/{externalId}/state`
## Описание
Запрос статуса заявления по депозиту
Запрос позволяет получить статус по заявлению на открытие и по заявлению на отзыв/аннулирование депозита.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `DEPOSIT_REQUEST`.
Статусы
| Статус | Описание |
|--------|---------|
| `DRAFT` | Черновик |
| `WORKS` | Исполняется |
| `DELETED` | Удален |
| `COMPLETED` | Выполнен |
| `REFUSE` | Отказан |
Рекомендации по тестированию в песочнице
При получении статуса заявления на депозит на индивидуальных условиях в песочнице, ответ зависит от переданного параметра `externalId`. Для симуляции различных сценариев используйте следующие тестовые идентификаторы:
| Передаваемое значение `externalId` | Возвращаемое значение `bankStatus` |
| :----------------------------------- | :---------------------------------- |
| `8551a7a5-98ba-4d94-a080-d483b746aa65` | `WORKS` |
| `a2c2a3aa-3449-4c23-bdcc-fc3500252ff8` | `COMPLETED` |
| `fd9bf48f-5c0f-4695-bfc8-72a203785796` | `REFUSE` |
| `6e58307d-798b-432c-9769-bdd58639a8d9` | `UNAVAILABLE_RESOURCE_EXCEPTION` |
| Любое другое валидное значение | `DATA_NOT_FOUND_EXCEPTION` |
---
# Запрос детальной формы карточки депозита
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/placement/get-deposit.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/placement/deposit/{externalId}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/placement/deposit/{externalId}`
## Описание
Запрос детальной формы карточки депозита
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `DEPOSIT_REQUEST`.
Статусы
| Статус | Описание |
|--------|---------|
| `ANNULLED_BY_CLIENT` | Аннулировано клиентом |
| `RECALLED` | Отозвано |
| `WORK` | Действует |
| `CLOSE` | Закрыт |
| `ANNULLED_BY_BANK` | Отклонено Банком |
Рекомендации по тестированию в песочнице
При получении детальной формы карточки депозита в песочнице, ответ зависит от переданного `externalId`.
Все остальные поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.
**1.** Чтобы получить статус **работает** в ответе, нужно в параметре `externalId` передать значение `a311eab6-c2d3-43ba-9e06-42be7b92744c`.
***
**2.** Чтобы получить статус **отозван** в ответе, нужно в параметре `externalId` передать значение `20251028-76e1-476e-bfee-f2112e4573a1`.
***
**3.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в параметре `externalId` передать значение `6e58307d-798b-432c-9769-bdd58639a8d9`.
***
**4.** Чтобы получить ошибку "Указан externalId неснижаемого остатка...", нужно в параметре `externalId` передать значение `fc8771ce-6cf0-410a-8245-c4413ae0245e`.
***
**5.** Чтобы получить ошибку "Документ не найден.", нужно в параметре `externalId` передать произвольное значение.
---
# Запрос списка депозитов
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/placement/get-deposits.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/placement/deposit`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/placement/deposit`
## Описание
Запрос списка депозитов
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `DEPOSIT_REQUEST`.
Рекомендации по тестированию в песочнице
При получении списка депозитов в песочнице, ответ зависит от переданного параметра `page` и `beginDateFrom`.
Все остальные поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.
**1.** Чтобы получить положительный ответ, нужно заполнить обязательные поля запроса произвольными значениями.
***
**2.** Чтобы получить положительный пустой ответ, нужно в параметре `page` передать значение `7`, остальные поля запроса можно заполнить произвольными значениями
***
**3.** Чтобы получить положительный ответ с последней страницей, нужно в параметре `page` передать значение `10`, остальные поля запроса можно заполнить произвольными значениями
***
**4.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в параметре `beginDateFrom` передать значение `1000-01-01`.
***
**5.** Чтобы получить ошибку "Запрошенной страницы не существует.", нужно в параметре `page` передать значение `11`.
***
**6.** Чтобы получить ошибку "У вас недостаточно прав для совершения операции.", нужно в параметре `page` передать значение `88`.
---
# Запрос статуса заявления по неснижаемому остатку
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/placement/get-minimum-balance-state.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/placement/minimum-balance/application/{externalId}/state`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/placement/minimum-balance/application/{externalId}/state`
## Описание
Запрос статуса заявления по неснижаемому остатку
Запрос позволяет получить статус по заявлению на открытие и по заявлению на аннулирование НСО.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `MINIMUMBALANCE_REQUEST`.
Рекомендации по тестированию в песочнице
При получении статуса заявления на неснижаемый остаток в песочнице, ответ зависит от переданного параметра `externalId`. Для симуляции различных сценариев используйте следующие тестовые идентификаторы:
| Передаваемое значение `externalId` | Возвращаемое значение `bankStatus` |
| :----------------------------------- | :---------------------------------- |
| `8551a7a5-98ba-4d94-a080-d483b746aa65` | `WORKS` |
| `a2c2a3aa-3449-4c23-bdcc-fc3500252ff8` | `COMPLETED` |
| `fd9bf48f-5c0f-4695-bfc8-72a203785796` | `REFUSE` |
| `6e58307d-798b-432c-9769-bdd58639a8d9` | `UNAVAILABLE_RESOURCE_EXCEPTION` |
| Любое другое валидное значение | `DATA_NOT_FOUND_EXCEPTION` |
---
# Запрос детальной формы карточки неснижаемого остатка
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/placement/get-minimum-balance.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/placement/minimum-balance/{externalId}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/placement/minimum-balance/{externalId}`
## Описание
Запрос детальной формы карточки неснижаемого остатка
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `MINIMUMBALANCE_REQUEST`.
Статусы
| Статус | Описание |
|--------|---------|
| `ANNULLED_BY_CLIENT` | Аннулировано клиентом |
| `RECALLED` | Отозвано |
| `WORK` | Действует |
| `CLOSE` | Закрыт |
| `ANNULLED_BY_BANK` | Отклонено Банком |
Рекомендации по тестированию в песочнице
При получении детальной формы карточки неснижаемого остатка в песочнице, ответ зависит от переданного `externalId`.
Все остальные поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.
**1.** Чтобы получить статус **в работе**, нужно в параметре `externalId` передать значение `20251028-76e1-476e-bfee-f2112e4573a1`.
***
**2.** Чтобы получить статус **аннулирован** в ответе, нужно в параметре `externalId` передать значение `a311eab6-c2d3-43ba-9e06-42be7b92744c`.
***
**3.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в параметре `externalId` передать значение `6e58307d-798b-432c-9769-bdd58639a8d9`.
***
**4.** Чтобы получить ошибку "Указан externalId депозита...", нужно в параметре `externalId` передать значение `fc8771ce-6cf0-410a-8245-c4413ae0245e`.
***
**5.** Чтобы получить ошибку "Документ не найден.", нужно в параметре `externalId` передать произвольное значение.
---
# Запрос списка карточек НСО
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/placement/get-minimum-balances.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/placement/minimum-balance`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/placement/minimum-balance`
## Описание
Запрос списка карточек НСО
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `MINIMUMBALANCE_REQUEST`.
Рекомендации по тестированию в песочнице
При получении списка карточек НСО в песочнице, ответ зависит от переданных `page` и `beginDateFrom`.
Все остальные поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.
**1.** Чтобы получить положительный ответ, нужно заполнить обязательные поля запроса произвольными значениями.
***
**2.** Чтобы получить положительный пустой ответ, нужно в параметре `page` передать значение `7`, остальные поля запроса можно заполнить произвольными значениями
***
**3.** Чтобы получить положительный ответ с последней страницей, нужно в параметре `page` передать значение `10`, остальные поля запроса можно заполнить произвольными значениями
***
**4.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в параметре `beginDateFrom` передать значение `1000-01-01`.
***
**5.** Чтобы получить ошибку "Запрошенной страницы не существует.", нужно в параметре `page` передать значение `11`.
***
**6.** Чтобы получить ошибку "У вас недостаточно прав для совершения операции.", нужно в параметре `page` передать значение `88`.
---
# Запрос детальной формы заявления на открытие депозита
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/placement/get-open-detail.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/placement/deposit/application/{externalId}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/placement/deposit/application/{externalId}`
## Описание
Запрос детальной формы заявления на открытие депозита
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `DEPOSIT_REQUEST`.
Рекомендации по тестированию в песочнице
При получении детальной формы заявления на открытие депозита в песочнице, ответ зависит от переданного параметра `externalId`.
Все остальные поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.
**1.** Чтобы получить **положительный** ответ, нужно в параметре `externalId` передать значение `20251028-76e1-476e-bfee-f2112e4573a1`.
***
**2.** Чтобы получить **отказ** по заявке, нужно в параметре `externalId` передать значение `a311eab6-c2d3-43ba-9e06-42be7b92744c`.
***
**3.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в параметре `externalId` передать значение `6e58307d-798b-432c-9769-bdd58639a8d9`.
***
**4.** Чтобы получить ошибку "Указан externalId неснижаемого остатка...", нужно в параметре `externalId` передать значение `fc8771ce-6cf0-410a-8245-c4413ae0245e`.
***
**5.** Чтобы получить ошибку "Документ не найден.", нужно в параметре `externalId` передать произвольное значение.
---
# Запрос детальной формы заявления на открытие неснижаемого остатка
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/placement/get-open-minimum-balance-detail.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/placement/minimum-balance/application/{externalId}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/placement/minimum-balance/application/{externalId}`
## Описание
Запрос детальной формы заявления на открытие неснижаемого остатка
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `MINIMUMBALANCE_REQUEST`.
Рекомендации по тестированию в песочнице
При получении детальной формы заявления на открытие неснижаемого остатка в песочнице, ответ зависит от переданного параметра `externalId`.
Все остальные поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.
**1.** Чтобы получить **положительный** ответ, нужно в параметре `externalId` передать значение `20251028-76e1-476e-bfee-f2112e4573a1`.
***
**2.** Чтобы получить **отказ** по заявке, нужно в параметре `externalId` передать значение `a311eab6-c2d3-43ba-9e06-42be7b92744c`.
***
**3.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в параметре `externalId` передать значение `6e58307d-798b-432c-9769-bdd58639a8d9`.
***
**4.** Чтобы получить ошибку "Указан externalId депозита...", нужно в параметре `externalId` передать значение `fc8771ce-6cf0-410a-8245-c4413ae0245e`.
***
**5.** Чтобы получить ошибку "Документ не найден.", нужно в параметре `externalId` передать произвольное значение.
---
# Запрос процентной ставки по вкладам
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/placement/get-rate.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/placement/interest-rate`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/placement/interest-rate`
## Описание
Запрос процентной ставки по вкладам
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `DEPOSIT_REQUEST`.
Рекомендации по тестированию в песочнице
При получении процентной ставки по вкладам в песочнице, ответ зависит от переданных `endDate`, `productType` и `amount`.
Все остальные поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.
**1.** Чтобы получить статус положительный ответ, нужно заполнить обязательные параметры запроса произвольными значениями.
***
**2.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в параметре `endDate` передать значение `3000-01-01`.
***
**3.** Чтобы получить ошибку "Дата окончания действия продукта не может превышать 1096 дней...", нужно в параметре `endDate` передать значение `текущей даты + 1096 дней`.
***
**4.** Чтобы получить ошибку "Если указан тип продукта NSO, то параметре isRecallable должно иметь значение false.", нужно в параметре `productType` передать значение `NSO` и в параметре `isRecallable` значение `true`.
***
**5.** Чтобы получить ошибку "Для продукта NSO требуется указывать сумму более 500 000.", нужно в параметре `productType` передать значение `NSO` и в параметре `amount` значение `сумму меньше 500 000.`.
---
# Детальная форма заявления на отзыв/аннулирование депозита
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/placement/get-revoke-detail.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/placement/deposit/revoke/{externalId}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/placement/deposit/revoke/{externalId}`
## Описание
Детальная форма заявления на отзыв/аннулирование депозита
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `DEPOSIT_REQUEST`.
Рекомендации по тестированию в песочнице
При получении детальной формы заявления на отзыв/аннулирование депозита в песочнице, ответ зависит от переданного `externalId`.
Все остальные поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.
**1.** Чтобы получить положительный статус заявки на **аннулирование**, нужно в параметре `externalId` передать значение `edad4f23-c299-46eb-ac99-24a97a0273ea`.
***
**2.** Чтобы получить положительный статус заявки на **отзыв**, нужно в параметре `externalId` передать значение `615f3a7f-547b-45fc-9a9a-2c08b7d648c0`.
***
**3.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в параметре `externalId` передать значение `6e58307d-798b-432c-9769-bdd58639a8d9`.
***
**4.** Чтобы получить ошибку "Указан externalId неснижаемого остатка...", нужно в параметре `externalId` передать значение `fc8771ce-6cf0-410a-8245-c4413ae0245e`.
***
**5.** Чтобы получить ошибку "Документ не найден.", нужно в параметре `externalId` передать произвольное значение.
---
# Детальная форма заявления на аннулирование
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/placement/get-revoke-minimum-balance.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/placement/minimum-balance/revoke/{externalId}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/placement/minimum-balance/revoke/{externalId}`
## Описание
Детальная форма заявления на аннулирование
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `MINIMUMBALANCE_REQUEST`.
Рекомендации по тестированию в песочнице
При получении детальной формы заявления на аннулирование в песочнице, ответ зависит от переданного `externalId`.
Все остальные поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.
**1.** Чтобы получить положительный статус заявки, нужно в параметре `externalId` передать значение `edad4f23-c299-46eb-ac99-24a97a0273ea`.
***
**2.** Чтобы получить статус заявки в работе, нужно в параметре `externalId` передать значение `615f3a7f-547b-45fc-9a9a-2c08b7d648c0`.
***
**3.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в параметре `externalId` передать значение `6e58307d-798b-432c-9769-bdd58639a8d9`.
***
**4.** Чтобы получить ошибку "Указан externalId неснижаемого остатка...", нужно в параметре `externalId` передать значение `fc8771ce-6cf0-410a-8245-c4413ae0245e`.
***
**5.** Чтобы получить ошибку "Документ не найден.", нужно в параметре `externalId` передать произвольное значение.
---
# Создание заявления на депозит с автоматическим запросом ставки (автокотировка)
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/placement/open-deposit-by-interest-rate-v-2.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v2/placement/deposit/application/interest-rate`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v2/placement/deposit/application/interest-rate`
## Описание
Создание заявления на депозит с автоматическим запросом ставки (автокотировка)
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `DEPOSIT_REQUEST`.
Дайджест
Дайджест это текстовый документ, содержащий перечень и значения полей запроса, к которому он относится и предназначенный для подписания ЭП. Сохраняйте порядок и количество полей дайджеста, как показано в примере ниже, иначе подписать его не получится.
| Наименование | Описание | Пример |
|------------------------------|---------------|--------|
| account.accountNumber | Номер счета списания | 40702810600000001673 |
| account.bankBic | БИК банка | 040407777 |
| account.bankCorrAcc | Корреспондентский счет | 30101810400000000225 |
| account.bankName | Название банка | ПАО СБЕРБАНК |
| account.internationalBankAddress | Адрес банка на иностранном языке | UL.KUTUZOVSKAYA,D.2 |
| account.internationalBankName | Международное наименование банка | Sberbank |
| account.nameBeneficiary | Название банка бенифициара | ПАО СБЕРБАНК |
| account.nameCorrespondent | Название банка корреспондента | ПАО СБЕРБАНК |
| account.swiftBeneficiary | SWIFT банка бенифициара | ABNARUMMSPB |
| account.swiftCorrespondent | SWIFT банка корреспондента | ABNARUMMSPB |
| accountReturn.accountNumber | Номер счета возврата | 40702810600000001673 |
| accountReturn.bankBic | БИК банка | 040407777 |
| accountReturn.bankCorrAcc | Корреспондентский счет | 30101810400000000225 |
| accountReturn.bankName | Название банка | ПАО СБЕРБАНК |
| accountReturn.internationalBankAddress | Адрес банка на иностранном языке | UL.KUTUZOVSKAYA,D.2 |
| accountReturn.internationalBankName | Международное наименование банка | Sberbank |
| accountReturn.nameBeneficiary | Название банка бенифициара | ПАО СБЕРБАНК |
| accountReturn.nameCorrespondent | Название банка корреспондента | ПАО СБЕРБАНК |
| accountReturn.swiftBeneficiary | SWIFT банка бенифициара | ABNARUMMSPB |
| accountReturn.swiftCorrespondent | SWIFT банка корреспондента | ABNARUMMSPB |
| calcId | ID расчета автокотировки | 7271985355769577475 |
| externalId | Внешний идентификатор заявления | 6q1e34a-26ef-19a1-9f12-2a36dd3e3208 |
| isRecallable | Возможность досрочного отзыва | false |
| paymentPeriodCode | Периодичность выплаты | AT\_END\_OF\_DURATION |
| productAmount.amount | Сумма продукта | 100.00 |
| productAmount.currencyISOCode | ISO код валюты продукта | RUB |
| rate | Процентная ставка | 100.00 |
| replenishmentType | Тип зачисления | BANK |
| term | Срок размещения | 365 |
Пример:
```json
account.accountNumber=40702810600000001673
account.bankBic=040407777
account.bankCorrAcc=30101810400000000225
account.bankName=ПАО СБЕРБАНК
account.internationalBankAddress=UL.KUTUZOVSKAYA,D.2
account.internationalBankName=Sberbank
account.nameBeneficiary=ПАО СБЕРБАНК
account.nameCorrespondent=ПАО СБЕРБАНК
account.swiftBeneficiary=ABNARUMMSPB
account.swiftCorrespondent=ABNARUMMSPB
accountReturn.accountNumber=40702810600000001673
accountReturn.bankBic=040407777
accountReturn.bankCorrAcc=30101810400000000225
accountReturn.bankName=ПАО СБЕРБАНК
accountReturn.internationalBankAddress=UL.KUTUZOVSKAYA,D.2
accountReturn.internationalBankName=Sberbank
accountReturn.nameBeneficiary=ПАО СБЕРБАНК
accountReturn.nameCorrespondent=ПАО СБЕРБАНК
accountReturn.swiftBeneficiary=ABNARUMMSPB
accountReturn.swiftCorrespondent=ABNARUMMSPB
calcId=7271985355769577475
externalId=6q1e34a-26ef-19a1-9f12-2a36dd3e3208
isRecallable=false
paymentPeriodCode=AT_END_OF_DURATION
productAmount.amount=100.00
productAmount.currencyISOCode=RUB
rate=100.00
replenishmentType=BANK
term=365
```
Рекомендации по тестированию в песочнице
При тестировании создания заявления на депозит на индивидуальных условиях по полученной ставке в Песочнице соблюдайте правила:
* **Не нужно устанавливать промышленные сертификаты электронной подписи (ЭП)** — Песочница использует тестовые идентификаторы ЭП (certificateUuid).
* Все остальные поля запроса заполняйте произвольными данными (реквизиты, суммы) в соответствии с требованиями в документации.
## Сценарии тестирования
Для тестирования сценариев используйте **фиксированные** значения `certificateUuid`, `externalId` и `accountNumber`. При использовании любых других значений `certificateUuid` вернется ошибка `WORKFLOW_FAULT`.
**1.** Чтобы создать неподписанное заявление на депозит на индивидуальных условиях по полученной ставке (черновик), отправьте запрос **без объекта `digestSignatures`**.
***
**2.** Для отправки документа с единственной или двумя подписями передайте в объекте `digestSignatures` тестовые `certificateUuid`.
**Параметры:**
* bb014b5d-8159-40be-97c1-eafeed4a8c3d (единственная подпись)
* d5d4f811-f4d4-4205-a70f-58f772eeab72 (первая подпись)
* 4f29c8ef-b55d-43c7-a321-f2b1303a29cd (вторая подпись)
**Статус в ответе:** `bankStatus: "WORKS"`
**Пример:**
```json
#Единственная подпись
"digestSignatures": [
\{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c3d",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
#Первая и вторая подпись
"digestSignatures": [
\{
"certificateUuid": "d5d4f811-f4d4-4205-a70f-58f772eeab72",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\},
\{
"certificateUuid": "4f29c8ef-b55d-43c7-a321-f2b1303a29cd",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
```
***
**3.** Чтобы получить ошибку при создании ведомости необходимо в поле `base64Encoded` передать значение `INVALIDEDS`, а `certificateUuid` заполнить произвольно.
**Статус в ответе:** `bankStatus: "REFUSE"`
**Пример:**
```json
"digestSignatures": [
{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c33",
"base64Encoded": "INVALIDEDS"
}
],
```
***
**4.** Чтобы получить ошибку "Указанный счет списания не найден.", нужно в поле `account.accountNumber` передать значение `40702810338000042026`.
***
**5.** Чтобы получить ошибку "Указанный счет возврата не найден.", нужно в поле `accountReturn.accountNumber` передать значение `40702810338000042026`.
***
**6.** Чтобы получить ошибку "Указанный счет списания не действует.", нужно в поле `account.accountNumber` передать значение `40702810338000042027`.
***
**7.** Чтобы получить ошибку "Указанный счет возврата не действует.", нужно в поле `account.accountNumber` передать значение `40702810338000042027`.
***
**8.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в поле `externalId` передать значение `6e58307d-798b-432c-9769-bdd58639a8d9`.
***
**9.** Чтобы получить ошибку "Предодобренное коммерческое предложение на открытие депозита недоступно...", нужно в поле `externalId` передать значение `02f2b85f-6d8b-4fb3-b6d5-b2eae258d429`.
***
**10.** Чтобы получить ошибку "Указан pkpId для создания заявления на открытие неснижаемого остатка...", нужно в поле `externalId` передать значение `faf76c5e-e02b-411b-83da-ad4e66c9e031`.
***
**11.** Чтобы получить ошибку "Заявление с таким внешним идентификатором externalId... уже существует.", нужно в поле `externalId` передать значение `a5b75914-49e1-4695-89b0-5a1b3d4327e9`.
---
# Создание заявления на депозит на индивидуальных условиях по полученной ставке
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/placement/open-deposit-by-interest-rate.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/placement/deposit/application/interest-rate`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/placement/deposit/application/interest-rate`
## Описание
Создание заявления на депозит на индивидуальных условиях по полученной ставке
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `DEPOSIT_REQUEST`.
Дайджест
Дайджест это текстовый документ, содержащий перечень и значения полей запроса, к которому он относится и предназначенный для подписания ЭП. Сохраняйте порядок и количество полей дайджеста, как показано в примере ниже, иначе подписать его не получится.
| Наименование | Описание | Пример |
|------------------------------|---------------|--------|
| account.accountNumber | Номер счета списания | 40702810600000001673 |
| account.bankBic | БИК банка | 040407777 |
| account.bankCorrAcc | Корреспондентский счет | 30101810400000000225 |
| account.bankName | Название банка | ПАО СБЕРБАНК |
| account.internationalBankAddress | Адрес банка на иностранном языке | UL.KUTUZOVSKAYA,D.2 |
| account.internationalBankName | Международное наименование банка | Sberbank |
| account.nameBeneficiary | Название банка бенифициара | ПАО СБЕРБАНК |
| account.nameCorrespondent | Название банка корреспондента | ПАО СБЕРБАНК |
| account.swiftBeneficiary | SWIFT банка бенифициара | ABNARUMMSPB |
| account.swiftCorrespondent | SWIFT банка корреспондента | ABNARUMMSPB |
| accountReturn.accountNumber | Номер счета возврата | 40702810600000001673 |
| accountReturn.bankBic | БИК банка | 040407777 |
| accountReturn.bankCorrAcc | Корреспондентский счет | 30101810400000000225 |
| accountReturn.bankName | Название банка | ПАО СБЕРБАНК |
| accountReturn.internationalBankAddress | Адрес банка на иностранном языке | UL.KUTUZOVSKAYA,D.2 |
| accountReturn.internationalBankName | Международное наименование банка | Sberbank |
| accountReturn.nameBeneficiary | Название банка бенифициара | ПАО СБЕРБАНК |
| accountReturn.nameCorrespondent | Название банка корреспондента | ПАО СБЕРБАНК |
| accountReturn.swiftBeneficiary | SWIFT банка бенифициара | ABNARUMMSPB |
| accountReturn.swiftCorrespondent | SWIFT банка корреспондента | ABNARUMMSPB |
| calcId | ID расчета автокотировки | 7271985355769577475 |
| externalId | Внешний идентификатор заявления | 6q1e34a-26ef-19a1-9f12-2a36dd3e3208 |
| isRecallable | Возможность досрочного отзыва | false |
| paymentPeriodCode | Периодичность выплаты | AT\_END\_OF\_DURATION |
| productAmount.amount | Сумма продукта | 100.00 |
| productAmount.currencyISOCode | ISO код валюты продукта | RUB |
| rate | Процентная ставка | 100.00 |
| replenishmentType | Тип зачисления | BANK |
| term | Срок размещения | 365 |
Пример:
```json
account.accountNumber=40702810600000001673
account.bankBic=040407777
account.bankCorrAcc=30101810400000000225
account.bankName=ПАО СБЕРБАНК
account.internationalBankAddress=UL.KUTUZOVSKAYA,D.2
account.internationalBankName=Sberbank
account.nameBeneficiary=ПАО СБЕРБАНК
account.nameCorrespondent=ПАО СБЕРБАНК
account.swiftBeneficiary=ABNARUMMSPB
account.swiftCorrespondent=ABNARUMMSPB
accountReturn.accountNumber=40702810600000001673
accountReturn.bankBic=040407777
accountReturn.bankCorrAcc=30101810400000000225
accountReturn.bankName=ПАО СБЕРБАНК
accountReturn.internationalBankAddress=UL.KUTUZOVSKAYA,D.2
accountReturn.internationalBankName=Sberbank
accountReturn.nameBeneficiary=ПАО СБЕРБАНК
accountReturn.nameCorrespondent=ПАО СБЕРБАНК
accountReturn.swiftBeneficiary=ABNARUMMSPB
accountReturn.swiftCorrespondent=ABNARUMMSPB
calcId=7271985355769577475
externalId=6q1e34a-26ef-19a1-9f12-2a36dd3e3208
isRecallable=false
paymentPeriodCode=AT_END_OF_DURATION
productAmount.amount=100.00
productAmount.currencyISOCode=RUB
rate=100.00
replenishmentType=BANK
term=365
```
Рекомендации по тестированию в песочнице
При тестировании создания заявления на депозит на индивидуальных условиях по полученной ставке в Песочнице соблюдайте правила:
* **Не нужно устанавливать промышленные сертификаты электронной подписи (ЭП)** — Песочница использует тестовые идентификаторы ЭП (certificateUuid).
* Все остальные поля запроса заполняйте произвольными данными (реквизиты, суммы) в соответствии с требованиями в документации.
## Сценарии тестирования
Для тестирования сценариев используйте **фиксированные** значения `certificateUuid`, `externalId` и `accountNumber`. При использовании любых других значений `certificateUuid` вернется ошибка `WORKFLOW_FAULT`.
**1.** Чтобы создать неподписанное заявление на депозит на индивидуальных условиях по полученной ставке (черновик), отправьте запрос **без объекта `digestSignatures`**.
***
**2.** Для отправки документа с единственной или двумя подписями передайте в объекте `digestSignatures` тестовые `certificateUuid`.
**Параметры:**
* bb014b5d-8159-40be-97c1-eafeed4a8c3d (единственная подпись)
* d5d4f811-f4d4-4205-a70f-58f772eeab72 (первая подпись)
* 4f29c8ef-b55d-43c7-a321-f2b1303a29cd (вторая подпись)
**Статус в ответе:** `bankStatus: "WORKS"`
**Пример:**
```json
#Единственная подпись
"digestSignatures": [
\{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c3d",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
#Первая и вторая подпись
"digestSignatures": [
\{
"certificateUuid": "d5d4f811-f4d4-4205-a70f-58f772eeab72",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\},
\{
"certificateUuid": "4f29c8ef-b55d-43c7-a321-f2b1303a29cd",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
```
***
**3.** Чтобы получить ошибку при создании ведомости необходимо в поле `base64Encoded` передать значение `INVALIDEDS`, а `certificateUuid` заполнить произвольно.
**Статус в ответе:** `bankStatus: "REFUSE"`
**Пример:**
```json
"digestSignatures": [
{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c33",
"base64Encoded": "INVALIDEDS"
}
],
```
***
**4.** Чтобы получить ошибку "Указанный счет списания не найден.", нужно в поле `account.accountNumber` передать значение `40702810338000042026`.
***
**5.** Чтобы получить ошибку "Указанный счет возврата не найден.", нужно в поле `accountReturn.accountNumber` передать значение `40702810338000042026`.
***
**6.** Чтобы получить ошибку "Указанный счет списания не действует.", нужно в поле `account.accountNumber` передать значение `40702810338000042027`.
***
**7.** Чтобы получить ошибку "Указанный счет возврата не действует.", нужно в поле `account.accountNumber` передать значение `40702810338000042027`.
***
**8.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в поле `externalId` передать значение `6e58307d-798b-432c-9769-bdd58639a8d9`.
***
**9.** Чтобы получить ошибку "Необходимо подписать оферту.", нужно в поле `externalId` передать значение `ced0bba0-a143-45f4-860b-56034ba78681`.
***
**10.** Чтобы получить ошибку "Предодобренное коммерческое предложение на открытие депозита недоступно...", нужно в поле `externalId` передать значение `02f2b85f-6d8b-4fb3-b6d5-b2eae258d429`.
***
**11.** Чтобы получить ошибку "Указан pkpId для создания заявления на открытие неснижаемого остатка...", нужно в поле `externalId` передать значение `faf76c5e-e02b-411b-83da-ad4e66c9e031`.
***
**12.** Чтобы получить ошибку "Заявление с таким внешним идентификатором externalId... уже существует.", нужно в поле `externalId` передать значение `a5b75914-49e1-4695-89b0-5a1b3d4327e9`.
---
# Создание заявления на депозит на основании ПКП (предодобренное предложение)
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/placement/open-deposit-on-individual-terms-v-2.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v2/placement/deposit/application`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v2/placement/deposit/application`
## Описание
Создание заявления на депозит на основании ПКП (предодобренное предложение)
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `DEPOSIT_REQUEST`.
Дайджест
Дайджест это текстовый документ, содержащий перечень и значения полей запроса, к которому он относится и предназначенный для подписания ЭП. Сохраняйте порядок и количество полей дайджеста, как показано в примере ниже, иначе подписать его не получится.
| Наименование | Описание | Пример |
|------------------------------|---------------|--------|
| account.accountNumber | Номер счета списания | 40702810600000001673 |
| account.bankBic | БИК банка | 040407777 |
| account.bankCorrAcc | Корреспондентский счет | 30101810400000000225 |
| account.bankName | Название банка | ПАО СБЕРБАНК |
| account.internationalBankAddress | Адрес банка на иностранном языке | UL.KUTUZOVSKAYA,D.2 |
| account.internationalBankName | Международное наименование банка | Sberbank |
| account.nameBeneficiary | Название банка бенифициара | ПАО СБЕРБАНК |
| account.nameCorrespondent | Название банка корреспондента | ПАО СБЕРБАНК |
| account.swiftBeneficiary | SWIFT банка бенифициара | ABNARUMMSPB |
| account.swiftCorrespondent | SWIFT банка корреспондента | ABNARUMMSPB |
| accountReturn.accountNumber | Номер счета возврата | 40702810600000001673 |
| accountReturn.bankBic | БИК банка | 040407777 |
| accountReturn.bankCorrAcc | Корреспондентский счет | 30101810400000000225 |
| accountReturn.bankName | Название банка | ПАО СБЕРБАНК |
| accountReturn.internationalBankAddress | Адрес банка на иностранном языке | UL.KUTUZOVSKAYA,D.2 |
| accountReturn.internationalBankName | Международное наименование банка | Sberbank |
| accountReturn.nameBeneficiary | Название банка бенифициара | ПАО СБЕРБАНК |
| accountReturn.nameCorrespondent | Название банка корреспондента | ПАО СБЕРБАНК |
| accountReturn.swiftBeneficiary | SWIFT банка бенифициара | ABNARUMMSPB |
| accountReturn.swiftCorrespondent | SWIFT банка корреспондента | ABNARUMMSPB |
| externalId | Внешний идентификатор заявления | 6q1e34a-26ef-19a1-9f12-2a36dd3e3208 |
| pkpId | ID предодобренного коммерческого предложения | 7271985355769577475 |
| replenishmentType | Тип зачисления | BANK |
Пример:
```json
account.accountNumber=40702810600000001673
account.bankBic=040407777
account.bankCorrAcc=30101810400000000225
account.bankName=ПАО СБЕРБАНК
account.internationalBankAddress=UL.KUTUZOVSKAYA,D.2
account.internationalBankName=Sberbank
account.nameBeneficiary=ПАО СБЕРБАНК
account.nameCorrespondent=ПАО СБЕРБАНК
account.swiftBeneficiary=ABNARUMMSPB
account.swiftCorrespondent=ABNARUMMSPB
accountReturn.accountNumber=40702810600000001673
accountReturn.bankBic=040407777
accountReturn.bankCorrAcc=30101810400000000225
accountReturn.bankName=ПАО СБЕРБАНК
accountReturn.internationalBankAddress=UL.KUTUZOVSKAYA,D.2
accountReturn.internationalBankName=Sberbank
accountReturn.nameBeneficiary=ПАО СБЕРБАНК
accountReturn.nameCorrespondent=ПАО СБЕРБАНК
accountReturn.swiftBeneficiary=ABNARUMMSPB
accountReturn.swiftCorrespondent=ABNARUMMSPB
externalId=6q1e34a-26ef-19a1-9f12-2a36dd3e3208
pkpId=7271985355769577475
replenishmentType=BANK
```
Рекомендации по тестированию в песочнице
При тестировании создания заявления на депозит на индивидуальных условиях в Песочнице соблюдайте правила:
* **Не нужно устанавливать промышленные сертификаты электронной подписи (ЭП)** — Песочница использует тестовые идентификаторы ЭП (certificateUuid).
* Все остальные поля запроса заполняйте произвольными данными (реквизиты, суммы) в соответствии с требованиями в документации.
## Сценарии тестирования
Для тестирования сценариев используйте **фиксированные** значения `certificateUuid`, `externalId` и `accountNumber`. При использовании любых других значений `certificateUuid` вернется ошибка `WORKFLOW_FAULT`.
**1.** Чтобы создать неподписанное заявление на депозит на индивидуальных условиях (черновик), отправьте запрос **без объекта `digestSignatures`**.
***
**2.** Для отправки документа с единственной или двумя подписями передайте в объекте `digestSignatures` тестовые `certificateUuid`.
**Параметры:**
* bb014b5d-8159-40be-97c1-eafeed4a8c3d (единственная подпись)
* d5d4f811-f4d4-4205-a70f-58f772eeab72 (первая подпись)
* 4f29c8ef-b55d-43c7-a321-f2b1303a29cd (вторая подпись)
**Статус в ответе:** `bankStatus: "WORKS"`
**Пример:**
```json
#Единственная подпись
"digestSignatures": [
\{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c3d",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
#Первая и вторая подпись
"digestSignatures": [
\{
"certificateUuid": "d5d4f811-f4d4-4205-a70f-58f772eeab72",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\},
\{
"certificateUuid": "4f29c8ef-b55d-43c7-a321-f2b1303a29cd",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
```
***
**3.** Чтобы получить ошибку при создании ведомости необходимо в поле `base64Encoded` передать значение `INVALIDEDS`, а `certificateUuid` заполнить произвольно.
**Статус в ответе:** `bankStatus: "REFUSE"`
**Пример:**
```json
"digestSignatures": [
{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c33",
"base64Encoded": "INVALIDEDS"
}
],
```
***
**4.** Чтобы получить ошибку "Указанный счет списания не найден.", нужно в поле `account.accountNumber` передать значение `40702810338000042026`.
***
**5.** Чтобы получить ошибку "Указанный счет возврата не найден.", нужно в поле `accountReturn.accountNumber` передать значение `40702810338000042026`.
***
**6.** Чтобы получить ошибку "Указанный счет списания не действует.", нужно в поле `account.accountNumber` передать значение `40702810338000042027`.
***
**7.** Чтобы получить ошибку "Указанный счет возврата не действует.", нужно в поле `account.accountNumber` передать значение `40702810338000042027`.
***
**8.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в поле `externalId` передать значение `6e58307d-798b-432c-9769-bdd58639a8d9`.
***
**9.** Чтобы получить ошибку "Предодобренное коммерческое предложение на открытие депозита недоступно...", нужно в поле `externalId` передать значение `02f2b85f-6d8b-4fb3-b6d5-b2eae258d429`.
***
**10.** Чтобы получить ошибку "Указан pkpId для создания заявления на открытие неснижаемого остатка...", нужно в поле `externalId` передать значение `faf76c5e-e02b-411b-83da-ad4e66c9e031`.
***
**11.** Чтобы получить ошибку "Заявление с таким внешним идентификатором externalId... уже существует.", нужно в поле `externalId` передать значение `a5b75914-49e1-4695-89b0-5a1b3d4327e9`.
---
# Создание заявления на депозит на индивидуальных условиях
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/placement/open-deposit-on-individual-terms.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/placement/deposit/application`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/placement/deposit/application`
## Описание
Создание заявления на депозит на индивидуальных условиях
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `DEPOSIT_REQUEST`.
Дайджест
Дайджест это текстовый документ, содержащий перечень и значения полей запроса, к которому он относится и предназначенный для подписания ЭП. Сохраняйте порядок и количество полей дайджеста, как показано в примере ниже, иначе подписать его не получится.
| Наименование | Описание | Пример |
|------------------------------|---------------|--------|
| account.accountNumber | Номер счета списания | 40702810600000001673 |
| account.bankBic | БИК банка | 040407777 |
| account.bankCorrAcc | Корреспондентский счет | 30101810400000000225 |
| account.bankName | Название банка | ПАО СБЕРБАНК |
| account.internationalBankAddress | Адрес банка на иностранном языке | UL.KUTUZOVSKAYA,D.2 |
| account.internationalBankName | Международное наименование банка | Sberbank |
| account.nameBeneficiary | Название банка бенифициара | ПАО СБЕРБАНК |
| account.nameCorrespondent | Название банка корреспондента | ПАО СБЕРБАНК |
| account.swiftBeneficiary | SWIFT банка бенифициара | ABNARUMMSPB |
| account.swiftCorrespondent | SWIFT банка корреспондента | ABNARUMMSPB |
| accountReturn.accountNumber | Номер счета возврата | 40702810600000001673 |
| accountReturn.bankBic | БИК банка | 040407777 |
| accountReturn.bankCorrAcc | Корреспондентский счет | 30101810400000000225 |
| accountReturn.bankName | Название банка | ПАО СБЕРБАНК |
| accountReturn.internationalBankAddress | Адрес банка на иностранном языке | UL.KUTUZOVSKAYA,D.2 |
| accountReturn.internationalBankName | Международное наименование банка | Sberbank |
| accountReturn.nameBeneficiary | Название банка бенифициара | ПАО СБЕРБАНК |
| accountReturn.nameCorrespondent | Название банка корреспондента | ПАО СБЕРБАНК |
| accountReturn.swiftBeneficiary | SWIFT банка бенифициара | ABNARUMMSPB |
| accountReturn.swiftCorrespondent | SWIFT банка корреспондента | ABNARUMMSPB |
| externalId | Внешний идентификатор заявления | 6q1e34a-26ef-19a1-9f12-2a36dd3e3208 |
| pkpId | ID предодобренного коммерческого предложения | 7271985355769577475 |
| replenishmentType | Тип зачисления | BANK |
Пример:
```json
account.accountNumber=40702810600000001673
account.bankBic=040407777
account.bankCorrAcc=30101810400000000225
account.bankName=ПАО СБЕРБАНК
account.internationalBankAddress=UL.KUTUZOVSKAYA,D.2
account.internationalBankName=Sberbank
account.nameBeneficiary=ПАО СБЕРБАНК
account.nameCorrespondent=ПАО СБЕРБАНК
account.swiftBeneficiary=ABNARUMMSPB
account.swiftCorrespondent=ABNARUMMSPB
accountReturn.accountNumber=40702810600000001673
accountReturn.bankBic=040407777
accountReturn.bankCorrAcc=30101810400000000225
accountReturn.bankName=ПАО СБЕРБАНК
accountReturn.internationalBankAddress=UL.KUTUZOVSKAYA,D.2
accountReturn.internationalBankName=Sberbank
accountReturn.nameBeneficiary=ПАО СБЕРБАНК
accountReturn.nameCorrespondent=ПАО СБЕРБАНК
accountReturn.swiftBeneficiary=ABNARUMMSPB
accountReturn.swiftCorrespondent=ABNARUMMSPB
externalId=6q1e34a-26ef-19a1-9f12-2a36dd3e3208
pkpId=7271985355769577475
replenishmentType=BANK
```
Рекомендации по тестированию в песочнице
При тестировании создания заявления на депозит на индивидуальных условиях в Песочнице соблюдайте правила:
* **Не нужно устанавливать промышленные сертификаты электронной подписи (ЭП)** — Песочница использует тестовые идентификаторы ЭП (certificateUuid).
* Все остальные поля запроса заполняйте произвольными данными (реквизиты, суммы) в соответствии с требованиями в документации.
## Сценарии тестирования
Для тестирования сценариев используйте **фиксированные** значения `certificateUuid`, `externalId` и `accountNumber`. При использовании любых других значений `certificateUuid` вернется ошибка `WORKFLOW_FAULT`.
**1.** Чтобы создать неподписанное заявление на депозит на индивидуальных условиях (черновик), отправьте запрос **без объекта `digestSignatures`**.
***
**2.** Для отправки документа с единственной или двумя подписями передайте в объекте `digestSignatures` тестовые `certificateUuid`.
**Параметры:**
* bb014b5d-8159-40be-97c1-eafeed4a8c3d (единственная подпись)
* d5d4f811-f4d4-4205-a70f-58f772eeab72 (первая подпись)
* 4f29c8ef-b55d-43c7-a321-f2b1303a29cd (вторая подпись)
**Статус в ответе:** `bankStatus: "WORKS"`
**Пример:**
```json
#Единственная подпись
"digestSignatures": [
\{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c3d",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
#Первая и вторая подпись
"digestSignatures": [
\{
"certificateUuid": "d5d4f811-f4d4-4205-a70f-58f772eeab72",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\},
\{
"certificateUuid": "4f29c8ef-b55d-43c7-a321-f2b1303a29cd",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
```
***
**3.** Чтобы получить ошибку при создании ведомости необходимо в поле `base64Encoded` передать значение `INVALIDEDS`, а `certificateUuid` заполнить произвольно.
**Статус в ответе:** `bankStatus: "REFUSE"`
**Пример:**
```json
"digestSignatures": [
{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c33",
"base64Encoded": "INVALIDEDS"
}
],
```
***
**4.** Чтобы получить ошибку "Указанный счет списания не найден.", нужно в поле `account.accountNumber` передать значение `40702810338000042026`.
***
**5.** Чтобы получить ошибку "Указанный счет возврата не найден.", нужно в поле `accountReturn.accountNumber` передать значение `40702810338000042026`.
***
**6.** Чтобы получить ошибку "Указанный счет списания не действует.", нужно в поле `account.accountNumber` передать значение `40702810338000042027`.
***
**7.** Чтобы получить ошибку "Указанный счет возврата не действует.", нужно в поле `account.accountNumber` передать значение `40702810338000042027`.
***
**8.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в поле `externalId` передать значение `6e58307d-798b-432c-9769-bdd58639a8d9`.
***
**9.** Чтобы получить ошибку "Необходимо подписать оферту.", нужно в поле `externalId` передать значение `ced0bba0-a143-45f4-860b-56034ba78681`.
***
**10.** Чтобы получить ошибку "Предодобренное коммерческое предложение на открытие депозита недоступно...", нужно в поле `externalId` передать значение `02f2b85f-6d8b-4fb3-b6d5-b2eae258d429`.
***
**11.** Чтобы получить ошибку "Указан pkpId для создания заявления на открытие неснижаемого остатка...", нужно в поле `externalId` передать значение `faf76c5e-e02b-411b-83da-ad4e66c9e031`.
***
**12.** Чтобы получить ошибку "Заявление с таким внешним идентификатором externalId... уже существует.", нужно в поле `externalId` передать значение `a5b75914-49e1-4695-89b0-5a1b3d4327e9`.
---
# Создание заявления на НСО с автоматическим запросом ставки (автокотировка)
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/placement/open-minimum-balance-by-interest-rate-v-2.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v2/placement/minimum-balance/application/interest-rate`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v2/placement/minimum-balance/application/interest-rate`
## Описание
Создание заявления на НСО с автоматическим запросом ставки (автокотировка)
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `MINIMUMBALANCE_REQUEST`.
Дайджест
Дайджест это текстовый документ, содержащий перечень и значения полей запроса, к которому он относится и предназначенный для подписания ЭП. Сохраняйте порядок и количество полей дайджеста, как показано в примере ниже, иначе подписать его не получится.
| Наименование | Описание | Пример |
|------------------------------|---------------|--------|
| account.accountNumber | Номер счета списания | 40702810600000001673 |
| account.bankBic | БИК банка | 040407777 |
| account.bankCorrAcc | Корреспондентский счет | 30101810400000000225 |
| account.bankName | Название банка | ПАО СБЕРБАНК |
| account.internationalBankAddress | Адрес банка на иностранном языке | UL.KUTUZOVSKAYA,D.2 |
| account.internationalBankName | Международное наименование банка | Sberbank |
| account.nameBeneficiary | Название банка бенифициара | ПАО СБЕРБАНК |
| account.nameCorrespondent | Название банка корреспондента | ПАО СБЕРБАНК |
| account.swiftBeneficiary | SWIFT банка бенифициара | ABNARUMMSPB |
| account.swiftCorrespondent | SWIFT банка корреспондента | ABNARUMMSPB |
| accountReturn.accountNumber | Номер счета возврата | 40702810600000001673 |
| accountReturn.bankBic | БИК банка | 040407777 |
| accountReturn.bankCorrAcc | Корреспондентский счет | 30101810400000000225 |
| accountReturn.bankName | Название банка | ПАО СБЕРБАНК |
| accountReturn.internationalBankAddress | Адрес банка на иностранном языке | UL.KUTUZOVSKAYA,D.2 |
| accountReturn.internationalBankName | Международное наименование банка | Sberbank |
| accountReturn.nameBeneficiary | Название банка бенифициара | ПАО СБЕРБАНК |
| accountReturn.nameCorrespondent | Название банка корреспондента | ПАО СБЕРБАНК |
| accountReturn.swiftBeneficiary | SWIFT банка бенифициара | ABNARUMMSPB |
| accountReturn.swiftCorrespondent | SWIFT банка корреспондента | ABNARUMMSPB |
| calcId | ID расчета автокотировки | 7271985355769577475 |
| externalId | Внешний идентификатор заявления | 6q1e34a-26ef-19a1-9f12-2a36dd3e3208 |
| paymentPeriodCode | Периодичность выплаты | AT\_END\_OF\_DURATION |
| productAmount.amount | Сумма продукта | 100.00 |
| productAmount.currencyISOCode | ISO код валюты продукта | RUB |
| rate | Процентная ставка | 100.00 |
| term | Срок размещения | 365 |
Пример:
```json
account.accountNumber=40702810600000001673
account.bankBic=040407777
account.bankCorrAcc=30101810400000000225
account.bankName=ПАО СБЕРБАНК
account.internationalBankAddress=UL.KUTUZOVSKAYA,D.2
account.internationalBankName=Sberbank
account.nameBeneficiary=ПАО СБЕРБАНК
account.nameCorrespondent=ПАО СБЕРБАНК
account.swiftBeneficiary=ABNARUMMSPB
account.swiftCorrespondent=ABNARUMMSPB
accountReturn.accountNumber=40702810600000001673
accountReturn.bankBic=040407777
accountReturn.bankCorrAcc=30101810400000000225
accountReturn.bankName=ПАО СБЕРБАНК
accountReturn.internationalBankAddress=UL.KUTUZOVSKAYA,D.2
accountReturn.internationalBankName=Sberbank
accountReturn.nameBeneficiary=ПАО СБЕРБАНК
accountReturn.nameCorrespondent=ПАО СБЕРБАНК
accountReturn.swiftBeneficiary=ABNARUMMSPB
accountReturn.swiftCorrespondent=ABNARUMMSPB
calcId=7271985355769577475
externalId=6q1e34a-26ef-19a1-9f12-2a36dd3e3208
paymentPeriodCode=AT_END_OF_DURATION
productAmount.amount=100.00
productAmount.currencyISOCode=RUB
rate=100.00
term=365
```
Рекомендации по тестированию в песочнице
При тестировании создания заявления на НСО на индивидуальных условиях по полученной ставке в Песочнице соблюдайте правила:
* **Не нужно устанавливать промышленные сертификаты электронной подписи (ЭП)** — Песочница использует тестовые идентификаторы ЭП (certificateUuid).
* Все остальные поля запроса заполняйте произвольными данными (реквизиты, суммы) в соответствии с требованиями в документации.
## Сценарии тестирования
Для тестирования сценариев используйте **фиксированные** значения `certificateUuid`, `externalId` и `accountNumber`. При использовании любых других значений `certificateUuid` вернется ошибка `WORKFLOW_FAULT`.
**1.** Чтобы создать неподписанное заявление на НСО на индивидуальных условиях по полученной ставке (черновик), отправьте запрос **без объекта `digestSignatures`**.
***
**2.** Для отправки документа с единственной или двумя подписями передайте в объекте `digestSignatures` тестовые `certificateUuid`.
**Параметры:**
* bb014b5d-8159-40be-97c1-eafeed4a8c3d (единственная подпись)
* d5d4f811-f4d4-4205-a70f-58f772eeab72 (первая подпись)
* 4f29c8ef-b55d-43c7-a321-f2b1303a29cd (вторая подпись)
**Статус в ответе:** `bankStatus: "WORKS"`
**Пример:**
```json
#Единственная подпись
"digestSignatures": [
\{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c3d",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
#Первая и вторая подпись
"digestSignatures": [
\{
"certificateUuid": "d5d4f811-f4d4-4205-a70f-58f772eeab72",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\},
\{
"certificateUuid": "4f29c8ef-b55d-43c7-a321-f2b1303a29cd",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
```
***
**3.** Чтобы получить ошибку при создании ведомости необходимо в поле `base64Encoded` передать значение `INVALIDEDS`, а `certificateUuid` заполнить произвольно.
**Статус в ответе:** `bankStatus: "REFUSE"`
**Пример:**
```json
"digestSignatures": [
{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c33",
"base64Encoded": "INVALIDEDS"
}
],
```
***
**4.** Чтобы получить ошибку "Указанный счет поддержания не найден.", нужно в поле `account.accountNumber` передать значение `40702810338000042026`.
***
**5.** Чтобы получить ошибку "Указанный счет возврата не найден.", нужно в поле `accountReturn.accountNumber` передать значение `40702810338000042026`.
***
**6.** Чтобы получить ошибку "Указанный счет поддержания не действует.", нужно в поле `account.accountNumber` передать значение `40702810338000042027`.
***
**7.** Чтобы получить ошибку "Указанный счет возврата не действует.", нужно в поле `account.accountNumber` передать значение `40702810338000042027`.
***
**8.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в поле `externalId` передать значение `6e58307d-798b-432c-9769-bdd58639a8d9`.
***
**9.** Чтобы получить ошибку "Предодобренное коммерческое предложение на открытие депозита недоступно...", нужно в поле `externalId` передать значение `02f2b85f-6d8b-4fb3-b6d5-b2eae258d429`.
***
**10.** Чтобы получить ошибку "Указан pkpId для создания заявления на открытие неснижаемого остатка...", нужно в поле `externalId` передать значение `faf76c5e-e02b-411b-83da-ad4e66c9e031`.
***
**11.** Чтобы получить ошибку "Заявление с таким внешним идентификатором externalId... уже существует.", нужно в поле `externalId` передать значение `a5b75914-49e1-4695-89b0-5a1b3d4327e9`.
---
# Создание заявления на НСО на индивидуальных условиях по полученной ставке
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/placement/open-minimum-balance-by-interest-rate.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/placement/minimum-balance/application/interest-rate`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/placement/minimum-balance/application/interest-rate`
## Описание
Создание заявления на НСО на индивидуальных условиях по полученной ставке
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `MINIMUMBALANCE_REQUEST`.
Дайджест
Дайджест это текстовый документ, содержащий перечень и значения полей запроса, к которому он относится и предназначенный для подписания ЭП. Сохраняйте порядок и количество полей дайджеста, как показано в примере ниже, иначе подписать его не получится.
| Наименование | Описание | Пример |
|------------------------------|---------------|--------|
| account.accountNumber | Номер счета списания | 40702810600000001673 |
| account.bankBic | БИК банка | 040407777 |
| account.bankCorrAcc | Корреспондентский счет | 30101810400000000225 |
| account.bankName | Название банка | ПАО СБЕРБАНК |
| account.internationalBankAddress | Адрес банка на иностранном языке | UL.KUTUZOVSKAYA,D.2 |
| account.internationalBankName | Международное наименование банка | Sberbank |
| account.nameBeneficiary | Название банка бенифициара | ПАО СБЕРБАНК |
| account.nameCorrespondent | Название банка корреспондента | ПАО СБЕРБАНК |
| account.swiftBeneficiary | SWIFT банка бенифициара | ABNARUMMSPB |
| account.swiftCorrespondent | SWIFT банка корреспондента | ABNARUMMSPB |
| accountReturn.accountNumber | Номер счета возврата | 40702810600000001673 |
| accountReturn.bankBic | БИК банка | 040407777 |
| accountReturn.bankCorrAcc | Корреспондентский счет | 30101810400000000225 |
| accountReturn.bankName | Название банка | ПАО СБЕРБАНК |
| accountReturn.internationalBankAddress | Адрес банка на иностранном языке | UL.KUTUZOVSKAYA,D.2 |
| accountReturn.internationalBankName | Международное наименование банка | Sberbank |
| accountReturn.nameBeneficiary | Название банка бенифициара | ПАО СБЕРБАНК |
| accountReturn.nameCorrespondent | Название банка корреспондента | ПАО СБЕРБАНК |
| accountReturn.swiftBeneficiary | SWIFT банка бенифициара | ABNARUMMSPB |
| accountReturn.swiftCorrespondent | SWIFT банка корреспондента | ABNARUMMSPB |
| calcId | ID расчета автокотировки | 7271985355769577475 |
| externalId | Внешний идентификатор заявления | 6q1e34a-26ef-19a1-9f12-2a36dd3e3208 |
| paymentPeriodCode | Периодичность выплаты | AT\_END\_OF\_DURATION |
| productAmount.amount | Сумма продукта | 100.00 |
| productAmount.currencyISOCode | ISO код валюты продукта | RUB |
| rate | Процентная ставка | 100.00 |
| startDate | Дата начала действия продукта | 2026-01-01 |
| term | Срок размещения | 365 |
Пример:
```json
account.accountNumber=40702810600000001673
account.bankBic=040407777
account.bankCorrAcc=30101810400000000225
account.bankName=ПАО СБЕРБАНК
account.internationalBankAddress=UL.KUTUZOVSKAYA,D.2
account.internationalBankName=Sberbank
account.nameBeneficiary=ПАО СБЕРБАНК
account.nameCorrespondent=ПАО СБЕРБАНК
account.swiftBeneficiary=ABNARUMMSPB
account.swiftCorrespondent=ABNARUMMSPB
accountReturn.accountNumber=40702810600000001673
accountReturn.bankBic=040407777
accountReturn.bankCorrAcc=30101810400000000225
accountReturn.bankName=ПАО СБЕРБАНК
accountReturn.internationalBankAddress=UL.KUTUZOVSKAYA,D.2
accountReturn.internationalBankName=Sberbank
accountReturn.nameBeneficiary=ПАО СБЕРБАНК
accountReturn.nameCorrespondent=ПАО СБЕРБАНК
accountReturn.swiftBeneficiary=ABNARUMMSPB
accountReturn.swiftCorrespondent=ABNARUMMSPB
calcId=7271985355769577475
externalId=6q1e34a-26ef-19a1-9f12-2a36dd3e3208
paymentPeriodCode=AT_END_OF_DURATION
productAmount.amount=100.00
productAmount.currencyISOCode=RUB
rate=100.00
startDate=2026-01-01
term=365
```
Рекомендации по тестированию в песочнице
При тестировании создания заявления на НСО на индивидуальных условиях по полученной ставке в Песочнице соблюдайте правила:
* **Не нужно устанавливать промышленные сертификаты электронной подписи (ЭП)** — Песочница использует тестовые идентификаторы ЭП (certificateUuid).
* Все остальные поля запроса заполняйте произвольными данными (реквизиты, суммы) в соответствии с требованиями в документации.
## Сценарии тестирования
Для тестирования сценариев используйте **фиксированные** значения `certificateUuid`, `externalId` и `accountNumber`. При использовании любых других значений `certificateUuid` вернется ошибка `WORKFLOW_FAULT`.
**1.** Чтобы создать неподписанное заявление на НСО на индивидуальных условиях по полученной ставке (черновик), отправьте запрос **без объекта `digestSignatures`**.
***
**2.** Для отправки документа с единственной или двумя подписями передайте в объекте `digestSignatures` тестовые `certificateUuid`.
**Параметры:**
* bb014b5d-8159-40be-97c1-eafeed4a8c3d (единственная подпись)
* d5d4f811-f4d4-4205-a70f-58f772eeab72 (первая подпись)
* 4f29c8ef-b55d-43c7-a321-f2b1303a29cd (вторая подпись)
**Статус в ответе:** `bankStatus: "WORKS"`
**Пример:**
```json
#Единственная подпись
"digestSignatures": [
\{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c3d",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
#Первая и вторая подпись
"digestSignatures": [
\{
"certificateUuid": "d5d4f811-f4d4-4205-a70f-58f772eeab72",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\},
\{
"certificateUuid": "4f29c8ef-b55d-43c7-a321-f2b1303a29cd",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
```
***
**3.** Чтобы получить ошибку при создании ведомости необходимо в поле `base64Encoded` передать значение `INVALIDEDS`, а `certificateUuid` заполнить произвольно.
**Статус в ответе:** `bankStatus: "REFUSE"`
**Пример:**
```json
"digestSignatures": [
{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c33",
"base64Encoded": "INVALIDEDS"
}
],
```
***
**4.** Чтобы получить ошибку "Указанный счет поддержания не найден.", нужно в поле `account.accountNumber` передать значение `40702810338000042026`.
***
**5.** Чтобы получить ошибку "Указанный счет возврата не найден.", нужно в поле `accountReturn.accountNumber` передать значение `40702810338000042026`.
***
**6.** Чтобы получить ошибку "Указанный счет поддержания не действует.", нужно в поле `account.accountNumber` передать значение `40702810338000042027`.
***
**7.** Чтобы получить ошибку "Указанный счет возврата не действует.", нужно в поле `account.accountNumber` передать значение `40702810338000042027`.
***
**8.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в поле `externalId` передать значение `6e58307d-798b-432c-9769-bdd58639a8d9`.
***
**9.** Чтобы получить ошибку "Необходимо подписать оферту.", нужно в поле `externalId` передать значение `ced0bba0-a143-45f4-860b-56034ba78681`.
***
**10.** Чтобы получить ошибку "Предодобренное коммерческое предложение на открытие депозита недоступно...", нужно в поле `externalId` передать значение `02f2b85f-6d8b-4fb3-b6d5-b2eae258d429`.
***
**11.** Чтобы получить ошибку "Указан pkpId для создания заявления на открытие неснижаемого остатка...", нужно в поле `externalId` передать значение `faf76c5e-e02b-411b-83da-ad4e66c9e031`.
***
**12.** Чтобы получить ошибку "Заявление с таким внешним идентификатором externalId... уже существует.", нужно в поле `externalId` передать значение `a5b75914-49e1-4695-89b0-5a1b3d4327e9`.
---
# Создание заявления на НСО на основании ПКП (предодобренное предложение)
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/placement/open-minimum-balance-on-individual-terms-v-2.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v2/placement/minimum-balance/application`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v2/placement/minimum-balance/application`
## Описание
Создание заявления на НСО на основании ПКП (предодобренное предложение)
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `MINIMUMBALANCE_REQUEST`.
Дайджест
Дайджест это текстовый документ, содержащий перечень и значения полей запроса, к которому он относится и предназначенный для подписания ЭП. Сохраняйте порядок и количество полей дайджеста, как показано в примере ниже, иначе подписать его не получится.
| Наименование | Описание | Пример |
|------------------------------|---------------|--------|
| account.accountNumber | Номер счета списания | 40702810600000001673 |
| account.bankBic | БИК банка | 040407777 |
| account.bankCorrAcc | Корреспондентский счет | 30101810400000000225 |
| account.bankName | Название банка | ПАО СБЕРБАНК |
| account.internationalBankAddress | Адрес банка на иностранном языке | UL.KUTUZOVSKAYA,D.2 |
| account.internationalBankName | Международное наименование банка | Sberbank |
| account.nameBeneficiary | Название банка бенифициара | ПАО СБЕРБАНК |
| account.nameCorrespondent | Название банка корреспондента | ПАО СБЕРБАНК |
| account.swiftBeneficiary | SWIFT банка бенифициара | ABNARUMMSPB |
| account.swiftCorrespondent | SWIFT банка корреспондента | ABNARUMMSPB |
| accountReturn.accountNumber | Номер счета возврата | 40702810600000001673 |
| accountReturn.bankBic | БИК банка | 040407777 |
| accountReturn.bankCorrAcc | Корреспондентский счет | 30101810400000000225 |
| accountReturn.bankName | Название банка | ПАО СБЕРБАНК |
| accountReturn.internationalBankAddress | Адрес банка на иностранном языке | UL.KUTUZOVSKAYA,D.2 |
| accountReturn.internationalBankName | Международное наименование банка | Sberbank |
| accountReturn.nameBeneficiary | Название банка бенифициара | ПАО СБЕРБАНК |
| accountReturn.nameCorrespondent | Название банка корреспондента | ПАО СБЕРБАНК |
| accountReturn.swiftBeneficiary | SWIFT банка бенифициара | ABNARUMMSPB |
| accountReturn.swiftCorrespondent | SWIFT банка корреспондента | ABNARUMMSPB |
| externalId | Внешний идентификатор заявления | 6q1e34a-26ef-19a1-9f12-2a36dd3e3208 |
| pkpId | ID предодобренного коммерческого предложения | 7271985355769577475 |
Пример:
```json
account.accountNumber=40702810600000001673
account.bankBic=040407777
account.bankCorrAcc=30101810400000000225
account.bankName=ПАО СБЕРБАНК
account.internationalBankAddress=UL.KUTUZOVSKAYA,D.2
account.internationalBankName=Sberbank
account.nameBeneficiary=ПАО СБЕРБАНК
account.nameCorrespondent=ПАО СБЕРБАНК
account.swiftBeneficiary=ABNARUMMSPB
account.swiftCorrespondent=ABNARUMMSPB
accountReturn.accountNumber=40702810600000001673
accountReturn.bankBic=040407777
accountReturn.bankCorrAcc=30101810400000000225
accountReturn.bankName=ПАО СБЕРБАНК
accountReturn.internationalBankAddress=UL.KUTUZOVSKAYA,D.2
accountReturn.internationalBankName=Sberbank
accountReturn.nameBeneficiary=ПАО СБЕРБАНК
accountReturn.nameCorrespondent=ПАО СБЕРБАНК
accountReturn.swiftBeneficiary=ABNARUMMSPB
accountReturn.swiftCorrespondent=ABNARUMMSPB
externalId=6q1e34a-26ef-19a1-9f12-2a36dd3e3208
pkpId=7271985355769577475
```
Рекомендации по тестированию в песочнице
При тестировании создания заявления на неснижаемый остаток на индивидуальных условиях в Песочнице соблюдайте правила:
* **Не нужно устанавливать промышленные сертификаты электронной подписи (ЭП)** — Песочница использует тестовые идентификаторы ЭП (certificateUuid).
* Все остальные поля запроса заполняйте произвольными данными (реквизиты, суммы) в соответствии с требованиями в документации.
## Сценарии тестирования
Для тестирования сценариев используйте **фиксированные** значения `certificateUuid`, `externalId` и `accountNumber`. При использовании любых других значений `certificateUuid` вернется ошибка `WORKFLOW_FAULT`.
**1.** Чтобы создать неподписанное заявление на депозит на индивидуальных условиях (черновик), отправьте запрос **без объекта `digestSignatures`**.
***
**2.** Для отправки документа с единственной или двумя подписями передайте в объекте `digestSignatures` тестовые `certificateUuid`.
**Параметры:**
* bb014b5d-8159-40be-97c1-eafeed4a8c3d (единственная подпись)
* d5d4f811-f4d4-4205-a70f-58f772eeab72 (первая подпись)
* 4f29c8ef-b55d-43c7-a321-f2b1303a29cd (вторая подпись)
**Статус в ответе:** `bankStatus: "WORKS"`
**Пример:**
```json
#Единственная подпись
"digestSignatures": [
\{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c3d",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
#Первая и вторая подпись
"digestSignatures": [
\{
"certificateUuid": "d5d4f811-f4d4-4205-a70f-58f772eeab72",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\},
\{
"certificateUuid": "4f29c8ef-b55d-43c7-a321-f2b1303a29cd",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
```
***
**3.** Чтобы получить ошибку при создании ведомости необходимо в поле `base64Encoded` передать значение `INVALIDEDS`, а `certificateUuid` заполнить произвольно.
**Статус в ответе:** `bankStatus: "REFUSE"`
**Пример:**
```json
"digestSignatures": [
{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c33",
"base64Encoded": "INVALIDEDS"
}
],
```
***
**4.** Чтобы получить ошибку "Указанный счет списания не найден.", нужно в поле `account.accountNumber` передать значение `40702810338000042026`.
***
**5.** Чтобы получить ошибку "Указанный счет возврата не найден.", нужно в поле `accountReturn.accountNumber` передать значение `40702810338000042026`.
***
**6.** Чтобы получить ошибку "Указанный счет списания не действует.", нужно в поле `account.accountNumber` передать значение `40702810338000042027`.
***
**7.** Чтобы получить ошибку "Указанный счет возврата не действует.", нужно в поле `account.accountNumber` передать значение `40702810338000042027`.
***
**8.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в поле `externalId` передать значение `6e58307d-798b-432c-9769-bdd58639a8d9`.
***
**9.** Чтобы получить ошибку "Предодобренное коммерческое предложение на открытие депозита недоступно...", нужно в поле `externalId` передать значение `02f2b85f-6d8b-4fb3-b6d5-b2eae258d429`.
***
**10.** Чтобы получить ошибку "Указан pkpId для создания заявления на открытие неснижаемого остатка...", нужно в поле `externalId` передать значение `faf76c5e-e02b-411b-83da-ad4e66c9e031`.
***
**11.** Чтобы получить ошибку "Заявление с таким внешним идентификатором externalId... уже существует.", нужно в поле `externalId` передать значение `a5b75914-49e1-4695-89b0-5a1b3d4327e9`.
---
# Создание заявления на неснижаемый остаток на индивидуальных условиях
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/placement/open-minimum-balance-on-individual-terms.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/placement/minimum-balance/application`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/placement/minimum-balance/application`
## Описание
Создание заявления на неснижаемый остаток на индивидуальных условиях
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `MINIMUMBALANCE_REQUEST`.
Дайджест
Дайджест это текстовый документ, содержащий перечень и значения полей запроса, к которому он относится и предназначенный для подписания ЭП. Сохраняйте порядок и количество полей дайджеста, как показано в примере ниже, иначе подписать его не получится.
| Наименование | Описание | Пример |
|------------------------------|---------------|--------|
| account.accountNumber | Номер счета списания | 40702810600000001673 |
| account.bankBic | БИК банка | 040407777 |
| account.bankCorrAcc | Корреспондентский счет | 30101810400000000225 |
| account.bankName | Название банка | ПАО СБЕРБАНК |
| account.internationalBankAddress | Адрес банка на иностранном языке | UL.KUTUZOVSKAYA,D.2 |
| account.internationalBankName | Международное наименование банка | Sberbank |
| account.nameBeneficiary | Название банка бенифициара | ПАО СБЕРБАНК |
| account.nameCorrespondent | Название банка корреспондента | ПАО СБЕРБАНК |
| account.swiftBeneficiary | SWIFT банка бенифициара | ABNARUMMSPB |
| account.swiftCorrespondent | SWIFT банка корреспондента | ABNARUMMSPB |
| accountReturn.accountNumber | Номер счета возврата | 40702810600000001673 |
| accountReturn.bankBic | БИК банка | 040407777 |
| accountReturn.bankCorrAcc | Корреспондентский счет | 30101810400000000225 |
| accountReturn.bankName | Название банка | ПАО СБЕРБАНК |
| accountReturn.internationalBankAddress | Адрес банка на иностранном языке | UL.KUTUZOVSKAYA,D.2 |
| accountReturn.internationalBankName | Международное наименование банка | Sberbank |
| accountReturn.nameBeneficiary | Название банка бенифициара | ПАО СБЕРБАНК |
| accountReturn.nameCorrespondent | Название банка корреспондента | ПАО СБЕРБАНК |
| accountReturn.swiftBeneficiary | SWIFT банка бенифициара | ABNARUMMSPB |
| accountReturn.swiftCorrespondent | SWIFT банка корреспондента | ABNARUMMSPB |
| externalId | Внешний идентификатор заявления | 6q1e34a-26ef-19a1-9f12-2a36dd3e3208 |
| pkpId | ID предодобренного коммерческого предложения | 7271985355769577475 |
Пример:
```json
account.accountNumber=40702810600000001673
account.bankBic=040407777
account.bankCorrAcc=30101810400000000225
account.bankName=ПАО СБЕРБАНК
account.internationalBankAddress=UL.KUTUZOVSKAYA,D.2
account.internationalBankName=Sberbank
account.nameBeneficiary=ПАО СБЕРБАНК
account.nameCorrespondent=ПАО СБЕРБАНК
account.swiftBeneficiary=ABNARUMMSPB
account.swiftCorrespondent=ABNARUMMSPB
accountReturn.accountNumber=40702810600000001673
accountReturn.bankBic=040407777
accountReturn.bankCorrAcc=30101810400000000225
accountReturn.bankName=ПАО СБЕРБАНК
accountReturn.internationalBankAddress=UL.KUTUZOVSKAYA,D.2
accountReturn.internationalBankName=Sberbank
accountReturn.nameBeneficiary=ПАО СБЕРБАНК
accountReturn.nameCorrespondent=ПАО СБЕРБАНК
accountReturn.swiftBeneficiary=ABNARUMMSPB
accountReturn.swiftCorrespondent=ABNARUMMSPB
externalId=6q1e34a-26ef-19a1-9f12-2a36dd3e3208
pkpId=7271985355769577475
```
Рекомендации по тестированию в песочнице
При тестировании создания заявления на неснижаемый остаток на индивидуальных условиях в Песочнице соблюдайте правила:
* **Не нужно устанавливать промышленные сертификаты электронной подписи (ЭП)** — Песочница использует тестовые идентификаторы ЭП (certificateUuid).
* Все остальные поля запроса заполняйте произвольными данными (реквизиты, суммы) в соответствии с требованиями в документации.
## Сценарии тестирования
Для тестирования сценариев используйте **фиксированные** значения `certificateUuid`, `externalId` и `accountNumber`. При использовании любых других значений `certificateUuid` вернется ошибка `WORKFLOW_FAULT`.
**1.** Чтобы создать неподписанное заявление на депозит на индивидуальных условиях (черновик), отправьте запрос **без объекта `digestSignatures`**.
***
**2.** Для отправки документа с единственной или двумя подписями передайте в объекте `digestSignatures` тестовые `certificateUuid`.
**Параметры:**
* bb014b5d-8159-40be-97c1-eafeed4a8c3d (единственная подпись)
* d5d4f811-f4d4-4205-a70f-58f772eeab72 (первая подпись)
* 4f29c8ef-b55d-43c7-a321-f2b1303a29cd (вторая подпись)
**Статус в ответе:** `bankStatus: "WORKS"`
**Пример:**
```json
#Единственная подпись
"digestSignatures": [
\{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c3d",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
#Первая и вторая подпись
"digestSignatures": [
\{
"certificateUuid": "d5d4f811-f4d4-4205-a70f-58f772eeab72",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\},
\{
"certificateUuid": "4f29c8ef-b55d-43c7-a321-f2b1303a29cd",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
```
***
**3.** Чтобы получить ошибку при создании ведомости необходимо в поле `base64Encoded` передать значение `INVALIDEDS`, а `certificateUuid` заполнить произвольно.
**Статус в ответе:** `bankStatus: "REFUSE"`
**Пример:**
```json
"digestSignatures": [
{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c33",
"base64Encoded": "INVALIDEDS"
}
],
```
***
**4.** Чтобы получить ошибку "Указанный счет списания не найден.", нужно в поле `account.accountNumber` передать значение `40702810338000042026`.
***
**5.** Чтобы получить ошибку "Указанный счет возврата не найден.", нужно в поле `accountReturn.accountNumber` передать значение `40702810338000042026`.
***
**6.** Чтобы получить ошибку "Указанный счет списания не действует.", нужно в поле `account.accountNumber` передать значение `40702810338000042027`.
***
**7.** Чтобы получить ошибку "Указанный счет возврата не действует.", нужно в поле `account.accountNumber` передать значение `40702810338000042027`.
***
**8.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в поле `externalId` передать значение `6e58307d-798b-432c-9769-bdd58639a8d9`.
***
**9.** Чтобы получить ошибку "Необходимо подписать оферту.", нужно в поле `externalId` передать значение `ced0bba0-a143-45f4-860b-56034ba78681`.
***
**10.** Чтобы получить ошибку "Предодобренное коммерческое предложение на открытие депозита недоступно...", нужно в поле `externalId` передать значение `02f2b85f-6d8b-4fb3-b6d5-b2eae258d429`.
***
**11.** Чтобы получить ошибку "Указан pkpId для создания заявления на открытие неснижаемого остатка...", нужно в поле `externalId` передать значение `faf76c5e-e02b-411b-83da-ad4e66c9e031`.
***
**12.** Чтобы получить ошибку "Заявление с таким внешним идентификатором externalId... уже существует.", нужно в поле `externalId` передать значение `a5b75914-49e1-4695-89b0-5a1b3d4327e9`.
---
# Placement Overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/placement/placement-overview.md)
## Описание
## Методы Sber API для работы с депозитами
* [Запрос списка предодобренных коммерческих предложений по депозиту](/ru/sber-api/specifications/placement/get-commercial-offers)
* [Запрос автокотировки](/ru/sber-api/specifications/placement/get-rate)
* [Запрос статуса заявления по депозиту](/ru/sber-api/specifications/placement/get-deposit-state)
* [Создание заявления на депозит с автоматическим запросом ставки](/ru/sber-api/specifications/placement/open-deposit-by-interest-rate-v-2)
* [Создание заявления на открытие депозита на основании ПКП](/ru/sber-api/specifications/placement/open-deposit-on-individual-terms-v-2)
* [Запрос детальной формы заявления на открытие депозита](/ru/sber-api/specifications/placement/get-open-detail)
* [Запрос детальной формы карточки депозита](/ru/sber-api/specifications/placement/get-deposit)
* [Создание заявления на отзыв/аннулирование депозита](/ru/sber-api/specifications/placement/revoke-deposit)
* [Детальная форма заявления на отзыв/аннулирование депозита](/ru/sber-api/specifications/placement/get-revoke-detail)
* [Запрос списка депозитов](/ru/sber-api/specifications/placement/get-deposits)
## Методы Sber API для работы с неснижаемым остатком
* [Запрос списка предодобренных коммерческих предложений по НСО](/ru/sber-api/specifications/placement/get-commercial-offers)
* [Запрос автокотировки](/ru/sber-api/specifications/placement/get-rate)
* [Создание заявления на НСО на основании ПКП](/ru/sber-api/specifications/placement/open-minimum-balance-on-individual-terms-v-2)
* [Создание заявления на НСО с автоматическим запросом ставки](/ru/sber-api/specifications/placement/open-minimum-balance-by-interest-rate-v-2)
* [Запрос детальной формы заявления на открытие неснижаемого остатка](/ru/sber-api/specifications/placement/get-open-minimum-balance-detail)
* [Создание заявления на аннулирование НСО](/ru/sber-api/specifications/placement/revoke-minimum-balance)
* [Запрос детальной формы карточки неснижаемого остатка](/ru/sber-api/specifications/placement/get-minimum-balance)
* [Детальная форма заявления на аннулирование](/ru/sber-api/specifications/placement/get-revoke-minimum-balance)
* [Запрос списка карточек НСО](/ru/sber-api/specifications/placement/get-minimum-balances)
* [Запрос статуса заявления по неснижаемому остатку](/ru/sber-api/specifications/placement/get-minimum-balance-state)
---
# Создание заявления на отзыв/аннулирование депозита
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/placement/revoke-deposit.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/placement/deposit/revoke`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/placement/deposit/revoke`
## Описание
Создание заявления на отзыв/аннулирование депозита
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `DEPOSIT_REQUEST`.
Дайджест
Дайджест это текстовый документ, содержащий перечень и значения полей запроса, к которому он относится и предназначенный для подписания ЭП. Сохраняйте порядок и количество полей дайджеста, как показано в примере ниже, иначе подписать его не получится.
| Наименование | Описание | Пример |
|------------------------------|---------------|--------|
| externalId | Внешний идентификатор заявления | 6q1e34a-26ef-19a1-9f12-2a36dd3e3208 |
| operationTypeCode | Код типа операции | RECALL |
| recallDate | Дата отзыва | 2023-08-27 |
| revokeExternalId | Идентификатор отзываемого/аннулируемого заявления | 55d2f83f-1822-4195-b030-53c7d928df8b |
Пример:
```json
externalId=6q1e34a-26ef-19a1-9f12-2a36dd3e3208
operationTypeCode=RECALL
recallDate=2023-08-27
revokeExternalId=55d2f83f-1822-4195-b030-53c7d928df8b
```
Рекомендации по тестированию в песочнице
При тестировании создания заявления на отзыв/аннулирование депозита в Песочнице соблюдайте правила:
* **Не нужно устанавливать промышленные сертификаты электронной подписи (ЭП)** — Песочница использует тестовые идентификаторы ЭП (certificateUuid).
* Все остальные поля запроса заполняйте произвольными данными (реквизиты, суммы) в соответствии с требованиями в документации.
## Сценарии тестирования
Для тестирования сценариев используйте **фиксированные** значения `certificateUuid`, `externalId` и `recallDate`. При использовании любых других значений `certificateUuid` вернется ошибка `WORKFLOW_FAULT`.
**1.** Чтобы создать неподписанное заявление на отзыв/аннулирование депозита (черновик), отправьте запрос **без объекта `digestSignatures`**.
***
**2.** Для отправки документа с единственной или двумя подписями передайте в объекте `digestSignatures` тестовые `certificateUuid`.
**Параметры:**
* bb014b5d-8159-40be-97c1-eafeed4a8c3d (единственная подпись)
* d5d4f811-f4d4-4205-a70f-58f772eeab72 (первая подпись)
* 4f29c8ef-b55d-43c7-a321-f2b1303a29cd (вторая подпись)
**Статус в ответе:** `bankStatus: "WORKS"`
**Пример:**
```json
#Единственная подпись
"digestSignatures": [
\{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c3d",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
#Первая и вторая подпись
"digestSignatures": [
\{
"certificateUuid": "d5d4f811-f4d4-4205-a70f-58f772eeab72",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\},
\{
"certificateUuid": "4f29c8ef-b55d-43c7-a321-f2b1303a29cd",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
```
***
**3.** Чтобы получить ошибку при создании ведомости необходимо в поле `base64Encoded` передать значение `INVALIDEDS`, а `certificateUuid` заполнить произвольно.
**Статус в ответе:** `bankStatus: "REFUSE"`
**Пример:**
```json
"digestSignatures": [
{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c33",
"base64Encoded": "INVALIDEDS"
}
],
```
***
**4.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в поле `externalId` передать значение `6e58307d-798b-432c-9769-bdd58639a8d9`.
***
**5.** Чтобы получить ошибку "Документ не найден.", нужно в поле `externalId` передать значение `e34cf65a-3ee7-4806-a1c9-7c2dfda356ce`.
***
**6.** Чтобы получить ошибку "Аннулирование недоступно.", нужно в поле `externalId` передать значение `e8c089bf-b174-4a68-bcbc-8757143a6aa6` и в `operationTypeCode` передать значение `ANNULMENT_DEPOSIT`.
***
**7.** Чтобы получить ошибку "Указан revokeExternalId для отзыва/аннулирования неснижаемого остатка...", нужно в поле `externalId` передать значение `faf76c5e-e02b-411b-83da-ad4e66c9e031`.
***
**8.** Чтобы получить ошибку "Заявление с таким внешним идентификатором externalId... уже существует.", нужно в поле `externalId` передать значение `a5b75914-49e1-4695-89b0-5a1b3d4327e9`.
***
**9.** Чтобы получить ошибку "Отзыв недоступен.", нужно в поле `recallDate` передать значение `2040-01-01`.
***
**9.** Чтобы получить ошибку "Для текущего заявления дата отзыва должна соответствовать периоду...", нужно в поле `recallDate` передать значение `2035-01-01`.
---
# Создание заявления на аннулирование НСО
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/placement/revoke-minimum-balance.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/placement/minimum-balance/revoke`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/placement/minimum-balance/revoke`
## Описание
Создание заявления на аннулирование НСО
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `MINIMUMBALANCE_REQUEST`.
Дайджест
Дайджест это текстовый документ, содержащий перечень и значения полей запроса, к которому он относится и предназначенный для подписания ЭП. Сохраняйте порядок и количество полей дайджеста, как показано в примере ниже, иначе подписать его не получится.
| Наименование | Описание | Пример |
|------------------------------|---------------|--------|
| externalId | Внешний идентификатор заявления | 6q1e34a-26ef-19a1-9f12-2a36dd3e3208 |
| operationTypeCode | Код типа операции | ANNULMENT\_PERMBALANCE |
| revokeExternalId | Идентификатор отзываемого/аннулируемого заявления | 55d2f83f-1822-4195-b030-53c7d928df8b |
Пример:
```json
externalId=6q1e34a-26ef-19a1-9f12-2a36dd3e3208
operationTypeCode=ANNULMENT_PERMBALANCE
revokeExternalId=55d2f83f-1822-4195-b030-53c7d928df8b
```
Рекомендации по тестированию в песочнице
При тестировании создания заявления на аннулирование НСО в Песочнице соблюдайте правила:
* **Не нужно устанавливать промышленные сертификаты электронной подписи (ЭП)** — Песочница использует тестовые идентификаторы ЭП (certificateUuid).
* Все остальные поля запроса заполняйте произвольными данными (реквизиты, суммы) в соответствии с требованиями в документации.
## Сценарии тестирования
Для тестирования сценариев используйте **фиксированные** значения `certificateUuid`, `externalId` и `operationTypeCode`. При использовании любых других значений `certificateUuid` вернется ошибка `WORKFLOW_FAULT`.
**1.** Чтобы создать неподписанное заявление на аннулирование НСО (черновик), отправьте запрос **без объекта `digestSignatures`**.
***
**2.** Для отправки документа с единственной или двумя подписями передайте в объекте `digestSignatures` тестовые `certificateUuid`.
**Параметры:**
* bb014b5d-8159-40be-97c1-eafeed4a8c3d (единственная подпись)
* d5d4f811-f4d4-4205-a70f-58f772eeab72 (первая подпись)
* 4f29c8ef-b55d-43c7-a321-f2b1303a29cd (вторая подпись)
**Статус в ответе:** `bankStatus: "WORKS"`
**Пример:**
```json
#Единственная подпись
"digestSignatures": [
\{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c3d",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
#Первая и вторая подпись
"digestSignatures": [
\{
"certificateUuid": "d5d4f811-f4d4-4205-a70f-58f772eeab72",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\},
\{
"certificateUuid": "4f29c8ef-b55d-43c7-a321-f2b1303a29cd",
"base64Encoded": "MIILDgYJKoZIhvcNAQcCoIIK..."
\}
],
```
***
**3.** Чтобы получить ошибку при создании ведомости необходимо в поле `base64Encoded` передать значение `INVALIDEDS`, а `certificateUuid` заполнить произвольно.
**Статус в ответе:** `bankStatus: "REFUSE"`
**Пример:**
```json
"digestSignatures": [
{
"certificateUuid": "bb014b5d-8159-40be-97c1-eafeed4a8c33",
"base64Encoded": "INVALIDEDS"
}
],
```
***
**4.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в поле `externalId` передать значение `6e58307d-798b-432c-9769-bdd58639a8d9`.
***
**5.** Чтобы получить ошибку "Документ не найден.", нужно в поле `externalId` передать значение `e34cf65a-3ee7-4806-a1c9-7c2dfda356ce`.
***
**6.** Чтобы получить ошибку "Аннулирование недоступно.", нужно в поле `externalId` передать значение `e8c089bf-b174-4a68-bcbc-8757143a6aa6` и в `operationTypeCode` передать значение `ANNULMENT_DEPOSIT`.
***
**7.** Чтобы получить ошибку "Указан revokeExternalId для аннулирования депозита...", нужно в поле `externalId` передать значение `faf76c5e-e02b-411b-83da-ad4e66c9e031`.
***
**8.** Чтобы получить ошибку "Заявление с таким внешним идентификатором externalId... уже существует.", нужно в поле `externalId` передать значение `a5b75914-49e1-4695-89b0-5a1b3d4327e9`.
---
# Плати QR v3
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/qr/plati-qr/overview.md)
## Описание
Клиент направляет запрос на формирование заказа в АС Сбербанка. В ответ получает присвоенный Идентификатор заказа в АС Сбербанк (впоследствии используется в качестве ключа для инициации других операций с заказом), ссылку для генерации QR кода.
**Техническая поддержка**
Партнер самостоятельно выполняет подключение и настройку. При необходимости за консультацией можно обращаться в тех.поддержку по адресу: [support@ecom.sberbank.ru](mailto:support@ecom.sberbank.ru).
Все клиенты API имеют право на все действия с API. Токен передается от SberAPI
https://api.sberbank.ru/qr/order.create: Скоуп для создания заказа
https://api.sberbank.ru/qr/order.revoke: Скоуп для отмены заказа
https://api.sberbank.ru/qr/order.status: Скоуп для запроса статуса заказа
https://api.sberbank.ru/qr/order.cancel: Скоуп для запроса отмены/возврата финансовой операции
auth://qr/order.registry: Скоуп к QR Pay Registry для получения реестра заказов
---
# Плати QR (BscanC)
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/qr/plati-qr-bscanc/overview.md)
## Описание
Клиент (Покупатель) в МП СБОЛ демонстрирует QR код, привязанный к карте. ЮЛ/ИП (Продавец) сканирует QR код ФЛ и инициирует оплату.
**Техническая поддержка**
Партнер самостоятельно выполняет подключение и настройку. При необходимости за консультацией можно обращаться в тех.поддержку по адресу: [support@ecom.sberbank.ru](mailto:support@ecom.sberbank.ru).
Все клиенты API имеют право на все действия с API. Токен передается от SberAPI
https://api.sberbank.ru/qr/order.pay: скоуп для метода
---
# QR Order Notify
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/qr/platy-qr-notify/qr-order-notify.md)
## Описание
Нотификация об оплате заказа
**Техническая поддержка**
Партнер самостоятельно выполняет подключение и настройку. При необходимости за консультацией можно обращаться в тех.поддержку по адресу: [support@ecom.sberbank.ru](mailto:support@ecom.sberbank.ru).
Все клиенты API имеют право на все действия с API. Токен передается от SberAPI
auth://qr/order.notify: Уведомление партнера об изменении статуса заказа по QR
---
# Получение информации по зарплатным договорам
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/salary-agreements/get-salary-agreements.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/salary-agreements`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/salary-agreements`
## Описание
Запрос для получения актуальной информации по зарплатным договорам компании.
Должен содержать токен доступа (access\_token) пользователя в параметре **Authorization** заголовка.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `SALARY_AGREEMENT`.
Рекомендации по тестированию в песочнице
При отправке запроса на получение информации по зарплатным договорам в песочнице успешный ответ всегда одинаковый и не зависит от входных данных.
В ответе будет содержаться два договора: **с резервированием и без резервирования**.
---
# Salary Agreements Overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/salary-agreements/salary-agreements-overview.md)
## Описание
## Методы Sber API по зарплатным договорам
* [Получение информации по зарплатным договорам](/ru/sber-api/specifications/salary-agreements/get-salary-agreements)
---
# Sberorder External Subscription
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/sberorder/sberorder-external-subscription.md)
## Описание
Тиражируемый API aктивации подписки
Все клиенты API имеют право на все действия с API. Токен передается от SberAPI
auth://sberorder/external/subscription: Скоуп к API для активации подписки
---
# SCO Partner Additional Info Api
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/sberorder/sco-partner-additional-info-api.md)
## Описание
Получение и отправка необходимых данных между SberCrossOrder и Партнерами при оформлении Заказа SCO
Все клиенты API имеют право на все действия с API. Токен передается от SberAPI
auth://sberorder/external/partnerinfo: Скоуп к API для доступа к методам запроса данных у Партнера
---
# SCO Partner Api
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/sberorder/sco-partner-api.md)
## Описание
Api предназначено для фиксации целевого действия партнеров
Все клиенты API имеют право на все действия с API. Токен передается от SberAPI
auth://sco/partner/v1: Скоуп к SCO Partner Api для фиксации целевого действия
---
# Получить список зарегистрированных чеков самозанятого
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/self-employed/get-self-employed-receipts.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/self-employed/receipts`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/self-employed/receipts`
## Описание
Возвращает чеки самозанятого за указанный период с пагинацией
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `SELF_EMPLOYED`.
Рекомендации по тестированию в песочнице
## Сценарии тестирования \{#stsenarii-testirovaniya}
Для тестирования сценариев используйте **фиксированные** значения `taxId` и `page`.
**1.** Чтобы получить успешный ответ с пустым списком чеков, нужно в поле `taxId` передать значение `123456789001` (при `page = 1` или без `page`).
***
**2.** Чтобы получить успешный ответ со списком чеков и ссылкой на следующую страницу, нужно в поле `taxId` передать любое другое значение при `page = 1` или без `page`.
***
**3.** Чтобы получить успешный ответ со списком чеков на второй странице, нужно в поле `taxId` передать любое значение при `page = 2`.
***
**4.** Чтобы получить успешный ответ со списком чеков на третьей странице, нужно в поле `taxId` передать любое значение при `page = 3`.
***
**5.** Чтобы получить ошибку "Запрос на получение списка зарегистрированных чеков самозанятого доступен только по собственной организации.", нужно в поле `taxId` передать значение `100000000001` (при `page = 1` или без `page`).
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`, HTTP-статус `400`
***
**6.** Чтобы получить ошибку "При выполнении операции произошла ошибка. Мы уже работаем над ее устранением. Повторите попытку позже.", нужно в поле `taxId` передать значение `500000000000`, `500000000001` или `500000000002` (при `page = 1` или без `page`).
**Причина в ответе:** `"cause": "UNAVAILABLE_RESOURCE_EXCEPTION"`, HTTP-статус `500`
***
**7.** Чтобы получить ошибку "Отсутствуют физ. лица с переданным в запросе ИНН", нужно в поле `taxId` передать значение `123456789000` (при `page = 1` или без `page`).
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`, HTTP-статус `400`
***
**8.** Чтобы получить ошибку "Превышен лимит запросов. Повторите операцию позже.", нужно в поле `taxId` передать значение `429000000000` (при `page = 1` или без `page`).
**Причина в ответе:** `"cause": "TOO_MANY_REQUESTS"`, HTTP-статус `429`
***
**9.** Чтобы получить ошибку "У вас недостаточно прав для совершения операции. Обратитесь к руководителю организации для получения полномочий.", нужно в поле `taxId` передать значение `403000000000` (при `page = 1` или без `page`).
**Причина в ответе:** `"cause": "ACTION_ACCESS_EXCEPTION"`, HTTP-статус `403`
---
# Overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/self-employed/overview.md)
## Описание
## Методы Sber API для работы с самозанятыми
* [Проверка физ. лиц на статус самозанятого](/ru/sber-api/specifications/self-employed/validate-self-employed-payees)
* [Зарегистрировать чек самозанятого](/ru/sber-api/specifications/self-employed/register-self-employed-receipt)
* [Получить список зарегистрированных чеков самозанятого](/ru/sber-api/specifications/self-employed/get-self-employed-receipts)
---
# Зарегистрировать чек самозанятого
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/self-employed/register-self-employed-receipt.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/self-employed/receipts`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/self-employed/receipts`
## Описание
Запрос для формирования и отправки чека в налоговую (ФНС) для ранее проведенного перевода (B2C-платежа) в адрес самозанятого.
Для доступа к этому методу в параметре scope ссылки авторизации пользователя должен быть указан сервис SELF\_EMPLOYED.
Перед отправкой чека самозанятый должен быть успешно валидирован. В запросе на регистрацию чека необходимо передать ValidationRequestId, полученный из ответа на запрос POST /v1/self-employed/payees/validation.
Регистрация чека в ФНС может занимать некоторое время, но не более суток. Метод работает по принципу идемпотентного запроса:
* Если чек не был зарегистрирован сразу, то в ответе придет промежуточный статус PROCESSING, необходимо повторно зарегистрировать чек, отправив точно такой же запрос (с теми же данными). Повторные запросы на регистрацию чека необходимо производить не чаще чем 1 раз в минуту первые 5 минут, и далее не чаще 1 раза в 10 минут.
* Если обработка завершена, то ответ будет содержать финальный статус SUCCESS и ссылку на зарегистрированный чек.
Рекомендации по тестированию в песочнице
## Сценарии тестирования \{#stsenarii-testirovaniya}
Для тестирования сценариев используйте **фиксированные** значения `paymentId`.
**1.** Чтобы получить успешный ответ со статусом `"receiptStatus": "PROCESSING"`, нужно в поле `paymentId` передать значение `16032026-0916-416c-9381-8c4af3c41acc`.
***
**2.** Чтобы получить успешный ответ со статусом `"receiptStatus": "SUCCESS"` и ссылкой на чек, нужно в поле `paymentId` передать любое другое значение (кроме указанных в сценариях №1, 3-10).
***
**3.** Чтобы получить ошибку "Запрос на регистрацию чека самозанятого доступен только по собственной организации.", нужно в поле `paymentId` передать значение `16032026-0116-416c-9381-8c4af3c41acc`.
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`, HTTP-статус `400`
***
**4.** Чтобы получить ошибку "При выполнении операции произошла ошибка. Мы уже работаем над ее устранением. Повторите попытку позже.", нужно в поле `paymentId` передать значение `16032026-0216-416c-9381-8c4af3c41acc`.
**Причина в ответе:** `"cause": "UNAVAILABLE_RESOURCE_EXCEPTION"`, HTTP-статус `500`
***
**5.** Чтобы получить ошибку "Сервис временно недоступен. Повторная регистрация чека невозможна, получателю необходимо создать чек самостоятельно.", нужно в поле `paymentId` передать значение `16032026-0316-416c-9381-8c4af3c41acc`.
**Причина в ответе:** `"cause": "UNAVAILABLE_RESOURCE_EXCEPTION"`, HTTP-статус `500`
***
**6.** Чтобы получить ошибку "При выполнении операции произошла ошибка. Мы уже работаем над ее устранением. Повторите попытку позже.", нужно в поле `paymentId` передать значение `16032026-0416-416c-9381-8c4af3c41acc`.
**Причина в ответе:** `"cause": "UNAVAILABLE_RESOURCE_EXCEPTION"`, HTTP-статус `500`
***
**7.** Чтобы получить ошибку "Несоответствие id валидации и id платежа", нужно в поле `paymentId` передать значение `16032026-0516-416c-9381-8c4af3c41acc`.
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`, HTTP-статус `400`
***
**8.** Чтобы получить ошибку "Не найден результат валидации физ. лица на самозанятость", нужно в поле `paymentId` передать значение `16032026-0616-416c-9381-8c4af3c41acc`.
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`, HTTP-статус `400`
***
**9.** Чтобы получить ошибку "Превышен лимит запросов. Повторите операцию позже.", нужно в поле `paymentId` передать значение `16032026-0716-416c-9381-8c4af3c41acc`.
**Причина в ответе:** `"cause": "TOO_MANY_REQUESTS"`, HTTP-статус `429`
***
**10.** Чтобы получить ошибку "У вас недостаточно прав для совершения операции. Обратитесь к руководителю организации для получения полномочий.", нужно в поле `paymentId` передать значение `16032026-0816-416c-9381-8c4af3c41acc`.
**Причина в ответе:** `"cause": "ACTION_ACCESS_EXCEPTION"`, HTTP-статус `403`
---
# Проверка физ. лиц на статус самозанятого
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/self-employed/validate-self-employed-payees.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/self-employed/payees/validation`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/self-employed/payees/validation`
## Описание
Проверяет, имеет ли физическое лицо статус самозанятого (плательщика налога на профессиональный доход), и сохраняет данные для последующей выдачи чеков.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `SELF_EMPLOYED`.
Рекомендации по тестированию в песочнице
## Сценарии тестирования \{#stsenarii-testirovaniya}
Для тестирования сценариев используйте **фиксированные** значения `taxId`.
**1.** Чтобы получить успешный ответ с результатом проверки `"payeeValidationResult": false`, нужно в поле `taxId` передать значение, начинающееся с `987654321` (например, `987654321098`).
***
**2.** Чтобы получить успешный ответ со статусом `"payeeValidationStatus": "ERROR"`, нужно в поле `taxId` передать значение, начинающееся с `12345678` (например, `123456789098`).
***
**3.** Чтобы получить успешный ответ с результатом проверки `"payeeValidationResult": true`, нужно в поле `taxId` передать любое другое значение (кроме указанных в сценариях №1, 2, 4-8).
***
**4.** Чтобы получить ошибку "При выполнении операции произошла ошибка. Мы уже работаем над ее устранением. Повторите попытку позже.", нужно в поле `taxId` передать значение `500000000001`.
**Причина в ответе:** `"cause": "UNAVAILABLE_RESOURCE_EXCEPTION"`, HTTP-статус `500`
***
**5.** Чтобы получить ошибку "Превышен лимит запросов. Повторите операцию позже.", нужно в поле `taxId` передать значение `429000000000`.
**Причина в ответе:** `"cause": "TOO_MANY_REQUESTS"`, HTTP-статус `429`
***
**6.** Чтобы получить ошибку "При выполнении операции произошла ошибка. Мы уже работаем над ее устранением. Повторите попытку позже.", нужно в поле `taxId` передать значение `500000000002`.
**Причина в ответе:** `"cause": "UNAVAILABLE_RESOURCE_EXCEPTION"`, HTTP-статус `500`
***
**7.** Чтобы получить ошибку "Запрос на проверку статусов самозанятых доступен только по собственной организации.", нужно в поле `taxId` передать значение `600000000000`.
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`, HTTP-статус `400`
---
# Запрос файла выписки в формате для экспорта
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/statement/files.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/statement/files`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/statement/files`
## Описание
Возвращает идентификатор задачи (`id`) на формирование файла выписки в нужном формате. Ссылку на скачивание файла можно получить с помощью ресурса [`/v1/statement/tasks-for-download/{taskId}`](/ru/sber-api/specifications/statement/statement-task-for-download).
Выписка в канале Sber API доступна за предыдущие 5 лет + текущий год. За выпиской глубиной более 5 лет, рекомендуем обратиться в офис банка.
Должен содержать токен доступа (access\_token) пользователя в параметре **Authorization** заголовка, номер счета (`accountNumber`), дату выписки (`statementDate`), кодировку (`encoding`) и формат (`format`) в параметрах запроса.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `GET_STATEMENT_ACCOUNT`.
:::note
Параметры должны передаваться в порядке, соответствующем их расположению в модели запроса.
:::
Рекомендации по тестированию в песочнице
Для тестирования сценариев используйте **фиксированные** значения `accountNumber` и `statementDate`.
**1.** Чтобы получить положительный ответ с **номером задачи** на скачивание укажите валидные Query Parameters.
***
**2.** Чтобы получить ошибку "Выписка доступна за предыдущие 5 лет + текущий год", нужно указать валидные `accountNumber` и `format`, а `statementDate` запросить за пределами этого периода (например, в 2025 году — выписка за 2019 год уже недоступна).
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**3.** Чтобы получить ошибку "Для внешнего сервиса недоступны операции по счету...", нужно указать валидные `format` и `statementDate`, а в параметре `accountNumber` передать значение `40702810222222222221`.
**Причина в ответе:** `"cause": "ACCESS_EXCEPTION"`
***
**4.** Чтобы получить ошибку "Счет с номером ... не найден.", нужно указать валидные `format` и `statementDate`, а в параметре `accountNumber` передать значение `40702810222222222221`.
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**5.** Чтобы получить ошибку "Счет не является действующим на запрошенную дату.", нужно указать валидный `format`, а в параметре `accountNumber` передать значение `40702810222222222222` и в параметре `statementDate` указать дату ранее `2025-01-02` или позже `2025-06-30`.
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**6.** Чтобы получить ошибку "Выписка по счету за указанную дату не найдена.", нужно указать валидный `format`, а в параметре `accountNumber` передать значение `40702810222222222223` и в параметре `statementDate` указать дату `2025-01-01`.
**Причина в ответе:** `"cause": "DATA_NOT_FOUND"`
***
**7.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно указать валидный `format`, а в параметре `accountNumber` передать значение `40702810999999999999`, `statementDate` при этом можно указать любой.
**Причина в ответе:** `"cause": "UNAVAILABLE_RESOURCE_EXCEPTION"`
Нельзя запросить выписку за дату в будущем. | |\n| | Счет не является действующим на запрошенную дату. | |\n| | Запрошенной страницы с операциями не существует. | |\n| VALIDATION_FAULT | Ошибка при разборе параметров запроса | Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request ресурса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"401":{"description":"\"Не авторизован\"\n\n| Cause | Message | Description |\n| ------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |\n| UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. | \n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"403":{"description":"| Cause | Message | Description |\n| ----------------------- | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция **`GET_STATEMENT_ACCOUNT`**. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n| ACCESS_EXCEPTION | Для внешнего сервиса недоступны операции по счету: `{номер счета}` | В процессе авторизации через СберБизнес ID пользователь должен подписать Согласие и указать счета, к которым Платформа получит доступ. Однако для данного счета доступ не был предоставлен при подписании Согласия.
Чтобы решить эту проблему, пользователю необходимо войти в СберБизнес, отменить текущее Согласие, затем заново авторизоваться в Платформе, используя СберБизнес ID. Затем СберБизнес ID предложит пользователю снова подписать Согласие. Перед подписанием ему нужно будет отметить нужный счет как доступный для Платформы. |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"404":{"description":"\"Данные не найдены\"\n\n| Cause | Message | Description |\n| ------------------------ | ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| DATA_NOT_FOUND_EXCEPTION | Выписка за указанную дату недоступна, пожалуйста, обратитесь в техническую поддержку | Необходимо собрать полный лог запроса и сформировать обращение в техническую поддержку Банка ([supportdbo2@sberbank.ru](mailto:supportdbo2@sberbank.ru)) |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"429":{"description":"\"Превышен лимит запросов\"\n\n| Cause | Message | Description |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n| Cause | Message | Description |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"503":{"description":"\"Сервис временно недоступен\"\n\n| Cause | Message | Description |\n| ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}}}} />
---
# Запрос выписки с заданным временным интервалом в пределах операционного дня
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/statement/statement-increment.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v2/statement/increment`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v2/statement/increment`
## Описание
Возвращает данные об оборотах по счету за текущий операционный день, начиная с указанного времени, а также измененные записи выписки.
Выписка в канале Sber API доступна за предыдущие 5 лет + текущий год. За выпиской глубиной более 5 лет, рекомендуем обратиться в офис банка.
Должен содержать токен доступа (access\_token) пользователя в параметре **Authorization** заголовка, номер счета (`accountNumber`) и параметры, отвечающие за период выписки: (`lastModifyDate`) **или** (`statementDate`).
Выбор параметра, отвечающего за период выписки:
* `statementDate`: запрос вернет выписку за период с 00:00 часов текущего дня до времени момента запроса.
* `lastModifyDate`: запрос вернет выписку за период с момента времени, переданного в параметре, до времени момента запроса.
* `lastModifyDateTo`: параметр передается только совместно с заполненным значением `lastModifyDate`. Запрос вернет выписку за период с момента времени, переданного в параметре `lastModifyDate`, до времени, переданного в параметре `lastModifyDateTo`.
Параметры `statementDate` и `lastModifyDate` запрещено передавать в одном запросе.
**Пример:**
Потребовалось получить выписку с 00:00 до 10:00 и организовать непрерывное получение выписок далее каждый час до 19:00.
1. 10:00 ч. Выполните запрос с атрибутом `statementDate`. В атрибуте укажите дату текущего дня в формате YYYY-MM-DD. Получите все операции на день запроса в промежутке с 00:00 текущего дня по 10:00 текущего дня. Сохраните дату и время запроса в формате `YYYY-MM-DDThh:mm:ss[.SSS]`.
Далее требуется получить выписку за период с 10:00 до 11:00.
2. 11:00 ч. Выполните запрос с атрибутом `lastModifyDate`. В атрибуте укажите текущую дата и время начала периода выписки (10:00) в формате `YYYY-MM-DDThh:mm:ss[.SSS]`. Возвращаются все операции на день запроса в промежутке с 10:00 до 11:00. Сохраните дату и время запроса в формате `YYYY-MM-DDThh:mm:ss[.SSS]`.
3. Повторяйте запросы с атрибутом `lastModifyDate` каждый час до 19:00 включительно.
Далее потребовалось повторно получить часть выписки за этот же день.
4. 20:00 ч. Выполните запрос указав начало запрашиваемого периода `lastModifyDate` (10:00) в формате `YYYY-MM-DDThh:mm:ss[.SSS]` и конец запрашиваемого периода `lastModifyDateTo` (12:24) в формате `YYYY-MM-DDThh:mm:ss[.SSS]`. Получите все операции по выписке за день, который указан в `lastModifyDate` за период с 10:00 до 12:24.
Атрибут `reloadTime` заполняется только в исключительных (внештатных) ситуациях. Если этот атрибут заполнен, то выписка возвращается за весь день целиком.
При этом фильтры `lastModifyDate` и `lastModifyDateTo` за данный день не применяются.
**Рекомендация:** При получении выписки с заполненным reloadTime необходимо полностью перевыгрузить выписку за этот день.
Рекомендации по тестированию в песочнице
Для тестирования сценариев используйте **фиксированные** значения accountNumber,`statementDate`, `lastModifyDate` и `lastModifyDateTo`.
**1.** Для получения пустой выписки укажите произвольные значения параметров `accountNumber` и `lastModifyDate`.
***
**2.** Чтобы получить выписку, по которой были корректировки в операциях, нужно указать `lastModifyDate = текущая дата -1 и время T13:40:48.780`, а `accountNumber` можно указать любой.
**Пример:**
```html
GET https://fintech-test.sberbank.ru:9443/fintech/api/v2/statement/increment?accountNumber=40702810638003360381&page=1&lastModifyDate=2025-12-01T13:40:48.780
```
***
**3.** Чтобы получить выписку за период, где дата создания вчерашний день, а исполнение на следующий день, нужно указать `lastModifyDate = текущий день-1 и время T23:30:50.780` и `lastModifyDateTo = текущий день и время T00:59:59.780`, а `accountNumber` можно указать любой.
**Пример:**
```html
GET https://fintech-test.sberbank.ru:9443/fintech/api/v2/statement/increment?accountNumber=40702810638003360381&page=1&lastModifyDate=2025-12-01T23:30:50.780&lastModifyDateTo=2025-12-02T00:59:59.780
```
**4.** Чтобы получить выписку за промежуток времени в 1 час, нужно указать `lastModifyDate = текущая дата + время T05:00:00.000` и `lastModifyDateTo = текущая дата + время T06:00:00.000`, а `accountNumber` можно указать любой.
**Пример:**
```html
GET https://fintech-test.sberbank.ru:9443/fintech/api/v2/statement/increment?accountNumber=40702810638003360381&page=1&lastModifyDate=2025-12-02T05:00:00.780&lastModifyDateTo=2025-12-02T06:00:00.780
```
***
**5.** Чтобы получить выписку с заполненным полем `reloadTime`, нужно указать `statementDate` = текущая дата - 5 дней, accountNumber можно указать любой.
**Пример:**
```html
GET https://fintech-test.sberbank.ru:9443/fintech/api/v2/statement/increment?accountNumber=40702810638003360381&page=1&statementDate=2025-11-27
```
***
**6.** Чтобы получить выписку за текущий день, нужно указать `statementDate` указать текущим днем, accountNumber можно указать любой.
**Пример:**
```html
GET https://fintech-test.sberbank.ru:9443/fintech/api/v2/statement/increment?accountNumber=40702810638003360381&page=1&statementDate=2025-12-02
```
***
**7.** Чтобы получить последнюю страницу выписки, нужно указать в `page` передать значение `10`, accountNumber можно указать любой.
**Пример:**
```html
GET https://fintech-test.sberbank.ru:9443/fintech/api/v2/statement/increment?accountNumber=40702810638003360381&page=10&statementDate=2025-12-02
```
***
**8.** Чтобы получить ошибку "Выписка доступна за предыдущие 5 лет + текущий год", нужно указать валидный `accountNumber`, а `statementDate` запросить за пределами этого периода (например, в 2025 году — выписка за 2019 год уже недоступна).
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**9.** Чтобы получить ошибку "Для внешнего сервиса недоступны операции по счету...", нужно указать валидное значение `statementDate`, а в параметре `accountNumber` передать значение `40702810222222222221`.
**Причина в ответе:** `"cause": "ACCESS_EXCEPTION"`
***
**10.** Чтобы получить ошибку "Счет с номером ... не найден.", нужно указать валидное значение `statementDate`, а в параметре `accountNumber` передать значение `40702810222222222221`.
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**11.** Чтобы получить ошибку "Счет не является действующим на запрошенную дату.", нужно в параметре `accountNumber` передать значение `40702810222222222222` и в параметре `statementDate` указать дату ранее `2025-01-02` или позже `2025-06-30`.
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**12.** Чтобы получить ошибку "Выписка по счету за указанную дату не найдена.", нужно в параметре `accountNumber` передать значение `40702810222222222223` и в параметре `statementDate` указать дату `2025-01-01`.
**Причина в ответе:** `"cause": "DATA_NOT_FOUND"`
***
**13.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в параметре `accountNumber` передать значение `40702810999999999999`, `statementDate` при этом можно указать любой.
**Причина в ответе:** `"cause": "UNAVAILABLE_RESOURCE_EXCEPTION"`
***
**14.** Чтобы получить ошибку "У вас недостаточно прав для совершения операции.", нужно в параметре `page` передать значение `88`.
**Причина в ответе:** `"cause": "ACTION_ACCESS_EXCEPTION"`
Нельзя запросить выписку за дату в будущем. | |\n| | Счет не является действующим на запрошенную дату. | |\n| | Запрошенной страницы с операциями не существует. | |\n| VALIDATION_FAULT | Ошибка при разборе параметров запроса | Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request ресурса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"401":{"description":"\"Не авторизован\"\n\n| Cause | Message | Description |\n| ------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |\n| UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. | \n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"403":{"description":"| Cause | Message | Description |\n| ----------------------- | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция **`GET_STATEMENT_ACCOUNT`**. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n| ACCESS_EXCEPTION | Для внешнего сервиса недоступны операции по счету: `{номер счета}` | В процессе авторизации через СберБизнес ID пользователь должен подписать Согласие и указать счета, к которым Платформа получит доступ. Однако для данного счета доступ не был предоставлен при подписании Согласия.
Чтобы решить эту проблему, пользователю необходимо войти в СберБизнес, отменить текущее Согласие, затем заново авторизоваться в Платформе, используя СберБизнес ID. Затем СберБизнес ID предложит пользователю снова подписать Согласие. Перед подписанием ему нужно будет отметить нужный счет как доступный для Платформы. |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"404":{"description":"\"Данные не найдены\"\n\n| Cause | Message | Description |\n| ------------------------ | ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| DATA_NOT_FOUND_EXCEPTION | Выписка за указанную дату недоступна, пожалуйста, обратитесь в техническую поддержку | Необходимо собрать полный лог запроса и сформировать обращение в техническую поддержку Банка ([supportdbo2@sberbank.ru](mailto:supportdbo2@sberbank.ru)) |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"429":{"description":"\"Превышен лимит запросов\"\n\n| Cause | Message | Description |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n| Cause | Message | Description |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"503":{"description":"\"Сервис временно недоступен\"\n\n| Cause | Message | Description |\n| ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}}}} />
---
# Statement Overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/statement/statement-overview.md)
## Описание
Методы Sber API для работы с выписками по счету.
* [Получение выписки по счету](/ru/sber-api/specifications/statement/transactions)
* [Запрос выписки с заданным временным интервалом в пределах операционного дня](/ru/sber-api/specifications/statement/statement-increment)
* [Запрос сводной информации по выписке](/ru/sber-api/specifications/statement/summary)
* [Получение операции по выписке](/ru/sber-api/specifications/statement/transactions-id)
* [Получение печатной формы одной операции по счету](/ru/sber-api/specifications/statement/transaction-id-print)
* [Запрос файла выписки в формате для экспорта](/ru/sber-api/specifications/statement/files)
* [Запрос файла выписки в печатном формате](/ru/sber-api/specifications/statement/statement-print)
:::note
Для следующих запросов, связанных с функциональностью выписок, установлена пропускная способность **5 TPS** (транзакций в секунду):
* GET `/v2/statement/summary`
* GET `/v2/statement/transactions`
* GET `/v2/statement/transactionId`
* GET `/v1/statement/print`
* GET `/v2/statement/increment`
* GET `/v1/statement/files`
* GET `/v1/statement/tasks-for-download/{taskId}`
* GET `/v1/statement/download/{fileId}`
* GET `/v2/statement/transactionId/print`
:::
---
# Запрос файла выписки в печатном формате
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/statement/statement-print.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/statement/print`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/statement/print`
## Описание
Возвращает идентификатор задачи (`id`) на формирование файла выписки в нужном печатном формате (PDF, EXCEL, DOCX, и RTF). Ссылку на скачивание файла можно получить с помощью ресурса [`/v1/statement/tasks-for-download/{taskId}`](/ru/sber-api/specifications/statement/statement-task-for-download).
Выписка в канале Sber API доступна за предыдущие 5 лет + текущий год. За выпиской глубиной более 5 лет, рекомендуем обратиться в офис банка.
Должен содержать токен доступа (access\_token) пользователя в параметре **Authorization** заголовка, номер счета (`accountNumber`), дату выписки (`statementDate`) и формат (`format`) в параметрах запроса.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `GET_STATEMENT_ACCOUNT`.
Рекомендации по тестированию в песочнице
Для тестирования сценариев используйте **фиксированные** значения `accountNumber` и `statementDate`.
**1.** Чтобы получить положительный ответ с **номером задачи** на скачивание укажите валидные Query Parameters.
***
**2.** Чтобы получить ошибку "Выписка доступна за предыдущие 5 лет + текущий год", нужно указать валидные `accountNumber` и `format`, а `statementDate` запросить за пределами этого периода (например, в 2025 году — выписка за 2019 год уже недоступна).
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**3.** Чтобы получить ошибку "Для внешнего сервиса недоступны операции по счету...", нужно указать валидные `format` и `statementDate`, а в параметре `accountNumber` передать значение `40702810222222222221`.
**Причина в ответе:** `"cause": "ACCESS_EXCEPTION"`
***
**4.** Чтобы получить ошибку "Счет с номером ... не найден.", нужно указать валидные `format` и `statementDate`, а в параметре `accountNumber` передать значение `40702810222222222221`.
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**5.** Чтобы получить ошибку "Счет не является действующим на запрошенную дату.", нужно указать валидный `format`, а в параметре `accountNumber` передать значение `40702810222222222222` и в параметре `statementDate` указать дату ранее `2025-01-02` или позже `2025-06-30`.
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**6.** Чтобы получить ошибку "Выписка по счету за указанную дату не найдена.", нужно указать валидный `format`, а в параметре `accountNumber` передать значение `40702810222222222223` и в параметре `statementDate` указать дату `2025-01-01`.
**Причина в ответе:** `"cause": "DATA_NOT_FOUND"`
***
**7.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно указать валидный `format`, а в параметре `accountNumber` передать значение `40702810999999999999`, `statementDate` при этом можно указать любой.
**Причина в ответе:** `"cause": "UNAVAILABLE_RESOURCE_EXCEPTION"`
Нельзя запросить выписку за дату в будущем. | |\n| | Счет не является действующим на запрошенную дату. | |\n| | Запрошенной страницы с операциями не существует. | Проверьте контейнер **links** с параметром (**href**) на следующую и предыдущую страницы и признаками: \"**rel**\": \"**prev**\", \"**rel**\": \"**next**\".
Если следующей страницы нет, в полученном ответе перестанет приходить **href** c признаком \"**rel**\": \"**next**\". |\n| VALIDATION_FAULT | Ошибка валидации | Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request метода, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"401":{"description":"\"Не авторизован\"\n\n| Cause | Message | Description |\n| ------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |\n| UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. | \n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"403":{"description":"\n| Cause | Message | Description |\n| ----------------------- | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция **`GET_STATEMENT_ACCOUNT`**. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n| ACCESS_EXCEPTION | Для внешнего сервиса недоступны операции по счету: `{номер счета}` | В процессе авторизации через СберБизнес ID пользователь должен подписать Согласие и указать счета, к которым Платформа получит доступ. Однако для данного счета доступ не был предоставлен при подписании Согласия.
Чтобы решить эту проблему, пользователю необходимо войти в СберБизнес, отменить текущее Согласие, затем заново авторизоваться в Платформе, используя СберБизнес ID. Затем СберБизнес ID предложит пользователю снова подписать Согласие. Перед подписанием ему нужно будет отметить нужный счет как доступный для Платформы. |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"404":{"description":"\"Данные не найдены\"\n\n| Cause | Message | Description |\n| ------------------------ | ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| DATA_NOT_FOUND_EXCEPTION | Выписка за указанную дату недоступна, пожалуйста, обратитесь в техническую поддержку | Необходимо собрать полный лог запроса и сформировать обращение в техническую поддержку Банка ([supportdbo2@sberbank.ru](mailto:supportdbo2@sberbank.ru)) |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"429":{"description":"\"Превышен лимит запросов\"\n\n| Cause | Message | Description |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n| Cause | Message | Description |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"503":{"description":"\"Сервис временно недоступен\"\n\n| Cause | Message | Description |\n| ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}}}} />
---
# Получение ссылки на скачивание выписки
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/statement/statement-task-for-download.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/statement/tasks-for-download/{taskId}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v1/statement/tasks-for-download/{taskId}`
## Описание
Запрос позволяет получить ссылку для загрузки печатной формы файла выписки по ранее сформированной задаче.
Выписка в канале Sber API доступна за предыдущие 5 лет + текущий год. За выпиской глубиной более 5 лет, рекомендуем обратиться в офис банка.
Для получения ссылки на загрузку необходимо отправить GET-запрос `/v1/statement/tasks-for-download/{taskId}` с токеном доступа (*access\_token*) пользователя в параметре **Authorization** заголовка и идентификатором задачи (**taskId**) в path-параметре.
В параметре scope ссылки авторизации пользователя должен быть указан сервис `FILES` для получения доступа к этому запросу.
:::note
После получения ответа 200 OK со статусом готовности файла к скачиванию `EXECUTED`, платформа осуществляет скачивание файла по предоставленному URL.
Обратите внимание, что для успешного выполнения этого запроса требуется наличие установленного TLS-сертификата на платформе.
Загруженный файл сохраните в базе данных платформы. Это действие позволит организовать эффективное хранение и управление доступом к файлам.
Платформа предоставляет пользователям доступ к файлам из своей базы данных. Это гарантирует, что пользователи не столкнутся с проблемами доступа, связанными с отсутствием TLS-сертификата на их устройствах.
:::
Рекомендации по тестированию в песочнице
Для тестирования сценариев используйте **фиксированные** значения `taskId`.
**1.** Чтобы получить положительный ответ с ссылкой для скачивание, нужно в `taskId` передать значение `569967764111112`.
***
**2.** Чтобы получить положительный ответ с **истекшей (прошло > 24 часов)** ссылкой для скачивание, нужно в `taskId` передать значение `569967764111113`.
***
**3.** Чтобы получить ошибку при формировании выписки, нужно в `taskId` передать значение `569967764111114`.
***
**4.** Чтобы получить сообщение о том, что выписка в процессе формирования, нужно в `taskId` передать произвольное значение.
***
**5.** Чтобы получить ошибку "Задача не найдена", нужно в `taskId` передать значение `569967764111111`.
***
**6.** Чтобы получить неожиданный статус формирования выписки, нужно в `taskId` передать значение `569967764111118`.
***
**7.** Чтобы получить сообщение о недоступности сервиса, нужно в `taskId` передать значение `569967764111118`.
---
# Запрос сводной информации по выписке
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/statement/summary.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v2/statement/summary`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v2/statement/summary`
## Описание
Возвращает информацию о входящих/исходящих остатках и суммарных оборотах за один день по счету.
Выписка в канале Sber API доступна за предыдущие 5 лет + текущий год. За выпиской глубиной более 5 лет, рекомендуем обратиться в офис банка.
Должен содержать токен доступа (access\_token) пользователя в параметре **Authorization** заголовка, номер счета (accountNumber) и дату выписки (statementDate) в параметрах запроса.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `GET_STATEMENT_ACCOUNT`.
Рекомендации по тестированию в песочнице
Для тестирования сценариев используйте **фиксированные** значения `accountNumber` и `statementDate`.
**1.** Чтобы получить положительный ответ укажите валидные Query Parameters.
***
**2.** Чтобы получить ошибку "Выписка доступна за предыдущие 5 лет + текущий год", нужно указать валидный `accountNumber`, а `statementDate` запросить за пределами этого периода (например, в 2025 году — выписка за 2019 год уже недоступна).
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**3.** Чтобы получить ошибку "Для внешнего сервиса недоступны операции по счету...", нужно указать валидный `statementDate`, а в параметре `accountNumber` передать значение `40702810222222222221`.
**Причина в ответе:** `"cause": "ACCESS_EXCEPTION"`
***
**4.** Чтобы получить ошибку "Счет с номером ... не найден.", нужно указать валидный `statementDate`, а в параметре `accountNumber` передать значение `40702810222222222221`.
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**5.** Чтобы получить ошибку "Счет не является действующим на запрошенную дату.", нужно в параметре `accountNumber` передать значение `40702810222222222222` и в параметре `statementDate` указать дату ранее `2025-01-02` или позже `2025-06-30`.
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**6.** Чтобы получить ошибку "Выписка по счету за указанную дату не найдена.", нужно в параметре `accountNumber` передать значение `40702810222222222223` и в параметре `statementDate` указать дату `2025-01-01`.
**Причина в ответе:** `"cause": "DATA_NOT_FOUND"`
***
**7.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в параметре `accountNumber` передать значение `40702810999999999999`, `statementDate` при этом можно указать любой.
**Причина в ответе:** `"cause": "UNAVAILABLE_RESOURCE_EXCEPTION"`
Нельзя запросить выписку за дату в будущем. | |\n| | Счет не является действующим на запрошенную дату. | |\n| | Запрошенной страницы с операциями не существует. | |\n| VALIDATION_FAULT | Ошибка при разборе параметров запроса | Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request ресурса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"401":{"description":"\"Не авторизован\"\n\n| Cause | Message | Description |\n| ------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |\n| UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. | \n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"403":{"description":"\"Доступ запрещен\"\n\n| Cause | Message | Description |\n| ----------------------- | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция **`GET_STATEMENT_ACCOUNT`**. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n| ACCESS_EXCEPTION | Для внешнего сервиса недоступны операции по счету: `{номер счета}` | В процессе авторизации через СберБизнес ID пользователь должен подписать Согласие и указать счета, к которым Платформа получит доступ. Однако для данного счета доступ не был предоставлен при подписании Согласия.
Чтобы решить эту проблему, пользователю необходимо войти в СберБизнес, отменить текущее Согласие, затем заново авторизоваться в Платформе, используя СберБизнес ID. Затем СберБизнес ID предложит пользователю снова подписать Согласие. Перед подписанием ему нужно будет отметить нужный счет как доступный для Платформы. |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"404":{"description":"\"Данные не найдены\"\n\n| Cause | Message | Description |\n| ------------------------ | ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| DATA_NOT_FOUND_EXCEPTION | Выписка за указанную дату недоступна, пожалуйста, обратитесь в техническую поддержку | Необходимо собрать полный лог запроса и сформировать обращение в техническую поддержку Банка ([supportdbo2@sberbank.ru](mailto:supportdbo2@sberbank.ru)) |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"415":{"description":"В соответствии с текущими настройками сервиса с clientId=%s необходимо использовать запрос в формате JWS Compact Serialization","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"429":{"description":"\"Превышен лимит запросов\"\n\n| Cause | Message | Description |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n| Cause | Message | Description |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"503":{"description":"\"Сервис временно недоступен\"\n\n| Cause | Message | Description |\n| ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}}}} />
---
# Получение печатной формы одной операции по счету
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/statement/transaction-id-print.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v2/statement/transactionId/print`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v2/statement/transactionId/print`
## Описание
Возвращает печатную форму выписки по одной операции в разных форматах. Полученный ответ необходимо декодировать с помощью алгоритма Base64 Encoding.
Выписка в канале Sber API доступна за предыдущие 5 лет + текущий год. За выпиской глубиной более 5 лет, рекомендуем обратиться в офис банка.
Должен содержать токен доступа (access\_token) пользователя в параметре **Authorization** заголовка, номер счета (accountNumber), дату выписки (statementDate) и формат запрашиваемой печатной формы (**format**) в параметрах запроса.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `GET_STATEMENT_ACCOUNT`.
Рекомендации по тестированию в песочнице
Для тестирования сценариев используйте **фиксированные** значения `accountNumber`, `operationDate` и `format`.
**1.** Чтобы получить операции в разных форматах, нужно указать валидные значения `operationDate`, `id` и `accountNumber`, а в парамер `format` передать значения:
* PDF
* EXCEL
* DOCX
* RTF
***
**2.** Чтобы получить ошибку "Выписка доступна за предыдущие 5 лет + текущий год", нужно указать валидные `accountNumber`, `format` и `id`, а `operationDate` запросить за пределами этого периода (например, в 2025 году — выписка за 2019 год уже недоступна).
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**3.** Чтобы получить ошибку "Для внешнего сервиса недоступны операции по счету...", нужно указать валидное значения `format`, `id` и `operationDate`, а в параметре `accountNumber` передать значение `40702810222222222221`.
**Причина в ответе:** `"cause": "ACCESS_EXCEPTION"`
***
**4.** Чтобы получить ошибку "Счет с номером ... не найден.", нужно указать валидное значения `format`, `id` и `operationDate`, а в параметре `accountNumber` передать значение `40702810222222222221`.
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**5.** Чтобы получить ошибку "Счет не является действующим на запрошенную дату.", нужно в параметре `accountNumber` передать значение `40702810222222222222` и в параметре `operationDate` указать дату ранее `2025-01-02` или позже `2025-06-30`.
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**6.** Чтобы получить ошибку "Выписка по счету за указанную дату не найдена.", нужно в параметре `accountNumber` передать значение `40702810222222222223` и в параметре `operationDate` указать дату `2025-01-01`.
**Причина в ответе:** `"cause": "DATA_NOT_FOUND"`
***
**7.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в параметре `accountNumber` передать значение `40702810999999999999`, а `format`, `id`, `operationDate` при этом можно указать любые.
**Причина в ответе:** `"cause": "UNAVAILABLE_RESOURCE_EXCEPTION"`
При необходимости дополнительной проверки получите информацию о доступных счета для работы в Sber API с помощью ресурса `/fintech/api/v2/oauth/user-info` |\n| | Дата выписки позже текущей. Нельзя запросить выписку за дату в будущем. | |\n| | Счет не является действующим на запрошенную дату. | |\n| | Запрошенной страницы с операциями не существует. | Проверьте контейнер **links** с параметром (**href**) на следующую и предыдущую страницы и признаками: \"**rel**\": \"**prev**\", \"**rel**\": \"**next**\".
Если следующей страницы нет, в полученном ответе перестанет приходить **href** c признаком \"**rel**\": \"**next**\". |\n| | Неверный тип [_значение из атрибута format_]! | Допустимые значения для атрибута **format**: PDF, RTF, EXCEL, DOCX |\n| VALIDATION_FAULT | Ошибка валидации | Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request метода, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"401":{"description":"\"Не авторизован\"\n\n| Cause | Message | Description |\n| ------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |\n| UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. | \n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"403":{"description":"| Cause | Message | Description |\n| ----------------------- | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция **`GET_STATEMENT_ACCOUNT`**. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n| ACCESS_EXCEPTION | Для внешнего сервиса недоступны операции по счету: `{номер счета}` | В процессе авторизации через СберБизнес ID пользователь должен подписать Согласие и указать счета, к которым Платформа получит доступ. Однако для данного счета доступ не был предоставлен при подписании Согласия.
Чтобы решить эту проблему, пользователю необходимо войти в СберБизнес, отменить текущее Согласие, затем заново авторизоваться в Платформе, используя СберБизнес ID. Затем СберБизнес ID предложит пользователю снова подписать Согласие. Перед подписанием ему нужно будет отметить нужный счет как доступный для Платформы. |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"404":{"description":"\"Данные не найдены\"\n\n| Cause | Message | Description |\n| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |\n| DATA_NOT_FOUND_EXCEPTION | Операция по выписке по переданному идентификатору: `{operationId из запроса}` не найдена. Выполните запрос GET||\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"429":{"description":"\"Превышен лимит запросов\"\n\n| Cause | Message | Description |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n| Cause | Message | Description |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"503":{"description":"\"Сервис временно недоступен\"\n\n| Cause | Message | Description |\n| ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}}}} />
---
# Получение операции по выписке
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/statement/transactions-id.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v2/statement/transactionId`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v2/statement/transactionId`
## Описание
Возвращает реквизиты операции из выписки.
Выписка в канале Sber API доступна за предыдущие 5 лет + текущий год. За выпиской глубиной более 5 лет, рекомендуем обратиться в офис банка.
Должен содержать токен доступа (access\_token) пользователя в параметре **Authorization** заголовка, номер счета (accountNumber), дату выписки (statementDate) и идентификатор операции (operationId) в параметрах запроса.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `GET_STATEMENT_ACCOUNT`.
Рекомендации по тестированию в песочнице
Для тестирования сценариев используйте **фиксированные** значения `accountNumber`, `operationDate` и `id`.
**1.** Чтобы получить операции по рублевой выписке укажите валидные Query Parameters.
***
**2.** Чтобы получить операции по валютной выписке, нужно указать валидные `operationDate` и `id`, а в параметре `accountNumber` передать значение `40702810333333333333`.
***
**3.** Чтобы получить ошибку "Выписка доступна за предыдущие 5 лет + текущий год", нужно указать валидные `accountNumber`, а `operationDate` запросить за пределами этого периода (например, в 2025 году — выписка за 2019 год уже недоступна).
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**4.** Чтобы получить ошибку "Для внешнего сервиса недоступны операции по счету...", нужно указать валидное значение `operationDate`, а в параметре `accountNumber` передать значение `40702810222222222221`.
**Причина в ответе:** `"cause": "ACCESS_EXCEPTION"`
***
**5.** Чтобы получить ошибку "Счет с номером ... не найден.", нужно указать валидное значение `operationDate`, а в параметре `accountNumber` передать значение `40702810222222222221`.
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**6.** Чтобы получить ошибку "Счет не является действующим на запрошенную дату.", нужно в параметре `accountNumber` передать значение `40702810222222222222` и в параметре `operationDate` указать дату ранее `2025-01-02` или позже `2025-06-30`.
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**7.** Чтобы получить ошибку "Выписка по счету за указанную дату не найдена.", нужно в параметре `accountNumber` передать значение `40702810222222222223` и в параметре `operationDate` указать дату `2025-01-01`.
**Причина в ответе:** `"cause": "DATA_NOT_FOUND"`
***
**8.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в параметре `accountNumber` передать значение `40702810999999999999`, `operationDate` при этом можно указать любой.
**Причина в ответе:** `"cause": "UNAVAILABLE_RESOURCE_EXCEPTION"`
Нельзя запросить выписку за дату в будущем. | |\n| | Счет не является действующим на запрошенную дату. | |\n| | Запрошенной страницы с операциями не существует. | Проверьте контейнер **links** с параметром (**href**) на следующую и предыдущую страницы и признаками: \"**rel**\": \"**prev**\", \"**rel**\": \"**next**\".
Если следующей страницы нет, в полученном ответе перестанет приходить **href** c признаком \"**rel**\": \"**next**\". |\n| VALIDATION_FAULT | Ошибка при разборе параметров запроса | Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request ресурса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"401":{"description":"\"Не авторизован\"\n\n| Cause | Message | Description |\n| ------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |\n| UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. | \n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"403":{"description":"| Cause | Message | Description |\n| ----------------------- | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция **`GET_STATEMENT_ACCOUNT`**. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n| ACCESS_EXCEPTION | Для внешнего сервиса недоступны операции по счету: `{номер счета}` | В процессе авторизации через СберБизнес ID пользователь должен подписать Согласие и указать счета, к которым Платформа получит доступ. Однако для данного счета доступ не был предоставлен при подписании Согласия.
Чтобы решить эту проблему, пользователю необходимо войти в СберБизнес, отменить текущее Согласие, затем заново авторизоваться в Платформе, используя СберБизнес ID. Затем СберБизнес ID предложит пользователю снова подписать Согласие. Перед подписанием ему нужно будет отметить нужный счет как доступный для Платформы. |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"404":{"description":"\"Данные не найдены\"\n\n| Cause | Message | Description |\n| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |\n| DATA_NOT_FOUND_EXCEPTION | Операция по выписке по переданному идентификатору: `operationId` из запроса не найдена. Выполните запрос GET `/statement/transactions/` для получения актуальных идентификаторов. | Выполните запрос `/fintech/api/v2/statement/transactionId` для получения актуальных идентификаторов. |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"429":{"description":"\"Превышен лимит запросов\"\n\n| Cause | Message | Description |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n| Cause | Message | Description |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"503":{"description":"\"Сервис временно недоступен\"\n\n| Cause | Message | Description |\n| ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}}}} />
---
# Получение выписки по счету
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/statement/transactions.md)
## Адрес запроса
- Песочница: **GET** `https://fintech-test.sberbank.ru:9443/fintech/api/v2/statement/transactions`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/v2/statement/transactions`
## Описание
Возвращает выписку по счету (рублевому или валютному) за выбранную дату.
Должен содержать токен доступа (access\_token) пользователя в параметре **Authorization** заголовка, номер счета (accountNumber), дату выписки (statementDate) и номер запрашиваемой страницы (**page**) в параметрах запроса.
* Запрашивайте данные постранично, начиная с первой страницы.
* Выписка в канале Sber API доступна за предыдущие 5 лет + текущий год. За выпиской глубиной более 5 лет, рекомендуем обратиться в офис банка.
* В получаемой выписке внутри каждой операции сначала отображается информация по плательщику, а затем информация по получателю.
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `GET_STATEMENT_ACCOUNT`.
Рекомендации по тестированию в песочнице
Для тестирования сценариев используйте **фиксированные** значения `accountNumber`, `operationDate` и `format`.
**1.** Чтобы получить рублевую выписку укажите валидные Query Parameters.
***
**2.** Чтобы получить валютную выписку с `curTransfer`, нужно в параметре `accountNumber` передать значение `40702810333333333333` и в параметре `curFormat` значение `curTransfer`.
***
**3.** Чтобы получить валютную выписку с `swiftTransfer`, нужно в параметре `accountNumber` передать значение `40702810333333333333` и в параметре `curFormat` значение `swiftTransfer`.
***
**4.** Чтобы получить последнюю страницу выписки, нужно указать в `page` передать значение `10`, accountNumber можно указать любой.
***
**5.** Чтобы получить ошибку "Выписка доступна за предыдущие 5 лет + текущий год", нужно указать валидные `accountNumber`, `format` и `id`, а `operationDate` запросить за пределами этого периода (например, в 2025 году — выписка за 2019 год уже недоступна).
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**6.** Чтобы получить ошибку "Для внешнего сервиса недоступны операции по счету...", нужно указать валидное значения `format`, `id` и `operationDate`, а в параметре `accountNumber` передать значение `40702810222222222221`.
**Причина в ответе:** `"cause": "ACCESS_EXCEPTION"`
***
**7.** Чтобы получить ошибку "Счет с номером ... не найден.", нужно указать валидное значения `format`, `id` и `operationDate`, а в параметре `accountNumber` передать значение `40702810222222222221`.
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**8.** Чтобы получить ошибку "Счет не является действующим на запрошенную дату.", нужно в параметре `accountNumber` передать значение `40702810222222222222` и в параметре `operationDate` указать дату ранее `2025-01-02` или позже `2025-06-30`.
**Причина в ответе:** `"cause": "WORKFLOW_FAULT"`
***
**9.** Чтобы получить ошибку "Выписка по счету за указанную дату не найдена.", нужно в параметре `accountNumber` передать значение `40702810222222222223` и в параметре `operationDate` указать дату `2025-01-01`.
**Причина в ответе:** `"cause": "DATA_NOT_FOUND"`
***
**10.** Чтобы получить ошибку "При выполнении операции произошла ошибка...", нужно в параметре `accountNumber` передать значение `40702810999999999999`, а `format`, `id`, `operationDate` при этом можно указать любые.
**Причина в ответе:** `"cause": "UNAVAILABLE_RESOURCE_EXCEPTION"`
***
**11.** Чтобы получить ошибку "У вас недостаточно прав для совершения операции.", нужно в параметре `page` передать значение `88`.
**Причина в ответе:** `"cause": "ACTION_ACCESS_EXCEPTION"`
Нельзя запросить выписку за дату в будущем. | |\n| | Счет не является действующим на запрошенную дату. | |\n| | Запрошенной страницы с операциями не существует. | |\n| VALIDATION_FAULT | Ошибка при разборе параметров запроса | Данные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request ресурса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос. |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"401":{"description":"\"Не авторизован\"\n\n| Cause | Message | Description |\n| ------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |\n| UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. | \n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"403":{"description":"\n| Cause | Message | Description |\n| ----------------------- | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция **`GET_STATEMENT_ACCOUNT`**. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |\n| ACCESS_EXCEPTION | Для внешнего сервиса недоступны операции по счету: `{номер счета}` | В процессе авторизации через СберБизнес ID пользователь должен подписать Согласие и указать счета, к которым Платформа получит доступ. Однако для данного счета доступ не был предоставлен при подписании Согласия.
Чтобы решить эту проблему, пользователю необходимо войти в СберБизнес, отменить текущее Согласие, затем заново авторизоваться в Платформе, используя СберБизнес ID. Затем СберБизнес ID предложит пользователю снова подписать Согласие. Перед подписанием ему нужно будет отметить нужный счет как доступный для Платформы. |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"404":{"description":"\"Данные не найдены\"\n\n| Cause | Message | Description |\n| ------------------------ | ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| DATA_NOT_FOUND_EXCEPTION | Выписка за указанную дату недоступна, пожалуйста, обратитесь в техническую поддержку | Необходимо собрать полный лог запроса и сформировать обращение в техническую поддержку Банка ([supportdbo2@sberbank.ru](mailto:supportdbo2@sberbank.ru)) |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"429":{"description":"\"Превышен лимит запросов\"\n\n| Cause | Message | Description |\n| ----------------- | -------------------------------------------------- | ---------------------|\n| TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |\n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"500":{"description":"\"Внутренняя ошибка сервера\"\n\n| Cause | Message | Description |\n| ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}},"503":{"description":"\"Сервис временно недоступен\"\n\n| Cause | Message | Description |\n| ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| UNAVAILABLE_RESOURCE_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. | \n","content":{"application/json":{"schema":{"type":"object","title":"Notice","description":"Информационное сообщение об ошибке, сбое или предупреждение","properties":{"cause":{"type":"string","description":"Причина или основание сообщения"},"referenceId":{"type":"string","description":"Уникальный идентификатор (UUID)"},"message":{"type":"string","description":"Сообщение"}}}}}}}} />
---
# Получить список справок
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/tax-deduction/get-deduction-info.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/tax-deductions/deductions/filter`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/tax-deductions/deductions/filter`
## Описание
Запрос позволяет получить список справок, имеющийся на стороне банка и удовлетворяющий условиям фильтрации, и их состояние на момент запроса.
**Чтобы использовать метод:**
* В параметре `scope` ссылки авторизации пользователя должен быть указан сервис `TAX_DEDUCTION_INFO` для получения доступа к этому ресурсу.
* Запросы должны отправляться с токеном доступа (`access_token`) пользователя в параметре `Authorization` заголовка. Подробнее об авторизации в соответствующем разделе [документации](https://developers.sber.ru/docs/ru/sber-api/specifications/oauth).
Если ваша схема реализации предполагает фильтрацию по статусам, то значения `deductionStatuses` должны соответствовать статусной модели (ссылка).
В методе используется Cursor-based пагинация — способ постраничного получения данных, при котором для навигации используется уникальный идентификатор (курсор) последнего элемента предыдущей страницы. Для получения следующей пачки справок вместо передачи номера страницы или смещения необходимо указывать курсор (`cursor`), сервере вернет следующий набор данных, начиная с элемента, следующего за этим курсором.
**Рекомендации по вызову метода**
* При первом вызове метода допустимо получение справок за предыдущие 3 года, но не ранее 01.01.2025 года.
* При настройке регулярного получения справок рекомендуем использовать параметры `deductionLastChangeDate`, чтобы получать только новые/обновленные в этом временном интервале справки. При этом необходимо пересчитывать from-to параметры относительно предыдущего запроса.
:::note
Для запроса установлена пропускная способность: 5tps
:::
Рекомендации по тестированию в песочнице
1. Для получения первой части списка справок отправьте запрос без указания курсора и параметров фильтрации.
2. Для получения второй части справок отправьте запрос с курсором, полученным в первом запросе: `cursor == "MjAyNi0wMi0xMVQwOTo1MjowMi4wMzc2NzZaOzFkZDZiMjViLWNhZGEtNGQ3Mi1iMTQ5LTk3NTRkYzEzNTU5ZTsxMTI7MTEw"`.
3. Для получения ответа с ошибкой отправьте запрос с параметром `size = 102`.
4. Для получения ответа со статусом 204 отправьте запрос с параметром `size = 101`.
\n Коды документов\n\n 1. **03** — Свидетельство о рождении\n 2. **07** — Военный билет\n 3. **08** — Временное удостоверение, выданное взамен военного билета\n 4. **10** — Паспорт иностранного гражданина\n 5. **11** — Свидетельство о рассмотрении ходатайства о признании лица беженцем на территории Российской Федерации по существу\n 6. **12** — Вид на жительство в Российской Федерации\n 7. **13** — Удостоверение беженца\n 8. **14** — Временное удостоверение личности гражданина Российской Федерации\n 9. **15** — Разрешение на временное проживание в Российской Федерации\n 10. **19** — Свидетельство о предоставлении временного убежища на территории Российской Федерации\n 11. **21** — Паспорт гражданина Российской Федерации\n 12. **22** — Загранпаспорт гражданина Российской Федерации\n 13. **23** — Свидетельство о рождении, выданное уполномоченным органом иностранного государства\n 14. **24** — Удостоверение личности военнослужащего Российской Федерации\n 15. **27** — Военный билет офицера запаса\n 16. **91** — Иные документы, удостоверяющие личность налогоплательщика (согласно законодательству или международным договорам РФ)\n\n","enum":["21","03","07","08","10","11","12","13","14","15","19","23","24","27","91"],"example":"21","title":"externalDulCode"},"clientDulSeries":{"type":"string","description":"Серия документа, удостоверяющего личность плательщика","pattern":"(^[а-яА-Яa-zA-Z\\d\\*/-]+$)","maxLength":20,"example":"1234"},"clientDulNumber":{"type":"string","description":"Номер документа, удостоверяющего личность плательщика","maxLength":25,"pattern":"(^[а-яА-Яa-zA-Z\\d\\*/-]+$)","example":"123456"},"clientDulDate":{"type":"string","description":"Дата выдачи документа, удостоверющего личность плательщика","pattern":"^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$","example":"2000-10-01"},"clientInn":{"type":"string","description":"ИНН плательщика","maxLength":12,"minLength":12,"pattern":"^\\d+$","example":"123456789012"},"clientBirthDate":{"type":"string","description":"Дата рождения","pattern":"^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$","example":"1980-06-11"},"transactions":{"type":"array","maxItems":4,"description":"Массив транзакций","items":{"type":"object","description":"Списки транзакций по годам","required":["transactionYear"],"properties":{"transactionYear":{"type":"integer","format":"int32(4)","example":2024,"minimum":2024,"maximum":3024,"description":"Год, за который подается справка"},"transactionsByYear":{"type":"array","maxItems":100,"description":"Массив справок по клиенту","items":{"type":"object","description":"Списки транзакций по годам","required":["rrn"],"properties":{"rrn":{"description":"Уникальный идентификационный номер транзакции (rrn)","type":"string","example":"246324756475","pattern":"^[\\w\\W]{0,255}$"},"date":{"description":"Дата транзакции","example":"2025-07-01T11:45:02.0Z","type":"string","format":"date-time"},"amount":{"type":"number","description":"Сумма транзакци","minimum":0,"maximum":9999999999999.99,"example":1234567.89}},"additionalProperties":false,"title":"rrnObject"}}},"additionalProperties":false,"title":"externalTransactions"}},"deductions":{"type":"array","maxItems":50,"description":"Массив справок по клиенту","items":{"type":"object","description":"Вычет по клиенту","required":["deductionUuid","deductionStatus","deductionYear","serviceType"],"properties":{"inn":{"type":"string","maxLength":12,"minLength":10,"pattern":"^\\d+$","description":"ИНН Организации","example":"745673645362"},"deductionUuid":{"type":"string","description":"UUID вычета внутри Банка","pattern":"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}","example":"8afd38fb-8066-476f-88df-285b86c94b92"},"externalDeductionId":{"type":"string","description":"ID вычета в сторонней системе","example":"8afd38fb-8096-476f-88df-285b86c94b92","pattern":"^[\\w\\W]{0,255}$"},"primaryDeductionUuid":{"type":"string","description":"UUID исходного вычета, к которому сделана корректировка (исходная справка с корректировкой 0)","pattern":"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}","example":"8afd38fb-8066-476f-88df-285b86c94b92"},"parentDeductionUuid":{"type":"string","description":"UUID вычета, к которому сделана корректировка","pattern":"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}","example":"8afd38fb-8066-476f-88df-285b86c94b92"},"deductionStatus":{"type":"string","description":"Статус справки","enum":["READY","EDITED","READY_TO_SEND","SENT","ERROR","ERROR_FNS","ARCHIVED","APPROVED_FNS","DRAFT","SIGNED","SENDING","EDO_ERROR","WAITING_RESPONSE_TO_FNS","NOT_CONFIRMED"],"example":"READY","title":"deductionStatus"},"amount":{"type":"number","description":"Сумма","example":12347.89,"minimum":0,"maximum":9999999999999.99},"expensiveAmount":{"type":"number","maxLength":18,"description":"Сумма дорогостоящей услуги (актуально для serviceType = MEDICINE)","example":400000,"minimum":0,"maximum":9999999999999.99},"deductionYear":{"type":"integer","format":"int32(4)","example":2024,"minimum":2024,"maximum":3024,"description":"Год, за который подается справка"},"deductionLastChangeDate":{"type":"string","description":"Дата обновления справки","format":"date-time","example":"2025-07-01T11:45:02.0Z"},"offlineService":{"type":"boolean","description":"Признак очной услуги (актуально для serviceType = EDUCATION)","format":"boolean","example":true},"childrenEducation":{"type":"boolean","description":"Признак оплаты за обучения ребенка (актуально для serviceType = EDUCATION)","format":"boolean","example":false},"receiptDate":{"description":"Дата получения квитанции о приеме от ФНС","type":"string","pattern":"^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$","example":"2025-01-01"},"corrNumber":{"type":"integer","format":"int32","example":1,"minimum":0,"maximum":999,"description":"Номер корректировки"},"deductionNumber":{"type":"integer","format":"int32","example":90000001,"minimum":1,"maximum":2147483647,"description":"Номер справки (в Банке)"},"serviceType":{"type":"string","description":"Вид услуги, за которую предоставляется вычет\n\nЧтобы клиент (ФЛ) получил вычет, организация должна иметь лицензию на предоставление соответствующих услуг (в сфере медицины, образования или спорта).\n","enum":["MEDICINE","EDUCATION","SPORT"],"example":"EDUCATION","title":"serviceType"},"route":{"required":["kno"],"type":"object","properties":{"kno":{"maxLength":4,"minLength":4,"pattern":"^[\\d]{4}$","type":"string","description":"Код налогового органа (КНО).","example":"7700"},"kpp":{"maxLength":9,"pattern":"^[\\d]{9}$","type":"string","description":"КПП.","example":"772901001"}},"additionalProperties":false,"description":"Данные маршрута для отправки справки.","title":"route"},"beneficiary":{"required":["beneficiaryIsClient"],"type":"object","properties":{"beneficiaryIsClient":{"type":"boolean","description":"Признак что плательщик - это бенефицар (получатель услуги)","example":false},"beneficiaryLastName":{"type":"string","maxLength":60,"pattern":"^[а-яА-ЯЁеIV\\s.,'()-]+$","description":"Фамилия бенефициара (получателя услуги)","example":"Иванова"},"beneficiaryFirstName":{"type":"string","maxLength":60,"pattern":"^[а-яА-ЯЁеIV\\s.,'()-]+$","description":"Имя бенефициара (получателя услуги)","example":"Ольга"},"beneficiaryMiddleName":{"type":"string","maxLength":60,"pattern":"^[а-яА-ЯЁеIV\\s.,'()-]+$","description":"Отчество бенефициара (получателя услуги)","example":"Петровна"},"beneficiaryDulCode":{"type":"string","description":"Код документа, удостоверяющего личность.\n\nЯвляется обязательным, если не передан ИНН.\n\nЕсли не заполнен один из обязательных атрибутов, относящихся к документу, удостоверяющему личность (код или номер или дата выдачи), то сохраняется только ИНН.\n\nКод документа, удостоверяющего личность плательщика/получателя услуги (бенефициара).\nДолжен соответствовать справочнику ФНС:\n\n Коды документов\n\n 1. **03** — Свидетельство о рождении\n 2. **07** — Военный билет\n 3. **08** — Временное удостоверение, выданное взамен военного билета\n 4. **10** — Паспорт иностранного гражданина\n 5. **11** — Свидетельство о рассмотрении ходатайства о признании лица беженцем на территории Российской Федерации по существу\n 6. **12** — Вид на жительство в Российской Федерации\n 7. **13** — Удостоверение беженца\n 8. **14** — Временное удостоверение личности гражданина Российской Федерации\n 9. **15** — Разрешение на временное проживание в Российской Федерации\n 10. **19** — Свидетельство о предоставлении временного убежища на территории Российской Федерации\n 11. **21** — Паспорт гражданина Российской Федерации\n 12. **22** — Загранпаспорт гражданина Российской Федерации\n 13. **23** — Свидетельство о рождении, выданное уполномоченным органом иностранного государства\n 14. **24** — Удостоверение личности военнослужащего Российской Федерации\n 15. **27** — Военный билет офицера запаса\n 16. **91** — Иные документы, удостоверяющие личность налогоплательщика (согласно законодательству или международным договорам РФ)\n\n","enum":["21","03","07","08","10","11","12","13","14","15","19","23","24","27","91"],"example":"21","title":"externalDulCode"},"beneficiaryDulSeries":{"type":"string","maxLength":20,"description":"Серия документа бенефициара (получателя услуги)","pattern":"(^[а-яА-Яa-zA-Z\\d\\*/-]+$)","example":"2001"},"beneficiaryDulNumber":{"type":"string","maxLength":25,"pattern":"(^[а-яА-Яa-zA-Z\\d\\*/-]+$)","description":"Номер документа бенефициара (получателя услуги)","example":"345029"},"beneficiaryDulDate":{"type":"string","description":"Дата выдачи документа бенефициара (получателя услуги)","pattern":"^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$","example":"2024-01-01"},"beneficiaryInn":{"type":"string","minLength":12,"maxLength":12,"pattern":"^\\d+$","description":"ИНН бенефицара (получателя услуги)\n\nЯвляется обязательным к заполнению, если отсутствуют данные документа, удостоверяющего личность. \n","example":"126472846573"},"beneficiaryBirthDate":{"type":"string","description":"Дата рождения бенефициара (получателя услуги)","pattern":"^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$","example":"2005-01-01"}},"additionalProperties":false,"title":"externalBeneficiary"}},"additionalProperties":false,"title":"getDeductionForClientExternalRs"}}},"additionalProperties":false,"title":"getClientDeductionExternalRs"}},"pagination":{"type":"object","description":"Параметры пагинации","properties":{"cursor":{"description":"Курсор для получения следующей страницы в формате base64","type":"string","pattern":"^[\\w\\W]{0,255}$","example":"MTMzMTI1NTUyNjAwMDtmNWYzMDlmOC1kYzQwLTQzNWItYjJiMS1lYWJhZGRlNmFjYmY="},"size":{"type":"integer","description":"Количество запрашиваемых записей на странице","minimum":1,"maximum":200,"example":10,"default":100},"totalCount":{"type":"integer","description":"Общее количество запрашиваемых записей","example":5000,"minimum":1,"maximum":2147483647}},"additionalProperties":false,"title":"externalPagination"}},"additionalProperties":false,"title":"getDeductionInfoExternalResponse"}}}},"204":{"description":"No content"},"400":{"description":"Невалидные данные в запросе","content":{"application/json":{"schema":{"description":"Формат тела ответа ошибки","required":["internalErrorCode","message"],"type":"object","properties":{"internalErrorCode":{"type":"string","description":"Код ошибки","example":"697.1-5929","pattern":"^[\\d.-]+$","maxLength":50},"cause":{"type":"string","description":"Код типа ошибки. Может быть использован партнером для обработки на своей стороне.","example":"PERMISSION_EXCEPTION","pattern":"^[A-zА-яЁе0-9\\s\\:\\-\\.\\,\\;\\(\\)\\+\\/\\\\%\\\\&\\\\#\\\\№\\\\=]*$","maxLength":255},"referenceId":{"type":"string","pattern":"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}","description":"Уникальный идентификатор ошибки","example":"4365774d-ef4c-40dc-ba47-e3422098e490"},"message":{"type":"string","description":"Текст ошибки","example":"Операция не может быть выполнена: отсутствуют полномочия.","pattern":"^[A-zА-яЁе0-9\\s\\:\\-\\.\\,\\;\\(\\)\\+\\/\\\\%\\\\&\\\\#\\\\№\\\\=]*$","maxLength":255}},"additionalProperties":false,"title":"externalErrorResponse"}}}},"403":{"description":"Доступ запрещен","content":{"application/json":{"schema":{"description":"Формат тела ответа ошибки","required":["internalErrorCode","message"],"type":"object","properties":{"internalErrorCode":{"type":"string","description":"Код ошибки","example":"697.1-5929","pattern":"^[\\d.-]+$","maxLength":50},"cause":{"type":"string","description":"Код типа ошибки. Может быть использован партнером для обработки на своей стороне.","example":"PERMISSION_EXCEPTION","pattern":"^[A-zА-яЁе0-9\\s\\:\\-\\.\\,\\;\\(\\)\\+\\/\\\\%\\\\&\\\\#\\\\№\\\\=]*$","maxLength":255},"referenceId":{"type":"string","pattern":"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}","description":"Уникальный идентификатор ошибки","example":"4365774d-ef4c-40dc-ba47-e3422098e490"},"message":{"type":"string","description":"Текст ошибки","example":"Операция не может быть выполнена: отсутствуют полномочия.","pattern":"^[A-zА-яЁе0-9\\s\\:\\-\\.\\,\\;\\(\\)\\+\\/\\\\%\\\\&\\\\#\\\\№\\\\=]*$","maxLength":255}},"additionalProperties":false,"title":"externalErrorResponse"}}}},"404":{"description":"Не найдено","content":{"application/json":{"schema":{"description":"Формат тела ответа ошибки","required":["internalErrorCode","message"],"type":"object","properties":{"internalErrorCode":{"type":"string","description":"Код ошибки","example":"697.1-5929","pattern":"^[\\d.-]+$","maxLength":50},"cause":{"type":"string","description":"Код типа ошибки. Может быть использован партнером для обработки на своей стороне.","example":"PERMISSION_EXCEPTION","pattern":"^[A-zА-яЁе0-9\\s\\:\\-\\.\\,\\;\\(\\)\\+\\/\\\\%\\\\&\\\\#\\\\№\\\\=]*$","maxLength":255},"referenceId":{"type":"string","pattern":"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}","description":"Уникальный идентификатор ошибки","example":"4365774d-ef4c-40dc-ba47-e3422098e490"},"message":{"type":"string","description":"Текст ошибки","example":"Операция не может быть выполнена: отсутствуют полномочия.","pattern":"^[A-zА-яЁе0-9\\s\\:\\-\\.\\,\\;\\(\\)\\+\\/\\\\%\\\\&\\\\#\\\\№\\\\=]*$","maxLength":255}},"additionalProperties":false,"title":"externalErrorResponse"}}}},"422":{"description":"Ошибка валидации данных","content":{"application/json":{"schema":{"description":"Формат тела ответа ошибки","required":["internalErrorCode","message"],"type":"object","properties":{"internalErrorCode":{"type":"string","description":"Код ошибки","example":"697.1-5929","pattern":"^[\\d.-]+$","maxLength":50},"cause":{"type":"string","description":"Код типа ошибки. Может быть использован партнером для обработки на своей стороне.","example":"PERMISSION_EXCEPTION","pattern":"^[A-zА-яЁе0-9\\s\\:\\-\\.\\,\\;\\(\\)\\+\\/\\\\%\\\\&\\\\#\\\\№\\\\=]*$","maxLength":255},"referenceId":{"type":"string","pattern":"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}","description":"Уникальный идентификатор ошибки","example":"4365774d-ef4c-40dc-ba47-e3422098e490"},"message":{"type":"string","description":"Текст ошибки","example":"Операция не может быть выполнена: отсутствуют полномочия.","pattern":"^[A-zА-яЁе0-9\\s\\:\\-\\.\\,\\;\\(\\)\\+\\/\\\\%\\\\&\\\\#\\\\№\\\\=]*$","maxLength":255}},"additionalProperties":false,"title":"externalErrorResponse"}}}},"500":{"description":"В случае возникновения внутренней ошибки сервера","content":{"application/json":{"schema":{"description":"Формат тела ответа ошибки","required":["internalErrorCode","message"],"type":"object","properties":{"internalErrorCode":{"type":"string","description":"Код ошибки","example":"697.1-5929","pattern":"^[\\d.-]+$","maxLength":50},"cause":{"type":"string","description":"Код типа ошибки. Может быть использован партнером для обработки на своей стороне.","example":"PERMISSION_EXCEPTION","pattern":"^[A-zА-яЁе0-9\\s\\:\\-\\.\\,\\;\\(\\)\\+\\/\\\\%\\\\&\\\\#\\\\№\\\\=]*$","maxLength":255},"referenceId":{"type":"string","pattern":"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}","description":"Уникальный идентификатор ошибки","example":"4365774d-ef4c-40dc-ba47-e3422098e490"},"message":{"type":"string","description":"Текст ошибки","example":"Операция не может быть выполнена: отсутствуют полномочия.","pattern":"^[A-zА-яЁе0-9\\s\\:\\-\\.\\,\\;\\(\\)\\+\\/\\\\%\\\\&\\\\#\\\\№\\\\=]*$","maxLength":255}},"additionalProperties":false,"title":"externalErrorResponse"}}}}}} />
---
# Overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/tax-deduction/overview.md)
## Описание
**Описание API**
Методы для работы со справками на налоговые вычеты.
* [Получение списка справок](/ru/sber-api/specifications/tax-deduction/get-deduction-info)
* [Обновление/создание справок](/ru/sber-api/specifications/tax-deduction/update-deduction-info)
---
# Обновить/создать справки на стороне банка
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/tax-deduction/update-deduction-info.md)
## Адрес запроса
- Песочница: **PATCH** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/tax-deductions/deductions`
- Промышленный контур: **PATCH** `https://fintech.sberbank.ru:9443/fintech/api/v1/tax-deductions/deductions`
## Описание
Запрос позволяет обновить имеющиеся на стороне банка справки, а также создать новые.
**Чтобы использовать метод:**
* В параметре `scope` ссылки авторизации пользователя должен быть указан сервис `TAX_DEDUCTION_INFO` для получения доступа к этому ресурсу.
* Запросы должны отправляться с токеном доступа (`access_token`) пользователя в параметре `Authorization` заголовка. Подробнее об авторизации в соответствующем разделе [документации](https://developers.sber.ru/docs/ru/sber-api/specifications/oauth).
**Рекомендации по вызову метода**
* Рекомендуется настроить расписание вызова метода таким образом, чтобы количество передаваемых в запросе для обновления/создания справок не превышало значение 100.
:::note
Для запроса установлена пропускная способность: 5tps
:::
Рекомендации по тестированию в песочнице
1. Для получения ответа с ошибкой отправьте `deductionUuid = 00000000-0000-0000-0000-000000000000`
Терминология
**Электронный документооборот (ЭДО)** — это система обмена электронными документами через интернет или локальные сети, которая позволяет организациям и индивидуальным предпринимателям осуществлять безбумажный документооборот. В рамках ЭДО документы создаются, подписываются, отправляются и хранятся в цифровом формате.
**Извещение о получении (ИОП)** — электронный документ, формируемый и направляемый участником электронного документооборота (например, оператором ЭДО или получателем документа) в адрес отправителя. Оно подтверждает факт и время поступления электронного документа (например, справки на получение налогового вычета) в информационную систему получателя.
**Квитанция о приеме (КОП)** — электронный документ, формируемый ФНС России и направляемый ЮЛ в рамках электронного документооборота, подтверждающий факт и время получения налоговым органом документов (справки) для получения налогового вычета.
**Уведомление об отказе (УОО)** — электронный документ, формируемый ФНС России и направляемый ЮЛ в рамках автоматизированного обмена документами при оформлении налоговых вычетов, содержащий причину отказа в приеме документа.
**Сообщение об ошибке (СОШ)** — электронный документ, который формируется и направляется информационной системой ФНС России или оператора электронного документооборота (ЭДО) в адрес отправителя. В этом сообщении содержится информация о невозможности принять или обработать направленный электронный документ из-за выявленных нарушений.
**Десятый документооборот** — регламентированный электронный обмен между налогоплательщиком и Федеральной налоговой службой (ФНС), в рамках которого направляется результат обработки справки (и сопутствующих документов), поданных для получения налогового вычета, и который содержит мотивированный отказ в предоставлении вычета.
Статусная модель
| Системное имя статуса | Бизнес смысл | Статус в СберБизнес |
| --- | --- | --- |
| APPROVED\_FNS | ФНС приняла справку (получена КОП). При отправке в Банк справок в этом статусе должна быть указана `receiptDate` - дата получения ответа КОП. | Принята в ФНС |
| ARCHIVED | Сотрудник юридического лица не планирует работать со справкой и отправлять ее в ФНС. При простановке этого статуса рекомендуется дополнительно указывать причину перевода справки в архив и передавать ее в параметре `statusDescription`. Рекомендуемые значения причин архивации: \* Клиент не найден, уточните данные получателя услуг \* Услуг не найдено \* Вычет уже получен | Архивирована |
| EDITED | Справка редактировался сотрудником юридического лица и была сохранена в процессе редактирования как черновик. | Черновик |
| EDO\_ERROR | От ФНС пришло сообщение об ошибке (СОШ). | Ошибка |
| ERROR | Технический статус. При обработке справки на стороне Банка произошла ошибка. | - |
| ERROR\_FNS | ФНС отклонила справку (получено УОО). При отправке в Банк справок в этом статусе должно быть указано значение для атрибута `receiptDate` - дата получения УОО. | Отказ ФНС |
| NOT\_CONFIRMED | Поступил связанный со справкой пакет документов с результатом обработки справки по десятому документообороту из ФНС. | Не подтверждена |
| READY | На основании заявления физического лица и данных о транзакциях в пользу юридического лица банком создан черновик справки. | Получено заявление от клиента |
| READY\_TO\_SEND | Сотрудник юридического лица завершил редактирование справки (подтвердил ее). Справка готова к подписанию и отправке в ФНС. Если используется ЭДО, предоставляемое сервисом Налоговые вычеты в Сбербизнес, то справки, готовые к отправке в ФНС, должны приходить в СберБизнес именно в этом статусе. | Ожидает подписания |
| SENDING | Инициирована отправка подписанной справки в ФНС через ЭДО. | Отправка в ФНС |
| SENT | Справка отправлена в ФНС. | Отправлена в ФНС |
| SIGNED | Справка была подписана. | Подписана |
| WAITING\_RESPONSE\_TO\_FNS | От ФНС пришел ответ (КОП или УОО), требуется расшифровка и ознакомление с ответом. **Статус проставляется только при использовании ЭДО СберБизнес.** | |
\n Коды документов\n\n 1. **03** — Свидетельство о рождении\n 2. **07** — Военный билет\n 3. **08** — Временное удостоверение, выданное взамен военного билета\n 4. **10** — Паспорт иностранного гражданина\n 5. **11** — Свидетельство о рассмотрении ходатайства о признании лица беженцем на территории Российской Федерации по существу\n 6. **12** — Вид на жительство в Российской Федерации\n 7. **13** — Удостоверение беженца\n 8. **14** — Временное удостоверение личности гражданина Российской Федерации\n 9. **15** — Разрешение на временное проживание в Российской Федерации\n 10. **19** — Свидетельство о предоставлении временного убежища на территории Российской Федерации\n 11. **21** — Паспорт гражданина Российской Федерации\n 12. **22** — Загранпаспорт гражданина Российской Федерации\n 13. **23** — Свидетельство о рождении, выданное уполномоченным органом иностранного государства\n 14. **24** — Удостоверение личности военнослужащего Российской Федерации\n 15. **27** — Военный билет офицера запаса\n 16. **91** — Иные документы, удостоверяющие личность налогоплательщика (согласно законодательству или международным договорам РФ)\n\n","enum":["21","03","07","08","10","11","12","13","14","15","19","23","24","27","91"],"example":"21","title":"externalDulCode"},"clientDulSeries":{"type":"string","description":"Серия документа, удостоверяющего личность","pattern":"(^[а-яА-Яa-zA-Z\\d\\*/-]+$)","maxLength":20,"example":"1234"},"clientDulNumber":{"type":"string","description":"Номер документа, удостоверяющего личность\n * Обязателен к заполнению, если отсутствует ИНН. \n * Если не заполнен один из обязательных атрибутов, относящихся к документу, удостоверяющему личность (код или номер или дата выдачи), то при создании записи о плательщике сохраняется только ИНН.\n","maxLength":25,"pattern":"(^[а-яА-Яa-zA-Z\\d\\*/-]+$)","example":"123456"},"clientDulDate":{"type":"string","description":"Дата выдачи документа, удостоверяющего личность\n * Обязателен к заполнению, если отсутствует ИНН. \n * Если не заполнен один из обязательных атрибутов, относящихся к документу, удостоверяющему личность (код или номер или дата выдачи), то при создании записи о плательщике сохраняется только ИНН.\n","pattern":"^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$","example":"2000-10-01"},"clientInn":{"type":"string","description":"ИНН плательщика\n\nЯвляется обязательным к заполнению, если отсутствуют данные документа, удостоверяющего личность. \n","maxLength":12,"minLength":12,"pattern":"^\\d+$","example":"123456789012"},"clientBirthDate":{"type":"string","description":"Дата рождения","pattern":"^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$","example":"1980-06-11"},"deductions":{"type":"array","maxItems":50,"description":"Массив справок по клиенту","items":{"type":"object","description":"Вычет по клиенту","required":["status","serviceType","deductionYear","operation","updateDate"],"properties":{"inn":{"type":"string","maxLength":12,"minLength":10,"pattern":"^\\d+$","description":"ИНН Организации","example":"745673645362"},"operation":{"type":"string","description":"Операция со справкой","enum":["CREATE","UPDATE"],"title":"deductionOperation"},"deductionUuid":{"type":"string","description":"UUID справки внутри банка","pattern":"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}","example":"8afd38fb-8096-476f-88df-285b86c94b92"},"externalDeductionId":{"type":"string","description":"ID вычета в сторонней системе","example":"8afd38fb-8096-476f-88df-285b86c94b92","pattern":"^[\\w\\W]{0,255}$"},"primaryDeductionUuid":{"type":"string","description":"UUID исходного вычета, к которому сделана корректировка (исходная справка с корректировкой 0)","pattern":"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}","example":"8afd38fb-8066-476f-88df-285b86c94b92"},"parentDeductionUuid":{"type":"string","description":"UUID вычета, к которому сделана корректировка","pattern":"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}","example":"8afd38fb-8066-476f-88df-285b86c94b92"},"status":{"type":"string","description":"Статус справки","enum":["READY","EDITED","READY_TO_SEND","SENT","ERROR","ERROR_FNS","ARCHIVED","APPROVED_FNS","DRAFT","SIGNED","SENDING","EDO_ERROR","WAITING_RESPONSE_TO_FNS","NOT_CONFIRMED"],"example":"READY","title":"deductionStatus"},"statusDescription":{"type":"string","description":"Описание статуса","example":"Оплата не подтверждена","pattern":"^[\\w\\W]{0,255}$"},"receiptDate":{"description":"Дата получения квитанции о приеме","type":"string","pattern":"^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$","example":"2025-01-01"},"amount":{"type":"number","description":"Сумма\nДолжно быть указано значение больше нуля, исключения:\n * Передается ноль в случае, если справка является аннулирующей корректировкой (corrNumber = 999);\n * Если вид услуги \"Медицина\", то при наличии expensiveAmount для amount допустимо значение 0.\n","example":16500,"minimum":0,"maximum":9999999999999.99},"expensiveAmount":{"type":"number","description":"Сумма дорогостоящего лечения","example":7584800,"minimum":0,"maximum":9999999999999.99},"deductionYear":{"type":"integer","format":"int32(4)","example":2024,"minimum":2024,"maximum":3024,"description":"Год, за который подается справка"},"offlineService":{"type":"boolean","description":"Признак очной услуги (актуально для service_type = EDUCATION)","format":"boolean","example":true},"childrenEducation":{"type":"boolean","description":"Признак оплаты за обучения ребенка (актуально для service_type = EDUCATION)","format":"boolean","example":false},"externalDeductionNumber":{"type":"integer","format":"int32","example":90000001,"minimum":1,"maximum":2147483647,"description":"Номер справки, присвоенный в вашей системе.\nЕсли передан в запросе, переопределит номер справки на стороне банка.\nНомер справки должен соответствовать требованиям ФНС.\n\nВ порядке заполнения cправки для поля «Номер справки» обязательными являются следующие требования:\n* Порядковый номер состоит только из числовых значений;\n* Количество символов не может превышать 12;\n* Порядковый номер cправки является уникальным в отношении каждого ФЛ за налоговый период (год);\n* Порядковый номер cправки сохраняется в случае представления корректировочных справок за налоговый период.\n"},"corrNumber":{"type":"integer","format":"int32","example":0,"minimum":0,"maximum":999,"description":"Номер корректировки"},"serviceType":{"type":"string","description":"Вид услуги, за которую предоставляется вычет\n\nЧтобы клиент (ФЛ) получил вычет, организация должна иметь лицензию на предоставление соответствующих услуг (в сфере медицины, образования или спорта).\n","enum":["MEDICINE","EDUCATION","SPORT"],"example":"EDUCATION","title":"serviceType"},"beneficiary":{"required":["beneficiaryIsClient"],"type":"object","properties":{"beneficiaryIsClient":{"type":"boolean","description":"Признак что плательщик - это бенефицар (получатель услуги)","example":false},"beneficiaryLastName":{"type":"string","maxLength":60,"pattern":"^[а-яА-ЯЁеIV\\s.,'()-]+$","description":"Фамилия бенефициара (получателя услуги)","example":"Иванова"},"beneficiaryFirstName":{"type":"string","maxLength":60,"pattern":"^[а-яА-ЯЁеIV\\s.,'()-]+$","description":"Имя бенефициара (получателя услуги)","example":"Ольга"},"beneficiaryMiddleName":{"type":"string","maxLength":60,"pattern":"^[а-яА-ЯЁеIV\\s.,'()-]+$","description":"Отчество бенефициара (получателя услуги)","example":"Петровна"},"beneficiaryDulCode":{"type":"string","description":"Код документа, удостоверяющего личность.\n\nЯвляется обязательным, если не передан ИНН.\n\nЕсли не заполнен один из обязательных атрибутов, относящихся к документу, удостоверяющему личность (код или номер или дата выдачи), то сохраняется только ИНН.\n\nКод документа, удостоверяющего личность плательщика/получателя услуги (бенефициара).\nДолжен соответствовать справочнику ФНС:\n\n Коды документов\n\n 1. **03** — Свидетельство о рождении\n 2. **07** — Военный билет\n 3. **08** — Временное удостоверение, выданное взамен военного билета\n 4. **10** — Паспорт иностранного гражданина\n 5. **11** — Свидетельство о рассмотрении ходатайства о признании лица беженцем на территории Российской Федерации по существу\n 6. **12** — Вид на жительство в Российской Федерации\n 7. **13** — Удостоверение беженца\n 8. **14** — Временное удостоверение личности гражданина Российской Федерации\n 9. **15** — Разрешение на временное проживание в Российской Федерации\n 10. **19** — Свидетельство о предоставлении временного убежища на территории Российской Федерации\n 11. **21** — Паспорт гражданина Российской Федерации\n 12. **22** — Загранпаспорт гражданина Российской Федерации\n 13. **23** — Свидетельство о рождении, выданное уполномоченным органом иностранного государства\n 14. **24** — Удостоверение личности военнослужащего Российской Федерации\n 15. **27** — Военный билет офицера запаса\n 16. **91** — Иные документы, удостоверяющие личность налогоплательщика (согласно законодательству или международным договорам РФ)\n\n","enum":["21","03","07","08","10","11","12","13","14","15","19","23","24","27","91"],"example":"21","title":"externalDulCode"},"beneficiaryDulSeries":{"type":"string","maxLength":20,"description":"Серия документа бенефициара (получателя услуги)","pattern":"(^[а-яА-Яa-zA-Z\\d\\*/-]+$)","example":"2001"},"beneficiaryDulNumber":{"type":"string","maxLength":25,"pattern":"(^[а-яА-Яa-zA-Z\\d\\*/-]+$)","description":"Номер документа бенефициара (получателя услуги)","example":"345029"},"beneficiaryDulDate":{"type":"string","description":"Дата выдачи документа бенефициара (получателя услуги)","pattern":"^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$","example":"2024-01-01"},"beneficiaryInn":{"type":"string","minLength":12,"maxLength":12,"pattern":"^\\d+$","description":"ИНН бенефицара (получателя услуги)\n\nЯвляется обязательным к заполнению, если отсутствуют данные документа, удостоверяющего личность. \n","example":"126472846573"},"beneficiaryBirthDate":{"type":"string","description":"Дата рождения бенефициара (получателя услуги)","pattern":"^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$","example":"2005-01-01"}},"additionalProperties":false,"title":"externalBeneficiary"},"updateDate":{"type":"string","format":"date-time","example":"2026-01-02T00:00:00.0Z","description":"Дата обновления"},"xmlSignature":{"type":"object","description":"Данные подписанта","required":["signatureType"],"properties":{"signatureType":{"type":"string","description":"Признак лица, подписавшего документ","enum":["HEAD_OF_ORGANIZATION","REPRESENTATIVE_OF_ORGANIZATION"],"title":"signatureType"},"signatureLastName":{"type":"string","description":"Фамилия подписанта","maxLength":60,"pattern":"^[а-яА-ЯЁеIV\\s.,'()-]+$","example":"Петрова"},"signatureFirstName":{"type":"string","description":"Имя подписанта","maxLength":60,"pattern":"^[а-яА-ЯЁеIV\\s.,'()-]+$","example":"Ольга"},"signatureMiddleName":{"type":"string","description":"Отчество подписанта","maxLength":60,"pattern":"^[а-яА-ЯЁеIV\\s.,'()-]+$","example":"Васильевна"},"signatureDocumentNumber":{"type":"string","description":"Номер доверенности","example":"522C99CA-A431-11EC-96FD-FA163E1A1333","pattern":"^[\\w\\W]{0,255}$"}},"additionalProperties":false,"title":"xmlSignature"},"xmlDocumentName":{"type":"string","description":"Имя файла справки","pattern":"^[a-zA-Z0-9_\\-]+\\.xml$","maxLength":255,"example":"UT_SVOPLMEDUSL_7710_7710_536424708256_20260209_f58f89c2-ccaf-479c-a5f6-331419cecf81.xml"},"route":{"required":["kno"],"type":"object","properties":{"kno":{"maxLength":4,"minLength":4,"pattern":"^[\\d]{4}$","type":"string","description":"Код налогового органа (КНО).","example":"7700"},"kpp":{"maxLength":9,"pattern":"^[\\d]{9}$","type":"string","description":"КПП.","example":"772901001"}},"additionalProperties":false,"description":"Данные маршрута для отправки справки.","title":"route"}},"additionalProperties":false,"title":"updateDeductionForClientExternalRq"}}},"additionalProperties":false,"title":"updateClientDeductionExternalRq"}}},"additionalProperties":false,"title":"updateDeductionInfoExternalRequest"}}},"required":true}} />
---
# Overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/traffic-lights/overview.md)
## Описание
Получение показателей продукта "Безопасный бизнес" по контрагентам
---
# Получение показателей по контрагентам
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/traffic-lights/traffic-lights-post.md)
## Адрес запроса
- Песочница: **POST** `https://fintech-test.sberbank.ru:9443/fintech/api/v1/sberrating/traffic-lights`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/v1/sberrating/traffic-lights`
## Описание
Получение показателей по контрагентам
Для доступа к этому методу в параметре `scope` ссылки авторизации пользователя должен быть указан сервис `SBERRATING_TRAFFIC_LIGHT`.
Рекомендации по тестированию в песочнице
При использовании любой корректной пары ИНН и КПП в запросе, API отвечает так, будто организация действительно существует в базе.
Если запрашиваете несколько организаций сразу, они могут приходить в ответе в произвольном порядке (не обязательно так, как вы их указали).
---
# Overview
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/transfer/overview.md)
## Описание
API-решение для автоматизированных переводов от ЮЛ в пользу ФЛ через Систему Быстрых Платежей (СБП).
UML-диаграмма
```mermaid
%%{init: {'theme': 'neutral', 'themeVariables': { 'fontSize': '20px', 'lineWidth': '2px', 'actorFontSize': '14px' }}}%%
sequenceDiagram
participant Клиент as Клиент
participant Банк as Банк
Note left of Клиент: Исполнение платежа B2C
Клиент ->>+ Банк: POST /v1/sbp/paymentB2C/execute
Note right of Банк: Валидация запроса
alt Валидация не пройдена
Банк -->> Клиент: CANCELLED + текст ошибки
Note right of Клиент: [Валидация не пройдена]
end
Note right of Банк: Предварительные проверки
alt Проверки не пройдены
Банк -->> Клиент: CANCELLED + текст ошибки
Note right of Клиент: [Одна из проверок не пройдена]
end
Note right of Банк: Проверка сертификата и подписи
alt Ошибка проверки
Банк -->> Клиент: 200 + текст ошибки + REFUSEDBYBANK
Note right of Клиент: [Ошибка, отказ или сервис не доступен]
end
Note right of Банк: Исполнение платежа B2C
alt Таймаут
Банк -->> Клиент: 200 + state = ACCEPTED или CREATED
Note right of Клиент: [Не получили ответ в течении таймаута]
end
alt Ошибка банка
Банк -->> Клиент: 200 + текст ошибки + REFUSEDBYBANK
Note right of Клиент: [Ошибка, отказ или сервис не доступен]
end
alt Ошибка ФМ
Банк -->> Клиент: 200 + текст ошибки + FRAUDDENY
Note right of Клиент: [Ошибка при проверке ФМ]
end
alt Ошибка НСПК
Банк -->> Клиент: 200 + текст ошибки + REFUSEDBYFTS
Note right of Клиент: [Ошибка НСПК]
end
alt Платеж отклонен
Банк -->> Клиент: CANCELLED + текст ошибки
Note right of Клиент: [Платеж отклонен]
end
Note left of Клиент: Запрос статуса по платежу
Клиент ->>+ Банк: GET /v1/sbp/paymentB2C/getStatus/{paymentId}
Note right of Банк: Валидация запроса
alt Валидация не пройдена
Банк -->> Клиент: CANCELLED + 400 + 786-0001
Note right of Клиент: [Валидация не пройдена]
end
Банк -->>- Клиент: ResponseTicket
```
---
# Запрос статусов всех платежей внутри пакета
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/transfer/sbp-b-2-c-batch-statuses.md)
## Адрес запроса
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/sbpb2c/v1/sbp/paymentB2C/getBatchStatus/batch/{batchUid}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/sbpb2c/v1/sbp/paymentB2C/getBatchStatus/batch/{batchUid}`
## Описание
Запрос предоставляет информацию о статусах списочных переводов по идентификатору списка/пакета
Коды ошибок при проверке статуса пакета
| HTTP код | internalErrorCode | cause | Эндпоинт | В ответе метода в message | |----------|-------------------|-------------------------------|---------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 200 | - | - | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | - | | 400 | 786-0001 | VALIDATE\_ERROR | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | Ошибка валидации запроса. | | 200 | 786-0223 | DIGITALDBO\_SERT\_ERROR | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | Не удалось выполнить перевод. Попробуйте перевести деньги другим способом. | | 200 | 786-0224 | DIGITALDBO\_SIGN\_ERROR | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | Не удалось выполнить перевод. Попробуйте перевести деньги другим способом. | | 200 | 786-0225 | PERMISSION\_ERROR | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | Не удалось выполнить перевод. Попробуйте перевести деньги другим способом. | | 200 | 786-0226 | SIGNCONFIRM\_ERROR | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | Не удалось выполнить перевод. Попробуйте перевести деньги другим способом. | | 400 | 786-0228 | BATCH\_NOT\_FOUND | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | Пакет с указанным batchUid не найден | | 200 | 786-0232 | SIGN\_DEFINITION\_ERROR | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | Не удалось выполнить перевод. Попробуйте перевести деньги другим способом. | | 503 | 786-0220 | SERVICE\_IS\_NOT\_AVAILABLE | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | В настоящее время сервис недоступен по техническим причинам. Попробуйте позднее. | | 500 | 786-0500 | INTERNAL\_SERVER\_ERROR | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | При выполнении операции произошла ошибка. Мы уже работаем над ее устранением. Повторите попытку позже. |
Коды ошибок при проверке статуса платежей внутри пакета
| HTTP код | internalErrorCode | cause | Эндпоинт | В ответе метода в message | |----------|-------------------|-------------------------------|---------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 200 | - | - | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | - | | 400 | 786-0001 | VALIDATE\_ERROR | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | Ошибка валидации запроса. | | 400 | 786-0002 | PAYEE\_BANK\_NOT\_FOUND | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | Банк получателя не найден. Укажите корректное название банка получателя. | | 400 | 786-0003 | DUPLICATE\_ERROR | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | Запрос с таким ID уже существует. | | 200 | 786-0214 | FRAUD\_DENY | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | Ваш перевод признан высокорискованным и был отклонен. Для выяснения причин свяжитесь с банком по телефону, указанному в договоре. | | 200 | 786-0217 | DO\_DENY\_RESTRICTION | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | Осуществление перевода в настоящее время недоступно из-за ограничения на счете. | | 200 | 786-0218 | DO\_DENY\_NOT\_ENOUGH\_MONEY | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | На счете недостаточно средств для осуществления перевода и оплаты комиссии. Пополните счет или уменьшите сумму перевода. | | 200 | 786-0223 | DIGITALDBO\_SERT\_ERROR | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | Не удалось выполнить перевод. Попробуйте перевести деньги другим способом. | | 200 | 786-0224 | DIGITALDBO\_SIGN\_ERROR | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | Не удалось выполнить перевод. Попробуйте перевести деньги другим способом. | | 200 | 786-0225 | PERMISSION\_ERROR | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | Не удалось выполнить перевод. Попробуйте перевести деньги другим способом. | | 200 | 786-0226 | SIGNCONFIRM\_ERROR | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | Не удалось выполнить перевод. Попробуйте перевести деньги другим способом. | | 200 | 786-0229 | PAYMENT\_NOT\_FOUND | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | Платеж не найден. | | 200 | 786-0230 | CLIENT\_NOT\_FOUND | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | Клиент не зарегистрирован в СБП. | | 200 | 786-0231 | MP\_DENY | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | 1. Превышена допустимая сумма платежа. 2. При выполнении операции произошла ошибка. Мы уже работаем над ее устранением. Повторите попытку позже. 3. Проведение операции запрещено на основании п. 5 ст. 7.7. Федерального закона № 115-ФЗ. 4. Проведение операции запрещено. | | 200 | 786-0232 | SIGN\_DEFINITION\_ERROR | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | Не удалось выполнить перевод. Попробуйте перевести деньги другим способом. | | 200 | 786-0235 | MRK\_ERROR | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | Не удалось рассчитать комиссию за перевод. Повторите попытку позже. | | 200 | 786-0211 | NSPK\_DENY | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | Перевод отклонен на стороне СБП. Попробуйте выполнить перевод другим способом. | | 200 | 786-0244 | PAYMENT\_B2C\_CANCELLED | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | Платеж отклонен банком. Попробуйте повторить платеж еще раз. | | 200 | 786-0250 | INCORRECT\_PAYEENAME\_REQUEST\_VALUE | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | Переданное значение «Ф. И. О. получателя денежных средств» не совпадает с Ф. И. О. владельца счета. | | 503 | 786-0220 | SERVICE\_IS\_NOT\_AVAILABLE | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | В настоящее время сервис недоступен по техническим причинам. Попробуйте позднее. | | 500 | 786-0500 | INTERNAL\_SERVER\_ERROR | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | При выполнении операции произошла ошибка. Мы уже работаем над ее устранением. Повторите попытку позже. |
---
# Исполнение пакета переводов B2C
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/transfer/sbp-b-2-cexecute-batch.md)
## Адрес запроса
- Тестовый контур: **POST** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/sbpb2c/v1/sbp/paymentB2C/batchExecute`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/sbpb2c/v1/sbp/paymentB2C/batchExecute`
## Описание
В одном запросе поддерживается прием и выполнение пакетной операции по B2C-переводам. Максимальный объем пакета — 1 000 переводов.
В параметре scope ссылки авторизации пользователя вашей компании должен быть указан сервис `BC_SBP_PAYMENT` для получения доступа к этому ресурсу.
При получении ошибки:
```json
{
"internalErrorCode": "234.1-1013",
"cause": "ACTION_ACCESS_EXCEPTION",
"referenceId": "33b65e55-5624-4f97-adbe-3dffb505b41f",
"message": "Недостаточно прав для вызова POST /sbpb2c/v1/sbp/paymentB2C/execute. Отсутствует доступ хотя бы до одного из сервисов [BC_SBP_PAYMENT]."
}
```
Говорит об отсутствии в scope операции `BC_SBP_PAYMENT`. Для добавления необходимо написать письмо на почту поддержки supportdbo2@sberbank.ru.
Для отправки платежа необходимо создать запрос и дайджест на его основе.
Что такое дайджест?
Дайджест (подписываемый образ) - некоторый блок данных (строка или файл), сформированный на основе данных документа. "Слепок" документа на момент подписания. Непосредственно для него будет осуществляться операция формирования подписи. Должен содержать юридически значимые данные документа, по которым в дальнейшем может быть реализован процесс разбора спорных ситуаций с клиентами. Дайджест должен формироваться на основании актуальных данных документа непосредственно перед подписанием/проверкой подписи.
Пример дайджеста:
```json
FIELDS:
batchUid=123e4567-e89b-12d3-a456-426655440000
TABLES:
Table=payments
#
payerAccount=40702810111111110000
receiverPhone=79052222222
bankName=Альфа-банк
bankAgentId=A23456789123
kvd=1
payeeName=Иванов Иван Иванович
comment=Прочий перевод
paymentPurpose=За товар по договору №2 от 12/01/2023
amount=100022
#
payerAccount=40702810111111110001
receiverPhone=79052222222
bankName=ВТБ
bankAgentId=A23456789124
kvd=2
payeeName=Иванов Иван Петрович
comment=Новый перевод
paymentPurpose=За товар по договору №2 от 12/01/2024
amount=100023
```
**Важно:**
Формирование дайджеста должно включать в себя только присутствующие поля и значения, сохраняя их исходные типы данных и точный порядок из примера ниже. Любые отклонения приведут к ошибке подписи.
Конкретные примеры:
1. Если в запросе amount=10, в дайджесте должно быть amount=10.
2. Если какое-то поле, например comment отсутствует в запросе, то и в дайджест его включать не нужно
Статусы приема пакета
| Статус | Описание |
|---------------------|--------------------------------------|
| SUCCESS | Пакет успешно принят к исполнению |
| FAILED | Ошибка при приеме пакета |
Коды ошибок
| HTTP код | internalErrorCode | cause | Эндпоинт | В ответе метода в message |
|----------|-------------------|-------------------------------|---------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 200 | - | - | POST /v1/sbp/paymentB2C/batchExecute GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | - |
| 400 | 786-0001 | VALIDATE\_ERROR | POST /v1/sbp/paymentB2C/batchExecute | Ошибка валидации запроса. |
| 200 | 786-0223 | DIGITALDBO\_SERT\_ERROR | POST /v1/sbp/paymentB2C/batchExecute | Не удалось выполнить перевод. Попробуйте перевести деньги другим способом. |
| 200 | 786-0224 | DIGITALDBO\_SIGN\_ERROR | POST /v1/sbp/paymentB2C/batchExecute | Не удалось выполнить перевод. Попробуйте перевести деньги другим способом. |
| 200 | 786-0225 | PERMISSION\_ERROR | POST /v1/sbp/paymentB2C/batchExecute | Не удалось выполнить перевод. Попробуйте перевести деньги другим способом. |
| 200 | 786-0226 | SIGNCONFIRM\_ERROR | POST /v1/sbp/paymentB2C/batchExecute | Не удалось выполнить перевод. Попробуйте перевести деньги другим способом. |
| 400 | 786-0228 | BATCH\_NOT\_FOUND | GET /v1/sbp/paymentB2C/getBatchStatus/batch/\{batchUid} | Пакет с указанным batchUid не найден |
| 200 | 786-0230 | CLIENT\_NOT\_FOUND | POST /v1/sbp/paymentB2C/batchExecute | Клиент не зарегистрирован в СБП. |
| 200 | 786-0232 | SIGN\_DEFINITION\_ERROR | POST /v1/sbp/paymentB2C/batchExecute | Не удалось выполнить перевод. Попробуйте перевести деньги другим способом. |
| 503 | 786-0220 | SERVICE\_IS\_NOT\_AVAILABLE | POST /v1/sbp/paymentB2C/batchExecute | В настоящее время сервис недоступен по техническим причинам. Попробуйте позднее. |
| 500 | 786-0500 | INTERNAL\_SERVER\_ERROR | POST /v1/sbp/paymentB2C/batchExecute | При выполнении операции произошла ошибка. Мы уже работаем над ее устранением. Повторите попытку позже. |
---
# Исполнение перевода B2C
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/transfer/sbp-b-2-cexecute.md)
## Адрес запроса
- Тестовый контур: **POST** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/sbpb2c/v1/sbp/paymentB2C/execute`
- Промышленный контур: **POST** `https://fintech.sberbank.ru:9443/fintech/api/sbpb2c/v1/sbp/paymentB2C/execute`
## Описание
Запрос принимает и исполняет перевод B2C
В параметре scope ссылки авторизации пользователя вашей компании должен быть указан сервис `BC_SBP_PAYMENT` для получения доступа к этому ресурсу.
При получении ошибки:
```json
{
"internalErrorCode": "234.1-1013",
"cause": "ACTION_ACCESS_EXCEPTION",
"referenceId": "33b65e55-5624-4f97-adbe-3dffb505b41f",
"message": "Недостаточно прав для вызова POST /sbpb2c/v1/sbp/paymentB2C/execute. Отсутствует доступ хотя бы до одного из сервисов [BC_SBP_PAYMENT]."
}
```
Говорит об отсутствии в scope операции `BC_SBP_PAYMENT`. Для добавления необходимо написать письмо на почту поддержки supportdbo2@sberbank.ru.
Для отправки платежа необходимо создать запрос и дайджест на его основе.
Что такое дайджест?
Дайджест (подписываемый образ) - некоторый блок данных (строка или файл), сформированный на основе данных документа. "Слепок" документа на момент подписания. Непосредственно для него будет осуществляться операция формирования подписи. Должен содержать юридически значимые данные документа, по которым в дальнейшем может быть реализован процесс разбора спорных ситуаций с клиентами. Дайджест должен формироваться на основании актуальных данных документа непосредственно перед подписанием/проверкой подписи.
Пример дайджеста:
```json
id=123e4567-e89b-12d3-a456-426655440000
payerAccount=40702810111111110000
receiverPhone=79052222222
bankName=Альфа-банк
bankAgentId=100000000008
kvd=1
payeeName=Иванов Иван Иванович
comment=Прочий перевод
paymentPurpose=За товар по договору №2 от 12/01/2023
amount=100022
```
**Важно:**
Формирование дайджеста должно включать в себя только присутствующие поля и значения, сохраняя их исходные типы данных и точный порядок из примера ниже. Любые отклонения приведут к ошибке подписи.
Конкретные примеры:
1. Если в запросе amount=10, в дайджесте должно быть amount=10.
2. Если какое-то поле, например comment отсутствует в запросе, то и в дайджест его включать не нужно
Статусы
| Статус | Описание |
|---------------|--------------------------------|
| ACCEPTED | Платеж принят в обработку |
| IMPLEMENTED | Платеж исполнен |
| CANCELLED | Платеж отменен |
| REFUSEDBYBANK | Отказ со стороны банка отправителя платежа|
| REFUSEDBYFTS | Отказ зачисления со стороны банка получателя|
| FRAUDDENY | Отказ со стороны Антифрод-проверок|
Коды ошибок
| HTTP код | internalErrorCode | cause | Эндпоинт | В ответе метода в message |
|----------|-------------------|-------------------------------|---------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 200 | - | - | POST /v1/sbp/paymentB2C/execute | - |
| 400 | 786-0001 | VALIDATE\_ERROR | POST /v1/sbp/paymentB2C/execute POST /v1/sbp/paymentB2C/getStatus | Ошибка валидации запроса. |
| 400 | 786-0002 | PAYEE\_BANK\_NOT\_FOUND | POST /v1/sbp/paymentB2C/execute | Банк получателя не найден. Укажите корректное название банка получателя. |
| 400 | 786-0003 | DUPLICATE\_ERROR | POST /v1/sbp/paymentB2C/execute | Запрос с таким ID уже существует. |
| 200 | 786-0214 | FRAUD\_DENY | POST /v1/sbp/paymentB2C/execute | Ваш перевод признан высокорискованным и был отклонен. Для выяснения причин свяжитесь с банком по телефону, указанному в договоре. |
| 200 | 786-0217 | DO\_DENY\_RESTRICTION | POST /v1/sbp/paymentB2C/execute | Осуществление перевода в настоящее время недоступно из-за ограничения на счете. |
| 200 | 786-0218 | DO\_DENY\_NOT\_ENOUGH\_MONEY | POST /v1/sbp/paymentB2C/execute | На счете недостаточно средств для осуществления перевода и оплаты комиссии. Пополните счет или уменьшите сумму перевода. |
| 200 | 786-0223 | DIGITALDBO\_SERT\_ERROR | POST /v1/sbp/paymentB2C/execute | Не удалось выполнить перевод. Попробуйте перевести деньги другим способом. |
| 200 | 786-0224 | DIGITALDBO\_SIGN\_ERROR | POST /v1/sbp/paymentB2C/execute | Не удалось выполнить перевод. Попробуйте перевести деньги другим способом. |
| 200 | 786-0225 | PERMISSION\_ERROR | POST /v1/sbp/paymentB2C/execute POST /v1/sbp/paymentB2C/getStatus | Не удалось выполнить перевод. Попробуйте перевести деньги другим способом. |
| 200 | 786-0226 | SIGNCONFIRM\_ERROR | POST /v1/sbp/paymentB2C/execute | Не удалось выполнить перевод. Попробуйте перевести деньги другим способом. |
| 200 | 786-0229 | PAYMENT\_NOT\_FOUND | POST /v1/sbp/paymentB2C/getStatus | Платеж не найден. |
| 200 | 786-0230 | CLIENT\_NOT\_FOUND | POST /v1/sbp/paymentB2C/execute | Клиент не зарегистрирован в СБП. |
| 200 | 786-0231 | MP\_DENY | POST /v1/sbp/paymentB2C/execute | 1. Превышена допустимая сумма платежа. 2. При выполнении операции произошла ошибка. Мы уже работаем над ее устранением. Повторите попытку позже. 3. Проведение операции запрещено на основании п. 5 ст. 7.7. Федерального закона № 115-ФЗ. 4. Проведение операции запрещено. |
| 200 | 786-0232 | SIGN\_DEFINITION\_ERROR | POST /v1/sbp/paymentB2C/execute | Не удалось выполнить перевод. Попробуйте перевести деньги другим способом. |
| 200 | 786-0235 | MRK\_ERROR | POST /v1/sbp/paymentB2C/execute | Не удалось рассчитать комиссию за перевод. Повторите попытку позже. |
| 200 | 786-0211 | NSPK\_DENY | POST /v1/sbp/paymentB2C/execute | Перевод отклонен на стороне СБП. Попробуйте выполнить перевод другим способом. |
| 200 | 786-0244 | PAYMENT\_B2C\_CANCELLED | POST /v1/sbp/paymentB2C/execute POST /v1/sbp/paymentB2C/getStatus | Платеж отклонен банком. Попробуйте повторить платеж еще раз. |
| 200 | 786-0250 | INCORRECT\_PAYEENAME\_REQUEST\_VALUE | POST /v1/sbp/paymentB2C/execute | Переданное значение «Ф. И. О. получателя денежных средств» не совпадает с Ф. И. О. владельца счета. |
| 503 | 786-0220 | SERVICE\_IS\_NOT\_AVAILABLE | POST /v1/sbp/paymentB2C/execute POST /v1/sbp/paymentB2C/getStatus | В настоящее время сервис недоступен по техническим причинам. Попробуйте позднее. |
| 500 | 786-0500 | INTERNAL\_SERVER\_ERROR | POST /v1/sbp/paymentB2C/execute | При выполнении операции произошла ошибка. Мы уже работаем над ее устранением. Повторите попытку позже. |
Заглушки для тестирования ошибок
Функционал позволяет получать предопределенные ответы при указании соответствующего значения в поле amount.
| № | amount | Описание | Ошибка |
|---|----------|---------------------------------------------------------------|-----------------------------------------------|
| 1 | 4200 | Подпись не проверяем, но проходим по всем интеграциям | - |
| 2 | 4201 | Вернуть статус успешного платежа | - |
| 3 | 4203 | Сертификат не валидный или не найден | DIGITALDBO\_SERT\_ERROR |
| 4 | 4204 | Данные по подписи не найдены | DIGITALDBO\_SIGN\_ERROR |
| 5 | 4205 | Ошибка на этапе проверки подписи | SIGNCONFIRM\_ERROR |
| 6 | 4206 | Внутренняя ошибка сервера | INTERNAL\_SERVER\_ERROR |
| 7 | 4208 | Банк не найден. Не удалось однозначно определить банк | PAYEE\_BANK\_NOT\_FOUND |
| 8 | 4209 | Клиент не найден | CLIENT\_NOT\_FOUND |
| 9 | 4210 | Недостаточно прав/полномочий для осуществления операции | PERMISSION\_ERROR |
| 10 | 4211 | Отказ по результату проверок Антифрод | FRAUD\_DENY |
| 11 | 4212 | Отказ со стороны банка получателя | PAYMENT\_B2C\_CANCELLED |
| 12 | 4213 | Недостаточно денежных средств для проведения операции | DO\_DENY\_NOT\_ENOUGH\_MONEY |
| 13 | 4214 | Отказ по результатам внутрибанковских проверок | MP\_DENY |
| 14 | 4215 | Отказ. На счете имеется ограничение | DO\_DENY\_RESTRICTION |
| 15 | 4218 | ФИО получателя не соответствует указанному в запросе | INCORRECT\_PAYEENAME\_REQUEST\_VALUE |
---
# Запрос статуса перевода B2C
[source](https://developers.sber.ru/docs/ru/sber-api/specifications/transfer/sbp-b-2-cstatus.md)
## Адрес запроса
- Тестовый контур: **GET** `https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/sbpb2c/v1/sbp/paymentB2C/getStatus/{paymentId}`
- Промышленный контур: **GET** `https://fintech.sberbank.ru:9443/fintech/api/sbpb2c/v1/sbp/paymentB2C/getStatus/{paymentId}`
## Описание
Запрос предоставляет информацию о статусе перевода B2C
В параметре scope ссылки авторизации пользователя вашей компании должен быть указан сервис `BC_SBP_PAYMENT` для получения доступа к этому ресурсу.
При получении ошибки:
```json
{
"internalErrorCode": "234.1-1013",
"cause": "ACTION_ACCESS_EXCEPTION",
"referenceId": "33b65e55-5624-4f97-adbe-3dffb505b41f",
"message": "Недостаточно прав для вызова POST /sbpb2c/v1/sbp/paymentB2C/execute. Отсутствует доступ хотя бы до одного из сервисов [BC_SBP_PAYMENT]."
}
```
Говорит об отсутствии в scope операции `BC_SBP_PAYMENT`. Для добавления необходимо написать письмо на почту поддержки supportdbo2@sberbank.ru.
Статусы
| Статус | Описание |
|---------------|--------------------------------|
| ACCEPTED | Платеж принят в обработку |
| IMPLEMENTED | Платеж исполнен |
| CANCELLED | Платеж отменен |
| REFUSEDBYBANK | Отказ со стороны банка отправителя платежа|
| REFUSEDBYFTS | Отказ зачисления со стороны банка получателя|
| FRAUDDENY | Отказ со стороны Антифрод-проверок|
---
# Возможности
[source](https://developers.sber.ru/docs/ru/sber-api/start/connect.md)
:::tip
**Сервис** - client\_id, принадлежащий определенному набору. Каждый сервис создается в рамках одного набора и наследует его права доступа.
**Набор** - группа прав доступа (scope), предназначенная для конкретного типа интеграции. Например, существуют наборы для взаимодействия с банком, приемом платежей и других целей.
Полный перечень наборов и входящих в них прав доступа приведен в [инструкции](/ru/sber-api/start/overview).
:::
Подать заявление на подключение Sber API
:::note
Подпись заявлений доступна:
* единоличному исполнительному органу (ЕИО) с единственной подписью;
* ЕИО с первой подписью;
* пользователям, на которых была выдана доверенность.
Доверенность может выдать ЕИО в разделе «Моя организация» — «Пользователи и сотрудники» — «Доверенности».
1. Нажмите на кнопку «Создать доверенность».
2. Выберите доверенное лицо — пользователя, которому хотите предоставить доверенность, или создайте нового сотрудника. В одной доверенности можно предоставить доступ нескольким сотрудникам.
3. Выберите полномочие «Подписание запроса на предоставление справок, копий/дубликатов документов».
4. Укажите дату окончания и при необходимости выберите счет (указывать счет необязательно для работы Личного кабинета).
5. Создайте и подпишите доверенность.
После выполнения данных шагов пользователю, на которого была создана доверенность, будет доступно подписание заявлений.
:::
**1. Авторизуйтесь в СберБизнес**
[Ссылка](https://sbi.sberbank.ru:9443/ic/ufs/login.html#/) на страницу авторизации в СберБизнес
**2. Зайдите в Личный кабинет Sber API**
В меню слева выберите **Все продукты и услуги**. На открывшейся странице найдите вкладку **Сбербанк API** и выберите **Sber API**.
В появившемся окне ознакомьтесь с информацией о продукте и нажмите **Подключить**.
**3. Выберите один или несколько наборов**
Выберите наборы, необходимые для подключения. Доступен выбор одного, нескольких или всех наборов одновременно.
**4. Создайте заявление**
Заполните заявление и укажите контактный телефон, электронную почту и ответственное лицо за настройку сервиса. Для добавления ответственного лица нажмите кнопку **Добавить** и из раскрывающегося списка выберите сотрудника из справочника или создайте нового.
Ознакомьтесь с условиями предоставления услуг и нажмите кнопку **Создать**.
**5. Подпишите заявление**
[Подпишите документ](https://www.sberbank.ru/help/business/sbbol/100123) с помощью СМС-кода или токена.
После подписания заявления Личный кабинет будет активирован, а заявление станет доступно в разделе **Документы**.
Активировать сервис
Созданный сервис по умолчанию не активирован. Чтобы начать работу на промышленном стенде активируйте сервис. Для этого перейдите в карточку сервиса и нажмите кнопку **«Активировать»**.
Получить настройки для песочницы
После авторизации в **СберБизнес** перейдите в Личный кабинет **Sber API**, выберите **сервис** и перейдите на вкладку "Песочница API".
Для получения настроек песочницы нажмите на кнопку "Перейти к настройке".
Создать тестовые учетные записи для песочницы
**Создание тестовых УЗ доступно для всех наборов, кроме "Копаниям".**
Перейдите в Личный кабинет **Sber API**, выберите **сервис** и перейдите на вкладку "Песочница API".
Найдите блок "Тестовые учетные записи" и нажмите "Создать учетную запись".
Введите номер телефона сотрудника, которому предназначается тестовый доступ и нажмите "Создать".
Логин и пароль для входа будут автоматически направлены на указанный номер через SMS.
> Созданная запись действует исключительно в тестовом контуре (песочнице) и не оказывает влияния на промышленные данные и сервисы. Под тестовой УЗ не получится авторизоваться на промышленном стенде СберБизнес.
Подключить дополнительный набор/отключить набор
:::danger
При отключении набора все связанные с ним **client\_id** будут удалены.
Подписать корректирующее заявление может только пользователь с полномочиями ЕИО.
:::
**1. Создайте корректирующие заявление**
Создайте корректирующее заявление на вкладке **Документы** с помощью кнопки **Внести изменения**.
**2. Заполните корректирующие заявление**
В корректирующем заявлении доступны следующие действия:
* Подключить или отключить набор API.
* Назначить или изменить сотрудника, ответственного за хранение ключевой информации.
После заполнения данных нажмите **Создать**, подпишите заявление, и оно автоматически отобразится на вкладке **Документы**.
Создать дополнительный client\_id
Создать дополнительный сервис могут пользователи, чья учетная запись в СберБизнес соответствует одной из следующих характеристик:
* Учетная запись с полномочиями единоличного исполнительного органа;
* Учетная запись с ролью разработчика Sber API.
Чтобы создать дополнительный **client\_id** для набора, на главной странице нажмите кнопку **Добавить сервис**, выберите нужный набор из списка и завершите действие нажатием кнопки **Добавить**.
:::note
**Предоставьте доступ команде разработки**
Разработчики получат только ту информацию, которая нужна им для интеграции. О добавлении новых пользователей рассказали в этой [инструкции](/ru/sber-api/start/personal-area).
:::
Узнать параметры промышленного сервиса
В Личном кабинете Sber API выберите сервис.
В блоке **Параметры промышленного сервиса** размещена вся необходимая информация.
**Параметры сервиса:**
* Наименование сервиса - название вашего client\_id, которое будет отображено в согласии.
* Redirect\_uri — ссылка на ресурс вашей компании, на который будет осуществляться возврат после прохождения авторизации;
* Client\_id — уникальный идентификатор сервиса;
* Client\_secret — авторизационный ключ сервиса;
* Scope для авторизации v1 — для выполнения авторизации по методу **/v1/oauth/authorize**;
* Scope для авторизации v2 — перечень операций доступных для использования в ссылке авторизации по методу [**/v2/oauth/authorize**](https://developers.sber.ru/docs/ru/sber-api/specifications/oauth/oauth-authorize-get).
* Back\_url - ссылка на ресурс вашей компании, на который пользователь возвращается после выполнения определенного действия, такого как завершение оплаты.
##### Отправьте информацию вашим разработчикам
В блоке **Параметры промышленного сервиса** нажмите **Отправить настройки**.
В открывшемся окне укажите адрес электронной почты и нажмите **Отправить**.
Если необходимо, нажмите **Скопировать настройки**, чтобы скопировать настройки промышленного сервиса в буфер обмена.
:::note
Для изменения настроек промышленного сервиса отправьте запрос на почту технической поддержки supportdbo2@sberbank.ru с указанием вашего client\_id.
:::
Изменение Redirect URI для промышленного сервиса
Redirect\_uri — ссылка на ресурс вашей компании, на который будет осуществляться возврат после прохождения авторизации.
**1. Отредактируйте Redirect\_uri**
После авторизации в **СберБизнес** перейдите в Личный кабинет **Sber API**, выберите **сервис** и в параметрах промышленного сервиса нажмите карандаш рядом с параметром Redirect URI.
**2. Укажите значение Redirect\_uri и сохраните**
В открывшемся окне введите значение Redirect URI и нажмите **Сохранить**
:::note
Redirect URI может хранить в себе несколько значений - для этого после каждого значения необходимо ставить ";".
В ссылке авторизации необходимо использовать только одно значение Redirect URI.
:::
Обновленные данные Redirect URI отразятся в параметрах промышленного сервиса.
Изменение Back URL для промышленного сервиса
Back URL — ссылка на ресурс вашей компании, на который пользователь возвращается после выполнения определенного действия, такого как завершение транзакции или закрытие окна.
**1. Отредактируйте Back URL**
После авторизации в **СберБизнес** перейдите в Личный кабинет **Sber API**, выберите **сервис** и в параметры промышленного сервиса нажмите карандаш рядом с параметром Back URL.
**2. Укажите значение Back URL и сохраните**
В открывшемся окне введите значение Back URL и нажмите **Сохранить**
:::note
Back URL может хранить в себе несколько значений - для этого после каждого значения необходимо ставить ";".
В ссылке переадресации (например, на платежное поручение) необходимо указать только одно значение Back URL.
:::
Обновленные данные Back URL отразятся в параметрах промышленного сервиса
Сгенерировать TLS-сертификат промышленного сервиса
:::note
Для каждого сервиса можно выпустить несколько TLS-сертификатов.
Выпуск нового сертификата не отменяет действие предыдущих — каждый из них сохраняет силу на протяжении всего своего срока действия.
:::
TLS-сертификат, изданный банком, необходим для доступа к методам Sber API.
**1. Сгенерируйте сертификаты шифрования**
После авторизации в **СберБизнес** перейдите в Личный кабинет **Sber API**, выберите **сервис**.
В блоке **Сертификаты шифрования** нажмите кнопку **Сгенерировать сертификат**. Рядом с кнопкой отобразится количество доступных для генерации сертификатов.
**2. Установите пароль доступа**
В открывшемся окне укажите пароль доступа к сертификату.
Требования к паролю:
* Содержит минимум 7 символов;
* Содержит цифры и буквы;
* Не содержит трех одинаковых символов подряд.
**4. Нажмите Создать сертификат**
После успешной генерации TLS-сертификата в окне появится подтверждение и ссылка на скачивание файла сертификата. Нажмите **Скачать файл сертификата**.
Сгенерированные сертификаты появятся в блоке **Сертификаты шифрования**. Нажмите на иконку **Скачать**, чтобы скачать уже сгенерированные сертификаты.
Чтобы скачать цепочку доверенных TLS-сертификатов, нажмите ссылку "Скачать" в нижней части блока Сертификаты шифрования.
Отозвать TLS-сертификат
:::note
Отозвать промышленный сертификат могут пользователи, чья учетная запись в СберБизнес соответствует одной из следующих характеристик:
* Учетная запись с полномочиями единоличного исполнительного органа;
* Учетная запись с единственной подписью;
* Учетная запись с первой подписью;
* Учетная запись с ролью разработчика Sber API.
Отозвать сертификат Песочницы может любой пользователь с доступом в личный кабинет Sber API.
:::
1. В блоке **Сертификаты шифрования** нажмите на кнопку **Отозвать сертификат**.
2. Появится форма подтверждения, нажмите **Отозвать**. Сертификат пропадет из блока **Сертификаты шифрования**.
> При отзыве сертификата он автоматически удаляется из всех client\_id, в которые был добавлен. Отправка API-запросов с использованием данного сертификата становится невозможной.
Сменить client\_secret
**Client\_secret** - авторизационный ключ сервиса. Срок действия client\_secret составляет 40 дней обновить значение можно методом **/v1/change-client-secret** или в личном кабинете Sber API.
Изменить client\_secret могут пользователи, чья учетная запись в СберБизнес соответствует одной из следующих характеристик:
* Учетная запись с полномочиями единоличного исполнительного органа;
* Учетная запись с единственной подписью;
* Учетная запись с первой подписью;
* Учетная запись с ролью разработчика Sber API.
**1. Откройте Параметры промышленного сервиса**
В личном кабинете **Sber API** , выберите **сервис**.
**2. Обновите Client\_secret**
В поле **Client\_secret** нажмите кнопку **Обновить**. В открывшемся окне подтвердите генерацию client\_secret по клику **Сгенерировать**.
:::note
После генерации Client\_secret отображается только один раз. Скопируйте его и сохраните для дальнейшего использования при отправке запросов.
:::
Получить/обновить/удалить пару access\_token и refresh\_token
В личном кабинете можно сгенерировать токены: `access_token` (срок действия 30 дней, используется для авторизации запросов) и `refresh_token` (срок действия 180 дней, нужен для обновления `access_token`).
:::danger
Важно: данная продолжительность "жизни" токенов относится только к парам, выпущенным напрямую в личном кабинете. Одновременно может быть активно не больше 3-х пар токенов на сервис (ограничение действует только в ЛК).
:::
После получения пары, токен можно обновлять методом `/ic/sso/api/v2/oauth/token`, после обновления срок действия `access_token` изменится на 60 минут, а новая пара отобразится в личном кабинете с новым сроком действия.
##### Получить пару
**1. Ключи доступа**
В личном кабинете **Sber API** , выберите **сервис**.
**2. В блоке Ключи доступа нажмите кнопку Сгенерировать ключ.**
Подтвердите действие СМС-кодом. После подтверждения в течении 3-х минут вам доступна функциональность по созданию и обновлению токенов без повторного подтверждения.
:::note
После создания скопируйте токены, так как далее они замаскируются и потребуется повторное создание или обновление для отображения.
:::
##### Раздел Мои ключи
Полученные токены отобразятся в разделе **Мои ключи**.
**Обновить** или **Удалить** токены можно с помощью соответствующих иконок напротив записи о ключе.
:::danger
Удаление `access_token`, выпущенных другими сотрудниками организации, доступно только для пользователя ЕИО.
:::
##### Раздел Мои ключи у другого пользователя
Раздел **Мои ключи** отображается по-разному в зависимости от пользователя:
* Если пользователь — владелец ключей, он видит те ключи, которые выпустил сам. Для каждого ключа отображается замаскированные значения, срок действия и доступные действия (обновление, удаление).
* Если пользователь не владелец ключей, в этом разделе он увидит ключи, выпущенные другими сотрудниками. В таком случае для каждого ключа указывается не только срок действия, но и владелец (ФИО). В зависимости от уровня доступа такой пользователь может управлять чужими ключами — обновлять или удалять их.
Раздел документы
В разделе «Документы» отображаются подписанные заявления на подключение к Sber API, а также корректирующие заявления.
Эти документы появляются там, только если они были подписаны непосредственно в личном кабинете. Если же договор или заявление подписывались через внешние системы ЭДО или в бумажном виде, они в этом разделе не отобразятся — их можно запросить у технической поддержки supportdbo2@sberbank.ru.
Скачать печатную форму заявлений
1. Перейдите в раздел «Документы».
2. Нажмите на кнопку скачивания.
3. Печатная форма будет скачана в формате PDF на ваш компьютер.
> Обратите внимание:
>
> * Возможность скачивания доступна только для электронных документов, подписанных через Личный кабинет Sber API.
> * Для заявлений, созданных до 2023 года, функционал может быть недоступен.
---
# Начало работы
[source](https://developers.sber.ru/docs/ru/sber-api/start/connection-api.md)
Выбрать [набор Sber API](/ru/sber-api/start/overview) и подписать договор можно в Личном кабинете Sber API по [инструкции](/ru/sber-api/start/connect).
Также в Личном кабинете Sber API получите промышленные настройки.
С условиями договора можно ознакомить по [ссылке](https://www.sberbank.ru/common/img/uploaded/files/pdf/legal/remote_business/usl_sbbol.pdf) в Приложении «Условия предоставления канала Sber API».
Для отладки и проверки работоспособности вашего решения используйте тестовую песочницу (Sandbox). Это изолированная среда, которая имитирует работу промышленного контура.
Получить настройки можно в личном кабинете Sber API.
Подробнее в разделе [Песочница API](/ru/sber-api/start/sandbox)
После успешного тестирования в песочнице необходимо переключиться на промышленный контур.
Подробнее в разделе [Промышленная интеграция](/ru/sber-api/start/prom-stand).
---
# Выпуск сертификата ЕИО
[source](https://developers.sber.ru/docs/ru/sber-api/start/crypto-eio.md)
Сервис позволяет оформить сертификат электронной подписи на сотрудников под пользователем ЕИО для работы с Sber API.
Ключевые условия:
* Первичная выдача сертификата требует личного присутствия сотрудника в отделении Сбербанка для идентификации.
* Перевыпуск **действующего** сертификата выполняется дистанционно, без посещения офиса.
:::note
Дистанционный перевыпуск доступен только для действующего сертификата ЭП. Личное посещение отделения банка необходимо, если:
* сертификат оформляется впервые;
* срок действия предыдущего сертификата истек.
:::
#### Реквизиты запроса на сертификат
1. Сведения о владельце сертификата
| **OID** | **Наименование** | **Формат** |
| -------------------- | --------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 2.5.4.3 | Наименование юр. лица / ИП Обозначение: CN | UTF-8 STRING
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Макс. длина - 128 |
| 2.5.4.42 | Имя и отчество сотрудника Обозначение: GN | UTF-8 STRING
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Макс. длина - 128
Каждое слово в тексте должно быть отделено 1 пробелом. Если в имени или отчестве в написании присутствует «дефис», то в запрос так и вносится с дефисом, без пробелов. Если имя или отчество состоит из нескольких слов разделенных пробелом, то в запрос вносится одним словом, части которого соединены «подчеркиванием» без пробелов. Необходимо удалять пробелы (в случае их наличия) в начале и в конце текста, а также все символы, которые не указаны в файле [Набор разрешенных символов в сертификате ЭП.xlsx](pathname:///files/sbapi/eds/allowed-symbols-for-cert.xlsx) Например: «Иван Иванович» |
| 2.5.4.4 | Фамилия сотрудника Обозначение: SN | UTF-8 STRING
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Макс. длина - 128
Требования к формату аналогичны GN |
| 2.5.4.6 | Страна Обозначение: C | PRINTABLE STRING
Макс. длина - 2
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Необходимо удалять пробелы (в случае их наличия) в начале и в конце текста, а также все символы, которые не указаны в файле [Набор разрешенных символов в сертификате ЭП.xlsx](pathname:///files/sbapi/eds/allowed-symbols-for-cert.xlsx)
Должен записываться только двухбуквенный код выбранной страны из справочника стран. Например, для «Российской федерации» - “RU” |
| 2.5.4.10 | Организация Обозначение: O | UTF-8 STRING
Макс. длина - 64
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Полное или сокращенное название организации, наименование юридического лица.
Необходимо удалять пробелы (в случае их наличия) в начале и в конце текста, а также все символы, которые не указаны в файле [Набор разрешенных символов в сертификате ЭП.xlsx](pathname:///files/sbapi/eds/allowed-symbols-for-cert.xlsx) Например: «ООО «Клиент»» |
| 2.5.4.11 | Подразделение Обозначение: OU | UTF-8 STRING
Макс. длина - 64
Необязательное поле
Наименование подразделения.Указываются данные подразделения уполномоченного представителя юридического лица.
Необходимо удалять пробелы (в случае их наличия) в начале и в конце текста, а также все символы, которые не указаны в файле [Набор разрешенных символов в сертификате ЭП.xlsx](pathname:///files/sbapi/eds/allowed-symbols-for-cert.xlsx)
Если длина ИНН = 12 знакам ИЛИ поле «Подразделение» не заполнено, то oid не добавляется в запрос. Например: «Бухгалтерия» |
| 2.5.4.12 | Должность Обозначение: T | UTF-8 STRING
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Макс. длина - 64
Указываются данные уполномоченного представителя юридического лица.
Необходимо удалять пробелы (в случае их наличия) в начале и в конце текста, а также все символы, которые не указаны в файле [Набор разрешенных символов в сертификате ЭП.xlsx](pathname:///files/sbapi/eds/allowed-symbols-for-cert.xlsx) Если длина ИНН = 12 знакам, то oid не добавляется в запрос. Например: «Главный бухгалтер» |
| 1.2.643.3.131.1.1 | ИНН Физ.лица Обозначение: INN | NUMERIC STRING
ОБЯЗАТЕЛЬНОЕ ПОЛЕ для юр.лиц |
| 1.2.643.100.5 | ОГРНИП Обозначение: OGRNIP | NUMERIC STRING
Длина - 15
ОБЯЗАТЕЛЬНОЕ ПОЛЕ для ИП |
| 1.2.840.113549.1.9.1 | Адрес электронной почты Обозначение: E | IA5STRING
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Макс. длина - 64
Адрес электронной почты.
Необходимо удалять пробелы (в случае их наличия) в начале и в конце текста, а также все символы, которые не указаны в файле [Набор разрешенных символов в сертификате ЭП.xlsx](pathname:///files/sbapi/eds/allowed-symbols-for-cert.xlsx) Скопируйте email из профиля вашего СберБизнес ID (В СберБизнес зайдите в настройки → Мой профиль → СберБизнес ID) |
2. Параметры по ГОСТ Р 34.10-2012
| **OID** | **Наименование** | Формат |
| ----------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| 1.2.643.7.1.1.1.1 | Алгоритм подписи | Алгоритм подписи по ГОСТ Р 34.10-2012 с ключом 256
id-tc26-gost3410-12-256 |
| 1.2.643.2.2.35.2 | Параметры эллиптической кривой для алгоритма | Параметры ГОСТ Р 34.10-2001 256 бит, вариант B
id-GostR3410-2001-CryptoPro-B-ParamSet |
| 1.2.643.7.1.1.2.2 | Параметры алгоритма хэширования | Алгоритм хэширования по ГОСТ Р 34.11-12 с длиной хэш-кода 256
ГОСТ 28147-89 |
| 1.2.643.7.1.1.3.2 | Алгоритм подписи и хэширования (Это подпись запроса) | Алгоритм подписи ГОСТ Р 34.10-2012 с 256 с хэшированием по ГОСТ Р 34.11-2012
id-tc26-signwithdigest-gost3410-12-256 |
3. Расширения (Extension)
| **OID** | **Наименование** | **Формат** |
| ----------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 1.2.643.3.123.3.1 | Идентификатор Бикрипт | OCTET STRING внутри него UTF-8 STRING с ID Бикрипт
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Макс. длина - 32
Необходимо удалять пробелы (в случае их наличия) в начале и в конце текста, а также все символы, которые не указаны в файле [Набор разрешенных символов в сертификате ЭП.xlsx](pathname:///files/sbapi/eds/allowed-symbols-for-cert.xlsx)
Подробнее о формировании идентификатора рассказали [ниже](/ru/sber-api/start/eds-in-api) |
| 2.5.29.15 | Использование ключа | OCTET STRING содержащий BITSTRING
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Должно содержать следующие компоненты: Цифровая подпись, неотрекаемость, шифрование ключей, шифрование данных. |
| 2.5.29.19 | Базовые ограничения | OCTET STRING содержащий базовые ограничения
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Битовое поле «CA» ложно, ограничения длинны цепочки сертификатов – 0. |
| 1.2.643.3.123.3.4 | Parent AS | OBJECT IDENTIFIER содержащий OID бизнес-системы
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Заполнять значением 1.2.643.3.123.5.24 |
| 1.2.643.100.111 | subjectSignTool | UTF-8 STRING содержащий название СКЗИ с помощью которого создан запрос на сертификат
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Пример заполенения: КриптоПро CSP 5.0 |
**Алгоритм выпуска сертификата ЭП**
**Чек-лист выпуска сертификата ЭП**
| Шаг | Действие | Метод | Условие |
|-----|-----------------------------------------------------------|--------------------------------------------------------|-------------------------------------------------------------------------|
| 1 | Получить токен доступа | По инструкции [СберБизнес ID](/ru/sber-api/specifications/oauth) | Актуальный access\_token для всех последующих запросов |
| 2 | Запросить криптопрофиль | [`/v1/crypto/eio`](/ru/sber-api/specifications/crypto/crypto-info-eio-get) | Для холдинга - свой `access_token` ЕИО по каждой компании |
| 3 | Сформировать bicryptId | - | [Формат](/ru/sber-api/start/crypto-eio): certCenterCode + (certCenterNum +1) + "s" + ФамилияИО |
| 4 | Сгенерировать ключевую пару (закрытый ключ + CSR) | Запрос к СКЗИ | Параметры: bicryptId, CN, INN и другие [реквизиты](/ru/sber-api/start/eds-in-api) |
| 5 | Сохранить закрытый ключ | - | В HSM/токен/защищенное хранилище |
| 6 | Отправить запрос на сертификат | [`/v2/crypto/cert-request/eio`](/ru/sber-api/specifications/crypto/create-cert-request-eio-v-2) | Передать CSR в base64 |
| 7 | Получить статус заявления | [`/v1/crypto/cert-requests/eio/{externalId}/state`](/ru/sber-api/specifications/crypto/status-eio-get) | Ожидать `ACCEPTED_BY_ABS` |
| 8 | Получить печатную форму заявления | [`/v2/crypto/eio/{externalId}/print`](/ru/sber-api/specifications/crypto/print-eio-v-2) | PDF для печати и подписания (CMS=null) |
| 9 | Подписать и подать заявление в банк | Офлайн | Заявление на выпуск сертификата должно быть подано владельцем в отделение Сбербанка. |
| 10 | Получить статус выпуска сертификата | [`/v1/crypto/cert-requests/eio/{externalId}/state`](/ru/sber-api/specifications/crypto/status-eio-get) | Ожидать `PUBLISHED_BY_BANK` |
| 11 | Активировать сертификат | [`/v1/crypto/cert-requests/eio/{externalId}/activate`](/ru/sber-api/specifications/crypto/activate-eio-post) | Только после статуса `PUBLISHED_BY_BANK` |
| 12 | Получить сертификат | [`/v1/crypto/eio`](/ru/sber-api/specifications/crypto/crypto-info-eio-get) | Сохранить в защищенное хранилище |
UML-диаграмма
**Участники**
* **Подписант** - пользователь СберБизнес, сотрудник вашей организации, имеющий право на подписание документов от лица компании
* **ЕИО** - единоличный исполнительный орган вашей организации
* **Платформа** - любой web-ресурс или АС, которую вы используете для организации процесса оформления сертификата ЭП
* **Sber API** - представляет из себя ресурсы Sber API, к которым обращается Платформа
* **СКЗИ** - используемое вашей компанией средство криптографической защиты информации
* **Банк** - офис Сбера
**Предусловия**
* Подписант имеет профиль в СберБизнес
* Профиль подписанта имеет право подписи
* В профиле СберБизнес Подписанта установлен тип защиты «электронный ключ» (токен)
```mermaid
%%{init: {'theme': 'neutral', 'themeVariables': { 'fontSize': '20px', 'lineWidth': '2px', 'actorFontSize': '14px' }}}%%
sequenceDiagram
autonumber
Подписант/ЕИО->>Платформа: Запросил на выпуск сертификата ЭП
Note over Платформа,SberAPI: 1. Получение токена доступа Процесс получения и обновления access_token описан в инструкции по СберБизнес ID
Note over Платформа,SberAPI: 2. Формирование ключевой пары
Платформа->>SberAPI: Запросила криптопрофиль GET v1/crypto/eio
SberAPI-->>Платформа: Предоставил информацию по криптопрофилю 200 OK certCenterCode, certCenterNum, +др.информация
Платформа->>Платформа: Сформировала bicryptId. Формат: certCenterCode + (certCenterNum +1) + "s" + ФамилияИО
Платформа->>СКЗИ: Сформировала запрос на формирование закрытого ключа bicryptId, CN, C, O и др.реквизиты запроса на сертификат
СКЗИ-->>Платформа: Вернул my.key (закрытый ключ) и my.csr (запрос на сертификат)
Платформа->>Платформа: Перенесла закрытый ключ (my.key) в безопасное хранилище Token, HSM, в защищенное хранилище на сервере и др.
Note over Платформа,SberAPI: 3. Отправка запроса на сертификат
Платформа->>Платформа: Преобразовала запрос на открытый ключ (my.csr) для отправки в API
Платформа->>SberAPI: Отправила запрос на сертификат POST /v2/crypto/cert-request/eio
SberAPI-->>Платформа: Вернул 201 Created (все реквизиты запроса)
Note over Платформа,SberAPI: 4. Мониторинг статуса заявления
loop Периодичность проверки вы можете определять самостоятельно, исходя из ваших бизнес задач. Обычно подготовка заявления на выпуск сертификата занимает 5-10 минут. Иногда быстрее. В редких случаях дольше
Платформа->>SberAPI: Запросила статус GET /v1/crypto/cert-requests/eio/{externalId}/state
SberAPI-->>Платформа: Вернул 200 OK {bankStatus} [до получения ACCEPTED_BY_ABS]
end
Note left of Платформа: При получении статуса ACCEPTED_BY_ABS необходимо продолжить сценарий. Полную статусную модель заявления можно изучить в описании ресурса /v1/crypto/cert-requests/eio/{externalId}/state
Note over Платформа,SberAPI: 5. Получение заявления
Платформа->>SberAPI: Запросила заявление GET /v2/crypto/cert-requests/eio/{externalId}/print
SberAPI-->>Платформа: Вернул 200 OK (PDF, CMS=null)
Note over Подписант/ЕИО,Банк: 6. Оффлайн-взаимодействие с банком
Платформа->>Подписант/ЕИО: Уведомила о готовности заявления
Подписант/ЕИО->>Банк: Скачать заявление, распечатать, подписать и предоставить в обслуживающий Офис Сбер вашей компании
Note over Платформа,SberAPI: 7. Проверка выпуска сертификата
loop Начиная с 3-го рабочего дня со дня подачи заявления в офис Сбер
Платформа->>SberAPI: Запросила статус GET /v1/crypto/cert-requests/eio/{externalId}/state
SberAPI-->>Платформа: Вернул 200 OK {bankStatus} [до получения PUBLISHED_BY_BANK]
end
Note left of Платформа: При получении статуса PUBLISHED_BY_BANK необходимо продолжить сценарий. Полную статусную модель заявления можно изучить в описании ресурса /v1/crypto/cert-requests/eio/{externalId}/state
Note over Платформа,SberAPI: 8. Активация и сохранение сертификата
Платформа->>SberAPI: Активировала сертификат GET /v1/crypto/cert-requests/eio/{externalId}/activate
SberAPI-->>Платформа: Вернул 200 OK
Платформа->>SberAPI: Запросила сертификат GET /v1/crypto/eio
SberAPI-->>Платформа: Вернул 200 OK (сертификат, uuid, ...)
Платформа->>Платформа: Сохранила сертификат ЭП (cert) в файл my.crt в безопасное хранилище Token, HSM, в защищенное хранилище на сервере и др.
Платформа->>СКЗИ: Сообщила о месте хранения сертификата ЭП
Платформа->>Подписант/ЕИО: Уведомить о готовности ЭП
```
**Алгоритм перевыпуска сертификата ЭП**
**Чек-лист выпуска сертификата ЭП**
| Шаг | Действие | Метод | Условие |
|-----|---------------------------------------|--------------------------------------------------------|-------------------------------------------------------------------------|
| 1 | Получить токен доступа | По инструкции [СберБизнес ID](/ru/sber-api/specifications/oauth) | Актуальный access\_token для всех последующих запросов |
| 2 | Запросить криптопрофиль | [`/v1/crypto/eio`](/ru/sber-api/specifications/crypto/crypto-info-eio-get) | Для холдинга - свой `access_token` ЕИО по каждой компании |
| 3 | Сформировать bicryptId | - | [Формат](/ru/sber-api/start/crypto-eio): certCenterCode + (certCenterNum +1) + "s" + ФамилияИО |
| 4 | Сгенерировать ключевую пару (закрытый ключ + CSR) | Запрос к СКЗИ | Параметры: bicryptId, CN, INN и другие [реквизиты](/ru/sber-api/start/eds-in-api) |
| 5 | Сохранить закрытый ключ | - | В HSM/токен/защищенное хранилище |
| 6 | Отправить запрос на сертификат (CSR) | [`/v2/crypto/cert-requests/eio`](/ru/sber-api/specifications/crypto/create-cert-request-eio-v-2) | Подпись в base64, указать certificateUuid |
| 7 | Проверить статус заявления | [`/v1/crypto/cert-requests/eio/{externalId}/state`](/ru/sber-api/specifications/crypto/status-eio-get) | Дождаться `AWAITING_CONFIRMATION` |
| 8 | Получить печатную форму | [`/v2/crypto/cert-requests/eio/{externalId}/print`](/ru/sber-api/specifications/crypto/print-eio-v-2) | Получить PDF и CMS для подписания |
| 9 | Подтвердить выпуск | [`/v1/crypto/cert-requests/eio/{externalId}/confirm`](/ru/sber-api/specifications/crypto/confirm-cert-eio) | Подписи PDF и CMS в base64 |
| 10 | Получить статус выпуска сертификата | [`/v1/crypto/cert-requests/eio/{externalId}/state`](/ru/sber-api/specifications/crypto/status-eio-get) | Дождаться `PUBLISHED_BY_BANK` |
| 11 | Активировать сертификат | [`/v1/crypto/cert-requests/eio/{externalId}/activate`](/ru/sber-api/specifications/crypto/activate-eio-post) | Только при статусе `PUBLISHED_BY_BANK` |
| 12 | Получить сертификат | [`/v1/crypto/eio`](/ru/sber-api/specifications/crypto/crypto-info-eio-get) | Сохранить в защищенное хранилище |
UML-диаграмма
**Участники**
* **Подписант** - пользователь СберБизнес, сотрудник вашей организации, имеющий право на подписание документов от лица компании
* **ЕИО** - единоличный исполнительный орган вашей организации
* **Платформа** - любой web-ресурс или АС, которую вы используете для организации процесса оформления сертификата ЭП
* **Sber API** - представляет из себя ресурсы Sber API, к которым обращается Платформа
* **СКЗИ** - используемое вашей компанией средство криптографической защиты информации
**Предусловия**
* Подписант имеет профиль в СберБизнес
* Профиль подписанта имеет право подписи
* В профиле СберБизнес Подписанта установлен тип защиты «электронный ключ» (токен)
* Подписан находится на Платформе
**Постусловия**
* На подписанта выпущен сертификат ЭП
* Сертификат ЭП готов к созданию ЭП
```mermaid
%%{init: {'theme': 'neutral', 'themeVariables': { 'fontSize': '20px', 'lineWidth': '2px', 'actorFontSize': '14px' }}}%%
sequenceDiagram
autonumber
Подписант/ЕИО->>Платформа: Запросил на выпуск сертификата ЭП
Note over Платформа,SberAPI: 1. Получение токена доступа Процесс получения и обновления access_token описан в инструкции по СберБизнес ID
Note over Платформа,СКЗИ: 2. Формирование ключевой пары
Платформа->>SberAPI: Запросила криптопрофиль GET v1/crypto или GET v1/crypto/eio
SberAPI-->>Платформа: Предоставил информацию по криптопрофилю 200 OK certCenterCode, certCenterNum, +др.информация
Платформа->>Платформа: Сформировала bicryptId. Формат: certCenterCode + (certCenterNum +1) + "s" + ФамилияИО
Платформа->>СКЗИ: Сформировала запрос на формирование закрытого ключа bicryptId, CN, C, O и др.реквизиты запроса на сертификат
СКЗИ-->>Платформа: Вернул my.key (закрытый ключ) и my.csr (запрос на сертификат)
Платформа->>Платформа: Перенесла закрытый ключ (my.key) в безопасное хранилище Token, HSM, в защищенное хранилище на сервере и др.
Note over Платформа,SberAPI: 3. Отправка запроса на сертификат
Платформа->>Платформа: Преобразовала запрос на открытый ключ (my.csr) для отправки в API
Платформа->>SberAPI: Отправила запрос на сертификат POST /v2/crypto/cert-request/eio
SberAPI-->>Платформа: Вернул 201 Created (все реквизиты запроса)
Note over Платформа,SberAPI: 4. Мониторинг статуса заявления
loop Периодичность проверки вы можете определять самостоятельно, исходя из ваших бизнес задач. Обычно подготовка завяления на выпуск сертификата занимает 5-10 минут. Иногда быстрее. В редких случаях дольше
Платформа->>SberAPI: Запросила статус GET /v1/crypto/cert-requests/eio/{externalId}/state
SberAPI-->>Платформа: Вернул 200 OK {bankStatus} [до получения AWAITING_CONFIRMATION]
end
Note left of Платформа: При получении статуса AWAITING_CONFIRMATION необходимо продолжить сценарий. Полную статусную модель заявления можно изучить в описании ресурса /v1/crypto/cert-requests/eio/{externalId}/state
Note over Платформа,SberAPI: 5. Получение заявления
Платформа->>SberAPI: Запросила заявление GET /v2/crypto/cert-requests/eio/{externalId}/print
SberAPI-->>Платформа: Вернул 200 OK (PDF, CMS)
Note over Платформа,СКЗИ: 6. Подтверждение заявления на выпуск сертификата
Платформа ->> СКЗИ: Передала данные для подписи (PDF, CMS)
Note left of Платформа: Подписание pdf: подписать base64 или подписать сам файл после раскодирования base64 Подписание cms: подписать в текущем виде
Note right of СКЗИ: Для подписания использовать закрытый ключ пользователя, на которого выпускается сертификат
СКЗИ -->> Платформа: Вернул подписанные данные (PDF+CMS)
Платформа->>SberAPI: Запросила подтверждение сертификата POST /v1/crypto/cert-requests/eio/{externalId}/confirm (передать информацию о подписях pdf и cms в base64)
SberAPI-->>Платформа: Вернул 200 OK
Note over Платформа,SberAPI: 7. Проверка выпуска сертификата
loop Периодичность проверки вы можете определять самостоятельно, исходя из ваших бизнес задач. Обычно подготовка завяления на выпуск сертификата занимает 5-10 минут. Иногда быстрее. В редких случаях дольше
Платформа->>SberAPI: Запросила статус GET /v1/crypto/cert-requests/eio/{externalId}/state
SberAPI-->>Платформа: Вернул 200 OK {bankStatus} [до получения PUBLISHED_BY_BANK]
end
Note left of Платформа: При получении статуса PUBLISHED_BY_BANK необходимо продолжить сценарий. Полную статусную модель заявления можно изучить в описании ресурса /v1/crypto/cert-requests/eio/{externalId}/state
Note over Платформа,SberAPI: 8. Активация и сохранение сертификата
Платформа->>SberAPI: Активировала сертификат GET /v1/crypto/cert-requests/eio/{externalId}/activate
SberAPI-->>Платформа: Вернул 200 OK
Платформа->>SberAPI: Запросила сертификат GET /v1/crypto/eio
SberAPI-->>Платформа: Вернул 200 OK (сертификат, uuid)
Платформа->>Платформа: Сохранила сертификат ЭП (cert) в файл my.crt в безопасное хранилище Token, HSM, в защищенное хранилище на сервере и др.
Платформа->>СКЗИ: Сообщила о месте хранения сертификата ЭП
Платформа->>Подписант/ЕИО: Уведомить о готовности ЭП
```
## Формирование BicryptId
Для составления запроса на выпуск нового сертификата ЭП необходимо сгенерировать уникальный идентификатор сертификата ЭП - Bicrypt ID.
Bicrypt ID состоит из:
| 1 | 2 | 3 | 4 |
| ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------- | ------------------------------ | -------------------------------------------- |
| **КУЦ** | **Порядковый номер для генерации сертификата** | **Тип ключа** | **Фамилия и инициалы владельца сертификата** |
| значение атрибута certCenterCode из ответа методов `/v1/crypto` или `/v1/crypto/eio` | значение атрибута certCenterNum +1 из ответа методов `/v1/crypto` или `/v1/crypto/eio` | Всегда используем значение "s" | ФамилияИО (кириллицей без пробелов) |
* Длина КУЦ может быть 4 или 6 символов
* При каждом формировании идентификатора требуется выполнять инкрементацию значения атрибута certCenterNum (добавлять +1 к текущему полученному значению)
* Порядковый номер для генерации сертификата должен соответствовать ряду: «01,02,..09,10,11..99,0A,0B..0Z,1A..1Z…9Z,A0,A1…A9,AA,AB..AZ…Z0,Z1..Z9,ZA..ZZ»
* Порядковый номер не должен содержать символы "I", "O", кириллицу, специальные символы.
* Если длина КУЦ 6 символов, то Порядковый номер необходим длиной 2 символа. Берем его без изменений из ответа методов `/v1/crypto` или `/v1/crypto/eio`
* Если длина КУЦ 4 символа, то Порядковый номер необходим длиной 4 символа. Берем из ответа методов `/v1/crypto` или `/v1/crypto/eio` и добавляем 00 в его начало, чтобы сделать 4 символьным
Общая длина Bicrypt ID = 9 символов + Фамилия и инициалы владельца сертификата.
```sh
certCenterCode + (certCenterNum +1) + s + ФамилияИО
```
**Примеры**
| **Если КУЦ 6 символьный** | **Если КУЦ 4 символьный** |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| При выполнении запроса `/v1/crypto` или `/v1/crypto/eio`: - В параметре certCenterCode получили значение **A0001P** - В параметре certCenterNum получили значение **08** - увеличиваем его на +1
Фамилия Имя Отчество пользователя, на которого создаем запрос на выпуск нового сертификата ЭП: **Иванов Иван Иванович**
Итоговое значение BicryptId: `A0001P09sИвановИИ` | При выполнении запроса `/v1/crypto` или `/v1/crypto/eio`: - В параметре certCenterCode получили значение **A01P** - В параметре certCenterNum получили значение **08** - увеличиваем его на +1 и добавляем слева к нему 00
Фамилия Имя Отчество пользователя, на которого создаем запрос на выпуск нового сертификата ЭП: **Иванов Иван Иванович**
Итоговое значение BicryptId: `A01P0009sИвановИИ` |
## Набор разрешенных символов для текстов в КСКП ЭП
См. в файле [Набор разрешенных символов в сертификате ЭП.xlsx](pathname:///files/sbapi/eds/allowed-symbols-for-cert.xlsx).
---
# Подключение и использование УКЭП
[source](https://developers.sber.ru/docs/ru/sber-api/start/crypto-ukep.md)
:::note
На данный момент подписание УКЭП доступно только для [рублевых платежных поручений](/ru/sber-api/specifications/payments/create-payment) и переводов [СБП B2C](/ru/sber-api/scenarios/sbp/transfer/overview).
:::
## Подключить в СберБизнес
Чтобы настроить полномочие подписания УКЭП необходимо выполнить настройку в кабинете СберБизнес под владельцем подписи.
**1.** Откройте СберБизнес и перейдите в настройки СберБизнес ID.
**2.** Найдите пункт "Подпись УКЭП юрлица" и нажмите редактировать.
**3.** В появившемся окне нажмите "Подключить".
## Подписание УКЭП
**Работа с подписью УКЭП ЮЛ в РПП**
| Шаг | Действие | Дополнительная информация|
|------|----------|-----------------------------------|
| 1 | Получите `certificateUuid`: вызовите метод получения криптоинформации и из массива `certificateInfos` для `typeName = UKEP_UL` возьмите значение `uuid` | |
| 2 | Сформируйте дайджест для РПП | [Документация по РПП](/ru/sber-api/specifications/payments/create-payment) |
| 3 | Подпишите дайджест УКЭП ЮЛ | Используйте ваше **СКЗИ** |
| 4 | Отправьте запрос на создание РПП в API `/v1/payments` с заголовком `Authorization: access_token` пользователя, на имя которого выпущен сертификат. В теле запроса заполните: \* `certificateUuid` (из шага 1) \* `base64Encoded` (открепленная подпись под дайджестом в Base64 из шага 3) \* `signType = "UKEP_UL"` | **Важно:** \* Без `certificateUuid` запрос будет отклонен \* В `digestSignatures` может быть **только одна подпись** \* При несоответствии подписи и токена платеж создастся как *Черновик*, позже будет отклонен со статусом `INVALIDEDS` |
---
# Выпуск сертификата
[source](https://developers.sber.ru/docs/ru/sber-api/start/crypto.md)
Сервис позволяет оформить сертификат электронной подписи для работы с Sber API. Ключевые условия:
* Первичная выдача сертификата требует личного присутствия сотрудника в отделении Сбербанка для идентификации.
* Перевыпуск **действующего** сертификата выполняется дистанционно, без посещения офиса.
:::note
Дистанционный перевыпуск доступен только для действующего сертификата ЭП. Личное посещение отделения банка необходимо, если:
* сертификат оформляется впервые;
* срок действия предыдущего сертификата истек.
:::
## Реквизиты запроса на сертификат
1. Сведения о владельце сертификата
| **OID** | **Наименование** | **Формат** |
| -------------------- | --------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 2.5.4.3 | Наименование юр. лица / ИП Обозначение: CN | UTF-8 STRING
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Макс. длина - 128 |
| 2.5.4.42 | Имя и отчество сотрудника Обозначение: GN | UTF-8 STRING
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Макс. длина - 128
Каждое слово в тексте должно быть отделено 1 пробелом. Если в имени или отчестве в написании присутствует «дефис», то в запрос так и вносится с дефисом, без пробелов. Если имя или отчество состоит из нескольких слов разделенных пробелом, то в запрос вносится одним словом, части которого соединены «подчеркиванием» без пробелов. Необходимо удалять пробелы (в случае их наличия) в начале и в конце текста, а также все символы, которые не указаны в файле [Набор разрешенных символов в сертификате ЭП.xlsx](pathname:///files/sbapi/eds/allowed-symbols-for-cert.xlsx) Например: «Иван Иванович» |
| 2.5.4.4 | Фамилия сотрудника Обозначение: SN | UTF-8 STRING
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Макс. длина - 128
Требования к формату аналогичны GN |
| 2.5.4.6 | Страна Обозначение: C | PRINTABLE STRING
Макс. длина - 2
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Необходимо удалять пробелы (в случае их наличия) в начале и в конце текста, а также все символы, которые не указаны в файле [Набор разрешенных символов в сертификате ЭП.xlsx](pathname:///files/sbapi/eds/allowed-symbols-for-cert.xlsx)
Должен записываться только двухбуквенный код выбранной страны из справочника стран. Например, для «Российской федерации» - “RU” |
| 2.5.4.10 | Организация Обозначение: O | UTF-8 STRING
Макс. длина - 64
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Полное или сокращенное название организации, наименование юридического лица.
Необходимо удалять пробелы (в случае их наличия) в начале и в конце текста, а также все символы, которые не указаны в файле [Набор разрешенных символов в сертификате ЭП.xlsx](pathname:///files/sbapi/eds/allowed-symbols-for-cert.xlsx) Например: «ООО «Клиент»» |
| 2.5.4.11 | Подразделение Обозначение: OU | UTF-8 STRING
Макс. длина - 64
Необязательное поле
Наименование подразделения.Указываются данные подразделения уполномоченного представителя юридического лица.
Необходимо удалять пробелы (в случае их наличия) в начале и в конце текста, а также все символы, которые не указаны в файле [Набор разрешенных символов в сертификате ЭП.xlsx](pathname:///files/sbapi/eds/allowed-symbols-for-cert.xlsx)
Если длина ИНН = 12 знакам ИЛИ поле «Подразделение» не заполнено, то oid не добавляется в запрос. Например: «Бухгалтерия» |
| 2.5.4.12 | Должность Обозначение: T | UTF-8 STRING
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Макс. длина - 64
Указываются данные уполномоченного представителя юридического лица.
Необходимо удалять пробелы (в случае их наличия) в начале и в конце текста, а также все символы, которые не указаны в файле [Набор разрешенных символов в сертификате ЭП.xlsx](pathname:///files/sbapi/eds/allowed-symbols-for-cert.xlsx) Если длина ИНН = 12 знакам, то oid не добавляется в запрос. Например: «Главный бухгалтер» |
| 1.2.643.3.131.1.1 | ИНН Физ.лица Обозначение: INN | NUMERIC STRING
ОБЯЗАТЕЛЬНОЕ ПОЛЕ для юр.лиц |
| 1.2.643.100.5 | ОГРНИП Обозначение: OGRNIP | NUMERIC STRING
Длина - 15
ОБЯЗАТЕЛЬНОЕ ПОЛЕ для ИП |
| 1.2.840.113549.1.9.1 | Адрес электронной почты Обозначение: E | IA5STRING
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Макс. длина - 64
Адрес электронной почты.
Необходимо удалять пробелы (в случае их наличия) в начале и в конце текста, а также все символы, которые не указаны в файле [Набор разрешенных символов в сертификате ЭП.xlsx](pathname:///files/sbapi/eds/allowed-symbols-for-cert.xlsx) Скопируйте email из профиля вашего СберБизнес ID (В СберБизнес зайдите в настройки → Мой профиль → СберБизнес ID) |
2. Параметры по ГОСТ Р 34.10-2012
| **OID** | **Наименование** | Формат |
| ----------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| 1.2.643.7.1.1.1.1 | Алгоритм подписи | Алгоритм подписи по ГОСТ Р 34.10-2012 с ключом 256
id-tc26-gost3410-12-256 |
| 1.2.643.2.2.35.2 | Параметры эллиптической кривой для алгоритма | Параметры ГОСТ Р 34.10-2001 256 бит, вариант B
id-GostR3410-2001-CryptoPro-B-ParamSet |
| 1.2.643.7.1.1.2.2 | Параметры алгоритма хэширования | Алгоритм хэширования по ГОСТ Р 34.11-12 с длиной хэш-кода 256
ГОСТ 28147-89 |
| 1.2.643.7.1.1.3.2 | Алгоритм подписи и хэширования (Это подпись запроса) | Алгоритм подписи ГОСТ Р 34.10-2012 с 256 с хэшированием по ГОСТ Р 34.11-2012
id-tc26-signwithdigest-gost3410-12-256 |
3. Расширения (Extension)
| **OID** | **Наименование** | **Формат** |
| ----------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 1.2.643.3.123.3.1 | Идентификатор Бикрипт | OCTET STRING внутри него UTF-8 STRING с ID Бикрипт
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Макс. длина - 32
Необходимо удалять пробелы (в случае их наличия) в начале и в конце текста, а также все символы, которые не указаны в файле [Набор разрешенных символов в сертификате ЭП.xlsx](pathname:///files/sbapi/eds/allowed-symbols-for-cert.xlsx)
Подробнее о формировании идентификатора рассказали [ниже](/ru/sber-api/start/eds-in-api) |
| 2.5.29.15 | Использование ключа | OCTET STRING содержащий BITSTRING
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Должно содержать следующие компоненты: Цифровая подпись, неотрекаемость, шифрование ключей, шифрование данных. |
| 2.5.29.19 | Базовые ограничения | OCTET STRING содержащий базовые ограничения
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Битовое поле «CA» ложно, ограничения длинны цепочки сертификатов – 0. |
| 1.2.643.3.123.3.4 | Parent AS | OBJECT IDENTIFIER содержащий OID бизнес-системы
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Заполнять значением 1.2.643.3.123.5.24 |
| 1.2.643.100.111 | subjectSignTool | UTF-8 STRING содержащий название СКЗИ с помощью которого создан запрос на сертификат
ОБЯЗАТЕЛЬНОЕ ПОЛЕ
Пример заполенения: КриптоПро CSP 5.0 |
**Алгоритм выпуска сертификата ЭП**
**Чек-лист выпуска сертификата ЭП**
| Шаг | Действие | Метод | Условие |
|-----|-----------------------------------------------------------|--------------------------------------------------------|-------------------------------------------------------------------------|
| 1 | Получить токен доступа | По инструкции [СберБизнес ID](/ru/sber-api/specifications/oauth) | Актуальный access\_token для всех последующих запросов |
| 2 | Запросить криптопрофиль | [`/v1/crypto`](/ru/sber-api/specifications/crypto/crypto-info-get) | По `access_token` сотрудника, на которого нужно выпустить ЭП |
| 3 | Сформировать bicryptId | - | [Формат](/ru/sber-api/start/crypto): certCenterCode + (certCenterNum +1) + "s" + ФамилияИО |
| 4 | Сгенерировать ключевую пару (закрытый ключ + CSR) | Запрос к СКЗИ | Параметры: bicryptId, CN, INN и другие [реквизиты](/ru/sber-api/start/eds-in-api) |
| 5 | Сохранить закрытый ключ | - | В HSM/токен/защищенное хранилище |
| 6 | Отправить запрос на сертификат | [`/v2/crypto/cert-request`](/ru/sber-api/specifications/crypto/create-cert-request-v-2) | Передать CSR в base64 |
| 7 | Получить статус заявления | [`/v1/crypto/cert-requests/{externalId}/state`](/ru/sber-api/specifications/crypto/status-get) | Ожидать `ACCEPTED_BY_ABS` |
| 8 | Получить печатную форму заявления | [`/v2/crypto/cert-requests/{externalId}/print`](/ru/sber-api/specifications/crypto/print-v-2) | PDF для печати и подписания (CMS=null) |
| 9 | Подписать и подать заявление в банк | Офлайн | Заявление на выпуск сертификата должно быть подано владельцем в отделение Сбербанка. |
| 10 | Получить статус выпуска сертификата | [`/v1/crypto/cert-requests/{externalId}/state`](/ru/sber-api/specifications/crypto/status-get) | Ожидать `PUBLISHED_BY_BANK` |
| 11 | Активировать сертификат | [`/v1/crypto/cert-requests/{externalId}/activate`](/ru/sber-api/specifications/crypto/activate-post) | Только после статуса `PUBLISHED_BY_BANK` |
| 12 | Получить сертификат | [`/v1/crypto`](/ru/sber-api/specifications/crypto/crypto-info-get) | Сохранить в защищенное хранилище |
UML-диаграмма
**Участники**
* **Подписант** - пользователь СберБизнес, сотрудник вашей организации, имеющий право на подписание документов от лица компании
* **Платформа** - любой web-ресурс или АС, которую вы используете для организации процесса оформления сертификата ЭП
* **Sber API** - представляет из себя ресурсы Sber API, к которым обращается Платформа
* **СКЗИ** - используемое вашей компанией средство криптографической защиты информации
* **Банк** - офис Сбера
**Предусловия**
* Подписант имеет профиль в СберБизнес
* Профиль подписанта имеет право подписи
* В профиле СберБизнес Подписанта установлен тип защиты «электронный ключ» (токен)
```mermaid
%%{init: {'theme': 'neutral', 'themeVariables': { 'fontSize': '20px', 'lineWidth': '2px', 'actorFontSize': '14px' }}}%%
sequenceDiagram
autonumber
Подписант->>Платформа: Запросил на выпуск сертификата ЭП
Note over Платформа,SberAPI: 1. Получение токена доступа Процесс получения и обновления access_token описан в инструкции по СберБизнес ID
Note over Платформа,SberAPI: 2. Формирование ключевой пары
Платформа->>SberAPI: Запросила криптопрофиль GET v1/crypto
SberAPI-->>Платформа: Предоставил информацию по криптопрофилю 200 OK certCenterCode, certCenterNum, +др.информация
Платформа->>Платформа: Сформировала bicryptId. Формат: certCenterCode + (certCenterNum +1) + "s" + ФамилияИО
Платформа->>СКЗИ: Сформировала запрос на формирование закрытого ключа bicryptId, CN, C, O и др.реквизиты запроса на сертификат
СКЗИ-->>Платформа: Вернул my.key (закрытый ключ) и my.csr (запрос на сертификат)
Платформа->>Платформа: Перенесла закрытый ключ (my.key) в безопасное хранилище Token, HSM, в защищенное хранилище на сервере и др.
Note over Платформа,SberAPI: 3. Отправка запроса на сертификат
Платформа->>Платформа: Преобразовала запрос на открытый ключ (my.csr) для отправки в API
Платформа->>SberAPI: Отправила запрос на сертификат POST /v2/crypto/cert-request
SberAPI-->>Платформа: Вернул 201 Created (все реквизиты запроса)
Note over Платформа,SberAPI: 4. Мониторинг статуса заявления
loop Периодичность проверки вы можете определять самостоятельно, исходя из ваших бизнес задач. Обычно подготовка заявления на выпуск сертификата занимает 5-10 минут. Иногда быстрее. В редких случаях дольше
Платформа->>SberAPI: Запросила статус GET /v1/crypto/cert-requests/{externalId}/state
SberAPI-->>Платформа: Вернул 200 OK {bankStatus} [до получения ACCEPTED_BY_ABS]
end
Note left of Платформа: При получении статуса ACCEPTED_BY_ABS необходимо продолжить сценарий. Полную статусную модель заявления можно изучить в описании ресурса /v1/crypto/cert-requests/{externalId}/state
Note over Платформа,SberAPI: 5. Получение заявления
Платформа->>SberAPI: Запросила заявление GET /v2/crypto/cert-requests/{externalId}/print
SberAPI-->>Платформа: Вернул 200 OK (PDF, CMS=null)
Note over Подписант,Банк: 6. Оффлайн-взаимодействие с банком
Платформа->>Подписант: Уведомила о готовности заявления
Подписант->>Банк: Скачать заявление, распечатать, подписать и предоставить в обслуживающий Офис Сбер вашей компании
Note over Платформа,SberAPI: 7. Проверка выпуска сертификата
loop Начиная с 3-го рабочего дня со дня подачи заявления в офис Сбер
Платформа->>SberAPI: Запросила статус GET /v1/crypto/cert-requests/{externalId}/state
SberAPI-->>Платформа: Вернул 200 OK {bankStatus} [до получения PUBLISHED_BY_BANK]
end
Note left of Платформа: При получении статуса PUBLISHED_BY_BANK необходимо продолжить сценарий. Полную статусную модель заявления можно изучить в описании ресурса /v1/crypto/cert-requests/{externalId}/state
Note over Платформа,SberAPI: 8. Активация и сохранение сертификата
Платформа->>SberAPI: Активировала сертификат GET /v1/crypto/cert-requests/{externalId}/activate
SberAPI-->>Платформа: Вернул 200 OK
Платформа->>SberAPI: Запросила сертификат GET /v1/crypto
SberAPI-->>Платформа: Вернул 200 OK (сертификат, uuid, ...)
Платформа->>Платформа: Сохранила сертификат ЭП (cert) в файл my.crt в безопасное хранилище Token, HSM, в защищенное хранилище на сервере и др.
Платформа->>СКЗИ: Сообщила о месте хранения сертификата ЭП
Платформа->>Подписант: Уведомить о готовности ЭП
```
**Алгоритм перевыпуска сертификата ЭП**
**Чек-лист перевыпуска сертификата ЭП**
| Шаг | Действие | Метод | Условие |
|-----|---------------------------------------|--------------------------------------------------------|-------------------------------------------------------------------------|
| 1 | Получить токен доступа | По инструкции [СберБизнес ID](/ru/sber-api/specifications/oauth) | Актуальный access\_token для всех последующих запросов |
| 2 | Запросить криптопрофиль | [`/v1/crypto`](/ru/sber-api/specifications/crypto/crypto-info-get) | По `access_token` сотрудника, на которого нужно выпустить ЭП |
| 3 | Сформировать bicryptId | - | [Формат](/ru/sber-api/start/crypto): certCenterCode + (certCenterNum +1) + "s" + ФамилияИО |
| 4 | Сгенерировать ключевую пару (закрытый ключ + CSR) | Запрос к СКЗИ | Параметры: bicryptId, CN, INN и другие [реквизиты](/ru/sber-api/start/eds-in-api) |
| 5 | Сохранить закрытый ключ | - | В HSM/токен/защищенное хранилище |
| 6 | Отправить запрос на сертификат (CSR) | [`/v2/crypto/cert-request`](/ru/sber-api/specifications/crypto/create-cert-request-v-2) | Передать CSR в base64 |
| 7 | Проверить статус заявления | [`/v1/crypto/cert-requests/{externalId}/state`](/ru/sber-api/specifications/crypto/status-get) | Дождаться `AWAITING_CONFIRMATION` |
| 8 | Получить печатную форму | [`/v2/crypto/cert-requests/{externalId}/print`](/ru/sber-api/specifications/crypto/print-v-2) | Получить PDF и CMS для подписания |
| 9 | Подтвердить выпуск | [`/v1/crypto/cert-requests/{externalId}/confirm`](/ru/sber-api/specifications/crypto/confirm-cert) | Подписи PDF и CMS в base64 |
| 10 | Получить статус выпуска сертификата | [`/v1/crypto/cert-requests/{externalId}/state`](/ru/sber-api/specifications/crypto/status-get) | Дождаться `PUBLISHED_BY_BANK` |
| 11 | Активировать сертификат | [`/v1/crypto/cert-requests/{externalId}/activate`](/ru/sber-api/specifications/crypto/activate-post) | Только при статусе `PUBLISHED_BY_BANK` |
| 12 | Получить сертификат | [`/v1/crypto`](/ru/sber-api/specifications/crypto/crypto-info-get) | Сохранить в защищенное хранилище |
UML-диаграмма
**Участники**
* **Подписант** - пользователь СберБизнес, сотрудник вашей организации, имеющий право на подписание документов от лица компании
* **Платформа** - любой web-ресурс или АС, которую вы используете для организации процесса оформления сертификата ЭП
* **Sber API** - представляет из себя ресурсы Sber API, к которым обращается Платформа
* **СКЗИ** - используемое вашей компанией средство криптографической защиты информации
**Предусловия**
* Подписант имеет профиль в СберБизнес
* Профиль подписанта имеет право подписи
* В профиле СберБизнес Подписанта установлен тип защиты «электронный ключ» (токен)
* Подписан находится на Платформе
**Постусловия**
* На подписанта выпущен сертификат ЭП
* Сертификат ЭП готов к созданию ЭП
```mermaid
%%{init: {'theme': 'neutral', 'themeVariables': { 'fontSize': '20px', 'lineWidth': '2px', 'actorFontSize': '14px' }}}%%
sequenceDiagram
autonumber
Подписант->>Платформа: Запросил на выпуск сертификата ЭП
Note over Платформа,SberAPI: 1. Получение токена доступа Процесс получения и обновления access_token описан в инструкции по СберБизнес ID
Note over Платформа,СКЗИ: 2. Формирование ключевой пары
Платформа->>SberAPI: Запросила криптопрофиль GET v1/crypto
SberAPI-->>Платформа: Предоставил информацию по криптопрофилю 200 OK certCenterCode, certCenterNum, +др.информация
Платформа->>Платформа: Сформировала bicryptId. Формат: certCenterCode + (certCenterNum +1) + "s" + ФамилияИО
Платформа->>СКЗИ: Сформировала запрос на формирование закрытого ключа bicryptId, CN, C, O и др.реквизиты запроса на сертификат
СКЗИ-->>Платформа: Вернул my.key (закрытый ключ) и my.csr (запрос на сертификат)
Платформа->>Платформа: Перенесла закрытый ключ (my.key) в безопасное хранилище Token, HSM, в защищенное хранилище на сервере и др.
Note over Платформа,SberAPI: 3. Отправка запроса на сертификат
Платформа->>Платформа: Преобразовала запрос на открытый ключ (my.csr) для отправки в API
Платформа->>SberAPI: Отправила запрос на сертификат POST /v2/crypto/cert-request
SberAPI-->>Платформа: Вернул 201 Created (все реквизиты запроса)
Note over Платформа,SberAPI: 4. Мониторинг статуса заявления
loop Периодичность проверки вы можете определять самостоятельно, исходя из ваших бизнес задач. Обычно подготовка завяления на выпуск сертификата занимает 5-10 минут. Иногда быстрее. В редких случаях дольше
Платформа->>SberAPI: Запросила статус GET /v1/crypto/cert-requests/{externalId}/state
SberAPI-->>Платформа: Вернул 200 OK {bankStatus} [до получения AWAITING_CONFIRMATION]
end
Note left of Платформа: При получении статуса AWAITING_CONFIRMATION необходимо продолжить сценарий. Полную статусную модель заявления можно изучить в описании ресурса /v1/crypto/cert-requests/{externalId}/state
Note over Платформа,SberAPI: 5. Получение заявления
Платформа->>SberAPI: Запросила заявление GET /v2/crypto/cert-requests/{externalId}/print
SberAPI-->>Платформа: Вернул 200 OK (PDF, CMS)
Note over Платформа,СКЗИ: 6. Подтверждение заявления на выпуск сертификата
Платформа ->> СКЗИ: Передала данные для подписи (PDF, CMS)
Note left of Платформа: Подписание pdf: подписать base64 или подписать сам файл после раскодирования base64 Подписание cms: подписать в текущем виде
Note right of СКЗИ: Для подписания использовать закрытый ключ пользователя, на которого выпускается сертификат
СКЗИ -->> Платформа: Вернул подписанные данные (PDF+CMS)
Платформа->>SberAPI: Запросила подтверждение сертификата POST /v1/crypto/cert-requests/{externalId}/confirm (передать информацию о подписях pdf и cms в base64)
SberAPI-->>Платформа: Вернул 200 OK
Note over Платформа,SberAPI: 7. Проверка выпуска сертификата
loop Периодичность проверки вы можете определять самостоятельно, исходя из ваших бизнес задач. Обычно подготовка заявления на выпуск сертификата занимает 5-10 минут. Иногда быстрее. В редких случаях дольше
Платформа->>SberAPI: Запросила статус GET /v1/crypto/cert-requests/{externalId}/state
SberAPI-->>Платформа: Вернул 200 OK {bankStatus} [до получения PUBLISHED_BY_BANK]
end
Note left of Платформа: При получении статуса PUBLISHED_BY_BANK необходимо продолжить сценарий. Полную статусную модель заявления можно изучить в описании ресурса /v1/crypto/cert-requests/{externalId}/state
Note over Платформа,SberAPI: 8. Активация и сохранение сертификата
Платформа->>SberAPI: Активировала сертификат GET /v1/crypto/cert-requests/{externalId}/activate
SberAPI-->>Платформа: Вернул 200 OK
Платформа->>SberAPI: Запросила сертификат GET /v1/crypto/
SberAPI-->>Платформа: Вернул 200 OK (сертификат, uuid)
Платформа->>Платформа: Сохранила сертификат ЭП (cert) в файл my.crt в безопасное хранилище Token, HSM, в защищенное хранилище на сервере и др.
Платформа->>СКЗИ: Сообщила о месте хранения сертификата ЭП
Платформа->>Подписант: Уведомить о готовности ЭП
```
## Формирование BicryptId
Для составления запроса на выпуск нового сертификата ЭП необходимо сгенерировать уникальный идентификатор сертификата ЭП - Bicrypt ID.
Bicrypt ID состоит из:
| 1 | 2 | 3 | 4 |
| ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------- | ------------------------------ | -------------------------------------------- |
| **КУЦ** | **Порядковый номер для генерации сертификата** | **Тип ключа** | **Фамилия и инициалы владельца сертификата** |
| значение атрибута certCenterCode из ответа методов `/v1/crypto` или `/v1/crypto/eio` | значение атрибута certCenterNum +1 из ответа методов `/v1/crypto` или `/v1/crypto/eio` | Всегда используем значение "s" | ФамилияИО (кириллицей без пробелов) |
* Длина КУЦ может быть 4 или 6 символов
* При каждом формировании идентификатора требуется выполнять инкрементацию значения атрибута certCenterNum (добавлять +1 к текущему полученному значению)
* Порядковый номер для генерации сертификата должен соответствовать ряду: «01,02,..09,10,11..99,0A,0B..0Z,1A..1Z…9Z,A0,A1…A9,AA,AB..AZ…Z0,Z1..Z9,ZA..ZZ»
* Порядковый номер не должен содержать символы "I", "O", кириллицу, специальные символы.
* Если длина КУЦ 6 символов, то Порядковый номер необходим длиной 2 символа. Берем его без изменений из ответа методов `/v1/crypto` или `/v1/crypto/eio`
* Если длина КУЦ 4 символа, то Порядковый номер необходим длиной 4 символа. Берем из ответа методов `/v1/crypto` или `/v1/crypto/eio` и добавляем 00 в его начало, чтобы сделать 4 символьным
Общая длина Bicrypt ID = 9 символов + Фамилия и инициалы владельца сертификата.
```sh
certCenterCode + (certCenterNum +1) + s + ФамилияИО
```
**Примеры**
| **Если КУЦ 6 символьный** | **Если КУЦ 4 символьный** |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| При выполнении запроса `/v1/crypto` или `/v1/crypto/eio`: - В параметре certCenterCode получили значение **A0001P** - В параметре certCenterNum получили значение **08** - увеличиваем его на +1
Фамилия Имя Отчество пользователя, на которого создаем запрос на выпуск нового сертификата ЭП: **Иванов Иван Иванович**
Итоговое значение BicryptId: `A0001P09sИвановИИ` | При выполнении запроса `/v1/crypto` или `/v1/crypto/eio`: - В параметре certCenterCode получили значение **A01P** - В параметре certCenterNum получили значение **08** - увеличиваем его на +1 и добавляем слева к нему 00
Фамилия Имя Отчество пользователя, на которого создаем запрос на выпуск нового сертификата ЭП: **Иванов Иван Иванович**
Итоговое значение BicryptId: `A01P0009sИвановИИ` |
## Набор разрешенных символов для текстов в КСКП ЭП
См. в файле [Набор разрешенных символов в сертификате ЭП.xlsx](pathname:///files/sbapi/eds/allowed-symbols-for-cert.xlsx).
---
# Работа с ЭП в Sber API
[source](https://developers.sber.ru/docs/ru/sber-api/start/eds-in-api.md)
## Общие сведения
Электронная подпись (далее - ЭП) — это цифровой аналог рукописной подписи на бумаге. ЭП состоит из сертификата (открытый ключ) и криптографической части (закрытый ключ, доступный только владельцу). Сертификат ЭП содержит всю необходимую информацию: данные о владельце, срок действия подписи и т. д. Криптографическая часть включает только механизмы шифрования.
Подписание документов с помощью ЭП
Для формирования электронной подписи документа применяются сертифицированные средства криптозащиты информации.
Документ может быть подписан двумя способами:
* после подписания создается один файл, содержащий исходные данные документа и данные подписи (прикрепленная подпись);
* после подписания создаются два файла: файл с документом и файл с подписью (открепленная подпись).
Банк поддерживает работу с открепленными подписями.
## Терминология
* КУЦ - код удостоверяющего центра. Является уникальным идентификатором организации в УЦ СберБанка.
* Электронный ключ (токен) - программно-аппаратное устройство на базе «VPN-key-TLS» или «Рутокен TLS», используемое в СберБизнес для генерации ключей ЭП, ключей шифрования, формирования и проверки УНЭП/УКЭП, шифрования и подключения к защищенной корпоративной VPN–сети Банка. Электронный ключ реализует алгоритмы шифрования и электронной подписи, соответствующие российскому ГОСТ.
* Bicrypt ID - идентификатор сертификата, который состоит из (КУЦ) + (номер сертификата) + (тип сертификата: s-сертификат пользователя; t-сертификат TLS) + (ФИО пользователя клиента).
* ЭП - [электронная цифровая подпись](https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D1%8C), которая формируется закрытым ключом.
* Сертификат ЭП - [сертификат электронной подписи](https://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D1%80%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82_%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%BE%D0%B3%D0%BE_%D0%BA%D0%BB%D1%8E%D1%87%D0%B0), используется для идентификации ЭП в полученном документе.
## Использование ЭП в API
:::note
Sber API поддерживает:
* УНЭП, выпущенные только УЦ Сбербанка (неквалифицированные сертификаты других УЦ не принимаются) — для всех документов.
* УКЭП ЮЛ, выпущенные [ФНС России](https://www.nalog.gov.ru/rn77/related_activities/ucfns/el_sign_getting/) (УКЭП, выпущенные доверенными лицами ФНС, не принимаются) — пока доступно только для рублевых платежных поручений\*.
:::
В API можно использовать два вида документов: те, которые подписаны ЭП, и те, которые не подписаны.
* Если документ подписан ЭП, то он сразу же отправляется на обработку, при условии, что под документом есть достаточное количество ЭП.
* Документ без ЭП создается в СберБизнес как черновик. Если клиент не подпишет этот черновик в СберБизнес, то документ не отправится на обработку.
Использование ЭП в API помогает автоматизировать процесс подписания отправляемых документов.
## Схема работы
| № | Что делаем | Подробности |
| - | -------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1 | Создайте для подписанта профиль в СберБизнес | Чтобы автоматизировать процесс подписания документов, вам нужно создать профиль в СберБизнес для сотрудника (подписанта), чья подпись будет использоваться. Если у подписанта уже есть профиль в СберБизнес, создайте дублирующий профиль СберБизнес. Дублирующий профиль будет использоваться только при работе с банком через Sber API.
Если компания использует систему двойного подписания документов (Первая и Вторая подписи), создайте дублирующий профиль СберБизнес для каждого подписанта. |
| 2 | Выпустите на подписанта сертификат ЭП | Выпуск сертификата ЭП происходит в УЦ СберБанка. Процесс выпуска сертификата необходимо реализовать с помощью ресурсов Sber API в рамках вашей Платформы.
Подробнее о процессе оформления сертификата ЭП расскажем в соответствующем разделе. |
| 3 | Подпишите документ и отправьте в Банк | Для создания ЭП к документу потребуется инструмент для подписания - средство криптографической защиты информации (СКЗИ). СКЗИ вы выбираете самостоятельно исходя из ваших задач и потребностей.
Ниже по странице в соответствующем разделе мы расскажем о следующих способах подписания: 1. Токен (Инфокрипт, Рутокен) с использованием программных средств (API токена); 2. Токен + СКЗИ Крипто Про
Созданную открепленную подпись (detached) необходимо закодировать с помощью Base64 и полученный результат отправить в теле запроса. |
## Создайте для подписанта профиль в СберБизнес
У подписанта может быть только один активный сертификат ЭП. При наличии двух профилей в СберБизнес (основной и дублирующий) с типом защиты «электронный ключ» (токен), для каждого профиля активным будет только один сертификат ЭП.
:::danger
При активации нового сертификата предыдущий автоматически деактивируется. После этого повторная активация старого сертификата станет невозможной.
Убедитесь, что новый сертификат готов к использованию заранее, запросив его статус:
* GET `/v1/crypto/cert-requests/{externalId}/state`
* GET `/v1/crypto/cert-requests/eio/{externalId}/state` (для ЕИО)
Статус PROCESSED означает, что сертификат активирован и готов к использованию.
:::
При условии, что у сотрудника один профиль в СберБизнес с типом защиты «электронный ключ» (токен) и его токен будет установлен в сервер (или другое устройство, которое хранит данные Платформы), он лишится возможности входа в СберБизнес.
Создайте для сотрудника профиль в СберБизнес. Это поможет автоматизировать процесс подписания документов.
Если у сотрудника уже есть профиль в СберБизнес, создайте дублирующий профиль. Он будет использоваться только при работе с банком через Sber API.
Если компания использует систему двойного подписания документов (Первая и Вторая подписи), создайте дублирующий профиль СберБизнес для каждого подписанта.
Детальную информацию о процедуре создания учетной записи пользователя можно уточнить в службе технической поддержки:
* по телефону 0321;
* через чат в системе СберБизнес.
Дублирующий профиль нужен для сохранения возможности входа в СберБизнес для сотрудника и одновременного использования его подписи в Sber API.
Если возможность входа в СберБизнес не нужна, дублирующий профиль можно не создавать.
Профиль подписанта должен иметь следующие характеристики:
* Право на подписание
* Вариант защиты Системы и подписания — «электронный ключ» (токен)
Вариант защиты Системы и подписания определяет метод подписания документов. При выборе «одноразовые SMS-пароли» используются одноразовые коды из сообщений для подписания документов, что соответствует подписи ПЭП. Для обеспечения безопасности обмена подписанными документами с банком через API требуется использование НЭП, поэтому нужен профиль СберБизнес с типом защиты «электронный ключ» (токен).
Обратите внимание, что даже при типе защиты «электронный ключ» (токен) сертификат ЭП может храниться на носителе, отличном от токена (например, на внутреннем хранилище вашего сервера).
Приобретение токена является необязательным, но рекомендуется.
:::note
Прежде чем решить вопрос о необходимости приобретения токена, изучите разделы [Выпустите на подписанта сертификат ЭП](/ru/sber-api/start/eds-in-api) и [Подпишите документ и отправьте в Банк](/ru/sber-api/start/eds-in-api).
:::
### Выбор СКЗИ
Выбор СКЗИ может влиять на способ хранения сертификата и закрытого ключа ЭП. Например, если выбрано СКЗИ, которое поддерживает работу с HSM, то сертификат и ключ могут храниться на этом устройстве для обеспечения дополнительного уровня безопасности. Кроме того, выбор СКЗИ может определить возможности по интеграции с другими системами и платформами для хранения ключей ЭП.
Сертификат и закрытый ключ ЭП могут храниться не только на токене, но и на специальных устройствах для хранения ключей (HSM), в защищенном хранилище на сервере или других средствах, предоставляемых СКЗИ.
Выбор СКЗИ - рекомендации
| **№** | **Название** | **Описание** | **Стоимость** | **Где взять** |
| ----- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| 1 | КриптоПро CSP | Разработанная одноименной компанией линейка криптографических утилит. Они используются в других программах для генерации электронной подписи (ЭП), работы с сертификатами, организации структуры PKI и т.д.
Плюсы: - подходит для всех, кто использует усиленную квалифицированную электронную подпись; - облегчает работу с государственными порталами и информационными системами; - поддерживает электронный документооборот с контрагентами; - помогает участвовать в электронных торгах, например, на Госуслугах; - упрощает удаленное трудоустройство и подписание машиночитаемых доверенностей. | CSP CryptoPro — платный продукт. Лицензию можно заказать на сайте разработчика или приобрести у официальных дилеров. | [На сайте вендора](https://www.cryptopro.ru/buy) |
| 2 | СКЗИ от Рутокен | Встроено в носитель Рутокен ЭП 3.0. Носитель выпускается компанией АО «Активсофт» и предназначен для хранения сертификатов ЭП, генерации ЭП, шифрования документов и защиты информации от доступа посторонних лиц.
Плюсы: - дополнительный уровень безопасности благодаря двухфакторной аутентификации с использованием PIN-кода; - встроенная лицензия на криптопровайдер, что позволяет избежать установки СКЗИ на компьютер; - поддержка российских и международных стандартов информационной безопасности; - совместимость с операционными системами Windows, Linux и Mac. | С тарифами вы можете ознакомиться [на сайте банка](https://www.sberbank.ru/common/img/uploaded/redirected/s_m_business/tariffs/sbbol/sbbol_tariffs.pdf). | [Как получить электронный ключ (токен)](https://www.sberbank.ru/help/business/sbbol/100359) |
| 3 | СКЗИ от Инфокрипт | Встроено в носитель Инфокрипт-токен. Носитель выпускается компанией ООО Фирма «ИнфоКрипт» и предназначен для хранения сертификатов ЭП, генерации ЭП, шифрования документов и защиты информации от доступа посторонних лиц.
Плюсы: - дополнительный уровень безопасности благодаря двухфакторной аутентификации с использованием PIN-кода; - встроенная лицензия на криптопровайдер, что позволяет избежать установки СКЗИ на компьютер; - поддержка российских и международных стандартов информационной безопасности; - совместимость с операционными системами Windows, Linux и Mac. | С тарифами вы можете ознакомиться [на сайте банка](https://www.sberbank.ru/common/img/uploaded/redirected/s_m_business/tariffs/sbbol/sbbol_tariffs.pdf). | [Как получить электронный ключ (токен)](https://www.sberbank.ru/help/business/sbbol/100359) |
### Инструкции для СКЗИ
* [КриптоПро CSP](pathname:///files/sbapi/eds/CryptoPro_API.pdf)
* [API Инфокрипт](pathname:///files/sbapi/eds/VPNKEYTLS_API.pdf)
* [API Рутокен](pathname:///files/sbapi/eds/Rutoken_API.pdf)
Приводим краткую информацию из инструкции Рутокена:
1. LOGIN (в user указывается номер контейнера на Рутокене, там где находится сертификат. В pin указывается ПИН код к контейнеру)
2. GET\_OBJ\_LIST\_ID Получение списка объектов (сертификатов ЭП)
3. INIT\_SIGN\_ID Инициализация ЭП
4. SET\_SIGN\_DATA\_ID Данные для ЭП
5. CALC\_SIGN\_ID Вычисление ЭП
6. GET\_SIGN\_D\_ID Получение ЭП
После выполнения п.6 в поле data будут данные подписи в base64
## Подпишите документ и отправьте в Банк
Для создания ЭП к документу потребуется инструмент для подписания - средство криптографической защиты информации (СКЗИ).
СКЗИ вы выбираете самостоятельно исходя из ваших задач и потребностей. Вероятнее всего вы его выбрали на предыдущем шаге.
При этом бывает такое, что СКЗИ комбинируют - для формирования запроса используют один инструмент, а для создания ЭП (подписания) - другой.
### Процесс подписания и отправки
**Шаги**
1. Получить access\_token
2. Сформировать дайджест документа
3. Создать открепленную ЭП
4. Закодировать ЭП
5. Вызвать метод API
Usecase
**Участники usecase**
* **Платформа** - любой web-ресурс или АС, которую вы используете для организации процесса отправки запросов Sber API
* **СКЗИ** - используемое вашей компанией средство криптографической защиты информации
* **Sber API** - представляет из себя ресурсы Sber API, к которым обращается Платформа
**Предусловия**
* Платформа имеет сертификат ЭП на подписанта(-ов)
* Сработал триггер, запускающий процесс подписания и отправки запроса API
* Платформа получила/собрала все необходимые атрибуты для создания и оправки запроса API
**Постусловия**
* В Банк передан подписанный ЭП документ
### Требования к дайджесту
Digest (дайджест) – набор значимых полей платежного документа, который подписывается электронной подписью (ЭП).
* Необходимо использовать кодировку UTF-8;
* Поля дайджеста должны быть отсортированы по алфавиту (от A до Z);
* Значения сумм и комиссий должны задаваться с точностью 2 знака после точки;
* Значения сумм и комиссий в дайджесте и в запросе должны быть идентичны;
* Если какое-то поле не заполняется, его не требуется добавлять в дайджест;
* Разделитель строк должен быть в формате unix (одиночный \n);
* Последняя строка дайджеста не должна содержать перевод строки;
* Перевод строк должен быть экранирован как \n;
* При заполнении полей с данными компании (название компании, например) используйте значения, полученные от Банка в рамках запросов API (в том числе с сохранением регистра).
### Передача ЭП в запросе API
Передача электронной подписи (ЭП) осуществляется с использованием массива **digestSignatures**, где каждый элемент представляет собой подпись (Signature). Каждая подпись должна содержать следующие обязательные поля:
| **Наименование поля** | **Описание поля** | **Пример** |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------- |
| base64Encoded (string) | Значение ЭП документа | HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w== |
| certificateUuid (string) | Идентификатор сертификата, использованного при создании ЭП (можно узнать, обратившись к ресурсу /v1/crypto или /v1/crypto/eio) | 22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6 |
В документе можно передать одну или две электронных подписи вместе с реквизитами создаваемого документа.
* Если подписи переданы через API, то они сохраняются вместе с документом, а сам документ продолжает свой жизненный цикл.
* Если подписи не были переданы, то документ сохраняется в начальном статусе и ожидает дальнейшей подписи в интерфейсе СберБизнес.
Документ может быть подписан следующими наборами подписей:
* одна (единственная) подпись;
* первая и вторая подписи.
Порядок наложения подписи не имеет значения при наложении первой и второй подписей. Состав полей дайджеста не изменяется. Тип подписи указывается в настройках криптопрофиля при создании пользователя в СберБизнес.
### Требования к открепленной ЭП
#### Основное
* **Формат:** CAdES-BES в PEM
* **Тип:** Открепленная (detached)
* **Алгоритм подписи:** ГОСТ Р 34.10-2012, 256 бит
* **Алгоритм хеширования:** ГОСТ Р 34.11-2012, 256 бит
* **Количество подписантов:** 1
#### Алгоритмы
| Что | Алгоритм | OID |
|-----|----------|-----|
| Подпись | ГОСТ Р 34.10-2012, 256 бит |`1.2.643.7.1.1.1.1` |
| Хеш | ГОСТ Р 34.11-2012, 256 бит |`1.2.643.7.1.1.2.2` |
#### Обязательные элементы
1. Блок сертификатов `Certificates` — обязателен
2. `SignerInfos` — только один подписант
3. Атрибуты в signedAttrs:
* `signingTime` — `1.2.840.113549.1.9.5`
* `messageDigest` — `1.2.840.113549.1.9.4`
4. Структура:
* `contentType` = `1.2.840.113549.1.7.2` (pkcs7-signedData)
* `eContentType` = `1.2.840.113549.1.7.1` (id-data)
#### Пример корректной подписи
```bash
MIAGCSqGSIb3DQEHAqCAMIACAQExDDAKBggqhQMHAQECAjCABgkqhkiG9w0BBwEAAKCAMIIEJTCCA9KgAwIBAgIKfWynCPdEXvpnQTAKBggqhQMHAQEDAjCBxzELMAkGA1UEBhMCUlUxIDAeBgNVBAoMF9Cf0JDQniDQodCx0LXRgNCx0LDQvdC6MUIwQAYDVQQLDDnQlNC10L/QsNGA0YLQsNC80LXQvdGCINC60LjQsdC10YDQsdC10LfQvtC/0LDRgdC90L7RgdGC0LgxITAfBgkqhkiG9w0BCQEWEmNhc2JyZkBzYmVyYmFuay5ydTEvMC0GA1UEAwwmSVNTVUVSINCi0JXQodCiINCj0J3QrdCfIDIwMjQg0KHQsdC10YAwHhcNMjUwNzI1MDk0MzAwWhcNMjYxMDI1MDk0ODM1WjCCAVUxCzAJBgNVBAYTAlJVMRUwEwYDVQQHDAzQnNC+0YHQutCy0LAxHzAdBgNVBAoMFtCR0JjQkyDQkdCY0Jog0KTQo9Cb0JsxFjAUBgNVBAsMDUlUIERlcGFydG1lbnQxGTAXBgNVBAwMENCU0LjRgNC10LrRgtC+0YAxHzAdBgNVBAMMFtCR0JjQkyDQkdCY0Jog0KTQo9Cb0JsxIjAgBgkqhkiG9w0BCQEWE2V4YW1wbGVAc2JlcmJhbmsucnUxETAPBgNVBAQMCNCa0KDQmNCiMR4wHAYDVQQqDBXQkdCb0J7QmtCV0KAg0JrQoNCY0KIxFjAUBgUqhQNkAwwLNDU1MDk0MjEzODIxGjAYBggqhQMDgQMBAQwMMTE3NDE0OTYyNTQwMRUwEwYFKoUDZAQMCjI2NDQxODc3MTQxGDAWBgUqhQNkBQwNNzE2NjI2NTUzOTc2MzBoMCEGCCqFAwcBAQEBMBUGCSqFAwcBAgEBAQYIKoUDBwEBAgIDQwAEQLOYuITNV+2n7prIxFQl+bQ2BPNPpJF0TjYZnMsyYR18kUyGS1Ix6jdg7OAo6G5KkUtsTqjZ1cRwuz9TfzmlvKejggEEMIIBADAlBgcqhQMDewMBBBoMGEEwMEpDRDU3cy7QmtCg0JjQoiDQkS7QmjAOBgNVHQ8BAf8EBAMCBPAwCQYDVR0TBAIwADAUBgcqhQMDewMEBAkGByqFAwN7BRgwLQYFKoUDZG8EJAwiVlBOLUtleS1UTFMg0LjRgdC/0L7Qu9C90LXQvdC40LUgMjAdBgNVHQ4EFgQUfZqOXM0wwz9kzOq7OnoItvKjXdgwNwYDVR0fBDAwLjAsoCqgKIYmaHR0cDovL3d3dy5zYmVyYmFuay5ydS9jYS8wMDAweDUwOS5jcmwwHwYDVR0jBBgwFoAUL1ZgCSH9eBK6PpcRtTR/U656jggwCgYIKoUDBwEBAwIDQQAJmXbLcYNxsJgaQTqP/b8HiDc4FfMI3VWLQAR3GcVj2xGvtefa/3n4oDjK0J3WF0jbm7Ym21A7psEs2SO76C6gAAAxggHTMIIBzwIBATCB1jCBxzELMAkGA1UEBhMCUlUxIDAeBgNVBAoMF9Cf0JDQniDQodCx0LXRgNCx0LDQvdC6MUIwQAYDVQQLDDnQlNC10L/QsNGA0YLQsNC80LXQvdGCINC60LjQsdC10YDQsdC10LfQvtC/0LDRgdC90L7RgdGC0LgxITAfBgkqhkiG9w0BCQEWEmNhc2JyZkBzYmVyYmFuay5ydTEvMC0GA1UEAwwmSVNTVUVSINCi0JXQodCiINCj0J3QrdCfIDIwMjQg0KHQsdC10YACCn1spwj3RF76Z0EwCgYIKoUDBwEBAgKggZQwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMjUxMjA0MTIzODI2WjApBgkqhkiG9w0BCTQxHDAaMAoGCCqFAwcBAQICoQwGCCqFAwcBAQEBBQAwLwYJKoZIhvcNAQkEMSIEIBKtVaBgLRdFj4RApWE/nBUNVMiDLMDMYk2crnKQEUmrMAwGCCqFAwcBAQEBBQAEQAC6HYj1uKh5e0gO4ozWoOfEBWz/ykPX9jhxr1M/j16TOc4Lqf3V1ub9PSc1jD0KKF1CDYLO1m5558hgE1PqKNoAAAAAAAA=
```
---
# Личный кабинет Sber API
[source](https://developers.sber.ru/docs/ru/sber-api/start/lk.md)
**Личный кабинет Sber API** - это ваше цифровое пространство в системе СберБизнес, где вы можете быстро и удаленно подключить и управлять настройками API.
В личном кабинете доступны функции:
* Подключиться к Sber API;
* Получить и изменить настройки для интеграции;
* Настроить параметры вашего сервиса;
* Выпустить сертификат безопасности;
* Отключить сервис.
[Подробнее](/ru/sber-api/start/connect) о возможностях личного кабинета.
## Доступ в Личный кабинет
Личный кабинет доступен всем клиентам банка. Для использования функционала личного кабинета необходимо соблюдение условий:
1. Действующий договор банковского обслуживания (ДБО);
2. Подписанное Заявление о присоединении к Sber API.
:::note
После подписания заявления на подключение Sber API доступ к Личному кабинету Sber API автоматически предоставляется пользователям вашей организации в системе СберБизнес, обладающим соответствующими ролями.
Роли для доступа в Личный кабинет:
* Руководитель;
* Бухгалтер;
* Главный бухгалтер;
* Клиент Банка;
* Разработчик Sber API.
:::
При необходимости можно добавить команду разработки в качестве пользователей в СберБизнес, и у них будет возможность заходить в Личный кабинет ([инструкция](/ru/sber-api/start/personal-area) по добавлению пользователей с ролью **разработчик Sber API**).
---
# Авторизация пользователей
[source](https://developers.sber.ru/docs/ru/sber-api/start/oauth.md)
## Access Token
Все запросы в Sber API выполняются от имени конкретного пользователя СберБизнес. Для этого необходимо получить право доступа (Access Token) от такого пользователя на получение и работу с его данными по следующей схеме:
* Сформируйте ссылку авторизации в соответствии с [правилами](),
* Отправьте запрос на получение [кода авторизации](/ru/sber-api/specifications/oauth/oauth-authorize-get),
* В случае, если запрос направляется не по своей организации, то пользователь подписывает согласие на передачу данных,
* Обменяйте полученный код авторизации на [токен доступа](/ru/sber-api/specifications/oauth/oauth-token-post),
* Передавайте токен доступа (access\_token) пользователя в заголовке Header в параметре Authorization при каждом запросе,
* [Обновляйте токены](/ru/sber-api/specifications/oauth/oauth-token-post) доступа для последующих запросов в канале API.
Так же вы можете получить `access_token` и `refresh_token` в [личном кабинете](/ru/sber-api/start/connect).
## Refresh Token
Refresh Token – это токен обновления.
Access\_token имеет временный характер действия (60 минут с момента получения). Для обновления токена доступа необходимо использовать refresh\_token.
С момента получения refresh token действителен 180 дней.
Refresh\_token вы получаете одновременно с access\_token при обмене кода авторизации на токен доступа.
## ID token
ID Token — это токен в формате JWS (JSON Web Token), который подтверждает факт аутентификации пользователя и содержит информацию о том, как и когда эта аутентификация произошла.
### Для чего нужен id\_token?
* Подтвердить личность пользователя: с помощью уникальных идентификаторов можете связать сессию с учетной записью пользователя
* Получить контекст входа: вы можете узнать все о том, как произошла аутентификация
* Обеспечить безопасность входа: параметры id\_token позволяют провалидировать подлинность иных передаваемых вам токенов из Банка
### Какая информация содержится в ID Token:
Информация, которая позволяет идентифицировать (не на уровне натуральных значений) пользователя и узнать о его аутентификации.
| Наименование атрибута | Описание |
|-----------------------|--------------------------------------------------------------------------|
| acr | Контекст класса аутентификации |
| amr | Методы аутентификации |
| aud | Аудитория, для которой ID Token был выпущен |
| auth\_time | Время, когда произошла аутентификация конечного пользователя |
| azp | Идентификатор стороны, для которой выпущен id\_token |
| exp | Время истечения срока действия id\_token |
| iat | Время, когда JWT был выпущен |
| iss | Идентификатор эмитента |
| nonce | Строковое значение, используемое для связи сеанса клиента с id\_token и для предотвращения атак с повторным воспроизведением |
| sid2 | Идентификатор сессии токена |
| sub | Внешний идентификатор учетной записи пользователя компании |
### Структура ID token
ID Token представлен в виде строки, состоящей из трех частей, разделенных точками (.): **header.payload.signature**.
**Части ответа:**
* **Header (заголовок):** содержит информацию, такую как алгоритм подписи и тип токена
* **Payload (полезная нагрузка):** содержит информацию (атрибуты) о пользователе и его аутентификации
* **Signature (электронная подпись):** проверка подписи позволяет убедиться в подлинности токена
### Как работать с ID token?
* Извлеките id\_token из ответа ресурса `/ic/sso/api/v2/oauth/token`
* Декодируйте ответ: каждая часть ответа должна декодироваться отдельно. Для декодирования следует воспользоваться алгоритмом Base64URL Encoding.
* Проверьте подпись (рекомендуется): необходимо вычислить подпись [публичным ключом Банка](https://cdn-app.sberdevices.ru/misc/0.0.0/assets/bsm-docs/6020194e_sberca-root-ext.crt), декодировав блок Header и Payload. Далее сравнить полученное значение c блоком Signature.
* Проверьте ключевые атрибуты
***
## Правила авторизации
Правила формирования ссылки авторизации
* Соблюдайте требования спецификаций [OAuth 2.0](https://datatracker.ietf.org/doc/html/rfc6749), [OpenID Connect](https://openid.net/specs/openid-connect-core-1_0.html);
* В ссылку авторизации включайте операции и claims в соответствии с доступным вам scope.
Авторизация пользователя своей организаций
Получить токен можно двумя способами:
* В Личном кабинете Sber API по [инструкции](/ru/sber-api/start/connect);
* Сформируйте ссылку авторизации и получите токен по схеме выше.
Авторизация пользователей дочерней организации в наборе "Холдингам"
Выполните следующие шаги:
* Сформируйте ссылки авторизации для каждой из дочерних организаций;
* Направьте соответствующие ссылки авторизации дочерним организациями, получите access\_token и refresh\_token после подписания ими согласий;
* Направьте запрос по каналу Sber API от имени головой компании с access\_token соответствующей дочерней организации.
Авторизация пользователей иных организаций (для иных наборов кроме "Холдингам")
Выполните следующие шаги:
* Реализуйте механизм авторизации на базе сервиса [СберБизнес ID](/ru/sber-api/scenarios/profile-creation/sbbid/overview);
* Направьте запрос по каналу Sber API с access\_token соответствующей организации.
***
## Полный перечень claims
**Claim** — это отдельная единица информации (атрибут) о пользователе или организации, которая возвращается в ID Token или может быть запрошена у API. Это утверждение о субъекте (например, имя, email, ИНН компании).
**Проще говоря:** Claim — это информация о том, **кто пользователь** и какими свойствами обладает его организация.
* **Назначение:** Предоставление идентификационных и атрибутивных данных.
* **Примеры claims:** `name` (ФИО), `email`, `inn` (ИНН), `orgName` (название организации), `userPosition` (должность).
* **Использование:** Могут автоматически включаться в payload ID Token (в зависимости от наличия в scope) или запрашиваться отдельно. Используются приложением для идентификации пользователя, персонализации интерфейса и бизнес-логики.
| Наименование атрибута (claim) | Описание |
|------------------------------|----------|
| **Стандартный набор** | |
| email | Адрес электронной почты |
| individualExecutiveAgency | Признак ЕИО (Единоличный исполнительный орган) |
| inn | ИНН |
| name | Фамилия Имя Отчество |
| orgFullName | Полное наименование компании |
| orgJuridicalAddress | Юридический адрес компании |
| orgKpp | КПП |
| orgLawForm | Организационно-правовая форма (полное наименование) |
| orgLawFormShort | Организационно-правовая форма (принятое сокращение) |
| OrgName | Сокращенное наименование организации |
| orgOgrn | ОГРН |
| orgOktmo | ОКТМО |
| offerExpirationDate | Дата окончания срока действия согласия (оферты) |
| phone\_number | Номер телефона |
| terBank | Территориальный банк |
| userPosition | Должность |
| HashOrgId | Хэш идентификатора организации (orgId) |
| sub | Внешний идентификатор учетной записи пользователя компании |
| userCryptoType | Тип криптографии |
| userSignatureType | Тип подписи |
| firstName | Имя владельца учетной записи |
| middleName | Отчество владельца учетной записи |
| lastName | Фамилия владельца учетной записи |
| **В отдельных сервисах** | |
| accounts | Информация о счетах |
| buyOnCreditMmb (Кредит в корзине) | Признак возможности покупки в кредит на сайте партнера (Малый и Микро Бизнес) |
| creditLineAvailableSum (Кредит в корзине) | Сумма действующей ВКЛ (Возобновляемой кредитной линией) |
| hasActiveCreditLine (Кредит в корзине) | Признак наличия у клиента действующей ВКЛ (Возобновляемой кредитной линией) |
| **Дополнительные клэймы** | |
| activityType | Вид деятельности организации |
| okved | ОКВЭД |
| orgRegDateINN | Дата регистрации ИНН |
| orgRegDateOGRN | Дата регистрации ОГРН |
| accounts | Счет, БИК, корреспондентский счет компании |
| orgOkpo | ОКПО |
| resident | Признак 'резидент / нерезидент' |
| active | Признак активности пользователя |
| branch | Информация о подразделении |
| dboContracts | Договоры обслуживания организации |
| nonClient | Признак "Неклиент" Неклиент — неверифицированный пользователь, у которого не подтверждены учетные данные, отсутствуют расчетный счет и право подписи документов |
| orgBusinessSegment | Бизнес-сегмент |
| orgUnconfirmed | Признак "Неподтвержденная организация" |
| isCorpCardHolder | Признак наличия у клиента бизнес-карты |
| isIdentified | Признак идентификации пользователя |
| tbIdentCode | Код территориального банка |
| userRoles | Роли пользователя |
| userGroups | Группы пользователя |
| taxationSystem | Вид налогообложения |
***
## Полный перечень операций
**Scope** — это набор операций (прав доступа), который определяет, к каким конкретным действиям и данным в Sber API партнер запрашивает разрешение у пользователя. Это перечень функций API, которые приложение намерено использовать от имени пользователя.
**Проще говоря:** Scope — это список того, **что можно делать** в системе (например, получать выписки, создавать платежи, запрашивать данные о счетах).
* **Назначение:** Контроль доступа на уровне функциональности.
* **Примеры операций в scope:** `GET_STATEMENT_ACCOUNT` (получить выписку), `PAY_DOC_RU` (создать рублевый платеж), `GET_CREDIT_OFFERS` (получить кредитные предложения).
* **Использование:** Указывается в ссылке авторизации. Пользователь видит этот список и соглашается предоставить права на эти операции. Полученный Access Token будет действителен только для операций, указанных в этом scope.
| Код операции для включения в scope | Описание |
|-------------------------------------------|-----------------------------------------------------------------------------------|
| ACCEPTANCE\_ADVANCE | Заявление на заранее данный акцепт (ЗДА) |
| BANK\_CONTROL\_STATEMENT | Ведомость банковского контроля (ВБК в банк) |
| BANK\_CONTROL\_STATEMENT\_CHANGE\_APPLICATION | Заявление о внесении изменений в I раздел ВБК |
| BUSINESS\_CARDS\_TRANSFER | Перевод по бизнес-картам |
| CARD\_ISSUE | Электронный реестр на открытие счетов и выпуск карт |
| CERTIFICATE\_REQUEST | Запрос на сертификат |
| CONFIRMATORY\_DOCUMENTS\_INQUIRY | Справка о подтверждающих документах |
| CORPORATE\_CARDS | Бизнес-карты |
| CORRESPONDENT\_CUR\_ADDITIONAL | Дополнительная информация по валютному контрагенту (бенефициару) |
| CREDIT\_REQUEST | Запрос на создание заявок на кредит |
| CRYPTO\_CERT\_REQUEST\_EIO | Запрос на выпуск сертификата для ЕИО |
| CURR\_CONTROL\_MESSAGE\_FROM\_BANK | Письмо для целей ВК (из банка) |
| CURR\_CONTROL\_MESSAGE\_TO\_BANK | Письмо для целей ВК (в банк) |
| CURRENCY\_OPERATION\_detailsS | Сведения о валютной операции |
| DEPOSIT\_REQUEST | Депозиты |
| DICT | Справочники |
| FILES | Выгрузка/загрузка файлов |
| GENERIC\_LETTER\_FROM\_BANK | Письмо свободного формата (из банка) |
| GENERIC\_LETTER\_TO\_BANK | Письмо свободного формата (в банк) |
| GET\_ADVANCE\_ACCEPTANCES | Получение сведений о клиентах, подключенных к подпискам и пакетам услуг |
| GET\_CLIENT\_ACCOUNTS | Получение информации о счетах подключенного клиента |
| GET\_CORRESPONDENTS | Получение списка контрагентов |
| GET\_CREDIT\_OFFERS | Получение информации по кредитным предложениям |
| GET\_CRYPTO\_INFO | Получение криптоинформации (КУЦ, криптопрофили и т.д.) |
| GET\_CRYPTO\_INFO\_EIO | Получение сертификатов открытых ключей электронной подписи пользователей организации (ЕИО) |
| GET\_STATEMENT\_ACCOUNT | Получение выписки по счету клиента |
| GET\_STATEMENT\_TRANSACTION | Получение операции по выписке |
| MINIMUMBALANCE\_REQUEST | Неснижаемый остаток |
| NOMINAL\_ACCOUNTS | Безопасные сделки |
| PAY\_DOC\_CUR | Валютное платежное поручение |
| PAY\_DOC\_RU | Рублевое платежное поручение |
| PAY\_DOC\_RU\_INVOICE\_ANY | Выставление счета на оплату по свободным реквизитам |
| PAY\_DOC\_RU\_INVOICE\_BUDGET | Рублевое платежное поручение с бюджетным реквизитами, легкая форма |
| PAYMENT\_REQUEST\_IN | Входящее платежное требование |
| PAYMENT\_REQUEST\_OUT | Исходящее платежное требование |
| PAYMENTS\_REGISTRY | Реестр платежей |
| PAYROLL | Зарплатная ведомость |
| SALARY\_AGREEMENT | Зарплатный договор |
| SALARY\_AGREEMENT\_TRANSPORT\_PACKAGE | Транспортные пакеты |
***
## Согласие на передачу данных
Согласие на передачу данных - это документ, который Банк запрашивает у клиента и подтверждающий право Банка на передачу информации о клиенте третьему лицу (вам, как Партнеру Банка), выполнению операций третьим лицом (вами, как Партнером Банка) от лица Клиента. Согласие содержит информацию о том к каким данным, операциям и на какой срок предоставлен доступ Партнеру.
Согласие запрашивается при обращении к сервису авторизации СберБизнес ID:
* При первичном обращении пользователя к Платформе Партнера через сервис СберБизнес ID;
* При повторном обращении, в случае если:
* Истек срок действия предыдущего согласия;
* Предыдущее согласие было отозвано пользователем;
* Состав запрашиваемого согласия (scope) расширился относительно принятого ранее согласия.
Согласие на передачу данных не требуется, если Платформа использует получение и отправку документов только по своей организации.
Если пользователь отзывает согласие, то все выданные токены (Access Token, Refresh Token) деактивируются.
---
# Наборы Sber API
[source](https://developers.sber.ru/docs/ru/sber-api/start/overview.md)
## Кратко о Sber API
**Sber API** - сервис от Сбера, который позволяет интегрировать финтех в ваши информационные системы (приложения) посредством API ресурсов. Это помогает компаниям и холдингам автоматизировать бухгалтерские и казначейские процессы, а платформам интегрировать и вывести новые услуги для своих клиентов.
Подключение и использование Sber API осуществляется бесплатно.
## Наборы
В Sber API доступен выбор различных наборов, описание ниже поможет вам определить подходящий вам. Каждому набору соответствует определенный перечень доступных только в нем API-запросов (операций и атрибуты), который закрепляется в договоре.
При заключении договора можно выбрать несколько наборов сразу.
### "Компаниям" (бывш. Host2Host)
Набор для совершения операций в рамках одной организации. Методы, входящие в набор, помечены этим бейджем:
Что в наборе?
* [Информация об учетной записи](/ru/sber-api/specifications/oauth/oauth-user-info-get)
* [Информация о компании](/ru/sber-api/scenarios/additional/company-info/overview)
* [Платежные поручения](/ru/sber-api/scenarios/transfers/payments/overview)
* [Использование ЭП](/ru/sber-api/start/eds-in-api)
* [Выписки](/ru/sber-api/scenarios/rko/statements/overview)
* [Зарплатный проект](/ru/sber-api/scenarios/salary/salary-project/overview)
* [Справочники](/ru/sber-api/scenarios/additional/dicts/overview)
* [Бизнес-карты](/ru/sber-api/scenarios/transfers/business-card/overview)
* [ВЭД](/ru/sber-api/scenarios/ved/overview)
* [Большие файлы](/ru/sber-api/scenarios/additional/large-files/overview)
* [Контрагенты](/ru/sber-api/scenarios/rko/correspondents/overview)
* [Безопасные сделки](/ru/sber-api/scenarios/transfers/nominal-accounts/overview)
* [Депозиты](/ru/sber-api/scenarios/placement/deposit/overview)
* [Неснижаемый остаток](/ru/sber-api/scenarios/placement/nso/overview)
* [Перевод через СБП](/ru/sber-api/scenarios/sbp/overview)
* [Инкассация](/ru/sber-api/specifications/encashment/overview)
* [Работа с самозанятыми](/ru/sber-api/specifications/self-employed/overview)
* [Исходящее платежное требование](/ru/sber-api/specifications/payment-requests/payment-requests-overview)
* [Эквайринг](/ru/sber-api/specifications/claims/get-claims)
* [MCP-рублевое платежное поручение](/ru/sber-api/mcp/mcp-payment)
* [MCP-выписка](/ru/sber-api/mcp/mcp-statement)
* [MCP-инкассация](/ru/sber-api/mcp/mcp-encashment)
* [MCP-НСО и депозиты](/ru/sber-api/mcp/mcp-placement)
Доступные атрибуты: [стандартный набор](/ru/sber-api/start/oauth), счета организации.
### "Холдингам" (бывш. Holding)
Набор для совершения операций в рамках группы компаний, объединенных головной организацией. Методы, входящие в набор, помечены этим бейджем:
:::note
Для работы с дочерними организациями необходимо получить пары `access_token` и `refresh_token` по каждой из организации. Для этого выполните следующие шаги:
* Сформируйте ссылки авторизации по [инструкции](https://developers.sber.ru/docs/ru/sber-api/scenarios/profile-creation/sbbid/overview) для каждой из дочерних организаций;
* Направьте соответствующие ссылки авторизации дочерним организациями, получите `access_token` и `refresh_token`;
* Направьте запрос по каналу Sber API от имени головной компании с `access_token` соответствующей дочерней организации.
:::
Что в наборе?
* [Информация об учетной записи ](/ru/sber-api/specifications/oauth/oauth-user-info-get)
* [Информация о компании](/ru/sber-api/scenarios/additional/company-info/overview)
* [Платежные поручения](/ru/sber-api/scenarios/transfers/payments/overview)
* [Выписки](/ru/sber-api/scenarios/rko/statements/overview)
* [Использование ЭП](/ru/sber-api/start/eds-in-api)
* [Справочники](/ru/sber-api/scenarios/additional/dicts/overview)
* [Бизнес-карты](/ru/sber-api/scenarios/transfers/business-card/overview)
* [ВЭД](/ru/sber-api/scenarios/ved/overview)
* [Большие файлы](/ru/sber-api/scenarios/additional/large-files/overview)
* [Контрагенты](/ru/sber-api/scenarios/rko/correspondents/overview)
* [Депозиты](/ru/sber-api/scenarios/placement/deposit/overview)
* [Неснижаемый остаток](/ru/sber-api/scenarios/placement/nso/overview)
* [Исходящее платежное требование](/ru/sber-api/specifications/payment-requests/payment-requests-overview)
Доступные атрибуты: [стандартный набор](/ru/sber-api/start/oauth), счета организации.
### "Платформам" (бывш. B2BSaas)
Набор для совершения операций в интересах клиентов вашей платформы. Методы, входящие в набор, помечены этим бейджем:
Что в наборе?
* [Авторизация Сбербизнес ID](/ru/sber-api/scenarios/profile-creation/sbbid/overview)
* [Бизнес-карты](/ru/sber-api/scenarios/transfers/business-card/overview)
* [Информация об учетной записи](/ru/sber-api/specifications/oauth/oauth-user-info-get)
* [Информация о компании](/ru/sber-api/scenarios/additional/company-info/overview)
* [Платежные поручения](/ru/sber-api/scenarios/transfers/payments/overview)
* [Выписки](/ru/sber-api/scenarios/rko/statements/overview)
* [Справочники](/ru/sber-api/scenarios/additional/dicts/overview)
* [Большие файлы](/ru/sber-api/scenarios/additional/large-files/overview)
* [Контрагенты](/ru/sber-api/scenarios/rko/correspondents/overview)
* [Получение информации о подписчиках](/ru/sber-api/specifications/partner-info/get-advance-acceptances)
* [Исходящее платежное требование](/ru/sber-api/specifications/payment-requests/payment-requests-overview)
* [Перевод через СБП](/ru/sber-api/scenarios/sbp/sbp-platform/overview)
* [Корпоративные подписки](/ru/sber-api/scenarios/transfers/subscriptions/overview)
Доступные атрибуты: [стандартный набор](/ru/sber-api/start/oauth), счета организации.
### "СберБизнес ID"
Набор для реализации бесшовной авторизации клиентов на вашем сайте.
Что в наборе?
* [Авторизация Сбербизнес ID](/ru/sber-api/scenarios/profile-creation/sbbid/overview)
* [Информация об учетной записи](/ru/sber-api/specifications/oauth/oauth-user-info-get)
Доступные атрибуты: [стандартный набор](/ru/sber-api/start/oauth).
### "Моментальные платежи"
Набор для создания, отправки и отслеживания платежных поручений для расчетов между юридическими лицами и индивидуальными предпринимателями.
Что в наборе?
* [Авторизация Сбербизнес ID](/ru/sber-api/scenarios/profile-creation/sbbid/overview)
* [Моментальные платежи](/ru/sber-api/scenarios/transfers/instant-payments/overview)
* [Информация об учетной записи](/ru/sber-api/specifications/oauth/oauth-user-info-get)
* [Информация о компании](/ru/sber-api/scenarios/additional/company-info/overview)
Доступные атрибуты: [стандартный набор](/ru/sber-api/start/oauth), счета организации.
### "Кредит в корзине"
Набор для организации расчетов между юридическими лицами и индивидуальными предпринимателями с использованием кредитных средств банка.
Что в наборе?
* [Авторизация Сбербизнес ID](/ru/sber-api/scenarios/profile-creation/sbbid/overview)
* [Кредит в корзине](/ru/sber-api/scenarios/transfers/credit-cart/overview)
* [Информация об учетной записи](/ru/sber-api/specifications/oauth/oauth-user-info-get)
## Терминология
| Термин | Определение |
| ---------- | ------------------------- |
| СберБизнес | Интернет-банкинг от Сбера |
| Личный кабинет Sber API | Цифровое пространство в рамках СберБизнес, позволяющее удобно использовать возможности Sber API |
| Пользователь партнера | Пользователь СберБизнес, организации, заключившей договор с банком на использование Sber API |
| Пользователь клиента | Пользователь СберБизнес, представитель юридического лица, являющийся клиентом компании партнера |
| Промышленный стенд | Шлюз в контуре Сбера, к которому с помощью методов Sber API можно обращаться для получения реальных данных пользователей СберБизнес |
| Тестовый стенд | Шлюз в контуре Сбера, к которому с помощью методов Sber API можно обращаться для получения синтетических данных пользователей СберБизнес |
| Client ID | Уникальный идентификатор приложения партнера |
| Client secret | Пароль приложения партнера |
| Redirect uri | Маска ссылки на ресурс (конечную точку) Приложения партнера, на которую будет перенаправлен браузер пользователя после успешной авторизации |
| Claim (атрибуты) | Данные пользователя и организации, например, accounts, orgKpp, и т. д. |
| Scope | Набор атрибутов (claim) и операций, по которым происходит обмен данными |
| Операции | Кодовое обозначение одного или нескольких ресурсов Sber API, доступных партнеру по договору (например, ACCEPTANCE\_ADVANCE и т. д.). |
---
# Партнерские кнопки
[source](https://developers.sber.ru/docs/ru/sber-api/start/partners-buttons.md)
Партнерские кнопки СберБизнес — это кнопки входа, оплаты и других действий пользователя на онлайн-ресурсах партнеров с использованием СберБизнес ID. Они предназначены для упрощения взаимодействия клиентов c партнерским онлайн-сервисом, а также обеспечивают удобство навигации, повышают узнаваемость бренда и способствуют увеличению конверсии.
## Общие правила
* Кнопка всегда не меньше остальных кнопок на странице.
* В кнопке обязательно есть логотип.
* На экране должно быть только одно ключевое действие (нельзя применять две Button General рядом).
* Название кнопки пишется с заглавной буквы.
* Кнопки используются только в соответствии с правилами, описанными в этом разделе.
## Ресурсы
Стиль и размеры партнерских кнопок СберБизнес можно посмотреть в спецификации.
* [Библиотека в Figma](https://www.figma.com/community/file/1572233930785720876/lib-dsn-partners-buttons-v-1-0-0)
* [Библиотека в Pixso](https://pixso.net/community/file/NZU933jIKdGU_vY34fbveA)
## Цвета и стили
Кнопка по умолчанию представлена в основном стиле General. Дополнительный стиль Secondary необходимо использовать, если есть другие способы авторизации или необходимо выдержать стиль сайта. В качестве альтернативы Secondary используется стиль Secondary Light.
Стили кнопок для светлого фона:
* **General**: кнопка - #21А19А, текст - #FFFFFF
* **Secondary**: кнопка - #F2F4F7, текст - #008985
* **Secondary Light**: кнопка - #FFFFFF, текст - #008985 (допустима обводка #008985)
Стили кнопок для темного фона:
* **General**: кнопка - #21А19А, текст - #FFF
* **Secondary**: кнопка - #424245, текст - #19BDB0
* **Secondary Light**: кнопка - #2D2D30, текст - #19BDB0 (допустима обводка #19BDB0)
## Шрифт
Шрифт по умолчанию SB Sans Text в начертании Semibold. Можно использовать шрифт вашего сервиса или любой другой шрифт. Необходимое условие — шрифт должен быть без засечек.
Другое ограничение — соблюдение соразмерности шрифта, логотипа и высоты кнопки.
Рекомендованы следующие соотношения при высоте кнопки:
* **56px и больше**: логотип — 26 px (контейнер 32 px), шрифт — 16 px;
* **36px до 54px**: логотип — 20 px, шрифт — 14 px;
* **34px и меньше**: логотип — 16 px, шрифт — 12 px.
## Полная кнопка
### Облик
### Архитектура
Кнопки строятся по принципу добавления одинаковых боковых отступов к длине текстовой части. Установлены минимальные боковые и вертикальные отступы.
Кнопки имеют три базовых размера: большой — LG, средний — MD и маленький — SM. Ниже показаны размеры кнопки, логотипа и отступы между логотипом и текстом.
Скругления меняются в зависимости от высоты кнопки.
Рекомендуется использовать скругление кнопки в соответствии с вашим дизайном. Если все кнопки в вашем сервисе без скругления, тогда кнопка СберБизнес должна иметь такой же вид. И наоборот: если все кнопки в вашем сервисе имеют скругление 100 %, тогда оно применяется и для кнопки СберБизнес ID.
## Компактная кнопка
### Облик
### Архитектура
Кнопки строятся по принципу добавления одинаковых боковых отступов к логотипу. Установлены минимальные боковые и вертикальные отступы.
Кнопки имеют три базовых размера: большой — LG, средний — MD и маленький — SM. Ниже показаны размеры кнопки и логотипа.
Скругления меняются в зависимости от высоты кнопки.
Рекомендуется использовать скругление кнопки в соответствии с вашим дизайном. Если все кнопки в вашем сервисе без скругления, тогда кнопка СберБизнес должна иметь такой же вид. И наоборот: если все кнопки в вашем сервисе имеют скругление 100 %, тогда оно применяется и для кнопки СберБизнес ID.
## Текст в кнопке
Текст в кнопке зависит от пользовательского сценария и может иметь полную и краткую форму. Краткий вариант формулировки применяется при условии, что смысл действия в кнопке понятен и не требует полной формулировки.
| Сценарий | Текст полностью | Краткий текст |
| --- | --- | --- |
| Авторизация | Войти по СберБизнес ID | СберБизнес ID |
| Оплата товара или услуги | Оплатить через СберБизнес | Оплатить |
| Пополнение баланса | Пополнить через СберБизнес | Пополнить |
| Заполнение анкеты | Заполнить через СберБизнес | - |
| Покупка в кредит | Купить в кредит | - |
| Корпоративная подписка | Оформить подписку через СберБизнес | Оформить через Сбербизнес |
## Применение
Неправильно менять цвет кнопки, текстовую формулировку, нарушать выравнивание и минимальные отступы. Нельзя использовать кнопку без логотипа.
Правильно использовать понятные пользователям текстовые формулировки и центрировать содержание кнопки по вертикали и горизонтали.
---
# Доступ для разработчиков
[source](https://developers.sber.ru/docs/ru/sber-api/start/personal-area.md)
:::note
Подробную информацию о добавлении пользователей и назначении ролей вы найдете в [статье](https://www.sberbank.ru/help/business/sbbol/100171) на портале Справочного центра для бизнеса.
:::
Для предоставления сотруднику доступа в Личный кабинет Sber API необходимо назначить ему роль **«Разработчик Sber API»**.
> **Важно:** Пользователь с данной ролью имеет доступ **только** к Личному кабинету Sber API. Все остальные разделы СберБизнес ему **недоступны**.
## Основные права разработчика
1. **Обновление Client Secret**\
Возможность перевыпускать секретный ключ клиента.
2. **Создание новых сервисов**\
Возможность регистрировать новые `client_id` для интеграций.
## Стандартные права (доступны всем сотрудникам)
Следующие возможности предоставляются по умолчанию всем пользователям Личного кабинета:
* Выпуск и перевыпуск **Access Token (AT)**
* Выпуск TLS-сертификатов
* Доступ к настройкам **тестового полигона**
## Назначение роли
1. Заполните карточку **Новый пользователь**, нажмите **Выбрать роль**.
Скриншот
2. В строке **Полномочия** найдите роль **Разработчик Sber API**, нажмите **Назначить**.
Скриншот
3. Заполните поля **Сотрудник**, **Логин**, **Счета** и **Телефон**. Нажмите **Создать**.
4. Подпишите документ с помощью СМС-кода или токена и отправьте его в Сбер.
---
# Промышленная интеграция
[source](https://developers.sber.ru/docs/ru/sber-api/start/prom-stand.md)
**Для доступа к Sber API на промышленном стенде используйте следующие URLs:**
* Для ссылки авторизации через СберБизнес ID `https://sbi.sberbank.ru:9443`
* Для отправки API запросов `https://fintech.sberbank.ru:9443`
* Вход в СберБизнес [`https://sbi.sberbank.ru:9443/ic/ufs/login.html`](https://sbi.sberbank.ru:9443/ic/ufs/login.html)
После заключения [договора](/ru/sber-api/start/connection-api) промышленные настройки:
* Появляются в **Личном кабинете Sber API**
* Направляются технической поддержкой на почту по запросу ответственного лица.
**Промышленные настройки включают:**
* `client_id` и `client_secret`
* `redirect_uri`
* `back_url` (кроме набора "Компаниям")
* Доступные scope (области доступа)
* Шаблон обращения в поддержку
Получите и настройте [TLS-сертификат для промышленного стенда](/ru/sber-api/start/tls).
Измените параметры `redirect_uri` и `back_url` через:
* [Личный кабинет Sber API](/ru/sber-api/start/connect)
* Обращение в техническую поддержку
* В Личном кабинете Sber API по [инструкции](/ru/sber-api/start/connect)
* Через заявку на поддержку:
Направьте письмо в поддержку используя шаблон обращения:
```sh
Тема письма: Sber API | наименование вашей организации
Текст обращения:
Стенд: ТЕСТ | ПРОМ выберите стенд, по которому обращаетесь
ИНН: укажите ИНН вашей организации
Client_ID: уникальный идентификатор сервиса
Суть обращения: потребность, описание ошибки, программный запрос в текстовом виде, ответ на запрос, лог
```
Если запросы требуют подписания:
* Выпустите электронную подпись по [инструкции](/ru/sber-api/start/eds-in-api)
После выполнения всех шагов можно приступать к работе с Sber API в промышленной среде.
---
# Памятка по информационной безопасности
[source](https://developers.sber.ru/docs/ru/sber-api/start/recommendations.md)
Настройками внутреннего межсетевого экрана (Internal Firewall) доступ к серверу АС Клиента рекомендуется разрешить только для серверов и рабочих станций организации, необходимых для использования в производственном процессе:
* сервера контроллеров домена, обновлений системного и антивирусного ПО;
* АРМ администраторов сервера АС Клиента.
Для подключения АС Клиента к шлюзу Sber API Банка на межсетевом экране (External Firewall) необходимо разрешить взаимодействие с интернет-ресурсом `https://fintech.sberbank.ru:9443`.
Исключите доступ к ресурсам и сервисам сети Интернет с рабочего места, предназначенного для подписания электронных документов (ЭД) с использованием устройств VPN-Key-TLS/Rutoken TLS.
Подписание ЭД с использованием VPN-Key-TLS/Rutoken TLS рекомендуется осуществлять в отдельном сегменте корпоративной сети.
## Меры по защите от вредоносного ПО
На сервере АС Клиента:
* Используйте современное антивирусное программное обеспечение и следите за его регулярным обновлением;
* Регулярно выполняйте антивирусную проверку для своевременного обнаружения вредоносных программ;
* Своевременно устанавливайте обновления операционной системы серверов и АРМ администратора, рекомендуемые компанией-производителем в целях устранения выявленных уязвимостей ОС;
* Используйте дополнительное программное обеспечение, позволяющее повысить уровень защиты компьютеров – персональные межсетевые экраны, программы поиска шпионских компонент, программы защиты от «спам»- рассылок и пр.;
* Обеспечьте отсутствие несанкционированно установленных программ удаленного доступа (TeamViewer, BeTwin, RAdmin и др.), программ работы с вирусоопасными ресурсами и сервисами сети Интернет, включая почтовые клиенты;
* Исключите установку ПО, полученного из не заслуживающих доверия источников, а также нелицензионного и свободно-распространяемого ПО на сервере с системой.
:::note
Cотрудники ПАО «Сбербанк» не рассылают дистрибутивы ПО по электронной почте.
:::
## Меры, направленные на защиту от копирования ключевой и парольной информации
* `Client_Secret` – это конфиденциальная информация. Ни при каких обстоятельствах не раскрывайте эти данные никому, включая сотрудников Банка.
* При подозрениях на компрометацию постоянного `Client_Secret`, следует незамедлительно остановить работу с сервисом Sber API, направить письмо с запросом о замене `Client_Secret` и провести смену `Client_Secret` после его получения от Банка.
* В случае компрометации `Client_Secret` необходимо незамедлительно выполнить его блокировку в соответствии с п. 4.2.3 Соглашения.
* При доступе АС Клиента к Sber API хранение `Client_Secret` необходимо осуществлять в ключевом хранилище. Настройками безопасности ОС доступ к ключевому хранилищу рекомендуется предоставлять только для учетной записи АС.
* Процедуру замены `Client_Secret` необходимо проводить в автоматизированном режиме средствами АС без вмешательства пользователей.
* При обращении от имени Банка по телефону, электронной почте, через SMS-сообщения лиц с просьбами сообщить или передать конфиденциальную информацию (`Client_Secret`) ни при каких обстоятельствах не сообщайте данную информацию.
* В период, когда Система не используется, необходимо отключать носители с ключами ЭП от сервера, и убирать в места хранения (сейф, и т.п.).
* Необходимо выполнять незамедлительную блокировку и смену ключей ЭП в случаях их компрометации, а также по истечении срока действия ключей с периодичностью, установленной договорами и документацией.
* ПИН-коды доступа устройств «VPN-Key-TLS/Rutoken TLS» - это конфиденциальная информация. Ни при каких обстоятельствах не раскрывайте эти данные никому, включая сотрудников Банка.
## Меры, направленные на защиту от выполнения несанкционированных списаний
* Регулярно контролируйте состояние корреспондентских счетов организации и незамедлительно информировать обслуживающее подразделение Банка обо всех подозрительных или несанкционированных операциях.
* В случае неожиданного выхода из строя серверов с модулем подписания с использованием устройств VPN-Key-TLS/Rutoken TLS прекратите эксплуатацию данных серверов, отключив их от всех видов сетей, включая локальную корпоративную сеть, срочно запросить выписку по счету непосредственно в Банке. При обнаружении несанкционированных платежных операций обратитесь с заявлением в Банк, а также в правоохранительные органы. Не восстанавливайте работоспособность скомпрометированных серверов до проведения технической экспертизы. Подписание электронных документов осуществляйте с использованием устройств VPN-Key-TLS/Rutoken TLS на других серверах после обязательной смены ключей ЭП.
## Меры по поддержанию уровня информационной безопасности
Для обеспечения высокого уровня информационной безопасности при эксплуатации АС Клиента в организации должен быть назначен ответственный, который осуществляет:
* Постоянный контроль соблюдения мер информационной безопасности, предусмотренных настоящей памяткой;
* Выявление, устранение и информирование руководства организации обо всех выявленных нарушениях;
* Контроль устранения выявленных нарушений;
* Документирование результатов проведенных работ и проверок;
* Организацию и проведение мероприятий по усилению безопасности в соответствии с информационными сообщениями, которые направляются Банком официальными письмами, а также публикуются на сайте Банка.
---
# Песочница API
[source](https://developers.sber.ru/docs/ru/sber-api/start/sandbox.md)
## Что такое песочница?
Песочница API — это безопасный тестовый стенд, который эмулирует работу API. При работе в песочнице ваши реальные данные **не будут затронуты**. Среда полностью изолирована от реального контура, что позволяет безопасно проводить тестирование, не опасаясь внести изменения в реальные данные или повлиять на бизнес-процессы.
:::note
Песочница предназначена исключительно для функционального тестирования и отладки API. Не предусмотрено использование песочницы как стенда для нагрузочного тестирования.
:::
## Настройка доступа
Для начала работы с тестовым стендом необходимо получить параметры подключения.
Получить настройки для работы в песочнице можно в личном кабинете Sber API по [инструкции](/ru/sber-api/start/connect).
Для успешного взаимодействия с Песочницей вам потребуется получить в личном кабинете следующие параметры:
* **TLS-сертификат:** Необходим для организации защищенного канала связи и аутентификации вашего приложения.
* **Access\_token:** Токен доступа, который требуется передавать в каждом запросе для авторизации.
## Как тестировать методы
Песочница построена на логике сценариев. Это означает, что для проверки разных ответов API (успешная операция, ошибка валидации, отказ и т.д.) необходимо отправлять разные тестовые данные в запросе.
> Конкретные сценарии тестирования и примеры параметров для каждого метода размещены на [страницах самих методов](/ru/sber-api/specifications/overview).
[Получите настройки](/ru/sber-api/start/connect) для песочницы в личном кабинете Sber API.
Выпустите TLS-сертификат в разделе "Сертификаты шифрования".
Cертификат необходим для защищенного соединения с API (mTLS), информация описана в [разделе по настройке TLS](/ru/sber-api/start/tls).
Создайте access\_token и refresh\_token в разделе "Ключи доступа".
Правила работы с OAuth 2.0 и жизненный цикл токенов описаны в [инструкции](/ru/sber-api/start/oauth).
Перейдите к интересующему вас методу из [набора](/ru/sber-api/start/overview) "Компаниям" и найдите блок "Рекомендации по тестированию в песочнице".
[Получите настройки](/ru/sber-api/start/connect) для песочницы в личном кабинете Sber API.
Выпустите TLS-сертификат в разделе "Сертификаты шифрования".
Cертификат необходим для защищенного соединения с API (mTLS), информация описана в [разделе по настройке TLS](/ru/sber-api/start/tls).
Для полноценного тестирования авторизации [СберБизнес ID](/ru/sber-api/scenarios/profile-creation/sbbid/overview) и бизнес-сценариев в песочнице необходимо создать учетные записи по [инструкции](/ru/sber-api/start/connect).
Вы можете создать как минимум двух пользователей:
* Собственного пользователя — для тестирования авторизации вашего приложения (обычно это необходимо только в рамках набора "Холдинг") и получения access\_token и refresh\_token.
* Пользователей третьих лиц — для имитации реальных пользователей (плательщиков, пользователей ДЗО и так далее).
Пройдите авторизацию:
* Сформируйте URL для авторизации с **параметрами песочницы** (`scope`, `redirect_uri`, `client_id`).
* Выполните вход по полученной ссылке, используя логин и пароль ранее созданной тестовой учетной записи.
* Полученный `authorization code` обменяйте на пару токенов (`access_token` и `refresh_token`) через метод [v2/oauth/token](/ru/sber-api/specifications/oauth/oauth-token-post).
Перейдите к интересующему методу из вашего [набора](/ru/sber-api/start/overview) и найдите блок "Рекомендации по тестированию в песочнице".
Для сервисов: "Платформам", "СберБизнес ID", "Моментальные платежи", "Кредит в корзине" необходимо соблюдать [стайлгайд](/ru/sber-api/start/styleguide), в котором установлены правила по оформлению и размещению кнопок на сайте.
---
# Стайлгайды Sber API
[source](https://developers.sber.ru/docs/ru/sber-api/start/styleguide.md)
Стайлгайды Sber API — это правила оформления фирменной символики и интерфейса СберБизнес на платформах партнеров. Они помогают корректно использовать визуальные элементы (знаки, цвета, компоненты) и их поведение, сохраняя узнаваемость бренда и доверие пользователей.
## Партнерские кнопки СберБизнес
Партнерские кнопки СберБизнес — это кнопки входа, оплаты и других действий пользователя на онлайн-ресурсах партнеров.
[Перейти к стайлгайду](/ru/sber-api/start/partners-buttons)
## Знак «Проверено СберБизнес»
«Проверено СберБизнес» – это брендированный графический знак, который подтверждает, что аккаунт юридического лица или ИП верифицирован по СберБизнес ID.
[Перейти к стайлгайду](/ru/sber-api/start/verified-sb)
---
# Инструкция по генерации TLS
[source](https://developers.sber.ru/docs/ru/sber-api/start/tls-create.md)
:::note
При возникновении проблем с генерацией ключей или CSR:
* Для СКЗИ - обратитесь к поставщику ПО
* Для OpenSSL: проверьте команды, пересоздайте CSR или воспользуйтесь [GigaChat](https://giga.chat) для разбора возникших ошибок
* Проверьте файл конфигурации на актуальность, изменять состав и порядок атрибутов не требуется
Техподдержка не консультирует по работе с OpenSSL. Благодарим за понимание!
:::
## 1. Подготовка окружения
### Проверка наличия OpenSSL
В терминале введите:
```bash
openssl version
```
:::note
Рекомендуется использовать OpenSSL версии 3.0 или выше
:::
### Конфигурационный файл
Конфигурационный файл содержит параметры для генерации CSR. Заполните его перед созданием запроса на сертификат.
1. Скачайте конфигурационный файл:
} text="Конфигурационный файл" />
2. Перейдите в директорию с файлом конфигурации, например:
```bash
cd ~/Downloads
```
3. Отредактируйте конфигурационный файл, заменив значения атрибутов на свои:
```bash
nano csr_config.cnf
```
Или используйте любой текстовый редактор.
:::danger
Значения атрибутов необходимо заполнять **латиницей**. Соблюдайте последовательность атрибутов, указанную в таблице.
:::
Жирным шрифтом отмечены фиксированные значения атрибутов, обычным шрифтом – значения, которые нужно заменить на пользовательские.
| OID | Поле | Значение |
|-------------|---------------------------|------------------------------------------------------------------------|
| 2.5.4.3 | commonName (CN) | **CI02745214-IFT-**\{ClientID} или **CI02745214-PROM-**\{ClientID} |
| 2.5.4.11 | organizationalUnitName (OU) | **sm** |
| 2.5.4.11 | organizationalUnitName (OU) | **sbbapi-client-1y** |
| 2.5.4.11 | organizationalUnitName (OU) | ИНН организации |
| 2.5.4.11 | organizationalUnitName (OU) | **CI02741778** |
| 2.5.4.11 | organizationalUnitName (OU) | ОГРН или ОГРНИП |
| 2.5.4.7 | localityName (L) | Населенный пункт |
| 2.5.4.8 | stateOrProvinceName (ST) | Регион |
| 2.5.4.6 | countryName (C) | **RU** |
## 2. Генерация ключа и запроса на сертификат
Выполните в терминале следующие команды:
### Создание приватного ключа
```bash
openssl genpkey -algorithm RSA -out private.key -pkeyopt rsa_keygen_bits:2048
```
**Пример выполнения:**
```bash
.............+++++
...................................+++++
```
В директории будет создан файл `private.key`.
Приватный ключ `private.key` необходимо хранить в безопасном месте! Его утеря приведет к неработоспособности сертификата.
### Создание запроса на сертификат (CSR)
```bash
openssl req -new -key private.key -out request.csr -config csr_config.cnf
```
В директории будет создан файл `request.csr` на основе конфигурации.
[Пример](https://cdn-app.sberdevices.ru/misc/0.0.0/assets/bsm-docs/51665251_request.zip) запроса на TLS-сертификат
### Проверьте CSR
```bash
openssl req -in request.csr -noout -text
```
**Пример выполнения:**
```bash
Certificate Request:
Data:
Version: 0 (0x0)
Subject: CN=CI02745214-IFT-20116, OU=sm, OU=sbbapi-client-1y, OU=4030347430, OU=CI02741778, OU=1220648266156, L=Moscow, ST=Moscow, C=RU
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public-Key: (2048 bit)
Modulus:
00:c3:a2:c4:5e:64:e8:ad:08:45:9d:c6:7f:89:e9:
c4:43:da:a9:1f:ff:5b:3e:21:a0:fa:98:c4:cc:ac:
17:f3:b8:cc:00:4d:89:0a:98:e1:94:e9:de:78:37:
af:be:aa:0f:4e:a7:9d:42:8e:af:1f:38:34:1c:44:
77:d3:43:b1:3f:ea:68:92:5d:c5:13:43:ee:b4:24:
63:c4:94:3b:81:12:55:3b:66:81:35:dc:5c:14:6c:
e4:59:9e:9c:a7:d5:91:5a:e2:3e:e5:6c:0c:0d:5c:
b4:6f:07:06:4a:6c:18:58:55:64:94:a2:17:90:28:
ec:7d:09:d6:95:79:35:c4:29:aa:32:1a:3b:92:9a:
eb:73:c6:cb:e5:42:77:4d:91:39:c2:5a:05:5b:ca:
f9:3c:31:bd:f4:b6:8d:36:a7:88:53:ce:d0:f0:43:
39:7c:54:9d:93:6f:13:52:3c:79:fd:a7:fc:23:80:
dc:78:58:12:b0:41:11:bc:89:1c:9b:fb:6f:05:c8:
36:1d:4a:14:05:1c:3f:4a:0f:d5:42:12:90:52:19:
26:ef:9a:0c:5f:0f:52:42:1e:bd:d7:97:de:5b:65:
c1:ff:ff:4d:0e:00:9d:bb:19:3e:ab:58:ba:f5:1e:
54:cd:4b:78:f6:96:e6:ec:02:47:f0:fb:97:9f:d8:
c2:63
Exponent: 65537 (0x10001)
Attributes:
a0:00
Signature Algorithm: sha256WithRSAEncryption
1f:b7:19:b9:b3:5d:ee:f3:1c:04:3d:14:da:e2:c6:50:54:c2:
38:bb:be:5e:b8:88:a6:ad:23:2d:bb:bd:f8:ff:0e:f5:df:e5:
45:2d:39:64:0b:f8:8b:7e:17:dc:ff:60:11:de:03:a4:9a:d9:
3d:8d:45:02:0f:cd:4d:a6:c6:cb:de:6f:f0:37:9d:16:6b:04:
2f:d1:b9:e5:85:43:a9:c0:d1:d2:c4:4f:4c:2e:14:86:c8:96:
60:fb:3d:61:33:e5:ac:8a:7f:1b:9f:85:fd:ac:2a:7c:d0:5d:
b6:56:b8:2b:22:9a:53:28:fa:70:e3:f0:0b:f5:2c:7d:b5:34:
3d:63:42:a4:b0:5d:c4:12:8e:b0:87:27:c0:04:7e:28:28:7f:
75:60:93:6a:63:2c:b6:a5:df:28:bd:af:78:ba:60:13:3f:4f:
e0:12:7e:5d:03:46:6a:00:8c:c4:ad:89:ab:c6:2a:f1:62:d9:
38:54:0e:9f:9a:68:1b:e8:2e:5f:d5:5b:a3:6e:44:3d:1d:ff:
9d:90:77:ac:21:09:19:b4:63:2c:4f:d9:33:f7:77:f6:bb:bb:
4a:8a:5d:50:37:22:26:4c:0f:7f:fa:28:4f:2a:02:88:9a:46:
11:c2:77:a2:0d:65:21:06:56:c4:83:5f:a8:8d:6e:4c:e9:44:
c6:02:d7:8a
```
Проверьте `Subject`:
* Порядок полей должен соответствовать [таблице](/ru/sber-api/start/tls-create)
* Значения должны быть указаны латиницей
Если вы допустили ошибку, можно пересоздать файл `.csr` из уже имеющегося приватного ключа `.key`.
## 3. Получить сертификат
С почты уполномоченного лица по договору Sber API отправьте файл `.csr` в службу поддержки `supportdbo2@sberbank.ru` с просьбой выпустить сертификат.
В письме укажите ваш `client_id` и стенд для которого нужно выпустить сертификат.
В ответ поддержка пришлет сертификат `certificate.cer`.
## 4. Создать контейнер PFX
PKCS#12 — это своего рода "сейф" защищенный паролем, в котором обычно содержатся все необходимые для работы элементы.
Для создания полноценного PKCS#12 контейнера (файл .pfx), содержащего приватный ключ, сертификат и цепочку доверия, выполните следующие шаги:
1. Скачайте цепочку сертификатов:
* Для [тестового стенда](https://cdn-app.sberdevices.ru/misc/0.0.0/assets/bsm-docs/b89853b1_chain_test.zip)
* Для [промышленного стенда](https://cdn-app.sberdevices.ru/misc/0.0.0/assets/bsm-docs/f8dd5e00_chain_prom.zip)
2. Распакуйте архив в директорию с вашими файлами
3. Убедитесь, что в директории находятся:
* private.key - ваш приватный ключ
* certificate.cer - ваш сертификат
* root.crt - корневой сертификат
* intermediate.crt - промежуточный сертификат
**Выполните команду:**
```bash
openssl pkcs12 -export -inkey private.key -in certificate.cer -certfile intermediate_test.crt -certfile root_test.crt -out tls.pfx
```
Для некоторого ПО, например insomnia, может потребоваться собрать контейнер с определенными алгоритмами:
```bash
openssl pkcs12 -export -inkey private.key -in certificate.cer -certfile intermediate_test.crt -certfile root_test.crt -out tls.pfx -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES
```
В процессе выполнения потребуется создать пароль для контейнера и подтвердить его:
```bash
Enter Export Password:
Verifying - Enter Export Password:
```
:::tip
При вводе пароля символы в терминале не отображаются, введите пароль и нажмите enter.
:::
После указания пароля в директории будет создан файл tls.pfx.
Контейнер должен содержать:
* Закрытый ключ (private.key)
* Личный сертификат (certificate.cer)
* Промежуточный сертификат (intermediate.crt)
* Корневой сертификат (root.crt)
### Проверьте PFX
```bash
openssl pkcs12 -info -in tls.pfx -noout
```
**Пример выполнения:**
```bash
MAC Iteration 2048
MAC verified OK # Целостность данных подтверждена
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048
Certificate bag # Сертификат
Certificate bag # Сертификат
Certificate bag # Сертификат
PKCS7 Data
```
**Посмотреть полную структуру с ключом можно с помощью команды:**
```bash
openssl pkcs12 -in tls.pfx -info -nodes
```
**Пример выполнения:**
```bash
MAC Iteration 2048
MAC verified OK
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048
Certificate bag
Bag Attributes
localKeyID: 33 40 F5 0F B6 CA E5 5D 44 57 A7 86 BA 36 8C 5D D4 67 AD 02
subject=/CN=CI02745214-IFT-20116/OU=sm/OU=sbbapi-client-1y/OU=4030347430/OU=CI02741778/OU=1220648266156/L=Moscow/ST=Moscow/C=RU
issuer=/C=RU/ST=Moscow/L=Moscow/O=Sberbank of Russia/OU=SberAPI/CN=SberAPI CA Internal Test
-----BEGIN CERTIFICATE-----
MIIHqzCCBZOgAwIBAgIUd3craC6HTztQuIyBdd/S1vUXY5kwDQYJKoZIhvcNAQEL
BQAwgYExCzAJBgNVBAYTAlJVMQ8wDQYDVQQIDAZNb3Njb3cxDzANBgNVBAcMBk1v
c2NvdzEbMBkGA1UECgwSU2JlcmJhbmsgb2YgUnVzc2lhMRAwDgYDVQQLDAdTYmVy
QVBJMSEwHwYDVQQDDB...
-----END CERTIFICATE-----
Certificate bag
Bag Attributes:
subject=/C=RU/O=Sberbank of Russia/CN=SberCA Test Ext G2
issuer=/C=RU/O=Sberbank of Russia/CN=SberCA Test Root Ext
-----BEGIN CERTIFICATE-----
MIIHMDCCBRigAwIBAgIQVnerP9ykL/7ZiwH5fkv9ujANBgkqhkiG9w0BAQsFADBJ
MQswCQYDVQQGEwJSVTEbMBkGA1UECgwSU2JlcmJhbmsgb2YgUnVzc2lhMR0wGwYD
VQQDDBRTYmVyQ0EgV...
-----END CERTIFICATE-----
Certificate bag
Bag Attributes:
subject=/C=RU/O=Sberbank of Russia/CN=SberCA Test Root Ext
issuer=/C=RU/O=Sberbank of Russia/CN=SberCA Test Root Ext
-----BEGIN CERTIFICATE-----
MIIF0TCCA7mgAwIBAgIJANvxJKHnfCfnMA0GCSqGSIb3DQEBCwUAMEkxCzAJBgNV
BAYTAlJVMRswGQYDVQQKDBJTYmVyYmFuayBvZiBSdXNzaWExHTAbBgNVBAMMFFNi
ZXJDQSBUZXN0IFJvb3QgRXh0MB4XDTIxMDgxMzEzMTA0MVoXDTQxMDgwODEzMTA0
MVowSTELMAkG...
-----END CERTIFICATE-----
PKCS7 Data
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048
Bag Attributes
localKeyID: 33 40 F5 0F B6 CA E5 5D 44 57 A7 86 BA 36 8C 5D D4 67 AD 02
Key Attributes:
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDFd8Ax4XI0W+Np
wYUwsu2f+y0DHV2G22GsppZLFuadQhM0WjFV8MGmoe/qTnSr20u3OczQKGkISEO7
ZaPLOCkZQuf17L7LCPv0oVhyJoO/jXxjg7ESJPitHKnQFYh08z6cjpg3WfAwWRzB
NB6BnseMIGnW4AywIE4Czn...
-----END PRIVATE KEY-----
```
---
# TLS-сертификат
[source](https://developers.sber.ru/docs/ru/sber-api/start/tls.md)
:::note
**Важные примечания**:
* Тестовые сертификаты работают только в тестовом окружении
* Поддержка не консультирует по формированию ключа с помощью СКЗИ, вы можете обратиться к поставщику ПО за консультацией.
* Сертификат действует только на один сервис (clientId), для которого был выпущен. Для каждого нового сервиса нужен отдельный сертификат.
* Срок действия сертификата — 12 месяцев с даты выдачи.
:::
TLS-сертификат обеспечивает шифрование данных и подтверждение подлинности сторон при работе по HTTPS. В Sber API используется взаимная аутентификация (mTLS): сертификат требуется как серверу, так и клиенту. Это гарантирует защиту финансовых и персональных данных от перехвата и несанкционированного доступа.
Для настройки соединения необходимо:
* получить клиентский сертификат в формате PKCS#12 (.p12);
* установить его на своем сервере;
* добавить в доверенные корневые сертификаты удостоверяющих центров Сбера и Минцифры России.
Доступ к Sber API возможен только при корректно настроенном TLS-сертификате.
## Как получить TLS на тестовом стенде
:::note
Для стабильной работы с тестовым стендом убедитесь, что у вас установлены [сертификаты Минцифры](https://www.sberbank.ru/ru/certificates).
:::
Доступны разные способы получения TLS — выберите подходящий вам:
**1. Использование общего тестового TLS**
* [Скачать сертификат](https://cdn-app.sberdevices.ru/misc/0.0.0/assets/bsm-docs/sbbapi-tls-test.zip) (пароль для установки: `testtest`)
* [Цепочка сертификатов](https://cdn-app.sberdevices.ru/misc/0.0.0/assets/bsm-docs/b89853b1_chain_test.zip)
**2. Генерация тестового контейнера TLS в личном кабинете Sber API**
* Через личный кабинет Sber API в [тестовом СберБизнес](https://efs-sbbol-ift-web.testsbi.sberbank.ru:9443/ic/ufs/login.html) по [инструкции](https://developers.sber.ru/docs/ru/sber-api/start/connect). Цепочка сертификатов содержится в сгенерированном контейнере `.p12`.
**3. Запрос TLS - сертификата через поддержку**
* Сформируйте закрытый ключ длиной 2048 бит с применением алгоритма RSA и CSR-запрос `.csr` с помощью СКЗИ, запрос на сертификат должен содержать обязательные атрибуты
* Отправьте файл `.csr` в службу поддержки `supportdbo2@sberbank.ru` с просьбой выпустить сертификат
* Получите сертификат `.cer` в ответ
* Используйте сертификат с закрытым ключом для аутентификации
[Пример](https://cdn-app.sberdevices.ru/misc/0.0.0/assets/bsm-docs/51665251_request.zip) запроса на TLS-сертификат
Обязательные атрибуты CSR
:::danger
Все значения атрибутов должны быть заполнены **латинскими** символами.
Соблюдайте последовательность атрибутов, указанную в таблице.
:::
Жирным шрифтом отмечены фиксированные значения атрибутов, обычным шрифтом – значения, которые нужно заменить на пользовательские.
| OID | Поле | Значение |
|-------------|---------------------------|------------------------------------------------------------------------|
| 2.5.4.3 | commonName (CN) | **CI02745214-IFT-**\{ClientID} |
| 2.5.4.11 | organizationalUnitName (OU) | **sm** |
| 2.5.4.11 | organizationalUnitName (OU) | **sbbapi-client-1y** |
| 2.5.4.11 | organizationalUnitName (OU) | ИНН организации |
| 2.5.4.11 | organizationalUnitName (OU) | **CI02741778** |
| 2.5.4.11 | organizationalUnitName (OU) | ОГРН или ОГРНИП |
| 2.5.4.7 | localityName (L) | Населенный пункт |
| 2.5.4.8 | stateOrProvinceName (ST) | Регион |
| 2.5.4.6 | countryName (C) | **RU** |
## Как получить TLS на промышленном стенде
:::note
Установите [цепочку сертификатов](https://cdn-app.sberdevices.ru/misc/0.0.0/assets/bsm-docs/f8dd5e00_chain_prom.zip).
:::
Получить TLS-сертификат на промышленном стенде для работы с Sber API вы можете одним из двух способов:
**1. Генерация контейнера TLS в личном кабинете Sber API**
* Через личный кабинет Sber API в [СберБизнес](https://sbi.sberbank.ru:9443/ic/ufs/login.html) по [инструкции](https://developers.sber.ru/docs/ru/sber-api/start/connect). Цепочка сертификатов содержится в сгенерированном контейнере `.p12`.
**2. Запрос TLS - сертификата через поддержку**
* Сформируйте закрытый ключ длиной 2048 бит с применением алгоритма RSA и CSR-запрос `.csr` с помощью СКЗИ, запрос на сертификат должен содержать обязательные атрибуты
* С почты уполномоченного лица отправьте файл `.csr` в службу поддержки `supportdbo2@sberbank.ru` с просьбой выпустить сертификат
* Получите сертификат `.cer` в ответ
* Используйте сертификат с закрытым ключом для аутентификации
Обязательные атрибуты CSR
:::danger
Все значения атрибутов должны быть заполнены **латинскими** символами.
Соблюдайте последовательность атрибутов, указанную в таблице.
:::
Жирным шрифтом отмечены фиксированные значения атрибутов, обычным шрифтом – значения, которые нужно заменить на пользовательские.
| OID | Поле | Значение |
|-------------|---------------------------|------------------------------------------------------------------------|
| 2.5.4.3 | commonName (CN) | **CI02745214-PROM-**\{ClientID} |
| 2.5.4.11 | organizationalUnitName (OU) | **sm** |
| 2.5.4.11 | organizationalUnitName (OU) | **sbbapi-client-1y** |
| 2.5.4.11 | organizationalUnitName (OU) | ИНН организации |
| 2.5.4.11 | organizationalUnitName (OU) | **CI02741778** |
| 2.5.4.11 | organizationalUnitName (OU) | ОГРН или ОГРНИП |
| 2.5.4.7 | localityName (L) | Населенный пункт |
| 2.5.4.8 | stateOrProvinceName (ST) | Регион |
| 2.5.4.6 | countryName (C) | **RU** |
---
# Работа с документацией в LLM и ИИ-помощниках
[source](https://developers.sber.ru/docs/ru/sber-api/start/using-docs-with-llm.md)
Модели или ИИ-помощники, которые помогают при разработке, могут отвечать на вопросы по документации Sber API.
Для генерации корректного ответа им нужен качественный контекст — релевантная, структурированная и актуальная информация о работе сервиса.
Документация предоставляет несколько способов получить данные для формирования контекста.
Комбинируйте их или используйте по отдельности в зависимости от своих задач и возможностей доступных инструментов.
## Доступ ко всей документации
Передайте в LLM содержимое файла или ссылку на него, чтобы она могла ответить на вопросы о том, как авторизовать запросы, как использовать основные методы API и другое.
Для работы со всей документацией с помощью ИИ-помощников и агентов используйте файл, подготовленные по стандарту [llms.txt](https://llmstxt.org/):
* файл [`/sber-api/llms-full.txt`](https://developers.sber.ru/docs/ru/sber-api/llms-full.txt) — вся документация Sber API собранная в одном файле.
## Запросы по отдельным разделам
Для генерации ответов по отдельному разделу используйте markdown-исходник страницы.
Передайте в LLM содержимое исходника или ссылку на него, чтобы она могла ответить на вопросы по разделу.
Чтобы получить исходник:
1. Откройте раздел, по которому нужно получить ответ.
2. Выберите подходящий пункт выпадающего списка у заголовка страницы:
* **Скопировать страницу** — markdown-исходник страницы будет скопирован в буфер обмена;
* **Открыть исходную страницу** — открывает markdown-исходник страницы в новой вкладке браузера.
## Использование MCP-сервера docs-mcp
Вы можете обращаться к документации Sber API (и других продуктов) с помощью MCP-сервера [docs-mcp](https://www.npmjs.com/package/@salutejs/docs-mcp).
Сервер предоставляет инструменты:
* `list_products` — доступ к списку продуктов, документация которых доступна на developers.sber.ru/docs;
* `get_documentation` — доступ к документации выбранного продукта в виде файла llms-full.txt.
### Установка
Сервер распространяется в виде npm-пакета.
Для установки выполните команду:
```sh
npx -y @salutejs/docs-mcp@latest
```
### Подключение к агенту
Чтобы агент мог отвечать на вопросы по документации, доступной в llms-full.txt, подключите docs-mcp в конфигурационном файле.
Пример подключения в конфигурационном файле OpenCode:
```json
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"docs-mcp": {
"type": "local",
"command": ["npx", "-y", "@salutejs/docs-mcp@latest"],
"enabled": true,
}
}
}
```
---
# Знак «Проверено СберБизнес»
[source](https://developers.sber.ru/docs/ru/sber-api/start/verified-sb.md)
«Проверено СберБизнес» — брендированный графический знак, который размещается на партнерских платформах рядом с названием организации. Он означает, что аккаунт юридического лица или ИП подтвержден через СберБизнес ID.
## Общие правила
* Знак используется только в контексте верификации.
* Знак привязан к профилю и размещается рядом с названием организации или ИП.
* Знак используется только в соответствии с правилами, описанными в этом разделе.
## Ресурсы
Стиль и размеры знака «Проверено СберБизнес» можно посмотреть в спецификации.
* [Файл в Figma](https://www.figma.com/community/file/1619282637748029056)
## Цвета и размеры
Цвета:
* фон — #21A19A;
* логотип — #FFFFFF.
Допустимо масштабирование знака пропорционально другим элементам страницы в диапазоне 16-24 px. В одном интерфейсе размер знака должен быть единообразным для всех одинаковых сущностей (например, все карточки работодателей — одинаковый размер бейджа).
Ниже приведены рекомендуемые размеры знака для разных контекстов использования.
| Контекст использования | Рекомендуемый размер | Минимальный размер |
|------------------------|----------------------|--------------------|
| Шапка профиля компании | 20–24 px | 16 px |
| Строка в списке, каталоге, поисковой выдаче | 16–20 px | 16 px |
| Мобильное приложение | 16–20 px | 16 px |
## Правила размещения
Знак располагается рядом с названием компании на карточке профиля. Вокруг знака задается охранное поле не менее 1/4 диаметра знака со всех сторон. В этой зоне не размещаются текст, другие иконки, рамки или границы элементов.
Знак допускается в списках компаний, результатах поиска, карточках вакансий — везде, где отображается название организации. В каждом случае знак располагается непосредственно рядом с названием, а не с логотипом, аватаром или другим элементом карточки. Знак всегда должен однозначно относиться к одному объекту — названию конкретного юрлица или ИП.
## Интерактивное поведение
При наведении курсора на знак в веб и при тапе на мобильном устройстве появляется тултип «Проверено СберБизнес. Аккаунт юридического лица подтвержден СберБизнес» или «Проверено СберБизнес. Аккаунт ИП подтвержден СберБизнес».
## Применение
Неправильно менять цвет знака. Нельзя использовать знак как элемент геймификации, рейтинговой системы или как иконку действия.
Правильно размещать знак рядом с названием компании и использовать размер знака, пропорциональный другим элементам интерфейса.
---
# Подключение и настройка
[source](https://developers.sber.ru/docs/ru/sber-api/start/webhooks/connection.md)
:::caution
Доступно только для набора «Компаниям»
:::
## Создание и настройка подписки
**1.** Перейдите в Личный кабинет Sber API, вкладка "Вебхуки" и нажмите "Добавить подписку".
**2.** Заполните поля:
* Наименование подписки - произвольный текст для вашей личной идентификации вебхука;
* URL-адреса вебхука - это endpoint вашего приложения, куда банк будет отправлять события.
:::note
URL-адрес вебхука должен быть уникален в рамках всех ваших подписок в ЛК Sber API. Банк использует HTTPS для отправки событий вебхука в ваше приложение.
:::
**3.** Нажмите "Добавить события" и выберите из списка события, о которых хотите получать уведомления.
:::caution
**Ограничения на подписки:**
* При создании подписки необходимо указать хотя бы один тип события.
* Дублирование запрещено: для одного типа события может существовать только одна активная подписка (независимо от указанного URL-адреса).
:::
**4.** Настройте подписку
Если событие предполагает операции по счету, то вам потребуется обязательно указать счета, по которым вы хотите получать уведомления.
> Настроить подписку на получение уведомлений о событиях по всем текущим и будущим счетам, может пользователь СберБизнес, обладающий полномочиями на открытие счетов и на момент оформления подписки не имеющий ограничений по счетам согласно договору дистанционного банковского обслуживания (ДБО).
> Для всех остальных пользователей с правом подписи, выбор будет ограничен только текущими доступным счетами по условиям ДБО.
После завершения нажмите "Создать" для перехода к подтверждению настроек подписки.
**5.** Подтвердите настройки подписки СМС-кодом или токеном.
После создания подписка появится в общем списке. На форме отображается ключевая информация о подписке:
* Наименование и URL
* Дата создания
* Дата изменения
* Статус подписки
## Изменение подписки
**1.** Вы можете редактировать или удалять подписки после создания, нажав на интересующую вас подписку и перейдя в карточку подписки или использовать действия:
* Редактировать
* Удалить
**2.** Подтвердите изменение настроек подписки СМС-кодом или токеном.
После создания любой пользователь вашей организации может добавлять события в подписку.
При этом для изменения URL-адреса вебхука и счетов подписки потребуется подтвердить настройки СМС-кодом или токеном.
Редактирование этих настроек также может быть недоступно пользователям СберБизнес, имеющим ограничения по счетам в договоре дистанционного банковского обслуживания (ДБО).
---
# Вебхуки
[source](https://developers.sber.ru/docs/ru/sber-api/start/webhooks/overview.md)
## Информация о сервисе
Вебхуки — это механизм обратного вызова (callback), позволяющий одной системе (например, банку) отправлять HTTP-запросы с уведомлениями в реальном времени в другую систему (например, вашу) при наступлении определенных событий. В отличие от традиционного взаимодействия, где ваша система выступает клиентом и запрашивает данные, при использовании вебхуков банк сам выступает клиентом и отправляет данные на ваш публичный endpoint.
**Схема взаимодействия**
```mermaid
---
config:
themeVariables:
primaryTextColor: '#2a72f8'
primaryBorderColor: '#2a72f8'
lineColor: '#2a72f8'
noteBkgColor: '#f5f5f5'
noteBorderColor: ''
---
sequenceDiagram
participant bank as Банк Отправитель Webhook
participant client as Клиент/Партнер Получатель Webhook
Note over bank,client: 1. Установление защищенного соединения
bank->>+client: 1. Запрос на подтверждение (ClientHello)
Note right of bank: Инициация TLS-рукопожатия
client->>bank: 2. Серверный сертификат партнера 3. Запрос клиентского сертификата банка
Note left of client: Проверка серверного сертификата Клиент запрашивает сертификат банка для взаимной аутентификации (mTLS)
bank->>client: 4. Клиентский сертификат банка
Note right of bank: Проверка клиентского сертификата
client-->>bank: 5. Завершение TLS-handshake
Note left of client: Обмен ключами, проверка сертификатов установление шифрованного канала
Note over bank,client: 2. Отправка уведомления
bank->>client: 4. Уведомление о событии (Webhook)
Note right of bank: HTTP POST с JSON-телом события Заголовки: Content-Type, X-WH-Webhook-Time, X-WH-Request-Id
opt Опционально: Подписанное тело сообщения
bank-->>client: 5. Отправка вебхука с использованием JWS (JSON Web Signature) Compact Serialization
Note right of bank: Клиент проверяет подпись для верификации
end
client-->>bank: 6. Успешно обработано (HTTP 200 OK)
Note left of client: Ответ со статусом 200 При ошибке - повторная отправка
```
**Преимущества:** снижение нагрузки на серверы, ускорение обмена данными, отсутствие лишних запросов.
**Бизнес-кейс:** Вы отправили платежное поручение, и время его исполнения неизвестно (например, до 3 часов). Без вебхуков пришлось бы каждые несколько секунд опрашивать API банка "исполнился ли платеж?". С вебхуками Банк сам пришлет уведомление в момент исполнения — вы мгновенно узнаете о событии.
## Когда лучше использовать API
* Данные обновляются по расписанию (например, опрос статуса платежей в конце дня)
* Время передачи события не критично
* Запросы статуса нужны только в конкретные моменты
## Когда лучше использовать вебхуки
* Важна моментальная передача данных (уведомление об исполнении платежа, поступлении средств)
* Необходимо автоматизировать процессы без задержек
* Вы не знаете, когда произойдет событие, и хотите получать уведомления
## Почему вебхуки лучше опроса
Опрос статусов по API — это непрерывные запросы к серверу "есть ли обновления?". Большинство ответов будут "нет", что приводит к пустой трате пропускной способности и вычислительных ресурсов как на вашей стороне, так и на стороне банка.
Вебхуки решают эту проблему: событие доставляется только тогда, когда оно действительно произошло. **Это более эффективное решение для уведомлений в реальном времени.**
---
# Вебхук-обработчик
[source](https://developers.sber.ru/docs/ru/sber-api/start/webhooks/partner-webhook.md)
## Общие требования к endpoint
Ваш сервер-обработчик должен соответствовать следующим сетевым требованиям:
* **Протокол**: только HTTPS (TLS 1.2+).
* **Порт**: 443 или 8443.
* **TLS**: действительный сертификат от доверенного удостоверяющего центра.
* **Public URL**: адрес должен быть доступен из внешней сети (запрещено использование 127.0.0.1 или localhost).
* **Метод**: POST.
## Структура запроса
**Заголовки**
* **X-WH-Webhook-Time** – время отправки сообщения веб-хука (Unix time);
* **X-WH-Request-Id** – идентификатор исходящего запроса (уникальный идентификатор для каждой конкретной доставки вебхука);
```json
Content-Length: 148
Content-Type: application/json
X-WH-Webhook-Time: 1622552400000
X-WH-Request-Id: 714d887e-3fae-45f0-9cd6-63538630bc13
```
**Тело запроса**
Все типы событий имеют одинаковую верхнеуровневую структуру:
* **content**: содержит подробную информацию о конкретном событии (структура content может меняться в зависимости от типа события);
* **eventType**: тип события в формате Cущность.Cобытие;
* **eventVersion**: версия события;
* **eventTime**: время возникновения события в формате (ISO 8601).
```json
{
"content": {
//object
},
"eventType": "eventType",
"eventVersion": "eventVersion",
"eventTime": "YYYY-MM-DDThh:mm:ss.sssZ"
}
```
## Требования к обработке
Чтобы подтвердить получение события, сервер должен вернуть статус `2xx` **максимум за 60 секунд**.
Если вашему приложению требуется больше времени или возвращен один из статусов: `408`, `409`, `429`, `500`, `502`, `503`, `504`, `507`, `508` или `509`, банк сочтет доставку неуспешной и предпримет повторную попытку.
> Все остальные статус-коды считаются финальными — после них повторные попытки не выполняются.
## Политика повторных попыток
Банк использует стратегию **экспоненциальной** задержки. Максимальное количество запросов на одно событие — 11 (первая отправка и 10 повторов).
Задержки между попытками увеличиваются по графику: сразу, через 5 секунд, через 5 минут, через 30 минут, через 2 часа, через 5 часов, через 10 часов, через 14 часов, через 20 часов и через 24 часа.
| Попытка | Задержка относительно предыдущей | Время от старта |
| :--- | :--- | :--- |
| 1 | Немедленно | 00:00:00 |
| 2 | 5 секунд | 00:00:05 |
| 3 | 5 минут | 00:05:05 |
| 4 | 30 минут | 00:35:05 |
| 5 | 2 часа | 02:35:05 |
| 6 | 5 часов | 07:35:05 |
| 7 | 10 часов | 17:35:05 |
| 8 | 14 часов | 31:35:05 |
| 9 | 20 часов | 51:35:05 |
| 10 | 24 часа | 75:35:05 |
## Правила обработки
**Обработка новых полей**
Банк может добавлять новые поля в `content`. Ваша система должна корректно реагировать на новые поля.
**Дедупликация**
Банк доставляет уведомления по принципу **"как минимум один раз"**.
Это означает, что одно и то же событие **может быть отправлено несколько раз** (например, из-за таймаутов, сетевых проблем или повторных попыток).
Кроме того, последовательность событий может нарушаться: второе по времени изменение может прийти раньше первого. Важно правильно реагировать на такие события.
Подробнее о дедупликации для конкретных типов событий в документации:
* [Статус рублевого платежного поручения](/ru/sber-api/specifications/payments/wh-payment)
* [Статус исходящего платежного требования](/ru/sber-api/specifications/payment-requests/wh-payment-request)
---
# Безопасность
[source](https://developers.sber.ru/docs/ru/sber-api/start/webhooks/security.md)
## TLS-аутентификация
Для защиты канала связи используется взаимная TLS-аутентификация (mTLS). Банк предъявляет свой клиентский сертификат, а ваш сервер обязан его проверить.
Для этого добавьте в доверенное хранилище вашего сервера цепочку сертификатов УЦ Банка:
* [Корневой сертификат](https://cdn-app.sberdevices.ru/misc/0.0.0/assets/bsm-docs/SberCA_Root_Ext.crt)
* [Промежуточный сертификат](https://cdn-app.sberdevices.ru/misc/0.0.0/assets/bsm-docs/SberCA_Ext.crt)
В настройках сервера включите обязательную проверку клиентских сертификатов.
Серверный сертификат должен быть получен в одном из аккредитованных банком УЦ:
Национальные УЦ Российской Федерации:
* НУЦ (УЦ Минцифры России)
* НСПК (УЦ Национальной системы платежных карт)
Дополнительно рекомендуется проверять расширение **SAN** `CI00854520PROMCSYNGXExternal` сертификата на прикладном уровне — это позволяет привязать доступ к имени конкретного сервиса и не потерять безопасность при замене сертификата.
## Проверка подписи запроса
Для подтверждения того, что уведомление отправлено именно Банком и не было изменено в пути, все входящие запросы содержат цифровую подпись. Проверка подписи является обязательным шагом для обеспечения безопасности.
### 1. Определение формата
Обратите внимание на заголовок `Content-Type` запроса:
* Если его значение — `application/jose`, это означает, что тело запроса упаковано в специальный формат **JWS** (JSON Web Signature) в компактном виде.
### 2. Структура подписанного сообщения
Сообщение состоит из трех частей, разделенных точками (`.`):
`Заголовок.Полезная_нагрузка.Подпись`
Каждая из этих частей кодируется в безопасный для передачи формат **Base64Url**.
* **Стандарт**: Описание формата JWS регулируется международной спецификацией [RFC 7515](https://datatracker.ietf.org/doc/html/rfc7515#section-5.1).
* **Криптография**: Используется алгоритм **ГОСТ Р 34.10-2012** (для электронной подписи) совместно с хэш-функцией **ГОСТ Р 34.11-2012**.
### 3. Разбор частей
* **Заголовок (Header)**: Это служебный JSON-блок, который говорит, как именно подписано сообщение. Он всегда содержит два поля:
```json
{
"typ": "JOSE",
"alg": "gost34.10-2012"
}
```
* `"typ": "JOSE"` — тип токена.
* `"alg": "gost34.10-2012"` — алгоритм шифрования, используемый для подписи (российский стандарт ГОСТ).
* **Полезная нагрузка (Payload)**: Это и есть само тело уведомления, содержащее данные о событии (реквизиты, статусы и т.д.). Содержимое этой части соответствует тому, что вы ожидаете получить в событии.
* **Подпись (Signature)**: Это результат криптографического преобразования. Она вычисляется на основе *первых двух частей* сообщения (Заголовка и Полезной нагрузки), соединенных точкой.
### 4. Как проверить подпись (алгоритм действий)
Чтобы убедиться в целостности данных, ваш сервер должен выполнить следующие шаги:
1. Разделите полученную строку по символу `.` на три части.
2. Возьмите **первые две части** (Заголовок и Payload) и склейте их обратно через точку в том виде, в каком они пришли. Это будет строка для проверки.
3. Используя открытый ключ Банка и алгоритм `gost34.10-2012`, вычислите сигнатуру для полученной строки.
4. Сравните вычисленный результат с **третьей частью** (присланной Подписью). Если они совпадают — запрос подлинный и не был изменен.
**Важно:** Не пытайтесь декодировать первую и вторую части перед проверкой подписи. Подпись всегда вычисляется именно от строки в формате `Base64Url(Header) || '.' || Base64Url(Payload)`.