Como Enviar SMS Masivos: Guia Completa con API y Dashboard
Enviar mensajes SMS a miles de clientes a la vez puede parecer intimidante, pero no tiene por que 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 comunicacion mas efectivos disponibles.
En esta guia, te guiaremos a traves de todo lo que necesitas saber sobre el envio de SMS masivos - desde usar una interfaz de dashboard simple hasta integrarte con nuestra poderosa API.
Que es el SMS Masivo?
El SMS masivo (tambien conocido como envio masivo de textos o difusion SMS) es la practica de enviar un unico mensaje a un gran grupo de destinatarios simultaneamente. A diferencia de los mensajes individuales, el SMS masivo esta disenado para:
- Campanas de marketing - Promociones, ventas, lanzamientos de productos
- Notificaciones transaccionales - Actualizaciones de pedidos, alertas de envio
- Alertas y recordatorios - Citas, eventos, fechas limite
- Comunicaciones internas - Actualizaciones de equipo, notificaciones de emergencia
Antes de Empezar: Lo Que Necesitaras
Antes de enviar tu primera campana de SMS masivo, asegurate de tener:
Para mensajeria en EE.UU., tambien necesitaras estar registrado para A2P 10DLC - pero no te preocupes, nosotros lo manejamos automaticamente por ti.
Metodo 1: Usando el Dashboard (Sin Codigo)
La forma mas facil de enviar SMS masivos es a traves de nuestro dashboard visual. Asi es como:
Paso 1: Crear un Nuevo Broadcast
Paso 2: Configura Tu Campana
Dale a tu broadcast un nombre descriptivo que te ayude a identificarlo despues:
- Bueno: "Venta Black Friday 2025 - Clientes VIP"
- No tan bueno: "Campana 1"
Paso 3: Escribe Tu Mensaje
Redacta tu mensaje en el editor de texto. Puedes usar variables de personalizacion para hacer cada mensaje unico:
Consejo: Manten tu mensaje por debajo de 160 caracteres cuando sea posible para evitar dividirlo en multiples segmentos. Aprende mas sobre codificacion GSM-7 y limites de caracteres.textHola {{name}}, no te pierdas nuestras ofertas exclusivas de Black Friday! Usa el codigo FRIDAY25 para 25% de descuento en tu proxima compra. Compra ahora: https://tutienda.com/oferta Responde STOP para cancelar suscripcion.
Paso 4: Agrega Tus Contactos
Tienes varias opciones para agregar destinatarios:
- Subir CSV - Importa una hoja de calculo con numeros de telefono y datos de personalizacion
- Entrada manual - Agrega numeros individuales directamente
- Importar desde contactos - Selecciona 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:
- Numero total de destinatarios
- Costo estimado
- Vista previa del mensaje con personalizacion
- Enviar inmediatamente - Iniciar el broadcast de inmediato
- Programar para despues - Elegir una fecha y hora especifica
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 cancelacion
Metodo 2: Usando la API de Broadcasts
Para desarrolladores que necesitan control programatico, nuestra API de Broadcasts ofrece flexibilidad completa. Asi es como enviar SMS masivos con codigo:
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 campana 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 codigo 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 personalizacion 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 + ", Invalidos: " + result.invalid);
Para listas mas 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 despues 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
Aqui 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 aqui! Obtén 25% de descuento con codigo 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" } }, // ... mas 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("Campana programada! ID: " + broadcast.id); // 4. Verificar progreso despues const progress = await client.broadcasts.progress(broadcast.id); console.log("Estado: " + progress.status + " - " + progress.percentComplete + "% completado"); } sendBlackFridayCampaign().catch(console.error);
Mejores Practicas para SMS Masivo
1. Respeta los Limites de Caracteres
Los mensajes SMS usando codificacion GSM-7 estandar soportan 160 caracteres por segmento. Los mensajes con caracteres especiales (emojis, ciertos acentos) cambian a Unicode, reduciendo el limite a 70 caracteres.
Recomendacion: Manten los mensajes por debajo de 160 caracteres cuando sea posible para minimizar costos.2. Siempre Incluye Instrucciones de Cancelacion
En la mayoria de los paises, estas legalmente obligado a proporcionar una forma para que los destinatarios cancelen su suscripcion. Siempre incluye:
textResponde STOP para cancelar suscripcion.
Zavu automaticamente maneja las solicitudes de cancelacion y remueve los contactos dados de baja de futuras campanas.
3. Personaliza Tus Mensajes
Los mensajes personalizados ven un engagement significativamente mayor. Usa variables de plantilla como:
{{name}}- Nombre del destinatario{{order_id}}- Numero de pedido{{appointment_date}}- Fecha programada
4. Envia en el Momento Correcto
Segun investigacion 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 segmentacion de clientes para crear campanas 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 campana. Verifica:
- Variables de personalizacion renderizando correctamente
- Enlaces funcionando apropiadamente
- Mensaje mostrandose bien en movil
- Conteo de caracteres dentro de los limites
Entendiendo los Costos
Los precios de SMS masivo varian por:
- Pais de destino - Mensajes a EE.UU. tipicamente cuestan $0.01-0.02 cada uno
- Longitud del mensaje - Mensajes largos pueden dividirse en multiples segmentos
- Volumen - Volumenes mayores frecuentemente califican para mejores tarifas
Consideraciones de Cumplimiento
Estados Unidos
Para mensajeria en EE.UU., necesitas:
- Registro A2P 10DLC (nosotros lo manejamos por ti)
- Cumplimiento TCPA - Consentimiento previo expreso por escrito para marketing
- Mecanismo claro de cancelacion
Europa
Para mensajeria en la UE:
- Cumplimiento GDPR - Consentimiento explicito requerido
- Identificacion clara del remitente
- Derecho a retirar consentimiento
Canada
- Cumplimiento CASL - Consentimiento expreso o implicito
- Identificacion del remitente
- Mecanismo de cancelacion
Funciones Avanzadas
Enrutamiento Inteligente
Cuando usas la opcion de canal smart, Zavu automaticamente selecciona el mejor canal para cada destinatario:
typescriptconst broadcast = await client.broadcasts.create({ name: "Campana Multi-canal", channel: "smart", // Elige automaticamente SMS, WhatsApp o Email text: "Tu mensaje aqui..." });
Esto puede reducir costos significativamente al enrutar mensajes a traves del canal mas rentable disponible.
Webhooks para Actualizaciones en Tiempo Real
Configura webhooks para recibir notificaciones en tiempo real sobre tu broadcast:
- Mensaje entregado
- Mensaje fallido
- Contacto cancelo suscripcion
- Broadcast completado
Solucion de Problemas Comunes
Mensajes No Se Entregan
Altas Tasas de Fallo
- Numeros invalidos - Limpia tu lista antes de enviar
- Problemas de operador - Intenta enviar en diferentes horarios
- Filtrado de contenido - Evita lenguaje tipo spam
Entrega Lenta
La velocidad de entrega depende de tu puntaje de confianza 10DLC. Puntajes mas altos = mayor rendimiento.
Proximos Pasos
Listo para enviar tu primera campana de SMS masivo? Esto es lo que debes hacer:
Tienes preguntas? Revisa nuestra documentacion completa de API o contacta a nuestro equipo de soporte.
Recursos Relacionados
- Que es A2P 10DLC? - Entendiendo el cumplimiento de SMS en EE.UU.
- Codificacion de Caracteres GSM-7 - Por que importa el conteo de caracteres
- Segmentacion de Clientes - Dirige tus mensajes efectivamente
- Mensajeria RCS - El futuro de los mensajes de texto empresariales
- Documentacion de API - Referencia completa de la API