# 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 ключ в заголовке X-API-Key для всех операций, кроме получения списка групп (без API ключа возвращаются только названия) - Группы сохраняются в `config/groups.json` - Chat ID можно получить, добавив бота в группу и отправив сообщение - Используйте `@userinfobot` в Telegram для получения Chat ID группы - Для MAX/VK используйте peer_id (может быть строкой или числом) - Thread ID поддерживается только для Telegram (для MAX/VK игнорируется) - Дополнительная конфигурация (config) может содержать параметры для конкретного мессенджера (например, access_token для MAX/VK)