Saltearse al contenido

Mensajes

Gestiona el envío y consulta de mensajes a través de múltiples canales como SMS y Email. El sistema de mensajería de SendMe123 permite enviar mensajes individuales o por lotes con seguimiento completo del estado de entrega.

Todos los endpoints de mensajería son asíncronos: la API registra cada mensaje en la persistencia, programa la entrega en BullMQ y retorna un resumen del encolado.

Los endpoints de mensajes te permiten enviar comunicaciones y consultar el historial de mensajes enviados.

MétodoEndpointDescripción
GET/api/messagesObtener lista paginada de mensajes
POST/api/messages/sms/contactsEnviar SMS a contactos específicos
POST/api/messages/sms/allEnviar SMS a todos los contactos
POST/api/messages/sms/tagsEnviar SMS por etiquetas
POST/api/messages/email/contactsEnviar Email a contactos específicos
POST/api/messages/email/allEnviar Email a todos los contactos
POST/api/messages/email/tagsEnviar Email por etiquetas

Explora los endpoints disponibles:

EstadoDescripción
QUEUEDMensaje en cola para envío
SENDINGMensaje siendo enviado
SENTMensaje enviado al proveedor
DELIVEREDMensaje entregado al destinatario
UNDELIVEREDMensaje no pudo ser entregado
FAILEDError en el envío
RECEIVEDMensaje recibido por el destinatario
SCHEDULEDMensaje programado para envío futuro
CANCELEDMensaje cancelado
READMensaje leído por el destinatario
TipoCanalDescripción
smsSMSMensaje de texto estándar
otpSMSCódigo de verificación (OTP)
flashSMSMensaje flash (aparece inmediatamente)
emailEmailCorreo electrónico
  • PLAIN_TEXT: Texto sin formato
  • HTML: Contenido HTML para emails
  • SMS: Texto plano, máximo 160 caracteres por segmento
  • Email: HTML y texto plano, máximo 10MB por mensaje
  • Números: Sin prefijo de país (usar campo countryCode)
  • Emails: Direcciones válidas según RFC 5322
  • Máximo 1000 destinatarios por petición
  • Rate limiting: 100 peticiones por minuto
  • SMS: Máximo 1000 caracteres (se divide en segmentos)
  • Email: Máximo 10MB incluyendo archivos adjuntos
const enviarSMS = async () => {
try {
const response = await axios.post('https://app.sendme123.com/api/messages/sms/contacts', {
message: 'Hola, este es un mensaje de prueba',
contacts: ['3001234567'],
country: 'CO'
}, {
headers: {
'Authorization': 'Bearer tu-token-aqui',
'Content-Type': 'application/json'
}
});
console.log('SMS encolado:', response.data);
return response.data;
} catch (error) {
console.error('Error enviando SMS:', error.response?.data || error.message);
throw error;
}
};
const enviarEmail = async () => {
try {
const response = await axios.post('https://app.sendme123.com/api/messages/email/contacts', {
subject: 'Bienvenido a SendMe',
message: '<h1>¡Bienvenido!</h1><p>Gracias por unirte a nosotros.</p>',
contacts: ['[email protected]']
}, {
headers: {
'Authorization': 'Bearer tu-token-aqui',
'Content-Type': 'application/json'
}
});
console.log('Email encolado:', response.data);
return response.data;
} catch (error) {
console.error('Error enviando email:', error.response?.data || error.message);
throw error;
}
};