SMS Masivos

Envía notificaciones, alertas y campañas a uno o miles de destinatarios con una sola petición. Personaliza, programa y mide la entrega.

¿Envías códigos de verificación, login o 2FA? No uses este endpoint. /sms/send es para marketing y notificaciones: sin prioridad de red y sin fallback de voz/WhatsApp. En pruebas parecerá funcionar, pero en producción tus códigos llegarán tarde o no llegarán. Usa Verificación OTP (/otp/send).

Casos de uso

  • Notificaciones transaccionales: confirmaciones de pedido, recordatorios de cita, avisos de envío.
  • Alertas: seguridad, monitoreo, eventos críticos.
  • Recordatorios: pagos pendientes, renovaciones, vencimientos.
  • Marketing: promociones, lanzamientos y ofertas (respeta los horarios permitidos).

Envío por lotes

POST /sms/send acepta varios números en una sola petición. Sepáralos con coma en el campo numbers:

curl -X POST https://api.smsmasivos.com.mx/sms/send \
  -H "Content-Type: application/json" \
  -H "apikey: $SMSMASIVOS_API_KEY" \
  -d '{
    "numbers": "525512345678,525598765432,525534567890",
    "message": "Oferta especial: 20% de descuento este fin de semana.",
    "sender": "MiTienda"
  }'

La respuesta trae una reference por cada número, más el total de créditos consumidos:

{
  "success": true,
  "message": "sent_messages",
  "code": "sms_11",
  "total_messages": 3,
  "references": [
    { "reference": "abc123...", "number": "525512345678" },
    { "reference": "def456...", "number": "525598765432" },
    { "reference": "ghi789...", "number": "525534567890" }
  ],
  "credit": 3
}

Cada SMS se factura por separado. Un mensaje de hasta 160 caracteres (sin acentos) cuenta como 1 SMS; los más largos se dividen en segmentos y cuentan como varios. Detalles en Buenas prácticas.

Personalización

Incluye variables en el mensaje para personalizar cada envío, por ejemplo {nombre}:

{
  "numbers": "525512345678",
  "message": "Hola {nombre}, tu pedido #12345 esta confirmado. Gracias por tu compra!",
  "sender": "MiTienda"
}

Cuando envías a una lista de contactos guardada, los campos dinámicos de cada contacto se sustituyen automáticamente.

Programar envíos

Difiere un envío con el parámetro date en formato YYYY-MM-DD HH:MM:SS (hora de México):

{
  "numbers": "525512345678",
  "message": "Recuerda tu cita manana a las 10:00 AM",
  "sender": "Clinica",
  "date": "2026-07-17 09:00:00"
}

Acortar URLs y medir clics

Activa el acortador integrado para incluir enlaces cortos y rastreables:

shorten_urlinteger

1 acorta automáticamente las URLs presentes en el mensaje.

url_to_shortenstring

URL específica a acortar. Si se omite y shorten_url es 1, se acortan todas las del mensaje.

Coloca siempre las URLs al final del mensaje. Un enlace al inicio dispara filtros de spam de las operadoras. Ver Buenas prácticas.

Listas de contactos

En lugar de mandar números sueltos, administra listas reutilizables (agendas) desde la API:

Consulta la sección Contactos y Listas de contactos del API Reference.

Seguimiento y reportes

Mide el resultado de cada campaña:

Explora todos los parámetros de envío en el API Reference de SMS Masivos y pruébalos en el playground.