← Volver a TelegramController

🎨 Mensajes Personalizados

Endpoint para envío de mensajes con formato personalizado a través de Telegram

Descripción General

El endpoint Mensajes Personalizados permite enviar mensajes con formato personalizado a través de Telegram. Este endpoint proporciona flexibilidad para enviar mensajes con diferentes estilos de formato, incluyendo HTML y Markdown.

🎯 Características del Endpoint

  • Formato Personalizado: Soporte para HTML y Markdown
  • Flexibilidad de Contenido: Mensajes con cualquier contenido
  • Modos de Parseo: Diferentes modos de formato disponibles
  • Validación de Entrada: Verificación de parámetros de entrada
  • Respuesta Estructurada: Respuestas consistentes con otros endpoints

Endpoint Disponible

POST /api/telegram/custom

Envía un mensaje personalizado con formato opcional. Este endpoint permite enviar mensajes con formato personalizado usando diferentes modos de parseo.
Body (JSON):
{ "message": "Custom formatted message", "parseMode": "html" }
200 OK - Mensaje Enviado
Mensaje personalizado enviado exitosamente
{ "success": true, "message": "Custom message sent successfully", "timestamp": "2024-01-15T10:30:00Z" }
400 Bad Request - Error de Envío
Error al enviar el mensaje personalizado
{ "success": false, "message": "Failed to send custom message", "timestamp": "2024-01-15T10:30:00Z" }

Modelo de Datos

CustomMessageRequest - Modelo de Entrada:
  • Message (string, requerido): Contenido del mensaje a enviar
  • ParseMode (string, opcional): Modo de formato del mensaje

📊 Modos de Parseo Disponibles

  • html: Formato HTML con etiquetas básicas
  • markdown: Formato Markdown estándar
  • markdownv2: Formato Markdown versión 2
  • null/undefined: Texto plano sin formato

🎨 Ejemplos de Formato

  • HTML: <b>negrita</b> <i>cursiva</i>
  • Markdown: **negrita** *cursiva*
  • MarkdownV2: *negrita* _cursiva_
  • Texto Plano: Sin etiquetas de formato

Ejemplos de Uso

🔧 Ejemplo con curl - Mensaje HTML

curl -X POST \ 'http://localhost:1379/api/telegram/custom' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "message": "Custom formatted message", "parseMode": "html" }'

🔧 Ejemplo con curl - Mensaje Markdown

curl -X POST \ 'http://localhost:1379/api/telegram/custom' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "message": "**Bold** *italic* message", "parseMode": "markdown" }'

🔧 Ejemplo con curl - Mensaje Plano

curl -X POST \ 'http://localhost:1379/api/telegram/custom' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "message": "Plain text message without formatting" }'

🔧 Ejemplo con JavaScript

// Mensaje HTML fetch('/api/telegram/custom', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ message: 'Hello World!', parseMode: 'html' }) }) .then(response => response.json()) .then(data => console.log(data)); // Mensaje Markdown fetch('/api/telegram/custom', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ message: '**Bold** *italic* text', parseMode: 'markdown' }) }) .then(response => response.json()) .then(data => console.log(data));

Servicio Utilizado

ITelegramService.SendCustomMessageAsync(string, string?) - Envía mensaje personalizado
  • Parámetro 1: string message - Contenido del mensaje
  • Parámetro 2: string? parseMode - Modo de formato (opcional)
  • Retorna: bool - true si se envió correctamente
  • Funcionalidad: Envía mensaje con formato personalizado

Modelo de Respuesta

Respuesta de Éxito - Objeto Anónimo:
  • Success (bool): true si el mensaje se envió correctamente
  • Message (string): "Custom message sent successfully"
  • Timestamp (DateTime): Marca de tiempo del envío
Respuesta de Error - Objeto Anónimo:
  • Success (bool): false si el mensaje no se pudo enviar
  • Message (string): "Failed to send custom message"
  • Timestamp (DateTime): Marca de tiempo del intento

Casos de Uso

🎯 Escenarios de Uso

  • Notificaciones Formateadas: Mensajes con formato HTML o Markdown
  • Alertas Personalizadas: Alertas con formato específico
  • Reportes Estructurados: Reportes con formato tabular
  • Mensajes de Marketing: Mensajes promocionales con formato
  • Notificaciones Técnicas: Mensajes con código o enlaces

🔍 Ejemplos Específicos

  • Alertas de Sistema: Mensajes con formato para destacar errores
  • Reportes de Ventas: Informes con formato tabular
  • Notificaciones de Usuario: Mensajes personalizados para usuarios
  • Enlaces y Referencias: Mensajes con enlaces formateados
  • Código y Comandos: Mensajes con código formateado

Consideraciones de Formato

⚠️ Limitaciones de Formato

  • HTML: Solo etiquetas básicas soportadas por Telegram
  • Markdown: Sintaxis estándar de Markdown
  • MarkdownV2: Sintaxis más estricta, requiere escape de caracteres
  • Longitud: Límite de 4096 caracteres por mensaje
  • Caracteres Especiales: Algunos caracteres requieren escape

📋 Etiquetas HTML Soportadas

  • <b>: Texto en negrita
  • <i>: Texto en cursiva
  • <u>: Texto subrayado
  • <s>: Texto tachado
  • <code>: Código inline
  • <pre>: Bloque de código
  • <a>: Enlaces

Validación y Errores

🔍 Validaciones Realizadas

  • Mensaje Requerido: El campo message es obligatorio
  • Longitud del Mensaje: Verificación de límite de caracteres
  • Formato Válido: Validación del modo de parseo
  • Configuración del Servicio: Verificación de configuración

❌ Errores Comunes

  • Mensaje Vacío: El mensaje no puede estar vacío
  • Formato Inválido: Modo de parseo no soportado
  • Servicio No Configurado: Telegram no configurado
  • Error de Red: Problemas de conectividad
  • Límite de Caracteres: Mensaje demasiado largo