Enviar SMS

Envía un solo SMS con los parámetros en el query string. Recomendamos usar la versión POST para no exponer tu API Key ni el contenido del mensaje en la URL.
get/sms/send

Este método expone tu API Key y el mensaje en la URL. Usa la versión POST.

Autorización

apikeystringheaderrequerido

Parámetros de consulta

numbersstringrequerido
Números de teléfono destino separados por coma (10 dígitos cada uno, sin código de país; máximo 500)
messagestringrequerido
Contenido del mensaje SMS
senderstring
Remitente alfanumérico (máx 11 caracteres). Si no se especifica, usa el predeterminado de la cuenta.
country_codestring
Código de país (por defecto: 52 para México)

Respuesta

200Operación exitosa
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
▸ Ver atributos del elemento▾ Ocultar atributos del elemento
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. Códigos posibles: sms_02 (mensaje demasiado largo), sms_04 (número con formato incorrecto), sms_15 (más de 500 destinatarios), sms_16 (número repetido), sms_34 (contenido rechazado). Si tu integración aún requiere el comportamiento anterior, envía el header X-Api-Http-Semantics: 0 y la respuesta llegará con HTTP 200 y el error en el cuerpo.
successboolean
Siempre false para respuestas de error
messagestring
Descripción del error en español
statusinteger
Campo legado dentro del cuerpo. Conserva su valor histórico (normalmente 200) y NO coincide con el status HTTP real: la respuesta puede llegar con HTTP 400/402/404/409/502 mientras este campo sigue en su valor legado. Usa el status HTTP de transporte y el code, no este campo.
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
Campo legado en el cuerpo. Es el status HTTP de transporte; para autenticación coincide con el status real (401). Usa el status HTTP y el code, no este campo.
codestring
Código de error de autenticación (auth_01, auth_03, auth_05)
402Saldo insuficiente para completar el envío (code: sms_07). El cuerpo conserva code: sms_07 para compatibilidad.
successboolean
Siempre false para respuestas de error
messagestring
Descripción del error en español
statusinteger
Campo legado dentro del cuerpo. Conserva su valor histórico (normalmente 200) y NO coincide con el status HTTP real: la respuesta puede llegar con HTTP 400/402/404/409/502 mientras este campo sigue en su valor legado. Usa el status HTTP de transporte y el code, no este campo.
codestring
Código de error estructurado ({dominio}_{número}). Identifica de forma única la causa del error para manejo programático.
403Prohibido: La dirección IP no está autorizada para acceder (IP whitelist)
successboolean
Siempre false
messagestring
Descripción del error
statusinteger
Campo legado en el cuerpo. Puede NO coincidir con el status HTTP real: para auth_06 y auth_07 este campo vale 401 (valor histórico congelado) mientras el status HTTP de transporte es 403. Usa el status HTTP y el code, no este campo.
codestring
Código de error: auth_04 (IP no autorizada), auth_06 (cuenta deshabilitada), auth_07 (admin inválido)
429Demasiadas peticiones: Límite de rate limit excedido (100 mensajes/segundo producción, 100 envíos de prueba por día en 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. Códigos posibles: sms_09 (crear campaña), sms_12/sms_22 (error inesperado), sms_32/sms_33 (acortado de URL).
successboolean
Siempre false
messagestring
Descripción del error
statusinteger
Campo legado dentro del cuerpo. Conserva su valor histórico (p.ej. 200 o 401 según el endpoint) y NO coincide con el status HTTP real (500). Usa el status HTTP de transporte y el code, no este campo.
codestring
Código de error interno (p.ej. server_01, o auth_99 en un error interno de autenticación)
request_idstring· uuid
Identificador único de la petición. Inclúyelo al contactar a soporte.
502Falla aguas abajo al entregar los mensajes (code: sms_23/sms_41). Reintenta con backoff.
successboolean
Siempre false para respuestas de error
messagestring
Descripción del error en español
statusinteger
Campo legado dentro del cuerpo. Conserva su valor histórico (normalmente 200) y NO coincide con el status HTTP real: la respuesta puede llegar con HTTP 400/402/404/409/502 mientras este campo sigue en su valor legado. Usa el status HTTP de transporte y el code, no este campo.
codestring
Código de error estructurado ({dominio}_{número}). Identifica de forma única la causa del error para manejo programático.