Изменение данных в виджете "Блок пользователя"
Данная инструкция описывает порядок изменения опциональных данных пользователя — аватара (icon) и имени (title) — в виджете "Блок пользователя", получаемом от Сбер ID. Изменение данных силами Партнера разрешается только в согласованных с Сбер ID сценариях.
Общие принципы и требования
Виджет "Блок пользователя" формируется на основе JSON-шаблона, который backend Партнера получает от Сбер ID. SDK отображает виджет, используя финальную версию этого шаблона.
- Источник данных: Партнер в рамках соглашения со Сбер ID определяет, какие данные для виджета берутся из шаблона Сбер ID, а какие — из внутренних систем Партнера.
- Синхронизация: Данные, отображаемые Партнером на основе собстве нных источников (не из шаблона Сбер ID), не синхронизируются с Личным кабинетом Сбер ID и другими ДЗО.
- Финальный шаблон: После любой обработки backend Партнера должен вернуть итоговый JSON-шаблон в SDK для корректного отображения виджета.
Базовый шаблон от Сбер ID
Пример получаемого от Сбер ID JSON-объекта:
{
"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/"
}
}
Важно: Поля icon и title в шаблоне от Сбер ID могут отсутствовать — это допустимый сценарий.
Сценарии и порядок изменения данных
Партнер может изменить аватар (icon) и/или имя пользователя (title) независимо друг от друга в следующих случаях.
Изменение данных Партнером разрешено только при согласовании с командой Сбер ID и в рамках описанных сценариев.
Сценарий: Замена или добавление данных
Этот сценарий объединяет замену существующих в шаблоне данных и добавление отсутствующих полей. Действия выполняются независимо для аватара и имени.
Для аватара (icon)
Когда можно изменять:
- Когда в Сбер ID есть представленный сервисом или пользователем аватар, но Партнер хочет использовать собственный.
- Когда пользователь загрузил новый аватар в приложении Партнера.
- Когда пользователь удалил аватар в приложении Партнера (в этом случае необходимо отображать стандартный плейсхолдер ЕЛК).
Порядок действий:
- Проверьте наличие поля
"icon"в полученном шаблоне. - Если поле
"icon"присутствует: замените его значение на URL нового изображения. - Если поле
"icon"отсутствует: добавьте в JSON-объект поле"icon"с корректной ссылкой на изображение. - Если аватар нужно убрать (пользователь удалил фото): удалите поле
"icon"из финального JSON-объекта. SDK при отсутствииiconбудет отображать в аватаре инициалы из поляinitials. - Поле
"iconSize"можно оставить как есть ("40") или опустить — SDK использует размер по умолчанию (40×40 px).
Требования к изображению:
- Размер: 40×40 пикселей (рекомендовано гайдлайнами ЕЛК).
- Формат: Стандартные веб-форматы (PNG, JPG).
Для имени пользователя (title)
Когда можно изменять:
- Когда у пользователя в приложении Партнера есть имя/никнейм, которые отличаются от данных в ЕЛК.
- Когда пользователь задал новое имя или фамилию в приложении Партнера.
Порядок действий:
- Проверьте наличие поля
"title"в полученном шаблоне. - Если поле
"title"присутствует: замените его значение на необходимое имя/никнейм. - Если поле
"title"отсутствует: добавьте в JSON-объект поле"title"с нужным значением.
Примеры результирующих шаблонов
1. Замена и аватара, и имени
- Условие: Партнер использует собственный аватар и отображает никнейм пользователя.
- Действие: Заменяются значения полей
iconиtitle.
Особый случай — инициалы в аватаре
Если в финальном шаблоне отсутствует поле icon (оно не пришло от Сбер ID или было удалено Партнером), SDK будет отображать в аватаре инициалы из поля initials, полученного от Сбер ID.
Если Партнер меняет имя пользователя (title), важно также предусмотреть отображение в аватаре. Рекомендуется:
- Либо предоставить свою ссылку на аватар (добавить/заменить поле
icon). - Либо обновить поле
initialsв соответствии с новым именем, чтобы инициалы в плейсхолдере аватара оставались релевантными.
Финальный шаблон для SDK
"title": "Кибер-Иван",
"icon": "https://partner-app.ru/userdata/avatar_12345.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/"
}
}
```</CodeBlock>
2. Добавление аватара при его отсутствии
- Условие: В шаблоне от Сбер ID не было поля
icon. Партнер добавляет свой аватар. Имя остается из шаблона Сбер ID. - Действие: Добавлено поле
icon.
Финальный шаблон для SDK
{
"title": "Иван К",
"icon": "https://partner-app.ru/placeholder/avatar_default.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/"
}
}
3. Изменение имени без аватара (используются инициалы)
- Условие: Партнер меняет имя, а аватара у пользователя нет. Важно обновить инициалы.
- Действие: Заменены поля
titleиinitials. Полеiconотсутствует.
Финальный шаблон для SDK
{
"title": "Александр Петров",
"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/"
}
}