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
Este endpoint se utiliza para mensajes a un destino único.
Atributos del cuerpo
| Campo | Tipo | Descripción | Valor por defecto | Opcional | Comentarios |
|---|---|---|---|---|---|
| appOrigin | string | Origen desde donde se envía la solicitud | ninguno | No | |
| url | string | url for use in the message | none | Sí | Para usar una url en un mensaje debe de ser enviada como variable, por ejemplo: Hola {{url}} |
| campaign_external_id | string | Id de campaña externa | ninguno | Sí | |
| senderId | string | Código corto para usar | ninguno | No | |
| destination | array | Número para enviar el mensaje. Ver Definición de destinos | ninguno | No | |
| coding | int | Codificación de mensajes a utilizar. Ver Definición de codificación | 0 | Sí | |
| content | string | Contenido del mensaje (máx. 500 caracteres) | ninguno | No | |
| priority | int | Prioridad del mensaje (un valor más alto indica una prioridad más alta) Ver Definición de Prioridad | ninguno | Sí | |
| validityPeriod | int | Período válido en horas para recibir DLR | ninguno | No | |
| obfuscated | boolean | Determinar si cifrar o no el mensaje | false | Sí | |
| dlr | boolean | Determina si se recibe o no DLR | false | Sí | |
| dlrWebhook | string | URL del webhook para enviar el evento DLR | ninguno | No | Solo requerido cuando dlr está habilitado |
| dlrMethod | string | Método de webhook para enviar eventos DLR | ninguno | No | - 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"}'
| Código | Descripción |
|---|---|
| 200 | Exitoso |
{
"message_id": "8fe793e2-3a5e-452e-a92a-363666248098"
}
Respuestas del servidor.
Send SMS Batch
Este endpoint se utiliza para enviar mensajes de baja prioridad a más de un destino.
Atributos requeridos
| Campo | Tipo | Descripción |
|---|---|---|
| Archivo | .json | Archivo 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:
| Code | Description |
|---|---|
| 200 | Exitoso con retorno de datos |
| 201 | Exitoso sin retorno de datos |
| 204 | Exitosos 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:
Atributos Requeridos
| Campo | Tipo | Descripción | Ejemplo |
|---|---|---|---|
| mo_url | string | URL para reenviar el MO | https://YOUR_DOMAIN/MO_API |
| Código | Descripción |
|---|---|
| 200 | OK |
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.
| Coding | Sender ID | Conjunto de caracteres | Bits por caracter | Caracteres por mensaje | Max per Concat. Part |
|---|---|---|---|---|---|
| 0 Default | Short Code long Code | ASCII | 7 | 160* | 153 |
| 0 Default | 8XX (Toll-Free) | GSM | 7 | 160* | 153 |
| 1 | Short Code long Code | ASCII | 8** | 140** | 136** |
| 1 | 8XX (Toll-Free) | Latin-9 | 8 | 140 | 134 |
| 3 | All | latin-1 | 8 | 140 | 134 |
| 8 | All | UTF-16 | 16 | 70 | 67 |
Prioridad
| Prioridad | Descripción | Valor a usar |
|---|---|---|
| Nivel 0 | Prioridad más baja. Se recomienda establecer este valor en el proceso masivo. | 0 |
| Nivel 1 | Este valor debe usarse para el flujo OTP | 1 |
| Nivel 2 | Prioridad Intermedia | 2 |
| Nivel 3 | Alta prioridad | 3 |
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