Enviar SMS

**¿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. Para verificación usa [`/otp/send`](#tag/2fa). Envía un mensaje SMS a uno o múltiples destinatarios. El mensaje se envía sin acentos para garantizar compatibilidad con todas las operadoras.

post/sms/send

Authorizations

apikeystringheaderrequired

Body

application/json

numbersstringrequired

Números de teléfono del destinatario, separados por coma. Solo México (country code 52).

messagestringrequired

Contenido del mensaje SMS. No incluir acentos.

senderstring

Sender ID alfanumérico (máx 11 caracteres). Si no se especifica, usa el default de la cuenta.

country_codestring

Código de país (default: 52 para México)

datestring

Fecha programada para envío diferido (formato: YYYY-MM-DD HH:MM:SS)

sandboxenum

1=modo sandbox (no consume créditos, no envía realmente). Default: 0.

enum:01
channelinteger

Canal de entrega (default: 1)

shorten_urlenum

1=acortar URLs en el mensaje automáticamente

enum:01
url_to_shortenstring· uri

URL específica a acortar (si no se especifica, se acortan todas las URLs del mensaje)

read_confirmationarray<any>

Configuración de confirmación de lectura

Response

200Mensaje enviado exitosamente
successboolean
messagestring

Mensaje de estado

statusinteger
codestring

Código de respuesta

total_messagesinteger

Número de mensajes enviados

referencesarray<object>

IDs de referencia de los mensajes

▸ Show array item attributes▾ Hide array item attributes
referencestring

ID único de referencia del mensaje

numberstring

Número de teléfono del destinatario

creditnumber

Créditos consumidos

campaignIdinteger

ID de campaña (solo cuando showCampaignId=true)

400Error de validación o lógica de negocio
successboolean

Siempre `false` para respuestas de error

messagestring

Descripción del error en español

statusinteger

Código HTTP de la respuesta

codestring

Código de error estructurado (`{dominio}_{número}`). Identifica de forma única la causa del error para manejo programático.

401No autorizado — API Key no provista, inválida o expirada
successboolean

Siempre `false`

messagestring

Descripción del error de autenticación en español

statusinteger

Código HTTP

codestring

Código de error de autenticación (`auth_01`, `auth_05`, `auth_06`, `auth_07`, `auth_99`)

403Prohibido — La dirección IP no está autorizada para acceder (IP whitelist)
successboolean

Siempre `false`

messagestring

Descripción del error

statusinteger

Código HTTP

codestring

Código de error: `auth_04` (IP no autorizada en whitelist)

429Demasiadas peticiones — Límite de rate limit excedido (100 mensajes/segundo producción, 100/día sandbox)
successboolean

Siempre `false`

messagestring

Descripción del error

statusinteger

Código HTTP

codestring

Código de error de rate limit

500Error interno del servidor
successboolean

Siempre `false`

messagestring

Descripción del error

statusinteger

Código HTTP

codestring

Código de error interno

request_idstring· uuid

Identificador único de la petición. Inclúyelo al contactar a soporte.