Guía rápida

De cero a tu primera integración en 5 minutos. Elige tu flujo, ya sea verificar usuarios o enviar notificaciones.

Requisitos

  1. Una cuenta activa en tu panel con saldo disponible.
  2. Tu API Key desde la sección Integraciones del panel. Si aún no la tienes, revisa Autenticación.

1. Autentica

Comprueba tu llave consultando el saldo. Todas las peticiones llevan el header apikey:

curl -X GET https://api.smsmasivos.com.mx/credits/consult \
  -H "apikey: TU_API_KEY"

Guarda tu llave en una variable de entorno para no exponerla: export API_KEY="tu_llave".

2. Elige tu flujo

El endpoint correcto depende de qué envías. Elige tu caso antes de copiar código:

Para códigos de verificación, login, 2FA o confirmación de identidad, usa el producto OTP. Sin costo extra sobre un SMS normal:

  • Entrega con prioridad de red, en segundos.
  • SMS, WhatsApp o voz con un solo parámetro: el botón "No recibí el código" de tu app repite la llamada con otro channel y el mismo código cubre los números que no reciben SMS. WhatsApp sin cuenta de Meta.
  • Cero infraestructura de códigos: la generación, expiración, intentos y bloqueo se manejan por ti.
  • Solo se cobra el envío: crear, reenviar o rotar el código descuenta un mensaje de tu saldo (el mismo precio, cualquier canal). Verificar, consultar estado e invalidar son gratis, sin límite de llamadas.

Son 2 pasos: enviar el código y verificarlo.

Paso 1: envía el código

POST /v2/otp genera y envía el código. Los campos obligatorios son phone_number, country_code, company y message — los mandas siempre igual; para elegir canal solo cambias channel.

curl -X POST https://api.smsmasivos.com.mx/v2/otp \
  -H "Content-Type: application/json" \
  -H "apikey: $API_KEY" \
  -d '{
    "phone_number": "5512345678",
    "country_code": "52",
    "company": "Mi Empresa",
    "message": "{{code}} es tu codigo de verificacion de {{company}}. No lo compartas."
  }'

Paso 2: verifica el código

Cuando el usuario ingresa el código que recibió, valídalo con POST /v2/otp/verify:

curl -X POST https://api.smsmasivos.com.mx/v2/otp/verify \
  -H "Content-Type: application/json" \
  -H "apikey: $API_KEY" \
  -d '{
    "phone_number": "5512345678",
    "country_code": "52",
    "code": "483920"
  }'

Si el status HTTP es 200, el número quedó verificado. Eso es todo. Si algo falla, la respuesta trae el porqué en hint y el siguiente paso en next.

Guía completa del producto, mensajes y opciones del código en Verificación OTP.

Confirma la entrega

Consulta el detalle de una campaña con POST /reports/details usando su campaign_id, o genera un reporte con POST /reports/generate para ver entregados, fallidos y pendientes.

Para recibir el estatus de cada mensaje en tiempo real (en lugar de consultarlo), configura un webhook de confirmación de entrega. También puedes recibir por webhook las respuestas de tus clientes.

Un estatus "Entregado" del operador no siempre garantiza que el mensaje llegó a la bandeja. Los filtros de las operadoras pueden bloquear contenido aunque reporten entrega. Reduce ese riesgo siguiendo las Buenas prácticas de envío.

Siguientes pasos