Cómo Enviar SMS por API en México: Guía con Código Real

Envía SMS desde tu sistema con la API de SMS Masivos. Ejemplos de código en PHP, Python y Node.js listos para copiar. Rutas directas, desde $0.25 MXN.

Cómo Enviar SMS por API en México: Guía con Código Real

Si tu sistema necesita enviar SMS de forma automática (confirmaciones de pedido, recordatorios de cita, códigos OTP, alertas de cobranza), la respuesta es conectarte a una API de SMS.

Esta guía te lleva paso a paso: desde obtener tu API key hasta enviar tu primer mensaje con código funcional en cURL, PHP, Python y Node.js. Todo con la API de SMS Masivos, que opera con rutas directas a todos los carriers de México (Telcel, Movistar, AT&T, Altán).

No necesitas SDK propietario ni configuraciones complejas. Si tu lenguaje puede hacer una petición HTTP, puede enviar SMS.

Qué necesitas para enviar SMS por API

Tres cosas:

  1. Una cuenta en SMS Masivos (se crea en 2 minutos, sin tarjeta de crédito)
  2. Tu API key, que encuentras en tu panel en la sección Desarrolladores → API
  3. Un lenguaje que haga peticiones HTTP: PHP, Python, Node.js, Java, C#, Ruby, Go... cualquiera funciona

La API usa REST sobre HTTPS. La autenticación es un header apikey. Sin OAuth, sin tokens rotativos, sin SDKs obligatorios.

Base URL: https://api.smsmasivos.com.mx

Crea tu cuenta y obtén tu API key →

Tu primer SMS en 3 minutos (cURL)

El endpoint principal es POST /sms/send. Tres campos obligatorios: numbers, message y country_code.

curl -X POST "https://api.smsmasivos.com.mx/sms/send" \
  -H "apikey: TU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "numbers": "5512345678",
    "message": "Hola Juan, tu pedido #1234 está listo para recoger en sucursal Centro.",
    "country_code": "52"
  }'

¿Varios destinatarios? Sepáralos por coma:

"numbers": "5512345678,5587654321,5523456789"

Modo sandbox: Agrega "sandbox": 1 para simular el envío sin gastar créditos. Perfecto para probar tu integración antes de pasar a producción.

Enviar SMS con PHP

<?php
$url = "https://api.smsmasivos.com.mx/sms/send";
$data = [
    "numbers"      => "5512345678",
    "message"      => "Tu código de verificación es: 847293",
    "country_code" => "52"
];

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "apikey: TU_API_KEY",
    "Content-Type: application/json"
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

$result = json_decode($response, true);

if ($httpCode === 200) {
    echo "SMS enviado: " . $result["message"];
} else {
    echo "Error: " . $result["message"];
}

Usa cURL nativo de PHP, habilitado en la mayoría de los hostings (SiteGround, Hostinger, DigitalOcean). Sin librerías adicionales.

Enviar SMS con Python

import requests

url = "https://api.smsmasivos.com.mx/sms/send"
headers = {
    "apikey": "TU_API_KEY",
    "Content-Type": "application/json"
}
payload = {
    "numbers": "5512345678",
    "message": "Tu cita es mañana 15 de marzo a las 10:00 AM. Confirma respondiendo SI.",
    "country_code": "52"
}

response = requests.post(url, json=payload, headers=headers)

if response.status_code == 200:
    print("SMS enviado:", response.json())
else:
    print("Error:", response.text)

Requisito: pip install requests (si no lo tienes). Compatible con Python 3.6+.

Enviar SMS con Node.js

const response = await fetch("https://api.smsmasivos.com.mx/sms/send", {
  method: "POST",
  headers: {
    "apikey": "TU_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    numbers: "5512345678",
    message: "Tu pago de $1,500.00 fue recibido. Folio: TXN-29384. Gracias.",
    country_code: "52"
  })
});

const data = await response.json();
console.log(data);

Usa fetch nativo (Node.js 18+). Sin dependencias externas.

Funciones avanzadas de la API

Una vez que dominas el envío básico, la API te permite hacer más:

Programar envíos

Agrega el campo date con formato YYYY-MM-DD HH:mm:ss para que el mensaje se envíe en una fecha y hora específica:

{
  "numbers": "5512345678",
  "message": "Recuerda: tu cita es mañana a las 10:00 AM.",
  "country_code": "52",
  "date": "2026-03-15 09:00:00"
}

Acortar URLs con tracking

Agrega "shorten_url": 1 y cualquier URL dentro de tu mensaje se acorta automáticamente. Cada clic se rastrea por contacto en tu panel de estadísticas.

