Skip to content

🎯 Гайд по системным действиям

Полное описание всех доступных действий с их параметрами и результатами.

📋 Содержание

action_hub

Описание: Центральный хаб действий для маршрутизации к сервисам

get_available_actions

Описание: Получение всех доступных действий с их метаданными

Входные параметры:

⚙️ Дополнительные параметры
  • _namespace (string) (опционально) — Кастомный ключ для создания вложенности в _cache. Если указан, данные сохраняются в _cache[_namespace] вместо плоского кэша. Используется для контроля перезаписи при повторных вызовах одного действия. Доступ через {_cache._namespace.field}. По умолчанию данные мержатся напрямую в _cache (плоское кэширование).

Выходные параметры:

  • result (string) — Результат: success, error
  • error (object) (опционально) — Структура ошибки
    • code (string) — Код ошибки
    • message (string) — Сообщение об ошибке
    • details (array) (опционально) — Детали ошибки (например, ошибки валидации полей)
  • response_data (object) — Словарь всех доступных действий с метаданными

Пример использования:

yaml
# В сценарии
- action: "get_available_actions"
  params:
    # Параметры не требуются

bot_hub

Описание: Центральный сервис для управления всеми ботами

get_bot_info

Описание: Получение информации о боте из базы данных (с кэшированием)

Входные параметры:

  • bot_id (integer, обязательное, мин: 1) — ID бота
  • force_refresh (boolean, опционально) — Принудительное обновление из БД (игнорирует кэш)
⚙️ Дополнительные параметры
  • _namespace (string) (опционально) — Кастомный ключ для создания вложенности в _cache. Если указан, данные сохраняются в _cache[_namespace] вместо плоского кэша. Используется для контроля перезаписи при повторных вызовах одного действия. Доступ через {_cache._namespace.field}. По умолчанию данные мержатся напрямую в _cache (плоское кэширование).

Выходные параметры:

  • result (string) — Результат: success, error
  • error (object) (опционально) — Структура ошибки
    • code (string) — Код ошибки
    • message (string) — Сообщение об ошибке
    • details (array) (опционально) — Детали ошибки (например, ошибки валидации полей)
  • response_data (object) — Данные ответа
    • bot_id (integer) — ID бота
    • telegram_bot_id (integer) — ID бота в Telegram
    • tenant_id (integer) — ID тенанта
    • bot_token (string) — Токен бота
    • username (string) — Username бота
    • first_name (string) — Имя бота
    • is_active (boolean) — Активен ли бот
    • bot_command (array) — Команды бота

Пример использования:

yaml
# В сценарии
- action: "get_bot_info"
  params:
    bot_id: 123
    # force_refresh: boolean (опционально)

get_bot_status

Описание: Получение статуса пулинга и активности бота

Входные параметры:

  • bot_id (integer, обязательное, мин: 1) — ID бота
⚙️ Дополнительные параметры
  • _namespace (string) (опционально) — Кастомный ключ для создания вложенности в _cache. Если указан, данные сохраняются в _cache[_namespace] вместо плоского кэша. Используется для контроля перезаписи при повторных вызовах одного действия. Доступ через {_cache._namespace.field}. По умолчанию данные мержатся напрямую в _cache (плоское кэширование).

Выходные параметры:

  • result (string) — Результат: success, error
  • error (object) (опционально) — Структура ошибки
    • code (string) — Код ошибки
    • message (string) — Сообщение об ошибке
    • details (array) (опционально) — Детали ошибки (например, ошибки валидации полей)
  • response_data (object) — Данные ответа
    • is_polling (boolean) — Активен ли пулинг: true - активен, false - не активен
    • is_active (boolean) — Активен ли бот из настроек БД: true - активен, false - не активен

Пример использования:

yaml
# В сценарии
- action: "get_bot_status"
  params:
    bot_id: 123

get_telegram_bot_info

Описание: Получение информации о боте через Telegram API

Входные параметры:

  • bot_token (string, обязательное, мин. длина: 1) — Токен бота
⚙️ Дополнительные параметры
  • _namespace (string) (опционально) — Кастомный ключ для создания вложенности в _cache. Если указан, данные сохраняются в _cache[_namespace] вместо плоского кэша. Используется для контроля перезаписи при повторных вызовах одного действия. Доступ через {_cache._namespace.field}. По умолчанию данные мержатся напрямую в _cache (плоское кэширование).

