← Volver a TelegramController

🔍 Verificación de Estado

Endpoint para comprobar la disponibilidad del servicio Telegram

Descripción General

El endpoint Verificación de Estado proporciona una forma de comprobar si el servicio de Telegram está correctamente configurado y disponible para enviar mensajes. Este endpoint es fundamental para verificar la configuración antes de intentar enviar notificaciones.

🎯 Características del Endpoint

  • Verificación de Configuración: Comprueba si el bot token y chat ID están configurados
  • Prueba de Conectividad: Verifica la conectividad con la API de Telegram
  • Respuesta Inmediata: Proporciona respuesta rápida sobre el estado
  • Información de Timestamp: Incluye marca de tiempo de la verificación
  • Mensaje Descriptivo: Proporciona información clara sobre el estado

Endpoint Disponible

GET /api/telegram/status

Verifica la disponibilidad del servicio Telegram. Este endpoint comprueba si el servicio está correctamente configurado y puede enviar mensajes.
Parámetros:
  • No requiere parámetros de entrada
200 OK - Servicio Disponible
Servicio Telegram configurado y disponible
{ "serviceAvailable": true, "timestamp": "2024-01-15T10:30:00Z", "message": "Telegram service is ready" }
200 OK - Servicio No Disponible
Servicio Telegram no configurado o no disponible
{ "serviceAvailable": false, "timestamp": "2024-01-15T10:30:00Z", "message": "Telegram service is not configured or unavailable" }
500 Internal Server Error
Error interno del servidor durante la verificación
{ "error": "An unexpected error occurred while checking Telegram service status", "statusCode": 500, "message": "Internal server error" }

Ejemplo de Uso

🔧 Ejemplo con curl

curl -X GET \ 'http://localhost:1379/api/telegram/status' \ -H 'accept: application/json'

🔧 Ejemplo con JavaScript

fetch('/api/telegram/status') .then(response => response.json()) .then(data => { console.log('Service Available:', data.serviceAvailable); console.log('Message:', data.message); console.log('Timestamp:', data.timestamp); });

Servicio Utilizado

ITelegramService.IsServiceAvailableAsync() - Verifica la disponibilidad del servicio
  • Retorna: bool - true si el servicio está disponible, false en caso contrario
  • Funcionalidad: Comprueba la configuración del bot token y chat ID
  • Conectividad: Verifica la conectividad con la API de Telegram
  • Configuración: Valida que los parámetros necesarios estén configurados

Modelo de Respuesta

Respuesta de Estado - Objeto Anónimo:
  • ServiceAvailable (bool): Indica si el servicio está disponible
  • Timestamp (DateTime): Marca de tiempo de la verificación
  • Message (string): Mensaje descriptivo del estado

📊 Estados Posibles

  • ServiceAvailable: true - Servicio configurado y funcionando
  • ServiceAvailable: false - Servicio no configurado o con problemas
  • Message - Mensaje descriptivo según el estado

Casos de Uso

🎯 Escenarios de Verificación

  • Verificación Inicial: Comprobar configuración antes de enviar mensajes
  • Monitoreo de Salud: Verificación regular del estado del servicio
  • Diagnóstico de Problemas: Identificar problemas de configuración
  • Pruebas de Integración: Verificar que la integración funciona
  • Alertas de Sistema: Detectar cuando el servicio no está disponible

🔍 Ejemplos de Uso

  • Verificación Previa: Comprobar estado antes de enviar notificaciones críticas
  • Monitoreo Automático: Verificación periódica del estado del servicio
  • Dashboard de Estado: Mostrar estado en interfaz de administración
  • Alertas de Configuración: Detectar cuando faltan parámetros de configuración
  • Pruebas de Conectividad: Verificar conectividad con Telegram

Configuración Requerida

Configuración del Servicio Telegram:
  • Bot Token: Token del bot de Telegram obtenido de @BotFather
  • Chat ID: ID del chat donde se enviarán los mensajes
  • Configuración de Red: Acceso a la API de Telegram (api.telegram.org)
  • Permisos del Bot: El bot debe tener permisos para enviar mensajes

⚠️ Consideraciones de Seguridad

  • El bot token debe mantenerse seguro y no exponerse públicamente
  • Se recomienda usar variables de entorno para la configuración
  • El chat ID debe ser de un chat donde el bot tenga permisos
  • Verificar que el bot esté activo y no haya sido bloqueado