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.
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.
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.
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
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:
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 |
---|---|---|
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 |
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 (,). |
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"
}
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 |
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 |
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 |
Valor | Descripción |
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 |
Valor | Descripción |
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 |
Valor | Descripción |
invited | El usuario ha sido invitado pero no ha activado la cuenta |
Valor | Descripción |
deleted | El usuario ha sido eliminado |