ym88659208ym87991671
Руководство backend-разработчика | Документация для разработчиков

Руководство backend-разработчика

Обновлено 6 февраля 2026

Шаг 1. Обработка токенов авторизации

На стороне бэкэнда обеспечьте надежную обработку токенов авторизации, включая своевременное обновление access-токена и refresh-токена. Токены периодически истекают, и важно поддерживать актуальность сеанса пользователя.

Полезные ссылки: Подробнее о работе токенов: токены авторизации

Шаг 2. Генерация и передача идентификатора пользователя

Организуйте генерацию уникального идентификатора пользователя (userID), необходимого для идентификации запросов на сервер ЕЛК. Этот идентификатор создается вами и используется в коммуникациях с нашим API.

Правила формирования userID:

  • Уникален для каждого пользователя;
  • Генерируется и хранится на стороне партнера.

Шаг 3. Прокси-обработка запросов

Настройте обработку запросов, поступающих от SDK, как прокси-сервер. Основные шаги:

Последовательность действий:

  1. Получение запроса от SDK. Примите HTTP-запросы от фронтальной стороны

  2. Передача запроса на сервер ЕЛК. Преобразуйте полученный запрос в нужный формат и отправьте его на нашу сторону

  3. Обработка ответа от ЕЛК. Получите ответ от нашего сервера и верните его обратно в SDK

Если ответ требует дополнительной обработки (например, изменение имени или аватара пользователя), воспользуйтесь рекомендациями из специального раздела (Изменение аватара и имени пользователя)

Пример обработки запроса и ответа

Рассмотрим простой пример того, как обрабатывать запросы от SDK и передавать их далее на сервер ЕЛК, а затем возвращать обработанные ответы назад.

1. Получение запроса от SDK

SDK отправляет следующий запрос на ваш сервер который был передан в partnerProfileUrl при инициализации SDK.

#ИмяТипОбязательныйОписаниеПример
1AuthorizationЗаголовокДаТокен сессии. К значению userID/sessionId (полученному при инициализации SDK) в начале добавляется «Bearer ».Bearer DC3641EC-A0C1-F61A-B2DE-A331C0B2E20F
2[Ключ от партнера]ЗаголовокНетОдин или несколько ключей и их значения, полученные от партнера при инициализации в параметре headersELK.first: one
User-Agent: Ktor client
3AcceptЗаголовокДаОжидаемый тип ответа.application/json
4Content-TypeЗаголовокДаТип передаваемых данных.application/json
2. Запрос на сервер ЕЛК от сервера Партнера

Процесс инициализации вызова ЕЛК

  1. Предварительная проверка сервером партнера

    • Перед инициализацией вызова сервера ЕЛК, сервер партнера проверяет активность access-токена пользователя.
    • При необходимости сервер партнера осуществляет его обновление ("подогрев").
  2. Условие: Отсутствие токенов

    • ЕСЛИ сервер партнера не находит у себя ни активного access-токена, ни refresh-токена пользователя,
    • ТО сервер партнера должен вернуть в SDK ошибку 401 Unauthorized.

Формат ответа об ошибке:

   HTTP/1.1 401 Unauthorized
{
"error": "unauthorized_client"
}

3. Запрос данных для виджетов ЕЛК

  • При успешной проверке токенов сервер партнера направляет запрос на сервер ЕЛК.
  • Запрос выполняется на URL, полученный от SDK.

Пример запроса (cURL):

   curl --request GET \
'https://oauth-ift.sber.ru/api/v1/userdata?infoSource=[Тип источника данных]&widgetName=[Название шаблона]' \
--header 'x-Introspect-RqUID: 55286baf3d4548da8d2252b2a8337f20' \
--header 'Authorization: Bearer 4cf09bfb-ce00-4847-9f24-28377692baf7'

4. Параметры запроса

Имя (Name)Расположение (In)ОписаниеОбязательный
1infoSourcequeryСписок источников данных. Получен от SDK.Да
2widgetNamequeryНаименование шаблона. Получен от SDK.Да
3x-introspect-rquidheaderУникальный идентификатор сообщения (maxLength=32, pattern=([0-9][a-f][A-F]){32}). Необходим для журналирования. Для генерации можно использовать UUID/GUID, удалив разделители «-».Да
4AuthorizationheaderПолученный ранее access-токен. Должен иметь префикс Bearer. Пример: Bearer DC3641EC-A0C1-F61A-B2DE-A331C0B2E20F.Да
3. Обработка ответа сервером Партнера

Сервер партнера без дополнительной обработки на своей стороне возвращает ответ в SDK.

Пример ответов

 {
"title": "Иван К",
"icon": "https://stat.online.sberbank.ru/SBERBANKID/icons/CODE16206.png",
"iconSize": "40",
"badge": "https://id.sber.ru/profile/external_partners/elk_assets/badge-gradient.png",
"initials": "ИК",
"value": "+7 900 000 00 00",
"click": {
"browserUrl": "https://id.sber.ru/profile/?utm_source=partner_profile&utm_medium=app_samokat&utm_campaign=button_nmt"
}
}
Наименование параметраЗаголовок/КлючОписаниеОбязательность поля
titlebodyИмя пользователяДа
iconbodyСсылка на аватарку (пока не передаем)Нет
iconSizebodyРазмер аватаркиНет
badgebodyСсылка на иконку SberIDДа
initialsbodyИнициалы пользователяНет
valuebodyНМТНет
clickbodyИнформация о переходе при нажатии на виджетНет
.browserUrlbodyОткрывается ссылка в браузере устройства по urlНет
.deepLinkUrlbodyОткрывается ссылка в браузере устройства по диплинкуНет
.nativeUrlbodyОткрывается нативная шторкаНет
.ssobodyОткрыть с помощью 'app_token' бесшовные переходДа
..webLinkbodyСсылка на поверхность партнераДа
..openInbodyВозможные значения:
- browser
- webview
Нет
..clientIdbodyID партнера на которого осуществляется переходНет

Таким образом, выполнение перечисленных шагов позволит эффективно организовать back-end взаимодействие с сервисом ЕЛК и минимизировать возможные проблемы интеграции.

Заметили ошибку?

Выделите текст и нажмите Ctrl + Enter, чтобы сообщить нам о ней

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей. Вы можете запретить сохранение cookie в настройках своего браузера.