Тестирование
Для тестирования Sber API доступен интеграционный стенд. Настройки для подключения предоставляет поддержка supportdbo2@sberbank.ru
после подписания договора на Sber API. На тестовом стенде можно проверить все описанные в документации сценарии перед переходом на промышленный стенд.
Для доступа к Sber API на тестовом стенде используйте следующие URLs:
- Для ссылки авторизации через СберБизнес ID
https://efs-sbbol-ift-web.testsbi.sberbank.ru:9443
- Для отправки API запросов
https://iftfintech.testsbi.sberbank.ru:9443
- Вход в тестовую версию СберБизнес
https://efs-sbbol-ift-web.testsbi.sberbank.ru:9443/ic/ufs/login.html
Процесс тестирования
1. Получение настроек
После заключения договора техническая поддержка supportdbo2@sberbank.ru
направит тестовые настройки на почту ответственного за интеграцию.
В настройках содержится:
client_id
иclient_secret
- Доступные scope (области доступа)
- Шаблон обращения в поддержку
- Данные тестовых учетных записей пользователей
2. Получение TLS-сертификата
Необходимо получить и настроить TLS-сертификат для тестового стенда.
3. Тестирование сценариев
- Реализуйте и протестируйте механизм авторизации (требуется для всех сервисов Sber API)
- Протестируйте сценарии и методы выбранного сервиса API
Описание доступных сервисов и их функциональности приведено в отдельном разделе документации.
4. Соблюдайте стайлгайд и подготовьте демонстрационное видео
Для сервисов: "Платформы", "СберБизнес ID", "Моментальные платежи", "Кредит в корзине" необходимо соблюдать стайлгайд, в котором установлены правила по оформлению и размещению кнопок на сайте.
Своевременно обновляйте необходимые параметры
Параметр | Описание | Срок жизни | Способ получения | Примечания и ссылки |
---|---|---|---|---|
Authorization Code | Рекомендация: Это одноразовый код со сроком жизни 2 минуты. Механизм его получения инициируется пользователем (логин в СберБизнес ID). Система должна быть готова немедленн о его использовать. Техническая реализация: Серверная часть приложения, обрабатывающая redirect_uri, должна быть высокодоступной и иметь минимальную задержку. Получив код, она должна немедленно (в течение секунд, а не минут) выполнить запрос на /oauth/token для его обмена на токены. Не ставить в очередь на асинхронную обработку — он может успеть “протухнуть”. | 2 минуты | Только через авторизацию по ссылке | Пользователь проходит аутентификацию в СберБизнес ID, и браузер перенаправляется на ваш redirect_uri с кодом в параметрах. Спецификация: Получение кода авторизации |
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. Спецификация: Получение токенов доступа Личный кабинет: инструкция |
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 дней с момента последнего использования. Спецификация: Обновление access_token, refresh_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. Через запрос с почты уполномоченного лица на поддержку | Нельзя передавать третьим лицам. Необходимо регулярно обновлять. Спецификация: Обновление Client Secret Личный кабинет: инструкция Почта поддержки: supportdbo2@sberbank.ru |