API REST SMS México.
Sin agregadores.

Rutas directas a Telcel, Movistar, AT&T y Altán. CFDI 4.0, docs en español y 8 mensajes prueba sin tarjeta.

8 mensajes prueba. Sin tarjeta.

POST /v2/send
99%
entrega
142ms
response
4
carriers MX
DLR · msg_8f3a2c 1.8s
Delivered · Telcel +52 55 1234 5678
99%
Entrega
en prod
<2s
Latencia
4
Carriers MX

4 endpoints. Toda la API.

REST + JSON. Sin SDK obligatorio.

core
POST /v2/send

Enviar SMS

JSON to + body. Devuelve message_id.

GET /v2/status/{id}

Estado

DLR del carrier: queued, delivered, failed.

GET /v2/balance

Saldo

Créditos + alertas low-balance via webhook.

WH webhooks

Webhooks

JSON: delivered, failed, reply.

Copia, pega, envía.

5 lenguajes.

curl -X POST https://api.smsmasivos.com.mx/v2/send \ -H "Authorization: Bearer $SMS_KEY" \ -H "Content-Type: application/json" \ -d '{"to":"+5215512345678","body":"Tu código: 8421"}'
import requests, os r = requests.post( "https://api.smsmasivos.com.mx/v2/send", headers={"Authorization": f"Bearer {os.environ['SMS_KEY']}"}, json={"to": "+5215512345678", "body": "Tu código: 8421"}, ) print(r.json()) # {"id":"msg_8f3a2c","status":"queued"}
const r = await fetch("https://api.smsmasivos.com.mx/v2/send", { method: "POST", headers: { "Authorization": `Bearer ${process.env.SMS_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ to: "+5215512345678", body: "Tu código: 8421" }), }); console.log(await r.json());
$ch = curl_init("https://api.smsmasivos.com.mx/v2/send"); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => [ "Authorization: Bearer " . getenv("SMS_KEY"), "Content-Type: application/json", ], CURLOPT_POSTFIELDS => json_encode([ "to" => "+5215512345678", "body" => "Tu código: 8421", ]), ]); echo curl_exec($ch);
body, _ := json.Marshal(map[string]string{ "to": "+5215512345678", "body": "Tu código: 8421", }) req, _ := http.NewRequest("POST", "https://api.smsmasivos.com.mx/v2/send", bytes.NewBuffer(body)) req.Header.Set("Authorization", "Bearer "+os.Getenv("SMS_KEY")) req.Header.Set("Content-Type", "application/json") resp, _ := http.DefaultClient.Do(req)

Pay-as-you-go MXN. CFDI 4.0.

Volumen Precio/SMS Inversión
500+ $0.90 MXN $450
1,000+ $0.77 MXN $770
30,000+ $0.63 MXN $18,900
80,000+ $0.47 MXN $37,600
200,000+ desde $0.13 MXN cotizar

+ IVA. SPEI / Tarjeta / PayPal.

Incluido

  • 8 mensajes prueba
  • DLRs + webhooks
  • Soporte CDMX
  • CFDI 4.0

Por qué los devs MX migran.

Lo que cambia es lo que pasa después del POST.

SMS Masivos Twilio Vonage
Rutas a carriers MX Directas Agregadas Agregadas
Facturación CFDI 4.0 MXN USD, sin CFDI USD, sin CFDI
Soporte CDMX humano Ticket EN Chatbot EN
Latencia MX <2s prom. Variable Variable

Preguntas de implementación

¿Puedo probar la API sin tarjeta?
Sí. 8 mensajes de prueba + tu API key al crear cuenta. Sin tarjeta, sin demo, sin contrato.
¿Cómo migro desde Twilio o Vonage?
Cambias el endpoint base, generas API key, y los DLRs llegan a tu webhook actual. Payload similar (to + body). Docs español.
¿Qué pasa si un mensaje no se entrega?
Recibes DLR con el error del carrier. Reintentos automáticos en fallas de red. 99% en prod.
¿Qué rate limit soporta?
Sin hard throttle. Picos 1,000+ TPS. Latencia <2s.
¿Solo cobertura México?
Sí. 4 carriers MX + MVNOs. Internacional: usa otro proveedor. Nuestro enfoque: entrega local 99% + CFDI.

Tu API key en 5 minutos

8 mensajes prueba. Sin tarjeta.

Sin contratos. Sin USD.