Персонализация данных сущностей
В этом разделе описано, как работает функционал Персонализации данных.
Персонализация данных позволяет заменять статичные параметры сущностей на динамические, что делает их более гибкими и адаптивными под конкретного пользователя.
Пример персонализации
Рассмотрим пример:
Текст: «Размер кэшбека в декабре: {{cashback_percent}}».
- Для дефолтных сущностей значение
{{cashback_percent}}будет заменено на значение по умолчанию, например,0 - Для персональных сущностей значение
{{cashback_percent}}будет заменено на актуальное значение, например,5, если пользователь увеличил свой кэшбек

Объект personalization
Объект personalization позволяет задать параметры, которые будут использоваться для замены данных в сущности. Он состоит из двух ключевых частей:
1. Dictionary (Словарь)
Ключи, перечисленные в dictionary, заменяют параметр целиком.
Пример: Если указан ключ price, то весь параметр будет заменен на значение из dictionary.
2. Context (Контекст)
Ключи, перечисленные в context, заменяют только часть параметра, обозначенную двойными фигурными скобками {{x}}.
Пример: В тексте «Ваша скидка составляет {{amount}}» значение {{amount}} будет заменено на соответствующее значение из context.
Пошаговый пример использования
Шаг 1: Указание ключей в сущности
При создании сущности можно указать ключи для персонализации, используя двойные фигурные скобки {{}}.
Пример полей сущности:
- Title:
{{reward_title}} - Description:
Полученный промокод можно применить до {{end_date}}

Шаг 2: Заполнение объекта personalization
Объект personalizationзаполняется значениями, которые будут использоваться для замены. Например:
{
"dictionary": {
"reward_title": "Скидка 10% в Золотом Яблоке"
},
"context": {
"end_date": "2025-12-31"
}
}
Результат:
- Title: Весь параметр заменится на
"Скидка 10% в Золотом Яблоке"(из dictionary) - Description: Текст станет
"Полученный промокод можно применить до 2025-12-31"(замена{{end_date}}из context)
Пример для задания с кэшбеком
Создание задания:
{
"title": "Соверши покупку и получи повышенный кэшбек",
"description": "Размер кэшбека в декабре: {{cashback_percent}}"
}Объект personalization (дефолтный):
{
"context": {
"cashback_percent": "0"
},
"dictionary": {}
}Объект personalization (персональный):
{
"context": {
"cashback_percent": "5"
},
"dictionary": {}
}Результат:
- Для обычного пользователя: "Размер кэшбека в декабре: 0"
- Для VIP-пользователя: "Размер кэшбека в декабре: 5"
Преимущества персонализации
- Гибкость – Позволяет адаптировать сущности под конкретного пользователя или ситуацию
- Динамичность – Данные могут изменяться в зависимости от действий пользователя или внешних условий
- Удобство – Упрощает управление контентом, так как не требует изменения всей сущности — достаточно обновить объект
personalization - Масштабируемость – Один шаблон сущности может использоваться для всех пользователей с разными параметрами
Применение в разных сущностях
Персонализация доступна для всех основных сущностей системы:
- Tasks – персонализация условий и наград
- Rewards – персонализация описаний и размера скидки
- Dialogs – персонализация текстов сообщений
- Achievements – персонализация требований и бонусов
- и т.д.