--- title: Como Enviar SMS Masivos: Guía Completa con API y Dashboard description: Aprende como enviar mensajes SMS masivos de forma efectiva usando tanto un dashboard visual como la API. date: 2025-12-18 author: Victor Villalobos locale: es source: https://www.zavu.dev/es/blog/how-to-send-bulk-sms tags: SMS, Mensajería Masiva, API, Tutorial --- # 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 Segun Gartner, el SMS tiene una tasa de apertura del 98% comparado con solo el 20% del email, haciendolo un canal increiblemente efectivo para comunicaciones urgentes. ## Antes de Empezar: Lo Que Necesitaras Antes de enviar tu primera campaña de SMS masivo, asegurate de tener: 1. **Una cuenta Zavu** - [Registrate gratis](https://dashboard.zavu.dev) si aun no lo has hecho 2. **Un número de teléfono** - Puedes comprar uno directamente desde nuestro dashboard 3. **Tu lista de contactos** - Números de teléfono en formato E.164 (ej., +14155551234) 4. **El contenido de tu mensaje** - Mantenlo conciso y valioso Para mensajería en EE.UU., también necesitaras estar registrado para [A2P 10DLC](/blog/what-is-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 1. Inicia sesión en tu [Dashboard Zavu](https://dashboard.zavu.dev) 2. Navega a **Broadcasts** en la barra lateral izquierda 3. Haz clic en **Crear 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" Seleccióna **SMS** cómo tu canal y elige que remitente (número de teléfono) usar. ### Paso 3: Escribe Tu Mensaje Redacta tu mensaje en el editor de texto. Puedes usar variables de personalización para hacer cada mensaje único: ``` Hola {{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. ``` **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](/es/glossary/what-is-gsm7) y límites de caracteres. ### 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 Tu CSV deberia verse asi: ```csv phone,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 Puedes: - **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 ```typescript import 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: ```typescript import 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](/es/glossary/what-is-gsm7) 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: ``` Responde 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](/es/glossary/what-is-customer-segmentation) 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 Zavu proporciona precios transparentes sin cargos ocultos. Puedes ver el costo estimado antes de enviar cualquier campaña. ## Consideraciones de Cumplimiento ### Estados Unidos Para mensajería en EE.UU., necesitas: - [Registro A2P 10DLC](/blog/what-is-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: ```typescript const 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 Aprende más en nuestra [documentación de API](https://docs.zavu.dev/webhooks). ## Solución de Problemas Comunes ### Mensajes No Se Entregan 1. **Verifica el formato del número** - Debe ser E.164 (ej., +14155551234) 2. **Verifica el registro del remitente** - Números de EE.UU. necesitan registro 10DLC 3. **Verifica filtrado de operador** - Algún contenido puede activar filtros de spam ### 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](/blog/what-is-a2p-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: 1. **[Crea una cuenta gratis](https://dashboard.zavu.dev)** - No se requiere tarjeta de crédito 2. **Obtén un número de teléfono** - Compralo directamente desde el dashboard 3. **Importa tus contactos** - Sube tu lista de clientes 4. **Crea tu primer broadcast** - Usa el dashboard o la API Tienes preguntas? Revisa nuestra [documentación completa de API](https://docs.zavu.dev) o [contacta a nuestro equipo de soporte](/contact-us). ## Recursos Relaciónados - [Qué es A2P 10DLC?](/blog/what-is-a2p-10dlc) - Entendiendo el cumplimiento de SMS en EE.UU. - [Codificación de Caracteres GSM-7](/es/glossary/what-is-gsm7) - Por qué importa el conteo de caracteres - [Segmentación de Clientes](/es/glossary/what-is-customer-segmentation) - Dirige tus mensajes efectivamente - [Mensajería RCS](/es/glossary/what-is-rcs-messaging) - El futuro de los mensajes de texto empresariales - [Documentación de API](https://docs.zavu.dev) - Referencia completa de la API