Шаг автоматизации RefLink
Этот пример относится к RefLink. Для создания собственного шага начните с инструкции разработчика.
Как настраивается и выполняется шаг
- Когда пользователь добавляет шаг RefLink в редакторе, Senler открывает тот же frontend с типом запуска
automation_step_configurator. useEmbeddedRefLinkApp.tsчитает тип запуска, текущую конфигурацию и ветки из Senler Bridge.- Вместо основной страницы
App.tsxпоказываетStepConfigurator. - При сохранении
configurator-protocol.tsвозвращает через Bridge нормализованную конфигурацию и привязки результатов к переменным автоматизации. - Во время опубликованного запуска Senler не открывает форму повторно. Он вызывает подписанный webhook шага в
webhook.controller.ts. - Backend проверяет подпись, выполняет сценарий и возвращает поля, определённые в общем контракте
REFLINK_STEP_RESULTS.
Итог: конфигуратор отвечает только за подготовку и сохранение настройки, а webhook — за выполнение шага во время автоматизации.
Повтор webhook считается нормальным
Webhook может прийти повторно или обработчик может завершиться после частичного выполнения. WebhookReceiptRepository использует event ID для дедупликации, хранит статус обработки и позволяет забрать зависшую запись после ограниченного lease.
Предметные операции также сделаны атомарными или идемпотентными: первый пригласивший записывается только один раз, а ID приглашённого добавляется в массив без дублей.