Выходные параметры:

  • result (string) — Результат: success, error
  • error (object) (опционально) — Структура ошибки
    • code (string) — Код ошибки
    • message (string) — Сообщение об ошибке
    • details (array) (опционально) — Детали ошибки (например, ошибки валидации полей)
  • response_data (object) — Данные ответа
    • telegram_bot_id (integer) — ID бота в Telegram
    • username (string) — Username бота
    • first_name (string) — Имя бота
    • is_bot (boolean) — Флаг, что это бот
    • can_join_groups (boolean) — Может ли бот присоединяться к группам
    • can_read_all_group_messages (boolean) — Может ли бот читать все сообщения в группах
    • supports_inline_queries (boolean) — Поддерживает ли бот inline запросы

Пример использования:

yaml
# В сценарии
- action: "get_telegram_bot_info"
  params:
    bot_token: "example"

set_bot_token

Описание: Установка токена бота. Бот должен быть создан через синхронизацию конфигурации (sync_bot_config). Токен будет проверен автоматически при запуске пулинга

Входные параметры:

  • tenant_id (integer, обязательное, мин: 1) — ID тенанта
  • bot_token (string|None, опционально) — Токен бота (опционально, если не передан - поле не обновляется, если передан null - удаляется)

Выходные параметры:

  • result (string) — Результат: success, error
  • error (object) (опционально) — Структура ошибки
    • code (string) — Код ошибки
    • message (string) — Сообщение об ошибке
    • details (array) (опционально) — Детали ошибки (например, ошибки валидации полей)

Пример использования:

yaml
# В сценарии
- action: "set_bot_token"
  params:
    tenant_id: 123
    # bot_token: string|None (опционально)

start_bot

Описание: Запуск бота

Входные параметры:

  • bot_id (integer, обязательное, мин: 1) — ID бота

Выходные параметры:

  • result (string) — Результат: success, error
  • error (object) (опционально) — Структура ошибки
    • code (string) — Код ошибки
    • message (string) — Сообщение об ошибке
    • details (array) (опционально) — Детали ошибки (например, ошибки валидации полей)

Пример использования:

yaml
# В сценарии
- action: "start_bot"
  params:
    bot_id: 123

stop_all_bots

Описание: Остановка всех ботов

Входные параметры:

Выходные параметры:

  • result (string) — Результат: success, error
  • error (object) (опционально) — Структура ошибки
    • code (string) — Код ошибки
    • message (string) — Сообщение об ошибке
    • details (array) (опционально) — Детали ошибки (например, ошибки валидации полей)

Пример использования:

yaml
# В сценарии
- action: "stop_all_bots"
  params:

stop_bot

Описание: Остановка бота

Входные параметры:

  • bot_id (integer, обязательное, мин: 1) — ID бота

Выходные параметры:

  • result (string) — Результат: success, error
  • error (object) (опционально) — Структура ошибки
    • code (string) — Код ошибки
    • message (string) — Сообщение об ошибке
    • details (array) (опционально) — Детали ошибки (например, ошибки валидации полей)

Пример использования:

yaml
# В сценарии
- action: "stop_bot"
  params:
    bot_id: 123

sync_bot

Описание: Синхронизация бота: конфигурация + команды (обертка над sync_bot_config + sync_bot_commands)

Входные параметры:

  • tenant_id (integer, обязательное, мин: 1) — ID тенанта
  • bot_token (string, обязательное, мин. длина: 1) — Токен бота
  • is_active (boolean, опционально) — Активен ли бот (по умолчанию true)
  • bot_commands (array, опционально) — Список команд для применения (опционально)
⚙️ Дополнительные параметры
  • _namespace (string) (опционально) — Кастомный ключ для создания вложенности в _cache. Если указан, данные сохраняются в _cache[_namespace] вместо плоского кэша. Используется для контроля перезаписи при повторных вызовах одного действия. Доступ через {_cache._namespace.field}. По умолчанию данные мержатся напрямую в _cache (плоское кэширование).

Выходные параметры:

  • result (string) — Результат: success, error
  • error (object) (опционально) — Структура ошибки
    • code (string) — Код ошибки
    • message (string) — Сообщение об ошибке
    • details (array) (опционально) — Детали ошибки (например, ошибки валидации полей)
  • response_data (object) — Данные ответа
    • bot_id (integer) — ID бота
    • action (string) — Действие: created или updated

