Действия RefLink через MCP
Этот пример показывает реализацию действий приложения в RefLink.
Как выполняется действие
- Разработчик помечает разрешённые операции декораторами SDK. Примеры чтения, создания, изменения и архивации кампаний находятся в
campaign.controller.ts. - NestJS Swagger формирует OpenAPI. Декоратор
AppActionдобавляет к выбранной операцииx-senler-app-action; остальные endpoint не становятся действиями автоматически. - После установки плагина Senler загружает OpenAPI по URL, указанному в настройках приложения. AI находит действие через
search, при необходимости читает полную схему черезdescribe_methodи вызывает его черезexecute. - Перед вызовом backend Senler создаёт короткую management session: отправляет подписанный одноразовый
launch_codeвPOST /api/embedded/management-session. - RefLink проверяет код и возвращает собственный
management_token. Только этот токен отправляется вAuthorization: Bearerпри вызове действия. MCP-ключ или OAuth-токен пользователя в плагин не передаётся. - Тот же
EmbeddedSessionGuardпроверяет management token и передаёт контроллеру подтверждённый проект. Поэтому действие приложения не принимаетproject_idот AI. - Если действию дополнительно нужны данные Senler, backend отдельно использует сохранённый project-scoped OAuth access token.
Отдельный пример конфигуратора находится в app-action-configurator.controller.ts. Декоратор AutomationStepConfigurator сообщает MCP, что результат метода содержит нормализованные configuration и branches шага.
Проверка доступа
Проект определяется проверенной management session, а не аргументом AI. Различия токенов и правила доверенного контекста описаны в архитектуре примера.