Como Enviar SMS Masivos: Guía Completa con API y Dashboard
Enviar mensajes SMS a miles de clientes a la vez puede parecer intimidante, pero no tiene por qué serlo. Ya sea que estes anunciando una venta relampago, enviando recordatorios de citas o manteniendo a los clientes informados sobre sus pedidos, el SMS masivo es uno de los canales de comunicación más efectivos disponibles.
En esta guía, te guíaremos a través de todo lo que necesitas saber sobre el envío de SMS masivos - desde usar una interfaz de dashboard simple hasta integrarte con nuestra poderosa API.
Qué es el SMS Masivo?
El SMS masivo (también conocido como envío masivo de textos o difusion SMS) es la práctica de enviar un único mensaje a un gran grupo de destinatarios simultaneamente. A diferencia de los mensajes individuales, el SMS masivo esta diseñado para:
- Campañas de marketing - Promociónes, ventas, lanzamientos de productos
- Notificaciones transaccionales - Actualizaciones de pedidos, alertas de envio
- Alertas y recordatorios - Citas, eventos, fechas límite
- Comunicaciones internas - Actualizaciones de equipo, notificaciones de emergencia
Antes de Empezar: Lo Que Necesitaras
Antes de enviar tu primera campaña de SMS masivo, asegurate de tener:
Para mensajería en EE.UU., también necesitaras estar registrado para A2P 10DLC - pero no te preocupes, nosotros lo manejamos automáticamente por ti.
Método 1: Usando el Dashboard (Sin Código)
La forma más fácil de enviar SMS masivos es a través de nuestro dashboard visual. Asi es como:
Paso 1: Crear un Nuevo Broadcast
Paso 2: Configura Tu Campaña
Dale a tu broadcast un nombre descriptivo que te ayude a identificarlo después:
- Bueno: "Venta Black Friday 2025 - Clientes VIP"
- No tan bueno: "Campaña 1"
Paso 3: Escribe Tu Mensaje
Redacta tu mensaje en el editor de texto. Puedes usar variables de personalización para hacer cada mensaje único:
Consejo: Manten tu mensaje por debajo de 160 caracteres cuando sea posible para evitar dividirlo en múltiples segmentos. Aprende más sobre codificación GSM-7 y límites de caracteres.textHola {{name}}, no te pierdas nuestras ofertas exclusivas de Black Friday! Usa el código FRIDAY25 para 25% de descuento en tu próxima compra. Compra ahora: https://tutienda.com/oferta Responde STOP para cancelar suscripción.
Paso 4: Agrega Tus Contactos
Tienes varias opciones para agregar destinatarios:
- Subir CSV - Importa una hoja de cálculo con números de teléfono y datos de personalización
- Entrada manual - Agrega números individuales directamente
- Importar desde contactos - Seleccióna de tu lista de contactos existente
csvphone,name,order_id +14155551234,Juan,ORD-001 +14155555678,Maria,ORD-002 +14155559012,Carlos,ORD-003
Paso 5: Revisar y Enviar
Antes de enviar, veras:
- Número total de destinatarios
- Costo estimado
- Vista previa del mensaje con personalización
- Enviar inmediatamente - Iniciar el broadcast de inmediato
- Programar para después - Elegir una fecha y hora específica
Paso 6: Monitorear el Progreso
Una vez que tu broadcast inicie, puedes rastrear el progreso en tiempo real:
- Mensajes enviados vs. pendientes
- Confirmaciones de entrega
- Entregas fallidas con razones
- Solicitudes de cancelación
Método 2: Usando la API de Broadcasts
Para desarrolladores que necesitan control programático, nuestra API de Broadcasts ofrece flexibilidad completa. Asi es como enviar SMS masivos con código:
Paso 1: Instalar el SDK
bash# Usando npm npm install @zavudev/sdk # Usando bun bun add @zavudev/sdk
Paso 2: Crear un Broadcast
typescriptimport Zavudev from "@zavudev/sdk"; const client = new Zavu(); // Usa ZAVU_API_KEY del entorno // Crear una nueva campaña de broadcast const broadcast = await client.broadcasts.create({ name: "Venta Black Friday 2025", channel: "sms", text: "Hola {{name}}, no te pierdas nuestras ofertas de Black Friday! Usa código FRIDAY25 para 25% de descuento. Responde STOP para cancelar.", }); console.log("Broadcast creado: " + broadcast.id); // Salida: Broadcast creado: brd_abc123
Paso 3: Agregar Contactos
Puedes agregar hasta 1,000 contactos por llamada a la API:
typescript// Agregar contactos con variables de personalización const result = await client.broadcasts.contacts.add(broadcast.id, { contacts: [ { recipient: "+14155551234", templateVariables: { name: "Juan" } }, { recipient: "+14155555678", templateVariables: { name: "Maria" } }, { recipient: "+14155559012", templateVariables: { name: "Carlos" } } ] }); console.log("Agregados: " + result.added + ", Duplicados: " + result.duplicates + ", Inválidos: " + result.invalid);
Para listas más grandes, procesa tus solicitudes en lotes:
typescript// Funcion auxiliar para procesamiento en lotes async function addContactsInBatches(broadcastId: string, contacts: any[], batchSize = 1000) { for(let i = 0; i < contacts.length; i += batchSize) { const batch = contacts.slice(i, i + batchSize); await client.broadcasts.contacts.add(broadcastId, { contacts: batch }); console.log("Lote agregado " + (Math.floor(i / batchSize) + 1)); } }
Paso 4: Enviar el Broadcast
typescript// Enviar inmediatamente await client.broadcasts.send(broadcast.id); // O programar para después await client.broadcasts.send(broadcast.id, { scheduledAt: "2025-11-29T09:00:00Z" // Black Friday, 9 AM UTC });
Paso 5: Monitorear el Progreso
typescript// Verificar progreso del broadcast const progress = await client.broadcasts.progress(broadcast.id); console.log("Estado: " + progress.status); console.log("Progreso: " + progress.percentComplete + "%"); console.log("Entregados: " + progress.delivered); console.log("Fallidos: " + progress.failed); console.log("Pendientes: " + progress.pending);
Ejemplo Completo
Aquí hay un ejemplo completo funcionando:
typescriptimport Zavudev from "@zavudev/sdk"; async function sendBlackFridayCampaign() { const client = new Zavu(); // 1. Crear el broadcast const broadcast = await client.broadcasts.create({ name: "Venta Black Friday 2025", channel: "sms", text: "Hola {{name}}, Black Friday esta aquí! Obtén 25% de descuento con código FRIDAY25. Compra: https://tutienda.com/oferta. Responde STOP para cancelar." }); // 2. Agregar tus contactos const customers = [ { recipient: "+14155551234", templateVariables: { name: "Juan" } }, { recipient: "+14155555678", templateVariables: { name: "Maria" } }, { recipient: "+14155559012", templateVariables: { name: "Carlos" } }, // ... más clientes ]; await client.broadcasts.contacts.add(broadcast.id, { contacts: customers }); // 3. Programar para Black Friday a las 9 AM await client.broadcasts.send(broadcast.id, { scheduledAt: "2025-11-29T09:00:00Z" }); console.log("Campaña programada! ID: " + broadcast.id); // 4. Verificar progreso después const progress = await client.broadcasts.progress(broadcast.id); console.log("Estado: " + progress.status + " - " + progress.percentComplete + "% completado"); } sendBlackFridayCampaign().catch(console.error);
Mejores Prácticas para SMS Masivo
1. Respeta los Límites de Caracteres
Los mensajes SMS usando codificación GSM-7 estándar soportan 160 caracteres por segmento. Los mensajes con caracteres especiales (emojis, ciertos acentos) cambian a Únicode, reduciendo el límite a 70 caracteres.
Recomendacion: Manten los mensajes por debajo de 160 caracteres cuando sea posible para minimizar costos.2. Siempre Incluye Instrucciones de Cancelación
En la mayoria de los países, estas legalmente obligado a proporcionar una forma para que los destinatarios cancelen su suscripción. Siempre incluye:
textResponde STOP para cancelar suscripción.
Zavu automáticamente maneja las solicitudes de cancelación y remueve los contactos dados de baja de futuras campañas.
3. Personaliza Tus Mensajes
Los mensajes personalizados ven un engagement significativamente mayor. Usa variables de plantilla como:
{{name}}- Nombre del destinatario{{order_id}}- Número de pedido{{appointment_date}}- Fecha programada
4. Envia en el Momento Correcto
Según investigación de HubSpot:
- Mejores dias: Martes, Miercoles, Jueves
- Mejores horas: 10 AM - 12 PM y 2 PM - 3 PM hora local
- Evita: Madrugadas, noches tarde, fines de semana (a menos que sea urgente)
5. Segmenta Tu Audiencia
No envies el mismo mensaje a todos. Usa segmentación de clientes para crear campañas dirigidas:
- Clientes VIP obtienen acceso anticipado
- Clientes nuevos obtienen ofertas de bienvenida
- Clientes inactivos obtienen mensajes de re-engagement
6. Prueba Antes de Enviar
Siempre envia un mensaje de prueba a ti mismo o a tu equipo antes de lanzar una campaña. Verifica:
- Variables de personalización renderizando correctamente
- Enlaces funcionando apropiadamente
- Mensaje mostrandose bien en móvil
- Conteo de caracteres dentro de los límites
Entendiendo los Costos
Los precios de SMS masivo varian por:
- País de destino - Mensajes a EE.UU. típicamente cuestan $0.01-0.02 cada uno
- Longitud del mensaje - Mensajes largos pueden dividirse en múltiples segmentos
- Volumen - Volúmenes mayores frecuentemente califican para mejores tarifas
Consideraciones de Cumplimiento
Estados Unidos
Para mensajería en EE.UU., necesitas:
- Registro A2P 10DLC (nosotros lo manejamos por ti)
- Cumplimiento TCPA - Consentimiento previo expreso por escrito para marketing
- Mecanismo claro de cancelación
Europa
Para mensajería en la UE:
- Cumplimiento GDPR - Consentimiento explicito requerido
- Identificación clara del remitente
- Derecho a retirar consentimiento
Canada
- Cumplimiento CASL - Consentimiento expreso o implicito
- Identificación del remitente
- Mecanismo de cancelación
Funciones Avanzadas
Enrutamiento Inteligente
Cuando usas la opcion de canal smart, Zavu automáticamente seleccióna el mejor canal para cada destinatario:
typescriptconst broadcast = await client.broadcasts.create({ name: "Campaña Multi-canal", channel: "smart", // Elige automáticamente SMS, WhatsApp o Email text: "Tu mensaje aquí..." });
Esto puede reducir costos significativamente al enrutar mensajes a través del canal más rentable disponible.
Webhooks para Actualizaciones en Tiempo Real
Configura webhooks para recibir notificaciones en tiempo real sobre tu broadcast:
- Mensaje entregado
- Mensaje fallido
- Contacto cancela suscripción
- Broadcast completado
Solución de Problemas Comunes
Mensajes No Se Entregan
Altas Tasas de Fallo
- Números inválidos - Limpia tu lista antes de enviar
- Problemas de operador - Intenta enviar en diferentes horarios o países
- Filtrado de contenido - Evita lenguaje tipo spam
Entrega Lenta
La velocidad de entrega depende de tu puntaje de confianza 10DLC. Puntajes más altos = mayor rendimiento.
Proximos Pasos
Listo para enviar tu primera campaña de SMS masivo? Esto es lo que debes hacer:
Tienes preguntas? Revisa nuestra documentación completa de API o contacta a nuestro equipo de soporte.
Recursos Relaciónados
- Qué es A2P 10DLC? - Entendiendo el cumplimiento de SMS en EE.UU.
- Codificación de Caracteres GSM-7 - Por qué importa el conteo de caracteres
- Segmentación de Clientes - Dirige tus mensajes efectivamente
- Mensajería RCS - El futuro de los mensajes de texto empresariales
- Documentación de API - Referencia completa de la API