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).
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).
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.
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 |
Para enviar un mensaje a uno o más celulares debes hacer un HTTP/S POST al siguiente URL:
https://www.elibom.com/messages
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"
}
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.
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.
{
"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 |
Para consultar los envíos que están programados debes hacer un llamado GET al siguiente URL:
https://www.elibom.com/schedules/scheduled
[
{
"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.
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.
{
"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 |
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.
Para consultar la información de tu cuenta debes hacer un llamado GET al siguiente URL:
https://www.elibom.com/account
{
"name": "Nombre de la cuenta",
"credits", 10.0,
"owner": {
"id": 2455,
"url": "https://www.elibom.com/users/2455"
}
}
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
[
{
"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 |
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.
{
"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 |