Пример использования:

yaml
# В сценарии
- action: "sync_bot"
  params:
    tenant_id: 123
    bot_token: "example"
    # is_active: boolean (опционально)
    # bot_commands: array (опционально)

sync_bot_commands

Описание: Синхронизация команд бота: сохранение в БД → применение в Telegram

Входные параметры:

  • bot_id (integer, обязательное, мин: 1) — ID бота
  • command_list (array) — Список команд для применения

Выходные параметры:

  • result (string) — Результат: success, error
  • error (object) (опционально) — Структура ошибки
    • code (string) — Код ошибки
    • message (string) — Сообщение об ошибке
    • details (array) (опционально) — Детали ошибки (например, ошибки валидации полей)

Пример использования:

yaml
# В сценарии
- action: "sync_bot_commands"
  params:
    bot_id: 123
    command_list: []

sync_bot_config

Описание: Синхронизация конфигурации бота: создание/обновление бота + запуск пулинга. Если bot_token не передан, используется токен из БД (приоритет конфига)

Входные параметры:

  • tenant_id (integer, обязательное, мин: 1) — ID тенанта
  • bot_token (string, опционально, мин. длина: 1) — Токен бота (опционально, если не передан - используется из БД)
  • is_active (boolean) — Активен ли бот
⚙️ Дополнительные параметры
  • _namespace (string) (опционально) — Кастомный ключ для создания вложенности в _cache. Если указан, данные сохраняются в _cache[_namespace] вместо плоского кэша. Используется для контроля перезаписи при повторных вызовах одного действия. Доступ через {_cache._namespace.field}. По умолчанию данные мержатся напрямую в _cache (плоское кэширование).

Выходные параметры:

  • result (string) — Результат: success, error
  • error (object) (опционально) — Структура ошибки
    • code (string) — Код ошибки
    • message (string) — Сообщение об ошибке
    • details (array) (опционально) — Детали ошибки (например, ошибки валидации полей)
  • response_data (object) — Данные ответа
    • bot_id (integer) — ID бота
    • action (string) — Действие: created или updated

Пример использования:

yaml
# В сценарии
- action: "sync_bot_config"
  params:
    tenant_id: 123
    # bot_token: string (опционально)
    is_active: true

event_processor

Описание: Сервис для обработки событий от пулинга

process_event

Описание: Обработка события от пулинга

Входные параметры:

  • data (object) — Сырое событие от пулинга

Выходные параметры:

  • result (string) — Результат: success, error
  • error (object) (опционально) — Структура ошибки
    • code (string) — Код ошибки
    • message (string) — Сообщение об ошибке
    • details (array) (опционально) — Детали ошибки

Пример использования:

yaml
# В сценарии
- action: "process_event"
  params:
    data: {}

scenario_processor

Описание: Сервис для обработки событий по сценариям

process_scenario_event

Описание: Обработка события по сценариям

Входные параметры:

  • event_type (string, обязательное, мин. длина: 1) — Тип события (message, callback_query, etc.)
  • bot_id (integer, обязательное, мин: 1) — ID бота от которого пришло событие

Выходные параметры:

  • result (string) — Результат обработки (success/error)
  • error (object) (опционально) — Структура ошибки
    • code (string) — Код ошибки
    • message (string) — Сообщение об ошибке
    • details (array) (опционально) — Детали ошибки

Пример использования:

yaml
# В сценарии
- action: "process_scenario_event"
  params:
    event_type: "example"
    bot_id: 123

sync_scenarios

Описание: Синхронизация сценариев тенанта: удаление старых → сохранение новых → перезагрузка кэша

Входные параметры:

  • tenant_id (integer, обязательное, мин: 1) — ID tenant'а для синхронизации сценариев
  • scenarios (array) — Массив сценариев для синхронизации

Выходные параметры:

  • result (string) — Результат синхронизации (success/partial_success/error)
  • error (object) (опционально) — Структура ошибки
    • code (string) — Код ошибки
    • message (string) — Сообщение об ошибке
    • details (array) (опционально) — Детали ошибки

Пример использования:

yaml
# В сценарии
- action: "sync_scenarios"
  params:
    tenant_id: 123
    scenarios: []

tenant_hub

Описание: Сервис для управления конфигурациями тенантов - координатор загрузки данных

