SMS - API


Inicio

Si eres un desarrollador puedes conectar tus aplicaciones a través de nuestro API de integración que te permitirá enviar mensajes de texto, consultar información de tus envíos y conocer tus créditos disponibles, entre otros.

Ingresa a la sección envía tu primer mensaje para aprender rápidamente cómo enviar mensajes de texto utilizando diferentes lenguajes de programación.

Ingresa a la sección REST/HTTP API para conocer en detalle todo lo relacionado al API de integración.

Envía tu primer mensaje

Enviar mensajes de texto a través del API de integración es muy fácil. Acá te mostraremos cómo hacerlo utilizando algunas herramientas y librerías que hemos desarrollado en varios lenguajes de programación. Si tu lenguaje no se encuentra en la lista, no te preocupes, sólo debes hacer un llamado HTTP POST como se muestra en esta sección.

Recibe tu primer mensaje

Recibir mensajes de texto a través de nuestra plataforma es muy fácil. Acá te mostraremos lo que necesitas para integrarlo facilmente con tus aplicaciones.

Recuerda

Lo primero que debes hacer es solicitar un código (ej. 4444) al cual llegarán los mensajes.

Para llevar acabo este proceso ponte en contacto con nosotros, y con gusto resolveremos todas tus dudas

Webhook

Es necesario que expongas un servicio web al cual haremos un llamado HTTP GET cada vez que recibas un mensaje. A continuación un ejemplo de la estructura de la url:

                    GET "http://www.yourdomain.com/some?from=3001111111&text=example&date=21-07-2014-23-23-59"
                 

En donde:

  • From: es el número celular del cual fue enviado
  • Text: el texto recibido.
  • Date: es la fecha en la que fue recibido el mensaje (formato : dd-MM-yyyy-HH-mm-ss)

REST/HTTP/API

El REST API te permite enviar mensajes y consultar información de tu cuenta a través de un navegador o cualquier cliente HTTP/S (en cualquier lenguaje de programación).

Tabla de Contenido

Autenticación

Todas las peticiones al REST API requieren autenticación Basic. Puedes ver varios ejemplos utilizando diferentes lenguajes de programación en la sección Envía tu primer mensaje.

Nota: Recuerda que tu usuario es el correo electrónico con el que te registraste y la contraseña se encuentra en el menú de Configuración (es diferente a la contraseña que utilizas para ingresar al sistema).

Formato

Utilizamos JSON para las peticiones y las respuestas. JSON es un formato de intercambio de información muy ligero que es fácil de escribir y leer tanto para humanos como para máquinas. JSON es más compacto que XML, más rápido de analizar y más fácil de interpretar.

Existen librerías JSON para prácticamente todos los lenguajes de programación. Puedes encontrar el listado completo al final de esta página.

Códigos de respuesta

Los siguientes son posibles códigos de respuesta HTTP/S que puede generar el sistema:

Código Nombre Descripción
Código Nombre Descripción
200 OK La petición fue exitosa y la información solicitada se encuentra en la respuesta HTTP/S
Código Nombre Descripción
400 Bad Request Información faltante o desconocida al hacer la petición
Código Nombre Descripción
401 Unauthorized No autorizado para hacer la petición
Código Nombre Descripción
404 Not found El recurso no fue encontrado.
Código Nombre Descripción
500 Server error Error interno del servidor. Por favor intenta nuevamente

HTTP POST - Enviar/Programar Mensaje

Para enviar un mensaje a uno o más celulares debes hacer un HTTP/S POST al siguiente URL:

https://www.elibom.com/messages

Parámetros

Los parámetros que debes especificar en el POST para enviar un mensaje son los siguientes:

Parámetro Descripción
to El número celular al que se le va a enviar el mensaje. Se pueden ingresar varios números separados por coma (,).
Parámetro Descripción
text El texto del mensaje. Nota: el mensaje no puede contener más de 160 caracteres.
Parámetro Descripción
scheduledDate Opcional. La fecha en la que se debe programar el mensaje. El formato debe ser yyyy-mm-dd hh:mm (p.e. 2014-02-1818 19:10). Si se omite, el mensaje se envía de inmediato.
campaign Opcional. Nombre o identificador de una campaña que puede contener uno o varios mensajes de texto (p.e. descuentos-para-mujeres). Es utilizado como una etiqueta.
                    { 
                        "to": "573002111111,583242111111",
                        "text": "Esto es una prueba",
                        "scheduleDate": "2014-02-18 19:10"
                    }
                

Respuesta

Si el envío es inmediato (sin el parámetro scheduleDate) y la petición es correcta, se recibirá un

deliveryToken:

{ "deliveryToken": "1-2347558688" }

Si el envío es programado y la petición es correcta, se recibrá un

scheduleId:

{ "scheduleId": "2376" }

Puedes ver varios ejemplos en diferentes lenguajes de programación consultando la sección Envía tu primer mensaje.

HTTP GET - Consultar Envío

Para consultar un envío específico, debes hacer un llamado GET al siguiente URL:

https://www.elibom.com/messages/{deliveryToken}

Donde {deliveryToken} es el valor retornado en el HTTP/S POST al enviar un mensaje.

Ejemplo de Respuesta

