FAQ
В этом разделе вы найдете ответы на часто задаваемые вопросы.
Авторизация
При наличии у клиента интеграции со Sber API, требуется ли иметь доступ в СберБизнес с действующими полномочиями для подписи документа в интернет-банке?
Для работы с сервисами Sber API необходимо иметь действующую учетную запись СберБизнес ID для прохождения авторизации. Также для осуществления запросов к сервисам Sber API, подразумевающих создание документов с подписью, учетная запись должна иметь соответствующие полномочия, которые определяются при создании пользователя в СберБизнес.
Какой срок действия у идентификаторов Authorization Code, Access Token, Refresh Token?
Authorization Code - 2 минуты, Access Token - 60 минут, Refresh Token - 180 дней. Срок действия идентификаторов может быть изменен в банке.
Сколько раз можно использовать Authorization Code?
Любым Authorization Code можно воспользоваться только один раз в течение срока его жизни. При запросе нового Authorization Code, старый код остается действующим в течение установленного срока (3 минуты на тестовых стендах). Любая попытка обмена Authorization Code на Access Token приведет либо к успешному обмену и выдачи токена, либо, при наличии ошибок в запросе токена, сделает Authorization Code невалидным.
Авторизационный токен (АТ)
Для повторного обращения к ресурсам Sber API необходимо также выполнить все шаги, описанные в документации Сервис авторизации СберБизнеc?
Повторное получение авторизационного кода не требуется, достаточно будет выполнить обновление авторизационного токена согласно документации Запрос на обновление Access Token.
Рекомендуется обновлять ключи доступа (Access Token/Refresh Token) как минимум один раз за время жизни Refresh Token. В случае если Refresh Token потеряет актуальность (не будет обновлен до истечения времени жизни), партнер сможет получить актуальные ключи доступа только после повторной авторизации клиента в сервисе партнера через СберБизнес.
Если при обновлении ключей доступа не был получен ответ из банка, то рекомендуется повторно отправить запрос на актуализацию ключей в течение 1 часа от момента отправки первой попытки.
Можно ли использовать для идентификации пользователя «sub Хэш банковского идентификатора пользователя», получаемый в результате обработки запроса POST /v2/oauth/token? Или необходимо использовать userId, получаемый по запросу GET /v1/oauth/user-info?
Можно использовать любой из указанных идентификаторов.
Как получить выписку по счетам дочерней организации?
Аналогично получению выписки по счетам собственной организации, но с использованием АТ пользователя дочерней.
Как часто нужно делать обновление токена? Перед каждым новым запросом?
При обращении к ресурсам Sber API токен должен быть действительным на момент запроса. Срок действия токена 60 минут. Таким образом токен можно обновлять:
- либо непосредственно перед отправкой запроса, если запросы отправляются реже, чем раз в 1 час;
- либо регулярно раз в час.
Client-secret (CS)
Какой срок действия client secret и можно ли его изменить?
Срок действия client secret составляет 40 дней. Для тестовой среды в отдельных случаях возможно увеличить срок действия, для этого необходимо направить запрос в техническую поддержку.
Какая длина должна быть у нового client secret?
Длина client secret может составлять от 8 до 256 символов.
Выписка
Что означает ответ «Выписка в процессе формирования, пожалуйста, запросите ее позже»?
Код возврата 202 STATEMENT_RESPONSE_PROCESSING
означает, что в СберБизнес не была сформирована выписка по запрашиваемым параметрам, либо сформированная выписка неактуальна.
В каждом из этих случаев получение указанного кода возврата также означает, что в СберБизнес инициирован процесс формирования или актуализации выписки по запрошенным параметрам.
Формирование выписки может занять до нескольких минут, после чего можно выполнить запрос повторно.
Как часто обновляется выписка? Работает ли получение операций в выходные дни?
Обычно выписка формируется автоматически по мере поступления информации об операциях по счету. Полная синхронизация данных об операциях за прошедший день происходит каждый раз после его окончания.
Методы получения информации об операциях в Sber API доступны и в выходные дни, однако на первый запрос может вернуться код возврата 202 STATEMENT_RESPONSE_PROCESSING
.
Платеж
Что означает oшибка «В системе уже имеется документ с совпадением номера, даты, счета плательщика, суммы»?
В Sber API реализован контроль, исключающий создание дублирующего документа. Данная ошибка означает, что в СберБизнес уже существует документ того же типа, для которого значения параметров: номер документа, дата создания, счет плательщика, сумма платежа; полностью совпадают со значениями аналогичных параметров из запроса.
Выполняется ли декодирование строки, указанной в качестве backUrl
при осуществлении перенаправления клиента?
При передаче
backUrl
необходимо выполнять URLEncode (подробнее в спецификации RFC3986). При осуществлении перенаправления выполняется преобразование закодированной для передачи в 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
:
- промежуточный, если ИПТ выставлено в адрес плательщика, который является клиентом Сбербанка,
- окончательный, если ИПТ выставлено в адрес плательщика, который не является клиентом Сбербанка.
Общие вопросы
Можете нам помочь в интеграции (или разработке)?
Мы не предоставляем такую услугу. Наша документация по API, которая содержит описание доступных методов и параметров, а также инструкции по их использованию, позволяет разработчикам самостоятельно интегрировать свои приложения с API банка, используя документацию в качестве руководства.
Можете предоставить примеры кода на PHP или другом языке программирования?
К сожалению, такой возможности нет. Предоставление примеров кода может повлечь за собой риск для безопасности, так как злоумышленники могут использовать эту информацию для атак на систему банка или клиентов.
Каждый Клиент может иметь свою уникальную структуру и логику работы с данными. Примеры кода могут быть специфичными для конкретного Клиента и не подходить для других.