📊 Resumen del Controlador
El TelegramController es un controlador especializado del sistema RestMaster encargado de gestionar las notificaciones y alertas a través de Telegram. Este controlador proporciona una API completa para enviar diferentes tipos de mensajes y realizar pruebas del sistema de notificaciones.
🎯 Funcionalidades Principales
- Verificación de Estado: Comprobación de disponibilidad del servicio Telegram (1 endpoint)
- Mensajes de Información: Envío de mensajes informativos de prueba (1 endpoint)
- Mensajes de Error: Envío de mensajes de error de prueba (1 endpoint)
- Mensajes de Éxito: Envío de mensajes de éxito de prueba (1 endpoint)
- Mensajes Personalizados: Envío de mensajes con formato personalizado (1 endpoint)
- Pruebas de Middleware: Simulación de errores para probar notificaciones (2 endpoints)
- Modo de Producción: Funcionalidad limitada en modo DEBUG
- Documentación Swagger: Documentación completa con ejemplos curl
🔧 Servicios Utilizados
Servicios Inyectados por Constructor:
- ITelegramService - Servicio principal de Telegram
- ILogger<TelegramController> - Logging de errores y eventos
📊 Métodos del ITelegramService
- IsServiceAvailableAsync() - Verifica disponibilidad del servicio
- SendMessageAsync(string) - Envía mensaje informativo
- SendErrorMessageAsync(string) - Envía mensaje de error
- SendSuccessMessageAsync(string) - Envía mensaje de éxito
- SendCustomMessageAsync(string, string?) - Envía mensaje personalizado
⚠️ Configuración Requerida
El controlador requiere la siguiente configuración:
- Bot Token de Telegram (string, requerido): Token del bot de Telegram
- Chat ID (string, requerido): ID del chat donde enviar mensajes
- Configuración de Producción (bool): Solo funciona en modo producción
🔗 Estructura de Rutas
Ruta Base: /api/telegram
El controlador utiliza la ruta /api/telegram siguiendo las convenciones de ASP.NET Core para APIs RESTful.
Patrones de URL por Categoría:
- Verificación de Estado:
/api/telegram/status - Comprobación de disponibilidad
- Mensajes de Prueba:
/api/telegram/test-{tipo} - Envío de mensajes de prueba
- Mensajes Personalizados:
/api/telegram/custom - Mensajes con formato personalizado
- Pruebas de Middleware:
/api/telegram/test-{tipo} - Simulación de errores