События и контекст
Структура события
Типовое событие в системе — JSON-объект следующего вида:
json
{ "id": "123456789", "event": "login_mb", "context": { "device": "phone123", "country": "RUS" } }
id — идентификатор участника (клиента)
event — название события
context — дополнительные параметры события
Работа с контекстом
Все параметры из контекста события становятся доступны в сценарии и могут использоваться:
- В условиях переходов
- При настройке действий
- Для расчета производных значений
- В шаблонах сообщений
Объединение контекста
При последовательном поступлении нескольких событий их параметры объединяются:
Пример:
- Приходит событие
login_mb:
json
{ "device": "phone123", "country": "RUS" }
- Затем приходит событие
transfer_money:
json
{ "amount": 100000, "country": "NL" }
- Итоговый контекст:
json
{ "device": "phone123", ``*// сохранился*`` "amount": 100000, ``*// добавился*`` "country": "NL" ``*// перезаписался новым значением*`` }
⚠️ Внимание: Параметры с одинаковыми именами перезаписываются значениями из последнего события.
Обращение к параметрам
Для доступа к параметрам контекста используется синтаксис шаблонов:
Двойные фигурные скобки {{ parameter_name }} — для обычных параметров
Примеры:
Привет, {{ name }}! Ваш баланс: {{ balance }} руб. Сумма перевода: {{ amount }}
💡 Совет: Используйте тройные скобки {{{ }}}, если параметр может содержать HTML
Функции шаблонизации
Для работы с данными доступны функции шаблонизации. Подробное описание смотрите в Справочнике по функциям шаблонизации.