Desarrolladores

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
200 OK La petición fue exitosa y la información solicitada se encuentra en la respuesta HTTP/S
400 BAD REQUEST Información faltante o desconocida al hacer la petición
401 UNAUTHORIZED No autorizado para hacer la petición
404 NOT FOUND El recurso no fue encontrado.
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 (,).
text El texto del mensaje. Nota: el mensaje no puede contener más de 160 caracteres.
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.
{ 
    "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
running El envío está en proceso
failed El envío fallo
finished El envío termino

Los posibles valores para status del mensaje son:

Valor Descripción
sent El mensaje fue entregado
failed El envío del mensaje falló
pending El mensaje se encuentra pendiente

Los posibles valores para statusDetail son:

Valor Descripción
sent El mensaje fue entregado al operador
queued El mensaje está encolado
sending_error Error de envío
no_credits Sin créditos
invalid_destination Destino inválido
blocked El número está bloqueado
time_restriction El mensaje no se envió por restricción de horario
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
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
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
invited El usuario ha sido invitado pero no ha activado la cuenta
deleted El usuario ha sido eliminado