
Cómo enviar mensajes SMS con Node.js paso a paso [Guía práctica]
En la actualidad, donde la comunicación es instantánea, enviar mensajes de texto a través de Node.js se ha convertido en una opción muy eficaz para interactuar con clientes y usuarios. Los SMS llegan en segundos y suelen ser leídos al momento, lo que los convierte en un canal de comunicación muy potente.
En este artículo mostramos cómo realizar la integración de SMS con Node.js. Una guía paso a paso, con ejemplos y todo lo que se necesita para empezar a enviar los primeros mensajes SMS desde tu aplicación.
Regístrate y prueba enviar SMS con LabsMobile
¡Empieza aquí y ahora!Índice
Introducción al manual sobre cómo enviar SMS con Node.js
La comunicación vía SMS es uno de los métodos más efectivos para garantizar que un mensaje importante llegue directamente al usuario. Al incorporar el envío de SMS en aplicaciones Node.js, es posible diseñar flujos automáticos para alertas de sistema, recordatorios de citas o notificaciones de transacciones, con total trazabilidad y rapidez.
La API del servicio mensajería SMS de LabsMobile ofrece un entorno seguro basado en peticiones JSON sobre HTTPS y autenticación mediante token, lo que facilita su integración en proyectos de cualquier envergadura. A continuación, describimos los principales escenarios de uso y los requisitos necesarios para empezar a implementar esta funcionalidad de forma sencilla.
¿Por qué usar Node.js para enviar SMS?
Node.js es una de las tecnologías más utilizadas en el desarrollo backend y de aplicaciones en tiempo real. Su naturaleza asíncrona y su extenso ecosistema de paquetes lo convierten en una herramienta ideal para integrar servicios externos, incluidos los de mensajería SMS. Gracias a librerías como Axios o API HTTP modernas, la implementación puede ser directa y escalable.
- Velocidad de ejecución: Ideal para aplicaciones en tiempo real que necesitan enviar SMS de forma inmediata.
- Facilidad de integración: Puedes usar librerías como
axios(onode-fetch) para hacer peticiones HTTP a la API SMS de LabsMobile. - Escalabilidad: Apto para aplicaciones que deben enviar grandes volúmenes de SMS.
- Portabilidad: Tu código puede ejecutarse en distintos entornos (servidores, funciones serverless, contenedores, etc.) sin grandes modificaciones.
Requisitos previos
- Cuenta activa en LabsMobile (usuario y token API). Regístrate en LabsMobile
- Node.js instalado en el sistema (versión 14 o superior)
- Librería HTTP como
axiospara enviar peticiones HTTP (npm install axios) - Conexión segura (HTTPS) para todas las peticiones hacia la API de LabsMobile
Pasos para enviar SMS con Node.js
- Preparar credenciales: Generar el token API en el Panel de Control de tu cuenta LabsMobile obteniendo las credenciales API (
usuario:token) y codificarlas en Base64 para el encabezadoAuthorization. - Definir la URL de la API: Usar
https://api.labsmobile.com/json/sendmediante una petición POST. - Crear el payload JSON: Incluir campos como remitente (
tpoa), destinatarios y texto del mensaje. - Enviar la petición HTTP: Usar
axios.postcon encabezadosContent-Type: application/jsonyAuthorization: Basic <credenciales>. - Procesar la respuesta: Validar el campo
codeen la respuesta JSON para confirmar si el envío fue aceptado.
Ejemplo de payload JSON
{
"message": "Tu código de verificación es 1234",
"tpoa": "MiRemitente",
"recipient": [
{ "msisdn": "34123456789" }
]
}
Código modular sugerido
const axios = require('axios');
async function enviarSMS({ usuario, token, tpoa, destinatarios, mensaje, opciones = {} }) {
const credenciales = Buffer.from(${usuario}:${token}).toString('base64');
const url = 'https://api.labsmobile.com/json/send';
const payload = {
message: mensaje,
tpoa: tpoa,
recipient: destinatarios.map(msisdn => ({ msisdn })),
...opciones
};
const headers = {
'Content-Type': 'application/json',
'Authorization': Basic ${credenciales}
};
try {
const response = await axios.post(url, payload, { headers });
return response.data;
} catch (error) {
// Maneja errores: red, respuesta API, etc.
throw error;
}
}
Este enfoque modular te permite reutilizar la lógica para distintos escenarios cambiando solo los parámetros que envías.
Ejemplos de integración usando el código modular
- Mensaje de bienvenida:
enviarSMS({
usuario: 'miUsuarioLabsmobile',
token: 'miToken',
tpoa: 'MiApp',
destinatarios: ['34123456789'],
mensaje: 'Bienvenida Lucía, gracias por unirte a nuestra plataforma!'
})
.then(res => console.log('SMS enviado:', res))
.catch(err => console.error('Error:', err));
- Confirmación de pedido:
enviarSMS({
usuario,
token,
tpoa: 'MiTienda',
destinatarios: ['34111222333'],
mensaje: 'Hola Carlos, tu pedido de "Zapatillas deportivas" fue confirmado y está en preparación.'
})
.then(...)
.catch(...);
- Alerta de movimiento bancario:
const monto = 1250.00;
const tarjeta = "****6789";
const celular = "34122334455";
enviarSMS({
usuario,
token,
tpoa: 'BancoSeguro',
destinatarios: [celular],
mensaje: `Alerta: se realizó un cargo de $${monto.toFixed(2)} en tu tarjeta ${tarjeta}.`
})
.then(...)
.catch(...);
Errores comunes al enviar SMS con Node.js
- Error 401 (Unauthorized): Credenciales incorrectas o token expirado.
- Error 400 (Bad Request): Estructura del JSON inválida o número mal formado.
- Error de red: Comprobar que el servidor tiene acceso HTTPS y DNS correcto.
Seguridad y buenas prácticas
- Usar siempre HTTPS para cifrar las peticiones.
- Guardar credenciales en variables de entorno o sistemas seguros (jamás en el código).
- Preferir POST con JSON frente a GET para no exponer datos sensibles.
- Manejar errores validando que
code === "0"para considerar éxito y detectar otros códigos posibles. - Activar filtros en la cuenta LabsMobile: restricción por IP, evitar duplicados, filtros por país.
- Realizar pruebas en modo test o sandbox antes de pasar a producción.
Casos de uso comunes
- Verificación de identidad / OTP / 2FA: Enviar códigos únicos temporales para login, recuperación de contraseña o registro de dispositivo.
- Notificaciones transaccionales: Confirmaciones de compra, cambios de estado, envíos, facturación o devoluciones.
- Recordatorios automatizados: Citas médicas, eventos, pagos próximos a vencerse, renovaciones.
- Alertas de seguridad: Avisos ante actividad sospechosa, cambios en la cuenta, accesos indebidos.
- Flujos internos operativos: Alertas del sistema, fallos críticos, monitoreo de recursos o tareas programadas.
- Marketing relacional responsable: Promociones limitadas, campañas con consentimiento y segmentadas.
- Integración con CRM / ERP / e-commerce: Generar SMS cuando cambia un estado de cliente, renovación, seguimiento de pedido, etc.
- Recepción de mensajes / número virtual: Si tu cuenta LabsMobile incluye un número virtual, puedes recibir respuestas y procesarlas vía API. Para más información, consulta el apartado de receptor de mensajes en la Documentación API SMS LabsMobile.
Conclusión
Implementar el envío de SMS con Node.js y LabsMobile es un proceso eficaz y seguro que potencia la comunicación instantánea con tus usuarios. Con esta guía, el código modular y los ejemplos incluidos, podrás integrar esta funcionalidad en tu aplicación Node.js en cuestión de minutos.
Descubre cómo el envío de SMS con Node.js puede optimizar tus procesos de comunicación. ¡Contáctanos y da el siguiente paso hacia la eficiencia con LabsMobile!
Comienza hoy mismo a enviar SMS desde tu aplicación Node.js con LabsMobile. Crea tu cuenta gratuita y prueba la API en minutos.
Enlaces para ampliar información de API

Nuestro equipo te asesora
¿Estás interesado en nuestros servicios?
Nuestros gestores y equipo técnico están a tu disposición para responder a todas tus preguntas sobre nuestras soluciones SMS y aconsejarte sobre la puesta en marcha de cualquier acción o campaña.
Contáctanos

