# Конфигурация групп ## Формат конфигурации Конфигурация групп хранится в файле `config/groups.json`. **Пример конфигурации:** ```json { "monitoring": { "messenger": "telegram", "chat_id": -1001234567890, "thread_id": 0, "config": {} }, "alerts_max": { "messenger": "max", "chat_id": "123456789", "thread_id": null, "config": { "access_token": "optional_override_max_token", "api_version": "5.131" } } } ``` **Поля конфигурации:** - `messenger` - тип мессенджера (`telegram`, `max`) - `chat_id` - ID чата (может быть числом для Telegram или строкой для MAX/VK) - `thread_id` - ID треда в группе (только для Telegram, `0` для основной группы, `null` для MAX/VK) - `config` - дополнительная конфигурация для мессенджера (например, `access_token` для MAX/VK) ## Управление группами через API Управление группами доступно через REST API с защитой API ключом. ### Получение списка поддерживаемых мессенджеров ```bash GET /api/v1/groups/messengers ``` **Пример ответа:** ```json { "status": "ok", "messengers": [ { "type": "telegram", "name": "Telegram", "supports_threads": true, "enabled": true }, { "type": "max", "name": "MAX/VK", "supports_threads": false, "enabled": false } ] } ``` ### Получение списка групп ```bash # Без API ключа (только названия) GET /api/v1/groups # С API ключом (полная информация) GET /api/v1/groups Headers: X-API-Key: your_api_key_here ``` **Пример ответа (без API ключа):** ```json { "status": "ok", "groups": [ {"name": "monitoring", "chat_id": null}, {"name": "alerts", "chat_id": null} ], "count": 2 } ``` **Пример ответа (с API ключом):** ```json { "status": "ok", "groups": [ { "name": "monitoring", "messenger": "telegram", "chat_id": -1001234567890, "thread_id": 0 }, { "name": "alerts_max", "messenger": "max", "chat_id": "123456789", "thread_id": null } ], "count": 2 } ``` ### Создание группы ```bash POST /api/v1/groups Headers: Content-Type: application/json X-API-Key: your_api_key_here { "group_name": "monitoring", "messenger": "telegram", "chat_id": -1001234567890, "thread_id": 0 } ``` **Пример запроса для MAX/VK:** ```bash POST /api/v1/groups Headers: Content-Type: application/json X-API-Key: your_api_key_here { "group_name": "max_alerts", "messenger": "max", "chat_id": "123456789", "thread_id": 0, "config": { "access_token": "your_max_access_token" } } ``` **Пример ответа:** ```json { "status": "ok", "message": "Группа 'monitoring' создана с мессенджером 'telegram' и ID -1001234567890" } ``` ### Обновление группы ```bash PUT /api/v1/groups/{group_name} Headers: Content-Type: application/json X-API-Key: your_api_key_here { "messenger": "telegram", "chat_id": -1001234567891, "thread_id": 0 } ``` **Пример ответа:** ```json { "status": "ok", "message": "Группа 'monitoring' обновлена" } ``` ### Удаление группы ```bash DELETE /api/v1/groups/{group_name} Headers: X-API-Key: your_api_key_here ``` **Пример ответа:** ```json { "status": "ok", "message": "Группа 'monitoring' удалена" } ``` **API ключ для управления группами:** - Настраивается в переменной окружения `API_KEY` - Без API ключа можно только просматривать названия групп - С API ключом доступны все операции (создание, обновление, удаление) - API ключ передается в заголовке: `X-API-Key: your_api_key_here`