get_tenant_status

Описание: Получение статуса тенанта

Входные параметры:

  • tenant_id (integer, обязательное, мин: 1) — ID тенанта
⚙️ Дополнительные параметры
  • _namespace (string) (опционально) — Кастомный ключ для создания вложенности в _cache. Если указан, данные сохраняются в _cache[_namespace] вместо плоского кэша. Используется для контроля перезаписи при повторных вызовах одного действия. Доступ через {_cache._namespace.field}. По умолчанию данные мержатся напрямую в _cache (плоское кэширование).

Выходные параметры:

  • result (string) — Результат: success, error
  • error (object) (опционально) — Структура ошибки
    • code (string) — Код ошибки
    • message (string) — Сообщение об ошибке
    • details (array) (опционально) — Детали ошибки
  • response_data (object) — Данные ответа
    • bot_is_active (boolean) — Активен ли бот тенанта из настроек БД (флаг is_active в БД)
    • bot_is_polling (boolean) — Активен ли пулинг бота тенанта (запущен ли процесс пулинга)
    • bot_is_webhook_active (boolean) — Активен ли вебхук бота тенанта (установлен ли вебхук через Telegram API)
    • bot_is_working (boolean) — Работает ли бот тенанта (пулинг ИЛИ вебхуки активны). Показывает реальный статус работы бота
    • last_updated_at (string) (опционально) — Дата последнего успешного обновления тенанта
    • last_failed_at (string) (опционально) — Дата последней ошибки при обновлении тенанта
    • last_error (string) (опционально) — Текст последней ошибки при обновлении тенанта

Пример использования:

yaml
# В сценарии
- action: "get_tenant_status"
  params:
    tenant_id: 123

get_tenants_list

Описание: Получение списка всех ID тенантов с разделением на публичные и системные

Входные параметры:

⚙️ Дополнительные параметры
  • _namespace (string) (опционально) — Кастомный ключ для создания вложенности в _cache. Если указан, данные сохраняются в _cache[_namespace] вместо плоского кэша. Используется для контроля перезаписи при повторных вызовах одного действия. Доступ через {_cache._namespace.field}. По умолчанию данные мержатся напрямую в _cache (плоское кэширование).

Выходные параметры:

  • result (string) — Результат: success, error
  • error (object) (опционально) — Структура ошибки
    • code (string) — Код ошибки
    • message (string) — Сообщение об ошибке
    • details (array) (опционально) — Детали ошибки
  • response_data (object) —
    • tenant_ids (array) — Массив ID всех тенантов
    • public_tenant_ids (array) — Массив ID публичных тенантов
    • system_tenant_ids (array) — Массив ID системных тенантов
    • tenant_count (integer) — Общее количество тенантов

Пример использования:

yaml
# В сценарии
- action: "get_tenants_list"
  params:

sync_all_tenants

Описание: Синхронизация всех тенантов (сначала pull из GitHub, потом синхронизация всех)

Входные параметры:

Выходные параметры:

  • result (string) — Результат: success, partial_success, error
  • error (object) (опционально) — Структура ошибки
    • code (string) — Код ошибки
    • message (string) — Сообщение об ошибке
    • details (array) (опционально) — Детали ошибки

Пример использования:

yaml
# В сценарии
- action: "sync_all_tenants"
  params:

sync_tenant

Описание: Синхронизация конфигурации тенанта с базой данных (сначала обновляет из GitHub, затем синхронизирует)

Входные параметры:

  • tenant_id (integer, обязательное, мин: 1) — ID тенанта для синхронизации

Выходные параметры:

  • result (string) — Результат: success, error, timeout, not_found
  • error (object) (опционально) — Структура ошибки
    • code (string) — Код ошибки
    • message (string) — Сообщение об ошибке
    • details (array) (опционально) — Детали ошибки

Пример использования:

yaml
# В сценарии
- action: "sync_tenant"
  params:
    tenant_id: 123

sync_tenant_bot

Описание: Синхронизация бота тенанта: pull из GitHub + парсинг + синхронизация

Входные параметры:

  • tenant_id (integer, обязательное, мин: 1) — ID тенанта

Выходные параметры:

  • result (string) — Результат: success, error
  • error (object) (опционально) — Структура ошибки
    • code (string) — Код ошибки
    • message (string) — Сообщение об ошибке
    • details (array) (опционально) — Детали ошибки

