SENDO SMS API

API de envío de mensajes SENDO SMS para integrar tus eventos en flujos de backend, de aplicaciones de lado del cliente o automatizaciones programadas. Envía mensajes SMS a un cliente o a varios clientes en la misma petición, define una URL de callback para recibir el estado de cada evento.


Send SMS

POSThttps://api.sendo.cloud/api/sms/send

Este endpoint se utiliza para mensajes a un destino único.

Atributos del cuerpo


CampoTipoDescripciónValor por defectoOpcionalComentarios
appOriginstringOrigen desde donde se envía la solicitudningunoNo
urlstringurl for use in the messagenonePara usar una url en un mensaje debe de ser enviada como variable, por ejemplo: Hola {{url}}
campaign_external_idstringId de campaña externaninguno
senderIdstringCódigo corto para usarningunoNo
destinationarrayNúmero para enviar el mensaje. Ver Definición de destinosningunoNo
codingintCodificación de mensajes a utilizar. Ver Definición de codificación0
contentstringContenido del mensaje (máx. 500 caracteres)ningunoNo
priorityintPrioridad del mensaje (un valor más alto indica una prioridad más alta) Ver Definición de Prioridadninguno
validityPeriodintPeríodo válido en horas para recibir DLRningunoNo
obfuscatedbooleanDeterminar si cifrar o no el mensajefalse
dlrbooleanDetermina si se recibe o no DLRfalse
dlrWebhookstringURL del webhook para enviar el evento DLRningunoNoSolo requerido cuando dlr está habilitado
dlrMethodstringMétodo de webhook para enviar eventos DLR ningunoNo- Solo requerido cuando dlr está habilitado
- Solo se permite el método POST

NOTA: Tenga en cuenta que la URL que introduzca en el cuerpo de la solicitud se acortará al siguiente formato: d.sendo.cloud/v4cv0. NOTE: Cuando se utiliza la variable url, el campo url debe enviarse para evitar contenido no legible.

Cuerpo de solicitud.


curl -X 'POST'  
 'http://35.185.103.32:3000/api/sms/send'
-H 'accept: application/json'
-H 'Content-Type: application/json'
-d '{
"appOrigin": "https://my.domain.com or My APP",
"campaign_external_id": "TEST",
"senderId": "3636",
"destination": 9999999,
"coding": 0,
"content": "Hello world",
"priority": 0,
"validityPeriod": 0,
"obfuscated": false,
"dlr": false,
"dlrWebhook": "https://my.domain.com/receive",
"dlrMethod": "POST"
}'

Respuesta .
CódigoDescripción
200Exitoso
{
  "message_id": "8fe793e2-3a5e-452e-a92a-363666248098"
}

Respuestas del servidor.


Send SMS Batch

POSThttps://api.sendo.cloud/api/sms/send-batch

Este endpoint se utiliza para enviar mensajes de baja prioridad a más de un destino.

Atributos requeridos


CampoTipoDescripción
Archivo.jsonArchivo a cargar, el formato debe ser JSON

Formato de archivo

{
"appOrigin": "YOURBRAND-APP",
"senderId": "CL 3333 MV 3636",
"destinations": [593919191919],
"coding": 0,
"content": "Lorem ipsum dolor sit amet,",
"validityPeriod": 2,
"dlr": false,
"obfuscated": true,
"callback_url": "https://fine-gray-seal-hose.cyclic.app/response"
}

Cuerpo de solicitud.


curl -X 'POST' 
  'http://35.185.103.32:3000/api/sms/send-batch' 
  -H 'accept: application/json' 
  -H 'Content-Type: multipart/form-data' 
  -F 'file=@fileName.json;type=application/json'

Respuestas.

{
  "bulkId": "8fe793e2-3a5e-452e-a92a-363666248098"
}

Respuestas del servidor.


Webhook

Callback response

Método   POST

Para recibir los id de los mensajes generados por la transacción en el request establecer el campo callback_url con una URL válida Send SMS Batch API

El formato del id es generado por el estándar UUID v4.

Respuesta Callback

"Messages"
  {
  "status": string,
  "bulk_id": string,
  "messages": [Array]
}

Ejemplo de respuesta

"Messages"
  {
  "status": "success",
  "bulk_id": "eacb2a06-b218-4503-855e-1f0f6202bd07",
  "messages": [
     {
      "destination": "593919191919",
      "id": "d1989cc0-9fdc-4f0d-81b4-7e4ab147ed0b"
    },
     {
      "destination": "593698636989",
      "id": "17bc3fb3-8404-4736-b599-83d80d6bf47c"
    },
     {
      "destination": "777777",
      "id": null,
      "error": "777777 is not a valid phone number"
    }
  ]
}

El webhook espera una respuesta HTTP con un código de respuesta 200 sin cuerpo.

DLR response

Para recibir una actualización final del estado del mensaje establecer la propiedad dlr, dlrWebhook y dlrMethod en Send SMS API o Send SMS Batch API

Respuesta DLR

"MessageBatchHook"
 {
    "status": string,
    "bulk_id": string,
    "message_id": string
}

Ejemplo de respuesta

"MessageBatchHook"
 {
    "status": "success",
    "bulk_id": "0d284743-99e9-43af-b24d-dbea8ee82541",
    "message_id": "d3a90127-c26e-4238-a8fc-3d130a557493"
}

El webhook espera una respuesta HTTP que puede ser:

CodeDescription
200Exitoso con retorno de datos
201Exitoso sin retorno de datos
204Exitosos sin retorno de datos

El protocolo SMPP soporta la entrega de reportes (DLR) para determinar el resultado del mensaje enviado. Cada código de error devuelto, indicará el estado al momento de intentar entregar el mensaje, y están asociados tanto al SMS Gateway, así como también a la plataforma SMSC. Ver más.

Reenvío de MO

Si desea recibir MO de sus clientes, puede enviar una solicitud al siguiente endpoint:

POSThttps://api.sendo.cloud/api/mo-forwarding

Atributos Requeridos


CampoTipoDescripciónEjemplo
mo_urlstringURL para reenviar el MOhttps://YOUR_DOMAIN/MO_API

CódigoDescripción
200OK

Estructura MO

La siguiente estructura se enviará a la URL proporcionada en el campo mo_url.

{
short_code: "001"
from: "593999999999"
message: "Hello World"
application_id: 0
}

El endpoint brindado deberá de responder con un código de estado 200 para confirmar la recepción del MO.


Definiciones

Codificación

Al enviar mensajes, es importante considerar la codificación de los datos tanto para la recepción como para el envío. Los valores estándar de codificación se indican a continuación.

CodingSender IDConjunto de caracteresBits por caracterCaracteres por mensajeMax per Concat. Part
0 DefaultShort Code long CodeASCII7160*153
0 Default8XX (Toll-Free)GSM7160*153
1Short Code long CodeASCII8**140**136**
18XX (Toll-Free)Latin-98140134
3Alllatin-18140134
8AllUTF-16167067

Prioridad

PrioridadDescripciónValor a usar
Nivel 0

Prioridad más baja. Se recomienda establecer este valor en el proceso masivo.

0
Nivel 1Este valor debe usarse para el flujo OTP1
Nivel 2Prioridad Intermedia2
Nivel 3Alta prioridad3

Destinos

Los números de destinos siguen el siguiente patrón:
[código de país] [número de suscriptor incluído el código de área]
Longitud máxima: 15 dígitos.

Ejemplos: 593123456789, 505123456789