Add Template / Edit Template
Add template открывает wizard создания template внутри проекта. Этот wizard помогает собрать пользовательский сценарий подписки поверх уже существующих triggers: описать template, задать inputs, создать topics и связать каждый topic с triggers через rules.
Редактирование существующего template использует тот же процесс, но форма открывается с уже сохраненными значениями.
Перед созданием template обычно стоит подготовить triggers: создать их вручную через Add trigger / Edit trigger или сгенерировать через Import triggers. Template не создает trigger сам, а использует уже существующие triggers проекта.
Step 1. Metadata
На этом шаге задаются основные данные template. Они показываются пользователю на вкладке Templates проекта и помогают понять, для какого сценария предназначен template.
Template title
Видимое название template. Его лучше писать коротко и по смыслу: например Token transfers, Governance events, Validator activity.
Template name
Внутренний slug template внутри проекта. Он формируется из title, но его можно отредактировать вручную.
Name должен быть стабильным: он используется в URL и в связях topics/rules. После публикации template лучше не менять name без необходимости.
Description
Описание template. Здесь стоит объяснить, какие alerts пользователь сможет получить через этот template и когда его стоит выбирать.
Step 2. Inputs
На этом шаге описываются inputs, которые пользователь будет заполнять при создании subscription через template.
Inputs нужны не всегда. Если topic не требует пользовательских параметров и все rules используют фиксированные условия, template может быть без inputs.
Если input используется в rule через Use inputs, пользователь должен будет заполнить его в subscription wizard.
Input
Каждый input описывает одно значение, доступное topics/rules этого template.
Name
Техническое имя input. Оно используется в rules как inputs.<name>, поэтому должно быть коротким, стабильным и понятным.
Type
Тип значения, которое пользователь будет вводить.
Доступные типы:
string- обычная строка;number- число;boolean- true/false;null- пустое значение;object- объект с вложенными полями;array- массив однотипных значений;tuple- массив с фиксированным набором элементов;address- blockchain address;balance- token/native balance;currency- денежное значение.
Для большинства template inputs стоит выбирать простые типы. Чем проще input, тем понятнее пользователю создавать subscription.
Остальные свойства input настраиваются через тот же schema editor, который используется в Add trigger / Edit trigger. Там описаны metadata полей, address/balance настройки и вложенные структуры для object, array и tuple.
Step 3. Topics
На этом шаге показывается список topics внутри template и действия для управления ими.
Topic - это вариант подписки внутри template. Пользователь может выбрать один или несколько topics при создании subscription.
Add topic
Открывает wizard создания topic.
Если template еще не сохранен, интерфейс сначала сохраняет изменения template, а затем открывает создание topic.
Topics table
Таблица показывает topics текущего template.
Колонки:
Topic- title и name topic;Description- описание topic;Rules- первый связанный trigger/rule и количество дополнительных rules;Actions- edit/delete actions.
Edit topic
Открывает topic wizard для выбранного topic.
Delete topic
Удаляет topic и связанные с ним rules из template. Перед удалением показывается подтверждение.
Topic wizard
Topic wizard открывается из Step 3 template wizard. Он используется и для создания, и для редактирования topic.
Topic Step 1. Metadata
На этом шаге задается, как topic будет выглядеть для пользователя в subscription wizard.
Title
Видимое название topic.
Например: Transfers, Mints, Burns, Large deposits.
Name
Внутреннее имя topic. Оно формируется из title, но его можно отредактировать.
Topic name нормализуется интерфейсом: пробелы и разделители приводятся к точкам, например Balances transfer станет balances.transfer. Это не общий формат всех slugs в сервисе, а текущий формат именно для topic keys, потому что topics часто выглядят как namespace события. Главное требование - name должен быть коротким, понятным и стабильным.
Description
Опциональное описание topic. Оно объясняет, что изменится, если пользователь включит этот topic.
Selected by default
Определяет, будет ли topic выбран автоматически при открытии subscription wizard.
Это удобно для основного или самого популярного topic в template. Если включить слишком много topics по умолчанию, subscription может стать шумной, поэтому лучше выбирать только действительно базовые topics.
Topic Step 2. Rules
На этом шаге topic связывается с одним или несколькими triggers.
Rule говорит: какой trigger использовать и какие условия должны быть выполнены, чтобы событие попало в этот topic.
Rule
Один rule связывает topic с одним trigger.
Если topic должен срабатывать по нескольким triggers, можно добавить несколько rules через Add rule.
Trigger category
Фильтр списка triggers по категории. Он помогает быстрее найти нужный trigger в большом проекте.
Trigger
Конкретный trigger, который будет использовать rule.
После выбора trigger wizard подгружает доступные поля для filters из trigger schema.
Filters
Опциональные условия rule.
Если filters не заданы, rule использует все события выбранного trigger. Если filters заданы, событие попадет в topic только когда выполнены условия.
Add a filter
Добавляет условие фильтрации.
В filter выбирается поле из trigger output или filters schema, оператор и значение.
Select filter
Поле trigger, по которому нужно фильтровать событие.
Для object-полей можно проваливаться внутрь структуры и выбирать вложенное поле.
Operator
Оператор сравнения.
Доступные варианты:
- equals;
- not equal;
- greater than;
- greater or equal;
- less than;
- less or equal.
Для числовых условий UI показывает компактные переключатели операторов.
Value
Значение, с которым сравнивается выбранное поле.
Value можно задать двумя способами:
- literal value - фиксированное значение прямо в rule;
- template input - значение из inputs, которое пользователь заполнит при создании subscription.
Use inputs
Переключает filter с фиксированного значения на значение из template inputs.
Например, template может иметь input wallet. Тогда rule может фильтровать поле from или to по {{ inputs.wallet }}. Пользователь вводит адрес один раз в subscription wizard, а topic rule использует его как условие.
AND / OR logic
Несколько filters внутри одной группы работают как AND: событие должно пройти все условия группы.
Если разделить условия через OR, wizard создает несколько групп: событие должно пройти хотя бы одну из групп.
Remove all filters
Удаляет все filters rule. После этого rule снова будет принимать все события выбранного trigger.
Add rule
Добавляет еще один rule к topic.
Это нужно, если один topic должен объединять несколько triggers. Например, topic Token activity может включать отдельные rules для transfer, mint и burn events.
Save
Save template сохраняет metadata, inputs, topics и rules.
Save topic сохраняет topic и возвращает пользователя к template flow.
После сохранения template появляется на вкладке Templates проекта. Если template содержит хотя бы один topic и не имеет issues, пользователи смогут открыть Subscribe и создать subscription по этому template.