Пример использования:

yaml
# В сценарии
- action: "sync_tenant_bot"
  params:
    tenant_id: 123

sync_tenant_config

Описание: Синхронизация конфига тенанта: pull из GitHub + парсинг + синхронизация

Входные параметры:

  • tenant_id (integer, обязательное, мин: 1) — ID тенанта

Выходные параметры:

  • result (string) — Результат: success, error
  • error (object) (опционально) — Структура ошибки
    • code (string) — Код ошибки
    • message (string) — Сообщение об ошибке
    • details (array) (опционально) — Детали ошибки

Пример использования:

yaml
# В сценарии
- action: "sync_tenant_config"
  params:
    tenant_id: 123

sync_tenant_data

Описание: Синхронизация данных тенанта: создание/обновление тенанта

Входные параметры:

  • tenant_id (integer, обязательное, мин: 1) — ID тенанта

Выходные параметры:

  • result (string) — Результат: success, error
  • error (object) (опционально) — Структура ошибки
    • code (string) — Код ошибки
    • message (string) — Сообщение об ошибке
    • details (array) (опционально) — Детали ошибки

Пример использования:

yaml
# В сценарии
- action: "sync_tenant_data"
  params:
    tenant_id: 123

sync_tenant_scenarios

Описание: Синхронизация сценариев тенанта: pull из GitHub + парсинг + синхронизация

Входные параметры:

  • tenant_id (integer, обязательное, мин: 1) — ID тенанта

Выходные параметры:

  • result (string) — Результат: success, error
  • error (object) (опционально) — Структура ошибки
    • code (string) — Код ошибки
    • message (string) — Сообщение об ошибке
    • details (array) (опционально) — Детали ошибки

Пример использования:

yaml
# В сценарии
- action: "sync_tenant_scenarios"
  params:
    tenant_id: 123

sync_tenant_storage

Описание: Синхронизация storage тенанта: pull из GitHub + парсинг + синхронизация

Входные параметры:

  • tenant_id (integer, обязательное, мин: 1) — ID тенанта

Выходные параметры:

  • result (string) — Результат: success, error
  • error (object) (опционально) — Структура ошибки
    • code (string) — Код ошибки
    • message (string) — Сообщение об ошибке
    • details (array) (опционально) — Детали ошибки

Пример использования:

yaml
# В сценарии
- action: "sync_tenant_storage"
  params:
    tenant_id: 123

sync_tenants_from_files

Описание: Синхронизация тенантов из списка измененных файлов (универсальный метод для вебхуков и пуллинга)

Входные параметры:

  • files (array) — Список файлов в формате ["path1", "path2"] или [{"filename": "path"}, ...]
⚙️ Дополнительные параметры
  • _namespace (string) (опционально) — Кастомный ключ для создания вложенности в _cache. Если указан, данные сохраняются в _cache[_namespace] вместо плоского кэша. Используется для контроля перезаписи при повторных вызовах одного действия. Доступ через {_cache._namespace.field}. По умолчанию данные мержатся напрямую в _cache (плоское кэширование).

Выходные параметры:

  • result (string) — Результат: success, partial_success, error
  • response_data (object) (опционально) — Данные ответа (synced_tenants, total_tenants, errors)
  • error (object) (опционально) — Структура ошибки
    • code (string) — Код ошибки
    • message (string) — Сообщение об ошибке

Пример использования:

yaml
# В сценарии
- action: "sync_tenants_from_files"
  params:
    files: []

update_tenant_config

Описание: Обновление конфига тенанта (обновляет БД, инвалидирует кэш). Обновляет только переданные поля, остальные не трогает

Входные параметры:

  • tenant_id (integer, обязательное, мин: 1) — ID тенанта
  • ai_token (string|None, опционально) — AI API токен для тенанта (опционально, если не передан - поле не обновляется, если передан null - удаляется)

Выходные параметры:

  • result (string) — Результат: success, error
  • error (object) (опционально) — Структура ошибки
    • code (string) — Код ошибки
    • message (string) — Сообщение об ошибке
    • details (array) (опционально) — Детали ошибки

Пример использования:

yaml
# В сценарии
- action: "update_tenant_config"
  params:
    tenant_id: 123
    # ai_token: string|None (опционально)

Coreness — Create. Automate. Scale.