logo

Paso 2 - Enviar un SMS

Last update: 2 months ago by Yered Rios

Con el token obtenido en el paso anterior, realiza un POST al endpoint de mensajería incluyendo el Bearer token en el header

Authorization
.


URLhttps://gateway.broadcastermobile.com/services/messaging
METHODPOST
HEADERSContent-Type: application/json
Authorization: Bearer [access_token]

Body

{
"msisdn": [numeric][required],
"dial": [string][required],
"message": [String][required],
"country": [string][recommended],
"carrier": [String][optional],
"mask": [String][optional],
"dataCoding": [String][optional],
"dlr": [Boolean][optional],
"schedule": [String][optional][format: ISO-8601],
"tag": [String][optional],
"msgClass": [numeric][optional],
"optionals": [String][optional]
}

ParámetrosDescripciónObligatorio
msisdnNúmero de teléfono destino en formato internacional, sin signo +. Ej: 5215512345678.
dialShortcode o número de origen. Solo dígitos. Ej: "5217000".
messageTexto del SMS a enviar.
countryCódigo de país ISO 3166-1 alpha-2. Ej: "MX", "CO", "PE". Envíalo siempre que puedas: mejora la velocidad de resolución del operador y reduce errores -40.Recomendado
carrierNombre del operador destino. Si se omite, el sistema lo detecta automáticamente.No
maskMáscara alfanumérica de remitente. Requiere capacidad habilitada en tu cuenta.No
dataCodingCodificación del mensaje. Omite este campo para detección automática de Unicode.No
dlrtrue para solicitar acuse de entrega. Default: false. Ver Acuse de Entrega (DLR).No
scheduleFecha/hora de envío programado en formato ISO 8601. Debe ser una fecha futura.No
tagEtiqueta libre para identificar el envío en tus reportes.No
msgClassClase del mensaje. Caso de uso avanzado.No
optionalsJSON en formato string para opciones avanzadas (tipo de DLR, RCS fallback, etc.).No

No envíes apiKey en el body. El sistema lo ignora y lo toma del token automáticamente — no necesitas incluirlo.


Ejemplo

{
"msisdn": 5215512345678,
"dial": "5217000",
"message": "Tu código de verificación es: 948271",
"country": "MX"
}

Respuesta exitosa

{
"code": 0,
"mailingId": 4823910,
"result": "Applied",
"scheduledAt": null
}

CampoTipoDescripción
codenúmero0 = exitoso. Valor negativo = error.
mailingIdnúmeroID único del mensaje aceptado. Úsalo para rastrear el envío.
resultstring"Applied" cuando el mensaje fue aceptado.
scheduledAtstringFecha programada (si usaste schedule). null en envíos inmediatos.
messagestringDescripción del error (presente cuando code ≠ 0).
hintstringDetalle adicional del error para facilitar el diagnóstico.

Todos los endpoints devuelven HTTP 200 OK. El resultado real del envío se indica dentro del body con el campo code.


Acuse de Entrega (DLR)

Si quieres saber si el SMS llegó al destinatario, activa el acuse de entrega agregando dlr: true y el campo optionals con registeredDelivery:

{
"msisdn": 5215512345678,
"dial": "5217000",
"message": "Hola, tu pedido fue enviado",
"country": "MX",
"dlr": true,
"optionals": "{\"registeredDelivery\":1}"
}

Reglas del DLR

  • Si envías
    dlr: true
    , el campo
    optionals
    debe incluir
    registeredDelivery
    con un valor válido.
  • Si incluyes
    registeredDelivery
    en
    optionals
    ,
    dlr
    debe ser
    true
    .

Valores válidos de registeredDelivery

ValorSignificado
1Notifica solo al entregar exitosamente.
5Notifica al entregar o al fallar.
11Notifica en cualquier cambio de estado.
API externa — Anterior
Paso 1 - Obtener el Token
Siguiente
Códigos de error