{
  "numbers": "5512345678",
  "message": "Ve tu estado de cuenta: https://tusitio.com/cuenta/12345",
  "country_code": "52",
  "shorten_url": 1
}

Consultar tu saldo

Antes de un envío masivo, verifica que tengas créditos suficientes:

curl -X POST "https://api.smsmasivos.com.mx/credits/consult" \
  -H "apikey: TU_API_KEY" \
  -H "Content-Type: application/json"

Webhooks de confirmación de entrega

Configura un webhook para recibir notificaciones en tiempo real cuando cada SMS se entrega (o falla):

curl -X POST "https://api.smsmasivos.com.mx/webhook/add" \
  -H "apikey: TU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://tusitio.com/webhook/sms-entrega",
    "status": 1
  }'

Verificación OTP / 2FA

La API tiene un endpoint dedicado que genera, envía y valida códigos de verificación automáticamente. Soporta SMS, WhatsApp y llamada de voz como canales de entrega:

curl -X POST "https://api.smsmasivos.com.mx/protected/json/phones/verification/start" \
  -H "apikey: TU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "phone_number": "5512345678",
    "country_code": "52",
    "company": "MiEmpresa",
    "code_length": 6,
    "template": "a"
  }'

Después, valida el código que ingresó el usuario con POST /protected/json/phones/verification/check. La plataforma maneja intentos, expiración y reenvíos por ti. Más sobre verificación OTP →

Por qué usar una API de SMS mexicana

Si tu operación está en México, enviar SMS a través de una API local tiene ventajas concretas sobre alternativas internacionales como Twilio o MessageBird:

SMS MasivosTwilio
Precio por SMSDesde $0.25 MXN~$0.85 MXN (0.05 USD)
RutasDirectas con Telcel, Movistar, AT&T, AltánIntermediarios variables
Tasa de entrega99%Variable por ruta
SoporteEn español, horario MéxicoEn inglés, zona horaria US
FacturaciónCFDI 4.0 en pesos mexicanosInvoice en USD
ModeloPrepago, saldo que no expiraPrepago o postpago

La diferencia de precio no es menor: en un envío de 10,000 SMS, son $2,500 MXN vs ~$8,500 MXN. El mismo mensaje, al mismo destino.

Ver precios detallados →

Integraciones sin código

Si no quieres programar, la API de SMS Masivos está conectada con plataformas de automatización:

  • Zapier: Conecta con 5,000+ apps (CRM, e-commerce, formularios)
  • Make (Integromat): Flujos visuales con condicionales
  • Pabbly Connect: Alternativa económica a Zapier
  • N8n: Open source, self-hosted
  • GoHighLevel: Para agencias de marketing

También hay plugins nativos para Shopify y WooCommerce que automatizan recuperación de carritos abandonados, confirmaciones de pedido y notificaciones de envío.

Todas las integraciones disponibles →

Preguntas frecuentes

¿Necesito un número dedicado para enviar SMS por API?

No. Los mensajes se envían desde un número corto de 5 dígitos compartido. Si necesitas que aparezca el nombre de tu empresa como remitente, puedes contratar un remitente personalizado por separado.

¿Cuántos SMS puedo enviar por petición?

No hay límite estricto, pero recomendamos lotes de hasta 10,000 números por llamada para tiempos de respuesta óptimos.

¿Cuánto tarda en llegar un SMS enviado por API?

En condiciones normales, entre 3 y 10 segundos después de la petición. Las rutas directas con carriers mexicanos minimizan la latencia.

¿Puedo probar la API sin comprar créditos?

Sí. Usa el modo sandbox ("sandbox": 1) para simular envíos sin costo. También recibes créditos de prueba al crear tu cuenta.

¿La API soporta envíos a otros países?

No. Actualmente la cobertura es exclusiva para números mexicanos. Todos los envíos usan country_code "52" y se entregan a través de rutas directas con Telcel, Movistar, AT&T y Altán.

¿Dónde está la documentación completa?

La referencia con todos los endpoints, parámetros y respuestas está en app.smsmasivos.com.mx/api-docs/v2.

Empieza a enviar SMS desde tu sistema

Tu primera integración toma menos de 10 minutos. Crea tu cuenta, copia tu API key, y usa cualquiera de los ejemplos de esta guía.

Rutas directas con todos los carriers de México. 99% de entrega. Desde $0.25 MXN por SMS.

Crear cuenta y obtener mi API key →

Herramientas recomendadas

Estas son algunas de las herramientas que te pueden ayudar

No items found.