{
                    "deliveryId": "1-2347558688",
                    "numSent": 1,
                    "numFailed": 0,
                    "status": "finished",
                    "messages": [{
                        "id": 747465,
                        "user": {
                            "id": 2455,
                            "url": "https://www.elibom.com/users/2455"
                        },
                        "to": "573132111111",
                        "operator": "Claro (Colombia)",
                        "text": "Esto es una prueba",
                        "status": "sent",
                        "statusDetail": "sent",
                        "credits": 1.8,
                        "from": "2222",
                        "createdAt": "2013-06-24 10:13:00",
                        "sentAt": "2013-06-24 10:13:00"
                    }]
                }

Los posibles valores para status del envío (delivery) son:

Valor Descripción
Created El envío ha sido creado
Valor Descripción
Running El envío está en proceso
Valor Descripción
failed El envío falló
Valor Descripción
finished El envío terminó

Los posibles valores para status del mensaje son:

Valor Descripción
Sent El mensaje fue entregado
Valor Descripción
Failed El envío del mensaje falló
Valor Descripción
Pending El mensaje se encuentra pendiente

Los posibles valores para statusDetail son:

Valor Descripción
sent El mensaje fue entregado al operador
Valor Descripción
queued El mensaje está encolado
Valor Descripción
sending_error Error de envío
Valor Descripción
no_credits Sin créditos
Valor Descripción
invalid_destination Destino inválido
Valor Descripción
blocked El número está bloqueado
Valor Descripción
time_restriction El mensaje no se envió por restricción de horario
Valor Descripción
processed El mensaje aún está en proceso pero no sea recibido respuesta del operador
Valor Descripción
unknown Estado desconocido

HTTP GET - Consultar Envíos Programados

Para consultar los envíos que están programados debes hacer un llamado GET al siguiente URL:

https://www.elibom.com/schedules/scheduled

Ejemplo de Respuesta

[
                    { 
                      "id": 34,
                      "user": { "id": 45, "url": "https://www.elibom.com/users/45" },
                      "scheduledTime": "2013-05-23 10:23:00",
                      "creationTime": "2012-09-23 22:00:00",
                      "isFile": true,
                      "fileName": "test.xls",
                      "fileHasText": false,
                      "text": "Esto es una prueba" 
                    },
                    { 
                      "id": 35,
                      "user": { "id": 45, "url": "https://www.elibom.com/users/45" },
                      "scheduledTime": "2013-05-23 10:23:00",
                      "creationTime": "2012-09-23 22:00:00",
                      "isFile": false,
                      "destinations": "573002111111",
                      "text": "Esto es una prueba"
                    }
                ]

Nota: si el campo isFile es true, recibirás los campos fileName y fileHasText en vez del campo destinations.

HTTP GET - Consultar Envío Programado

Para consultar un envío programado debes hacer un llamado GET al siguiente URL:

https://www.elibom.com/schedules/{id}

Donde {id} es el id del envío programado que deseas consultar.

Ejemplo de Respuesta

{ 
                    "id": 34,
                    "user": { "id": 45, "url": "https://www.elibom.com/users/45" },
                    "scheduledTime": "2013-05-23 10:23:00",
                    "creationTime": "2012-09-23 22:00:00",
                    "status": "scheduled",
                    "isFile": true,
                    "fileName": "test.xls",
                    "fileHasText": false,
                    "text": "Esto es una prueba" 
                }

Nota: si el campo isFile es true, recibirás los campos fileName y fileHasText en vez del campo destinations.

Los posibles valores para status son:

Valor Descripción
scheduled El envío está programado
Valor Descripción
executed El envío ya fue ejecutado

HTTP DELETE - Cancelar Envío Programado

Para cancelar un envío programado debes hacer un llamado DELETE al siguiente URL:

https://www.elibom.com/schedules/{id}

Donde {id} es el id del envío programado que deseas cancelar.

Este llamado no devuleve ninguna respuesta en el cuerpo. Si el envío programado fue cancelado correctamente recibirás un status 200 OK. Si el envío no existe recibirás un 404 NOT FOUND. Si el envío ya fue ejecutado recibirás un status 409 CONFLICT.

HTTP GET - Consultar Cuenta

Para consultar la información de tu cuenta debes hacer un llamado GET al siguiente URL:

https://www.elibom.com/account

Ejemplo de Respuesta

{
                    "name": "Nombre de la cuenta",
                    "credits", 10.0,
                    "owner": {
                        "id": 2455,
                        "url": "https://www.elibom.com/users/2455"
                    }
                }

HTTP GET - Consultar Usuarios

Para consultar la información de los usuarios registrados en tu cuenta debes hacer un llamado GET al siguiente URL:

https://www.elibom.com/users/

Ejemplo de Respuesta

[
                    {
                        "id": 222,
                        "name": "Usuario 1",
                        "email": "usuario1@tudominio.com",
                        "status": "active"
                    },
                    {
                        "id": 223,
                        "name": "Usuario 2",
                        "email": "usuario2@tudominio.com",
                        "status": "invited"
                    }
                ]

Los posibles valores para status son:

Valor Descripción
active El usuario está activo
Valor Descripción
invited El usuario ha sido invitado pero no ha activado la cuenta

HTTP GET - Consultar Usuario

Para consultar la información de un usuario registrado en tu cuenta debes hacer un llamado GET al siguiente URL:

https://www.elibom.com/users/{id}

Donde {id} es el id del usuario que deseas consultar.

Ejemplo de Respuesta

{
                    "id": 222,
                    "name": "Usuario 1",
                    "email": "usuario1@tudominio.com",
                    "status": "active"
                }

Los posibles valores para status son:

Valor Descripción
active El usuario está activo
Valor Descripción
invited El usuario ha sido invitado pero no ha activado la cuenta
Valor Descripción
deleted El usuario ha sido eliminado