Índice
Guía sobre el uso de la API de Esendex ..................................................... Error! Bookmark not defined.
Descripción general.................................................................................... Error! Bookmark not defined.
Principios de REST ...................................................................................... Error! Bookmark not defined.
Métodos de HTTP ....................................................................................... Error! Bookmark not defined.
Inicio rápido ............................................................................................... Error! Bookmark not defined.
Utilización de la Esendex API ..................................................................... Error! Bookmark not defined.
Envío de mensajes ..................................................................................... Error! Bookmark not defined.
Recepción de mensajes .............................................................................. Error! Bookmark not defined.
Autenticación ............................................................................................. Error! Bookmark not defined.
Autenticación básica .................................................................................. Error! Bookmark not defined.
Autenticación de sesión ............................................................................. Error! Bookmark not defined.
Representaciones de datos ........................................................................ Error! Bookmark not defined.
Representaciones paginadas ..................................................................... Error! Bookmark not defined.
Message Header ........................................................................................ Error! Bookmark not defined.
Account ...................................................................................................... Error! Bookmark not defined.
Account Settings ........................................................................................ Error! Bookmark not defined.
Contact ....................................................................................................... Error! Bookmark not defined.
Contact Groups .......................................................................................... Error! Bookmark not defined.
Session ....................................................................................................... Error! Bookmark not defined.
Recursos ..................................................................................................... Error! Bookmark not defined.
Session ....................................................................................................... Error! Bookmark not defined.
Constructor ................................................................................................ Error! Bookmark not defined.
Message Dispatcher ................................................................................... Error! Bookmark not defined.
Inbox .......................................................................................................... Error! Bookmark not defined.
Recuperar mensajes de la bandeja de entrada ......................................... Error! Bookmark not defined.
Recuperar mensajes de la Inbox para una Account ................................... Error! Bookmark not defined.
Actualizar estado de Leído/No leído para un mensaje de la Inbox ........... Error! Bookmark not defined.
Eliminar mensaje de la Inbox ..................................................................... Error! Bookmark not defined.
Message Batches........................................................................................ Error! Bookmark not defined.
Recuperar Message Batches ...................................................................... Error! Bookmark not defined.
Recuperar Messages Batches para una Account ....................................... Error! Bookmark not defined.
Recuperar un Message Batch sencillo ....................................................... Error! Bookmark not defined.
Recuperar Message Headers para un Message Batch ............................... Error! Bookmark not defined.
Message Headers ....................................................................................... Error! Bookmark not defined.
Recuperar mensajes enviados ................................................................... Error! Bookmark not defined.
Recuperar un mensaje individual .............................................................. Error! Bookmark not defined.
Access Check .............................................................................................. Error! Bookmark not defined.
Accounts ..................................................................................................... Error! Bookmark not defined.
Recuperar Accounts ................................................................................... Error! Bookmark not defined.
Recuperar Account..................................................................................... Error! Bookmark not defined.
Recuperar Account Settings ....................................................................... Error! Bookmark not defined.
Actualizar Account Settings ....................................................................... Error! Bookmark not defined.
Contacts ..................................................................................................... Error! Bookmark not defined.
Recuperar Contacts .................................................................................... Error! Bookmark not defined.
Recuperar Contacto ................................................................................... Error! Bookmark not defined.
Crear Contact ............................................................................................. Error! Bookmark not defined.
Crear Contacts ............................................................................................ Error! Bookmark not defined.
Actualizar Contact ...................................................................................... Error! Bookmark not defined.
Eliminar Contact ......................................................................................... Error! Bookmark not defined.
Contact Groups .......................................................................................... Error! Bookmark not defined.
Recuperar Contact Groups ......................................................................... Error! Bookmark not defined.
Recuperar Contact Group .......................................................................... Error! Bookmark not defined.
Crear Contact Group .................................................................................. Error! Bookmark not defined.
Actualizar Contact Group ........................................................................... Error! Bookmark not defined.
Eliminar Contact Group .............................................................................. Error! Bookmark not defined.
Códigos de estado de HTTP ....................................................................... Error! Bookmark not defined.
Descripción general La nueva Esendex API (Application Programming Interface, Interfaz de programación de aplicaciones) es
sencilla, ligera y está construida de acuerdo con estándares simples y establecidos que reducen la
necesidad de kits de herramientas especiales. Esto permite a Esendex ser compatible con una gama más
amplia de lenguajes de programación con una sencillez sin precedentes.
En este documento se describen las interacciones REST que la API ofrece a los servicios de mensajería
para empresas proporcionados por Esendex. Está concebido para proporcionar toda la información
necesaria para comenzar a utilizar la API.
La Esendex API se ha basado en el estilo arquitectónico REST y se ha implementado sobre el protocolo
HTTP. Utiliza los métodos HTTP estándar de GET, POST, PUT y DELETE para interactuar con un conjunto
de recursos definidos. Las solicitudes realizadas a la API REST y las respuestas obtenidas de la misma son
representaciones XML con codificación UTF-8.
Para poder utilizar la Esendex API se requiere lo siguiente:
Una conexión a Internet activa
Tratamiento de objetos de Solicitud/Respuesta de HTTP
Funcionalidad de análisis XML
Principios de REST La arquitectura Representational State Transfer (Transferencia de estado representacional, REST) fue
definida por Roy Fielding en el año 2000. Describe cómo los clientes pueden realizar solicitudes a un
servidor sobre un conjunto de "recursos" definidos y obtener una respuesta apropiada por parte del
mismo.
Mediante el uso de verbos de métodos de HTTP básicos para URIs (Uniform Resource Locators,
Localizadores uniformes de recursos) de recursos específicos que utilizan encabezados de solicitud y
respuesta, las interacciones con una API REST reflejan los principios básicos sobre los que está
construido Internet.
Métodos de HTTP Existen cuatro métodos o verbos principales de HTTP que se utilizan para interactuar con la Esendex API.
Éstos son GET, POST, PUT y DELETE.
El uso de estos verbos describe las operaciones sobre un recurso del modo siguiente:
GET
o Recupera una representación del recurso solicitado (estado actual)
POST
o Crea una instancia nueva de un recurso
PUT
o Actualiza una instancia existente de un recurso
DELETE
o Elimina una instancia existente de un recurso
Inicio rápido Aquí se presentan las dos tareas básicas de enviar y recibir mensajes para ayudar a identificar
rápidamente los Recursos necesarios para llevar a cabo estas operaciones clave.
Utilización de la Esendex API Cada interacción con la Esendex API requiere los mismos pasos básicos:
1. Recoger cualquier dato necesario para efectuar la solicitud.
2. Elaborar una Solicitud de HTTP. Asegurarse de incluir el encabezado de Authentication y
cualquier parámetro de datos adicional.
3. Invocar la solicitud de HTTP al URI de recursos apropiado empleando un método de HTTP
admitido.
4. Recuperar la Respuesta de HTTP y analizarla.
5. Si fuera apropiado, utilizar los datos de respuesta para continuar realizando otras operaciones.
Envío de mensajes Para enviar mensajes, necesitarás utilizar el recurso Message Dispatcher. A cada mensaje que se envíe
satisfactoriamente a través de Esendex se le asignará un valor de GUID (Globally Unique Identifier,
Identificador único a nivel global) único. Dicho ID podrá utilizarse para recuperar los detalles del
mensaje más adelante, incluyendo su estado de entrega, a través del recurso Message Headers.
Recepción de mensajes Para recibir mensajes, podrás o bien "obtener" (recuperar) los mensajes desde el recurso Inbox o bien
hacer uso del mecanismo de notificación de transmisión Account Event Handler.
Por ejemplo, la recuperación de los mensajes de tu bandeja de entrada es tan sencilla como realizar una
solicitud GET a http://api.esendex.com/v1.0/inbox/messages
Autenticación La mayoría de los Recursos de la Esendex API están protegidos mediante privilegios de seguridad
otorgados a un usuario específico. Cada solicitud de HTTP a un Recurso protegido en la Esendex API
estará acompañada por uno de los dos métodos siguientes de Autenticación admitidos.
Autenticación básica La autenticación básica transmite las credenciales del usuario de nombre de usuario y contraseña de
Esendex a la Esendex API en un encabezado de HTTP "Authorization: Basic" con cada solicitud.
El nombre de usuario y la contraseña se unen mediante dos puntos (:) y la cadena resultante se codifica
a continuación mediante Base64. Por ejemplo, con el nombre de usuario [email protected] y la
contraseña "letmein", la cadena que se codificará con Base64 sería "[email protected]:letmein", lo
cual daría como resultado "dGVzdEBleGFtcGxlLmNvbTpsZXRtZWlu".
Un encabezado HTTP de muestra tendría el aspecto siguiente:
GET /v0.1/contacts HTTP/1.0Host: api.esendex.comAuthorization: Basic
dGVzdEBleGFtcGxlLmNvbTpsZXRtZWlu
Autenticación de sesión En lugar de transmitir el nombre de usuario y la contraseña codificados en el Encabezado de HTTP de
cada solicitud, los usuarios podrían preferir utilizar en su lugar la Autenticación de sesión. La Esendex
API puede generar un GUID de sesión que podrá codificarse mediante Base64 y utilizarse en el
Encabezado de HTTP en lugar de la cadena nombredeusuario:contraseña.
Inicialmente se realizará una solicitud de HTTP POST al recurso Session Constructor con la Autenticación
básica. Para una solicitud satisfactoria, se devolverá un ID de sesión. Dicho ID de sesión podrá utilizarse
para realizar solicitudes adicionales en lugar de tener que usar cada vez el nombre de usuario y la
contraseña. El ID de sesión devuelto se codificará con Base64 y se añadirá a un encabezado de HTTP
Basic Authorization de modo similar a la solicitud de Autenticación básica descrita anteriormente.
Por ejemplo, si el Session Constructor devuelve un ID de 20108e1e-e519-4078-9046-b4f6c0c175a6, éste
se transformará a Base64 como: MjAxMDhlMWUtZTUxOS00MDc4LTkwNDYtYjRmNmMwYzE3NWE2
Éste se añadirá a un encabezado de HTTP Basic Authorization como
GET /v0.1/contacts HTTP/1.0Host: api.esendex.comAuthorization: Basic
MjAxMDhlMWUtZTUxOS00MDc4LTkwNDYtYjRmNmMwYzE3NWE2
Representaciones de datos Para solicitudes sobre recursos que generen una respuesta, la Esendex API devolverá una
representación apropiada del resultado en XML con codificación UTF-8. En esta sección se describen de
forma detallada los tipos de objetos de representación que indican el estado de los recursos consultados
o manipulados. Con cada representación de datos, también se presentará una lista de los Campos
esperados.
Representaciones paginadas Cuando se expongan determinadas recolecciones de datos de gran tamaño al usuario, la Esendex API
devolverá un subconjunto de dicha información en una representación paginada. Las representaciones
paginadas tendrán tres atributos XML definidos para proporcionar información sobre el ámbito de la
respuesta actual y el tamaño global de la recolección de datos.
Por ejemplo, cuando el recurso Inbox devuelva un recolección de objetos Message Header, éstos
estarán contenidos dentro de un elemento XML MessageHeaders.
<messageheaders startindex=”0” count=”15” totalcount=”239”> <messageheader …
En este ejemplo, la representación anterior describe la primera página de los MessageHeaders
asociados con el recurso Inbox, ya que el startIndex se encuentra en su valor mínimo de cero (0). Hay 15
registros de message header devueltos, y el número total de mensajes en la Bandeja de entrada es de
239. Podrán recuperarse más páginas de datos realizando solicitudes adicionales al recurso Inbox y
cambiando el valor de startIndex.
Las recolecciones paginadas tienen un tamaño máximo de páginas, y las solicitudes con un valor de
"recuento" superior al permitido se reducirán al máximo permitido.
Message Header Una representación Message Header describe una forma sencilla de comunicación a o desde otra
persona o dispositivo. Cada Message Header se asociará con una Account y será el resultado de la
comunicación entrante o saliente desde una Account.
Representación de application/xml para un mensaje saliente:
<messageheader id=”00000000-0000-0000-0000-000000000000@> <reference>EX000000</reference>
<status>Delivered</status> <laststatusat>2010-01-01T12:00:03</laststatusat>
<submittedat>2010-01-01T12:00:00.000</submittedat> <type>SMS</type> <to>
<phonenumber>123456789</phonenumber> </to> <from>
<phonenumber>123456789</phonenumber> </from> <summary>Éste es un mensaje SMS</summary>
<body uri=”http://api.esendex.com/v1.0/messagebody/00000000-0000-0000-0000-00000000000”/>
<direction>Outbound</direction>
<parts>1</parts> <username>[email protected]</username>
</messageheader>
Representación de application/xml para un mensaje entrante:
<messageheader id=”00000000-0000-0000-0000-000000000000@> <reference>EX000000</reference>
<status>Submitted</status> <receivedat>2010-01-01T12:00:03</receivedat>
<type>SMS</type> <to> <phonenumber>123456789</phonenumber> </to> <from>
<phonenumber>123456789</phonenumber> </from> <summary>Éste es un mensaje SMS</summary>
<body uri=”http://api.esendex.com/v1.0/messagebody/00000000-0000-0000-0000-00000000000”/>
<direction>Inbound</direction>
<parts>1</parts>
<readat>2010-01-01T13:00:00</readat>
<readby>[email protected]</readby>
</messageheader>
Definiciones de campos:
Nombre del
campo
Definición
id Identificador único para el Message Header. Cada Message Header devuelto incluirá
un valor de id de GUID no vacío. Será un GUID estable que no cambiará.
reference Nombre corto para identificar una Account.
status El código de estado se refiere al estado actual del Mensaje. Los valores posibles son:
Submitted El mensaje está siendo procesado por parte de
Esendex.
Sent El mensaje se ha pasado a las Redes de
telefonía móvil.
Delivered El mensaje ha sido entregado al Destinatario.
Nombre del
campo
Definición
Expired El mensaje no pudo entregarse dentro del
período de validez.
Failed El mensaje no pudo entregarse.
FailedAuthorisation No pudo autorizarse la entrega de un mensaje
premium a este Destinatario.
Acknowledged El Destinatario ha confirmado la recepción del
Mensaje de voz.
Connecting Se está entregando el mensaje de voz al cliente.
laststatusat Mensajes salientes: Fecha más reciente en la que se actualizó el estado de este
Mensaje.
submittedat Mensajes salientes: Fecha en la que se envió el Mensaje a Esendex.
receivedat Mensajes entrantes: Fecha en la que Esendex recibió el Mensaje.
type El tipo de Mensaje puede ser SMS o Voice
to Este Campo contiene el número de teléfono al que se va a enviar o se ha enviado el
mensaje. Por ej.
<to>
<phonenumber>44123456789</phonenumber>
</to>
Nombre del
campo
Definición
from Este Campo contendrá simplemente el número de teléfono desde el que se va a
enviar o se ha enviado el mensaje. Para los mensajes salientes o los mensajes
entrantes que no coincidan con ningún Contacto, el número de teléfono tendrá el
aspecto siguiente:
<from> <phonenumber>44987654321</phonenumber></from>
Si el número de teléfono del mensaje entrante se ha resuelto para un Contacto, se
devolverá una respuesta más completa:
<from id=”00000000-0000-0000-0000-0000000000000”
uri=”http://api.esendex.com/v1.0/Contacts/00000000-0000-0000-0000-
000000000000”>
<displayname>Prueba Contacto</displayname>
<phonenumber>44987654321</phonenumber>
</from>
summary La versión corta del Mensaje únicamente devolverá los primeros caracteres de un
Mensaje como una vista previa del contenido existente dentro del Message Body.
body Proporciona el enlace que ha de seguirse y que devolverá el contenido completo del
mensaje (Message Body) en lugar de simplemente el resumen.
direction Indica si el encabezado del mensaje era Entrante (recibido) o Saliente (enviado).
parts Número de mensajes SMS que habrán de utilizarse para enviar el Mensaje
completo.
username Mensajes salientes: Usuario que envió el mensaje.
readat Mensajes entrantes: Fecha en la que se marcó el mensaje como leído.
readby Mensajes entrantes: Usuario que marcó el mensaje como leído.
Account Una Account proporciona modos de enviar y recibir mensajes. Los mensajes entrantes en una Account
son accesibles a través del recurso Inbox; los mensajes salientes desde una Account son accesibles a
través de los recursos Message Batches o Message Headers.
Representación de application/xml:
<account id=”00000000-0000-0000-0000-000000000000”
uri=”http://api.esendex.com/v1.0/accounts/00000000-0000-0000-0000-000000000000”>
<reference>EX000000</reference> <address>123456789</address>
<alias>123456789</alias> <type>Professional</type>
<messagesremaining>1500</messagesremaining> <expireson>2012-01-01T00:00:00</expireson>
<role>PowerUser</role></account>
Definiciones de campos:
Campo Definición
id Identificador único para la Cuenta. Cada Cuenta devuelta incluirá un valor de id
de GUID no vacío. Será un GUID estable que no cambiará.
uri El campo URI representa la ruta que ha de seguirse para devolver únicamente
un objeto de Cuenta individual.
reference Nombre corto para identificar una cuenta.
address Número de teléfono que se utiliza para enviar y recibir Mensajes.
alias El alias PUEDE establecerse para cambiar el número de teléfono
predeterminado del que parecen proceder los Mensajes salientes. PUEDE ser
un valor alfanumérico con un máximo de 11 caracteres. De forma determinada,
será igual que el valor de dirección.
type Tipo de Account de Esendex. Los valores típicos incluyen: Professional, Trial y
Broadcast
messagesremaining Número de créditos de SMS que quedan por utilizar en una Account individual.
expireson Fecha en la que la Account dejará de estar activa.
role Una representación de cadena del permiso de seguridad asignado al Usuario
que realiza la solicitud para la Account.
Account Settings Cada cuenta tiene su propio conjunto de opciones que rigen su comportamiento. Esta representación
puede recuperarse desde el recurso Accounts y también puede modificar la Account Settings a través
del uso de HTTP PUT.
La respuesta de Account Settings contiene un gran número de nodos secundarios, describiendo cada
uno de ellos un ajuste diferente de la cuenta. Cuando se actualice un ajuste de cuenta, únicamente
deberá incluirse en la solicitud PUT el valor modificado, y no la respuesta completa de la Account
Settings.
Representación de application/xml:
<accountsettings>
<autoresponse>
<accountconcurrencyid>00000000-0000-0000-0000-000000000000</accountconcurrencyid>
<accountoptionsconcurrencyid>00000000-0000-0000-0000-
000000000000</accountoptionsconcurrencyid>
<enabled>false</enabled>
<message>ésta es mi respuesta automática</message>
<type>SMS</type>
</autoresponse>
<emailforwarding>
<accountconcurrencyid>00000000-0000-0000-0000-000000000000</accountconcurrencyid>
<accountoptionsconcurrencyid>00000000-0000-0000-0000-
000000000000</accountoptionsconcurrencyid>
<enabled>false</enabled>
<emailaddress />
<omitfooter>false</omitfooter>
<hideoriginator>false</hideoriginator>
</emailforwarding>
<emailnotification>
<accountconcurrencyid>00000000-0000-0000-0000-000000000000</accountconcurrencyid>
<accountoptionsconcurrencyid>00000000-0000-0000-0000-
000000000000</accountoptionsconcurrencyid>
<deliveryenabled>false</deliveryenabled>
<failedenabled>false</failedenabled>
</emailnotification>
<emailgeneral>
<accountconcurrencyid>00000000-0000-0000-0000-000000000000</accountconcurrencyid>
<accountoptionsconcurrencyid>00000000-0000-0000-0000-
000000000000</accountoptionsconcurrencyid>
<directreplyenabled>false</directreplyenabled>
<directreplyincludeoriginalmessage>false</directreplyincludeoriginalmessage>
<signaturemarker />
</emailgeneral>
</accountsettings>
Descripciones de campos:
Campo Definición
autoresponse Este elemento XML permite al Usuario configurar un contenido y
un tipo de Mensaje predefinido que se enviará cada vez que un
Mensaje entrante llegue a la Cuenta.
Campo Definición
Accountconcurrencyid Un GUID de identificación único que
cambiará cuando se actualice la
Cuenta.
Accountoptions
concurrencyid
Un GUID de identificación único que
cambiará cuando se actualice la
configuración de la cuenta de Auto
Response.
enabled Indica si la configuración de Auto
Response se encuentra activa
actualmente.
message Texto del Mensaje que se enviará si
Auto Response se encuentra activada.
type Tipo de Mensaje que se enviará: SMS
o Voice
EmailForwarding Accountconcurrencyid Un GUID de identificación único que
cambiará cuando se actualice la
Cuenta.
Accountoptions
concurrencyid
Un GUID de identificación único que
cambiará cuando se actualice la
configuración de la cuenta de Auto
Response.
enabled Indica si la configuración de Email
Forwarding se encuentra activa
actualmente.
Emailaddress Dirección de correo electrónico a la
que se reenviará cualquier mensaje
entrante.
Campo Definición
Omitfooter Indica si debe omitirse el pie de
página de correo electrónico de
Esendex en los mensajes reenviados.
Hideoriginator Indica si debe ocultarse el número de
teléfono del mensaje entrante a los
destinatarios de correo electrónico.
EmailNotification Accountconcurrencyid Un GUID de identificación único que
cambiará cuando se actualice la
Cuenta.
Accountoptions
concurrencyid
Un GUID de identificación único que
cambiará cuando se actualice la
configuración de la cuenta de Auto
Response.
Deliveryenabled Indica si debe enviarse un correo
electrónico a la dirección de correo de
Email Forwarding cuando se haya
entregado un mensaje saliente.
Failedenabled Indica si debe enviarse un correo
electrónico a la dirección de correo de
Email Forwarding cuando haya fallado
un mensaje saliente.
EmailGeneral Accountconcurrencyid Un GUID de identificación único que
cambiará cuando se actualice la
Cuenta.
Accountoptions
concurrencyid
Un GUID de identificación único que
cambiará cuando se actualice la
configuración de la cuenta de Auto
Response.
Campo Definición
Directreplyenabled Indica si debe enviarse una respuesta
de correo electrónico a un mensaje de
correo reenviado al número de
teléfono del mensaje entrante.
Directreplyincludeorigin
almessage
Indica si debe incluirse el contenido
del mensaje entrante original en la
Direct Reply.
signaturemarker Email Forwarding eliminará cualquier
texto tras una coincidencia con este
valor para permitir no incluir firmas
de correo electrónico en ningún
mensaje.
Contact Un Contact contiene información sobre un originador o un destinatario individual de un mensaje. Como
mínimo, un Contact deberá tener un número de teléfono (MSISDN) y un nombre rápido.
Representación de application/xml:
<contact id=”000000000-0000-0000-0000-000000000000”> <concurrencyid>00000000-0000-0000-0000-
000000000000</concurrencyid> <firstname>Prueba</firstname> <lastname>Usuario</lastname>
<quickname>Prueba Usuario</quickname> <mobilenumber>123456789</mobilenumber>
<type>Esendex</type> <groups/></contact>
Definiciones de campos:
Campo Definición
id Identificador único para el Contact. Cada Contact devuelto
incluirá un valor de id de GUID no vacío. Será un GUID estable
que no cambiará.
concurrencyid Este GUID identificador único deberá cambiar cada vez que se
modifiquen los datos del Contact. Podrá utilizarse como ayuda
para la identificación cuando un Contact haya cambiado.
firstname Nombre de este Contact. Podría no mostrarse si no se ha
establecido la propiedad para el Contact.
Campo Definición
lastname Apellidos de este Contact. Podría no mostrarse si no se ha
establecido la propiedad para el Contact.
quickname Es la abreviatura amistosa para el Contact y puede utilizarse
como un destinatario del Mensaje en lugar de un número de
teléfono. En caso de haberse establecido el firstname y los
lastname al crear el Contacto, podría ser una concatenación de
estos dos valores.
mobilenumber Número de teléfono asociado con este Contact.
type El tipo de Contact indica desde dónde se creó. Esendex significa
que se generó dentro de la aplicación Echo. Mobile significa que
se generó a partir de la sincronización de un teléfono móvil.
groups Este elemento muestra los enlaces a los Contact Groups con los
que está asociado este Contact.
Contact Groups Un Contact Group puede utilizarse para relacionar Contacts dentro de un grupo con una denominación
determinada.
Representación de application/xml:
<contactgroup id=”00000000-0000-0000-0000-000000000000” contactcount=”2”> <name>Test
Group</name> <type>Esendex</type></contactgroup>
Definiciones de campos:
Campo Definición
id Identificador único para el Contact Group. Cada Contact Group devuelto incluirá
un valor de id de GUID no vacío. Será un GUID estable que no cambiará.
contactcount Atributo opcional que describe el número de Contacts asociados con el Contact
Group.
name Es la abreviatura amistosa para el Contact Group y puede utilizarse como
destinatario del Mensaje en lugar del número de teléfono para enviar un
Mensaje a todos los Contactos relacionados con el Contact Group.
type Describe dónde se creó el Contact Group. El valor predeterminado es "Esendex".
Session Una Session es un diálogo temporal de intercambio de información entre Cliente y Servidor. Cuando se
haya creado una Session, el conocimiento y el uso del identificador único relativo a la misma se
considerará suficiente para autenticar cualquier solicitud a la Esendex API mientras la Session siga
siendo válida.
Representación de application/xml:
<session xmlns=”http://api.esendex.com/ns/”><id>00000000-0000-0000-0000-
00000000000000</id></session>
Definiciones de campos:
Campo Descripción
id Identificador único para la Session. Cada Session incluirá un valor
de id de GUID no vacío. Será un GUID estable que no cambiará
mientras la Session perdure.
Recursos
Session
Constructor
El recurso Session Constructor se utiliza para generar un GUID de sesión único de la Esendex API. Una
solicitud satisfactoria de HTTP POST al URI del Constructor requiere suministrar un encabezado de Basic
Authentication válido con un nombre de usuario y una contraseña codificados con Base64.
Recurso Session Constructor
URI http://api.esendex.com/v1.0/session/constructor
HTTP-Method POST
Autenticación Basic
Solicitud de ejemplo N/D
Respuesta correcta Content Type:
Código de estado de
HTTP:
application/xml
200
Datos de respuesta
correcta
<?xml version=”1.0 encoding=”utf-8”?>
<session xmlns=”http://api.esendex.com/ns/”>
<id>00000000-0000-0000-0000-00000000000000</id> </session>
Respuesta incorrecta Content Type:
Código de estado de
HTTP:
text/plain
NOT 200
Message Dispatcher El recurso Message Dispatcher puede utilizarse para enviar uno o más mensajes SMS y de Voz, ya sea
directamente o programados para el futuro en un momento posterior. El objeto de solicitud XML
contendrá los detalles del (de los) mensaje(s) que a enviar y generará una respuesta de lote de mensajes
que contendrá un URI para permitir futuras consultas sobre el estado del (de los) mensaje(s).
Recurso Message Dispatcher
URI http://api.esendex.com/v1.0/messagedispatcher
HTTP-Method POST
Autenticación Basic / Session
Solicitud de ejemplo
(campos en negrita
obligatorios)
<?xml version='1.0' encoding='UTF-8'?>
<messages>
<accountreference>EX000000</accountreference>
<from>$DEFAULT_FROM</from>
<type>$DEFAULT_TYPE</type>
<lang>$DEFAULT_LANGUAGE_ID</lang>
<retries>$DEFAULT_RETRIES</retries>
<validity>$DEFAULT_VALIDITY</validity>
<sendat>$DEFAULT_SEND_AT</sendat>
<message>
<from>$FROM</from>
<to>$TO</to>
<type>$TYPE</type>
<body>$BODY</body>
<lang>$LANGUAGE_ID</lang>
<retries>$RETRIES</retries>
<validity>$VALIDITY</validity>
</message>
</messages>
Respuesta correcta Content Type:
Código de estado de
HTTP:
text/xml
200
Datos de respuesta
correcta
<?xml version="1.0" encoding="utf-8"?>
<messageheaders batchid="00000000-0000-0000-0000-000000000000"
xmlns="http://api.esendex.com/ns/">
<messageheader
uri="http://api.esendex.com/v1.0/MessageHeaders/00000000-0000-0000-
0000-000000000000" id="00000000-0000-0000-0000-000000000000" />
</messageheaders>
Respuesta incorrecta Content Type:
Código de estado de
HTTP:
text/plain
NOT 200
Nombre del campo Descripción
Campos predeterminados
ACCOUNTREFERENCE Referencia de Account de Esendex desde la cual deberán enviarse los
mensajes. Éste es un elemento obligatorio.
DEFAULT_FROM Originador alfanumérico predeterminado del que parece proceder el
mensaje. Puede anularse por mensaje individual.
DEFAULT_TYPE Tipo de mensaje predeterminado que se enviará: SMS o Voice. Puede
anularse por mensaje individual.
DEFAULT_LANGUAGE_ID Idioma predeterminado que se utilizará con los mensajes SMS de voz.
Actualmente admite: en-GB (inglés del Reino Unido), en-AU (inglés
australiano), fr-FR (francés) y es-ES (español).
DEFAULT_RETRIES Número predeterminado de veces que se intentará llegar a un destinatario
de un SMS de voz.
DEFAULT_VALIDITY Período de validez predeterminado para un mensaje en horas (el valor
predeterminado es 0, que indica el máximo permitido).
DEFAULT_SEND_AT Hora para la programación del envío de los mensajes. El formato es aaaa-
MM-ddThh:mm:ss. a=año, M=mes, d=día, T=separador, h=hora,
m=minutos, s=segundos. Dicha hora deberá ser relativa al ajuste de zona
horaria de la cuenta. La hora de envío se aplicará a todos los mensajes de
la solicitud. No podrá anularse por mensaje individual.
Campos por mensaje individual
FROM Originador alfanumérico del que parece proceder el mensaje.
TO Números a los que se enviará el mensaje; separados por comas.
BODY Contenido del mensaje.
Nombre del campo Descripción
LANGUAGE_ID Idioma que se utilizará en un mensaje SMS de voz. Actualmente admite:
en-GB (inglés del Reino Unido), en-AU (inglés australiano), fr-FR (francés) y
es-ES (español).
RETRIES Número de veces que se intentará contactar con un destinatario de un
SMS de voz.
VALIDITY Período de validez para un mensaje en horas (el valor predeterminado es
0, que indica el máximo permitido).
Ejemplo de envío de SMS:
<?xml version='1.0' encoding='UTF-8'?>
<messages>
<accountreference>EX000000</accountreference>
<message>
<from>011122223333</from>
<to>0123456789</to>
<type>SMS</type>
<body> Éste es un mensaje SMS </body>
<validity>0</validity>
</message>
</messages>
Ejemplo de envío programado de SMS:
<?xml version='1.0' encoding='UTF-8'?>
<messages>
<accountreference>EX000000</accountreference>
<message>
<from>011122223333</from>
<to>0123456789</to>
<type>SMS</type>
<body> Éste es un mensaje SMS </body>
<validity>0</validity>
</message>
</messages>
Ejemplo de envío de SMS de voz:
<?xml version='1.0' encoding='UTF-8'?>
<messages>
<accountreference>EX00000</accountreference>
<message>
<from>011122223333</from>
<to>0123456789</to>
<type>Voice</type>
<body> Éste es un mensaje de voz </body>
<lang>es-ES</lang>
<retries>1</retries>
</message>
<messages>
Inbox El recurso Inbox puede utilizarse para consultar los mensajes recibidos en una Account de Esendex. Los
usos más comunes del recurso Inbox son "obtener" (recuperar) los mensajes entrantes y eliminar los
mensajes procesados.
Recuperar mensajes de la bandeja de entrada
Esta operación devolverá una respuesta paginada de todos los mensajes entrantes a cualquier Account
para la que el usuario tenga permisos de visualización.
Recurso Inbox
URI http://api.esendex.com/v1.0/Inbox/Messages
HTTP-Method GET
Autenticación Basic / Session
Solicitud de ejemplo N/D
Respuesta correcta Content Type:
Código de estado de
HTTP:
application/xml
200
Datos de respuesta
correcta
<?xml version=”1.0 encoding=”utf-8”?>
<messageheaders startindex=”0” count=”15” totalcount=”200”
xmlns=”http://api.esendex.com/ns/”>
<messageheader id=”00000000-0000-0000-0000-00000000000000”> <reference>EX000000</reference>
<status>Submitted</status>
<receivedat>2010-01-01T00:00:00</receivedat>
<type>SMS</type>
<to>
<phonenumber>44987654321</phonenumber>
<from>
<phonenumber>44123456789</phonenumber>
</from>
<summary>Probando API de Esendex</summary>
<body uri=”http://api.esendex.com/v1.0/messageheaders/00000000-0000-
0000-0000-000000000000/body”/>
<direction>Inbound</direction>
<parts>1</parts>
<readat>2010-01-01T00:00:10</readat>
<readby>[email protected]</readby>
</messageheader>
...[message headers adicionales]...
</messageheaders>
Recuperar mensajes de la Inbox para una Account
Esta operación devolverá una respuesta paginada de todos los mensajes entrantes a una Account para la
que el usuario tiene permisos de visualización. La Account se especifica añadiendo la Referencia al URI.
Recurso Inbox
URI http://api.esendex.com/v1.0/Inbox/EX000000/Messages
HTTP-Method GET
Autenticación Basic / Session
Solicitud de ejemplo N/D
Respuesta correcta Content Type:
Código de estado de
HTTP:
application/xml
200
Datos de respuesta
correcta
<?xml version=”1.0 encoding=”utf-8”?>
<messageheaders startindex=”0” count=”15” totalcount=”200”
xmlns=”http://api.esendex.com/ns/”>
<messageheader id=”00000000-0000-0000-0000-00000000000000”> <reference>EX000000</reference>
<status>Submitted</status>
<receivedat>2010-01-01T00:00:00</receivedat>
<type>SMS</type>
<to>
<phonenumber>44987654321</phonenumber>
</to> <from>
<phonenumber>44123456789</phonenumber>
</from>
<summary>Probando API de Esendex</summary>
<body uri=”http://api.esendex.com/v1.0/messageheaders/00000000-0000-
0000-0000-000000000000/body”/>
<direction>Inbound</direction>
<parts>1</parts>
<readat>2010-01-01T00:00:10</readat>
<readby>[email protected]</readby>
</messageheader>
...[message headers adicionales]...
</messageheaders>
Respuesta incorrecta Content Type:
Código de estado de
HTTP:
text/plain
NOT 200
Actualizar estado de Leído/No leído para un mensaje de la Inbox
Esta operación marcará un mensaje individual de la Inbox como leído o no leído. La solicitud PUT no
requiere incluir el objeto Message Header en el cuerpo de la solicitud.
Recurso Inbox
URI http://api.esendex.com/v1.0/Inbox/Messages/00000000-0000-0000-
0000-000000000000?action=read
HTTP-Method PUT
Autenticación Basic / Session
Solicitud de ejemplo N/D
Respuesta correcta Content Type:
Código de estado de
HTTP:
application/xml
200
Datos de respuesta
correcta
N/D
Respuesta incorrecta Content Type:
Código de estado de
HTTP:
text/plain
NOT 200
Eliminar mensaje de la Inbox
Esta operación eliminará un mensaje individual de una Inbox. Como el mensaje se identifica por su
GUID, no existe necesidad adicional de especificar a qué Account pertenece el mensaje.
Recurso Inbox
URI http://api.esendex.com/v1.0/Inbox/Messages/00000000-0000-0000-
0000-000000000000
HTTP-Method DELETE
Autenticación Basic / Session
Solicitud de ejemplo N/D
Respuesta correcta Content Type:
Código de estado de
HTTP:
application/xml
200
Datos de respuesta
correcta
Respuesta incorrecta Content Type:
Código de estado de
HTTP:
text/plain
NOT 200
Message Batches El recurso Message Batches puede utilizarse para consultar los lotes de mensajes que se han enviado
desde una Account de Esendex. Un uso habitual del recurso Message Batches sería recuperar un
resumen de los códigos de estado que indique el progreso de los mensajes enviados.
Recuperar Message Batches
Esta operación devolverá una respuesta paginada de todos los lotes de mensajes para todas las
Accounts para las que el usuario tenga permisos de visualización.
Recurso Message Batches
URI http://api.esendex.com/v1.0/MessageBatches
HTTP-Method GET
Autenticación Basic / Session
Solicitud de ejemplo N/D
Respuesta correcta Content Type:
Código de estado de
HTTP:
application/xml
200
Datos de respuesta
correcta
<?xml version="1.0" encoding="utf-8"?>
<messagebatches startindex="0" count="15" totalcount="15"
xmlns="http://api.esendex.com/ns/">
<messagebatch id="00000000-0000-0000-0000-00000000000"
uri="http://api.esendex.com/v1.0/messagebatches/00000000-0000-0000-
0000-00000000000">
<createdat>2010-01-01T12:00:00.000</createdat>
<batchsize>1</batchsize>
<persistedbatchsize>1</persistedbatchsize>
<status>
<acknowledged>0</acknowledged>
<authorisationfailed>0</authorisationfailed>
<connecting>0</connecting>
<delivered>0</delivered>
<failed>0</failed>
<partiallydelivered>0</partiallydelivered>
<rejected>0</rejected>
<scheduled>0</scheduled>
<sent>0</sent>
<submitted>1</submitted>
<validityperiodexpired>0</validityperiodexpired>
</status>
<accountreference>EX0000000</accountreference>
<createdby>[email protected]</createdby>
</messagebatch> …(Message Batches adicionales)…
</messagebatches>
Recurso Message Batches
Respuesta incorrecta Content Type:
Código de estado de
HTTP:
text/plain
NOT 200
Recuperar Messages Batches para una Account
Esta operación devolverá una respuesta paginada de todos los lotes de mensajes para una Account para
la que el usuario tiene permiso de visualización.
Recurso Message Batches
URI http://api.esendex.com/v1.0/messagebatches?filterBy=account&filterVal
ue=EX000000
HTTP-Method GET
Autenticación Basic / Session
Solicitud de ejemplo N/D
Respuesta correcta Content Type:
Código de estado de
HTTP:
application/xml
200
Datos de respuesta
correcta
<?xml version="1.0" encoding="utf-8"?>
<messagebatches startindex="0" count="3" totalcount="3"
xmlns="http://api.esendex.com/ns/">
<messagebatch id="00000000-0000-0000-0000-00000000000"
uri="http://api.esendex.com/v1.0/messagebatches/00000000-0000-0000-
0000-00000000000">
<createdat>2010-01-01T12:00:00.000</createdat>
<batchsize>1</batchsize>
<persistedbatchsize>1</persistedbatchsize>
<status>
<acknowledged>0</acknowledged>
<authorisationfailed>0</authorisationfailed>
<connecting>0</connecting>
<delivered>0</delivered>
<failed>0</failed>
<partiallydelivered>0</partiallydelivered>
<rejected>0</rejected>
<scheduled>0</scheduled>
<sent>0</sent>
<submitted>1</submitted>
<validityperiodexpired>0</validityperiodexpired>
</status>
<accountreference>EX0000000</accountreference>
<createdby>[email protected]</createdby>
</messagebatch>
…(Message Batches adicionales)…
</messagebatches>
Respuesta incorrecta Content Type:
Código de estado de
HTTP:
text/plain
NOT 200
Recuperar un Message Batch sencillo
Esta operación devolverá una respuesta de message batch sencillo.
Recurso Message Batches
URI http://api.esendex.com/v1.0/messagebatches/00000000-0000-0000-
0000-000000000000
HTTP-Method GET
Autenticación Basic / Session
Solicitud de ejemplo N/D
Respuesta correcta Content Type:
Código de estado de
HTTP:
application/xml
200
Datos de respuesta
correcta
<messagebatch id="00000000-0000-0000-0000-00000000000"
uri="http://api.esendex.com/v1.0/messagebatches/00000000-0000-0000-
0000-00000000000">
<createdat>2010-01-01T12:00:00.000</createdat>
<batchsize>1</batchsize>
<persistedbatchsize>1</persistedbatchsize>
<status>
<acknowledged>0</acknowledged>
<authorisationfailed>0</authorisationfailed>
<connecting>0</connecting>
<delivered>0</delivered>
<failed>0</failed>
<partiallydelivered>0</partiallydelivered>
<rejected>0</rejected>
<scheduled>0</scheduled>
<sent>0</sent>
<submitted>1</submitted>
<validityperiodexpired>0</validityperiodexpired>
</status>
<accountreference>EX0000000</accountreference>
<createdby>[email protected]</createdby>
</messagebatch>
Respuesta incorrecta Content Type:
Código de estado de
HTTP:
text/plain
NOT 200
Recuperar Message Headers para un Message Batch
Esta operación devolverá una respuesta paginada de todos los mensajes para un message batch para el
que el usuario tiene permiso de visualización.
Recurso Message Batches
URI http://api.esendex.com/v1.0/messagebatches/00000000-0000-0000-
0000-000000000000/messages
HTTP-Method GET
Autenticación Basic / Session
Solicitud de ejemplo N/D
Respuesta correcta Content Type:
Código de estado de
HTTP:
application/xml
200
Datos de respuesta
correcta
<?xml version=”1.0 encoding=”utf-8”?>
<messageheaders startindex=”0” count=”15” totalcount=”200”
xmlns=”http://api.esendex.com/ns/”>
<messageheader id=”00000000-0000-0000-0000-00000000000000”> <reference>EX000000</reference>
<status>Delivered</status>
<receivedat>2010-01-01T00:00:00</receivedat>
<type>SMS</type>
<to>
<phonenumber>44987654321</phonenumber>
</to> <from>
<phonenumber>44123456789</phonenumber>
</from>
<summary>Probando API de Esendex</summary>
<body uri=”http://api.esendex.com/v1.0/messageheaders/00000000-0000-
0000-0000-000000000000/body”/>
<direction>Outbound</direction>
<parts>1</parts>
<username>[email protected]</username>
</messageheader>
...[message headers adicionales]...
</messageheaders>
Respuesta incorrecta Content Type:
Código de estado de
HTTP:
text/plain
NOT 200
Message Headers El recurso Message Headers puede utilizarse para consultar los mensajes que se han enviados desde una
Account de Esendex. También permite consultar mensajes individuales para obtener una información
más detallada.
Recuperar mensajes enviados
Esta operación devolverá una respuesta paginada de todos los mensajes enviados desde Accounts para
las que el usuario tiene permiso de visualización.
Recurso Message Headers
URI http://api.esendex.com/v1.0/messageheaders
HTTP-Method GET
Autenticación Basic / Session
Solicitud de ejemplo N/D
Respuesta correcta Content Type:
Código de estado de
HTTP:
application/xml
200
Datos de respuesta
correcta
<?xml version=”1.0 encoding=”utf-8”?>
<messageheaders startindex=”0” count=”15” totalcount=”200”
xmlns=”http://api.esendex.com/ns/”>
<messageheader id=”00000000-0000-0000-0000-00000000000000”
uri=http://api.esendex.com/v1.0/messageheaders/00000000-0000-0000-
000000000000/”> <reference>EX000000</reference>
<status>Delivered</status>
<laststatusat>2010-01-01T12:00:05.000</laststatusat>
<submittedat>2010-01-01T12:00:02.000</submittedat>
<type>SMS</type>
<to>
<phonenumber>44987654321</phonenumber>
</to> <from>
<phonenumber>44123456789</phonenumber>
</from>
<summary>Probando API de Esendex</summary>
<body uri=”http://api.esendex.com/v1.0/messageheaders/00000000-0000-
0000-0000-000000000000/body”/>
<direction>Outbound</direction>
<parts>1</parts>
<username>[email protected]</username>
</messageheader>
...[message headers adicionales]...
</messageheaders>
Recurso Message Headers
Respuesta incorrecta Content Type:
Código de estado de
HTTP:
text/plain
NOT 200
Recuperar un mensaje individual
Esta operación devolverá una respuesta de message header para un mensaje individual. Esta operación
admitirá consultas para GUIDs de ID tanto de mensajes entrantes como salientes.
Recurso Message Headers
URI http://api.esendex.com/v1.0/messageheaders/000000000-0000-0000-
0000-000000000000
HTTP-Method GET
Autenticación Basic / Session
Solicitud de ejemplo N/D
Respuesta correcta Content Type:
Código de estado de
HTTP:
application/xml
200
Respuesta incorrecta Content Type:
Código de estado de
HTTP:
text/plain
NOT 200
Access Check Este recurso se utiliza para ofrecer un método sencillo de comprobación de si las credenciales o el ID de
sesión de un usuario son válidos para acceder a la API de Esendex. Es un método seguro para realizar
una operación sobre un recurso sin efectos colaterales.
Recurso Access Check
URI http://api.esendex.com/v1.0/Account/EX000000/accesscheck
HTTP-Method GET
Autenticación Basic / Session
Solicitud de ejemplo N/D
Respuesta correcta Content Type:
Código de estado de
HTTP:
application/xml
200
Datos de respuesta
correcta
N/D
Respuesta incorrecta Content Type:
Código de estado de
HTTP:
text/plain
NOT 200
Accounts El recurso Accounts puede utilizarse para recuperar datos sobre la Account o las Accounts de Esendex a
la(s) que tiene acceso el usuario.
Recuperar Accounts
Esta operación devolverá una respuesta conteniendo información de resumen sobre todas las Accounts
de Esendex para las que el usuario tiene permisos de uso.
Recurso Accounts
URI http://api.esendex.com/v1.0/accounts
HTTP-Method GET
Autenticación Basic
Solicitud de ejemplo N/D
Respuesta correcta Content Type:
Código de estado de
HTTP:
application/xml
200
Datos de respuesta
correcta
<?xml version="1.0" encoding="utf-8"?>
<accounts xmlns="http://api.esendex.com/ns/">
<account id="00000000-0000-0000-0000-000000000000"
uri="http://api.esendex.com/v1.0/accounts/00000000-0000-0000-0000-
000000000000">
<reference>EX000000</reference>
<label>EX000000</label>
<address>123456789</address>
<type>Professional</type>
<messagesremaining>2000</messagesremaining>
<expireson>2999-02-25T00:00:00</expireson>
<role>PowerUser</role>
<settings uri="http://api.esendex.com/v1.0/accounts/00000000-0000-
0000-0000-000000000000/settings" />
</account>
</accounts>
Respuesta incorrecta Content Type:
Código de estado de
HTTP:
text/plain
NOT 200
Recuperar Account
Esta devolverá una respuesta de Account para una Account individual de Esendex para la que el usuario
tiene permiso de uso.
Recurso Accounts
URI http://api.esendex.com/v1.0/accounts/00000000-0000-0000-0000-
000000000000
HTTP-Method GET
Autenticación Basic / Session
Solicitud de ejemplo N/D
Respuesta correcta Content Type:
Código de estado de
HTTP:
application/xml
200
Datos de respuesta
correcta
<?xml version="1.0" encoding="utf-8"?>
<account id="00000000-0000-0000-0000-000000000000"
uri="http://api.esendex.com/v1.0/accounts/00000000-0000-0000-0000-
000000000000" xmlns="http://api.esendex.com/ns/">
<reference>EX000000</reference>
<label>EX000000</label>
<address>123456789</address>
<type>Professional</type>
<messagesremaining>2000</messagesremaining>
<expireson>2999-02-25T00:00:00</expireson>
<role>PowerUser</role>
<settings uri="http://api.esendex.com/v1.0/accounts/00000000-0000-
0000-0000-000000000000/settings" />
</account>
Respuesta incorrecta Content Type:
Código de estado de
HTTP:
text/plain
NOT 200
Recuperar Account Settings
Esta operación devuelve una respuesta de Account Settings detallando el estado actual de ciertos
ajustes acerca de una Account de Esendex.
Recurso Accounts
URI http://api.esendex.com/v1.0/accounts/00000000-0000-0000-0000-
000000000000/settings
HTTP-Method GET
Autenticación Basic
Solicitud de ejemplo N/D
Respuesta correcta Content Type:
Código de estado de
HTTP:
application/xml
200
Recurso Accounts
Datos de respuesta
correcta
<?xml version=”1.0 encoding=”utf-8”?>
<accountsettings>
<autoresponse>
<accountconcurrencyid>00000000-0000-0000-0000-
000000000000</accountconcurrencyid>
<accountoptionsconcurrencyid>00000000-0000-0000-0000-
000000000000</accountoptionsconcurrencyid>
<enabled>false</enabled>
<message>ésta es mi respuesta automática</message>
<type>SMS</type>
</autoresponse>
<emailforwarding>
<accountconcurrencyid>00000000-0000-0000-0000-
000000000000</accountconcurrencyid>
<accountoptionsconcurrencyid>00000000-0000-0000-0000-
000000000000</accountoptionsconcurrencyid>
<enabled>false</enabled>
<emailaddress />
<omitfooter>false</omitfooter>
<hideoriginator>false</hideoriginator>
</emailforwarding>
<emailnotification>
<accountconcurrencyid>00000000-0000-0000-0000-
000000000000</accountconcurrencyid>
<accountoptionsconcurrencyid>00000000-0000-0000-0000-
000000000000</accountoptionsconcurrencyid>
<deliveryenabled>false</deliveryenabled>
<failedenabled>false</failedenabled>
</emailnotification>
<emailgeneral>
<accountconcurrencyid>00000000-0000-0000-0000-
000000000000</accountconcurrencyid>
<accountoptionsconcurrencyid>00000000-0000-0000-0000-
000000000000</accountoptionsconcurrencyid>
<directreplyenabled>false</directreplyenabled>
<directreplyincludeoriginalmessage>false</directreply
includeoriginalmessage>
<signaturemarker />
</emailgeneral>
</accountsettings>
Respuesta incorrecta Content Type:
Código de estado de
HTTP:
text/plain
NOT 200
Actualizar Account Settings
Esta operación permite llevar a cabo actualizaciones en uno o más ajustes de cuenta. Deberán
especificarse los IDs de concurrencia para cuenta y opciones de cuenta. Las modificaciones deberán
hacerse en una respuesta de Account Settings desde el recurso Account Settings e introducirse de nuevo
mediante PUT en la API de Esendex.
Recurso Accounts
URI http://api.esendex.com/v1.0/accounts/00000000-0000-0000-0000-
000000000000/settings
HTTP-Method PUT
Autenticación Basic / Session
Solicitud de ejemplo <?xml version=”1.0 encoding=”utf-8”?>
<accountsettings xmlns="http://api.esendex.com/ns/">>
<autoresponse>
<accountconcurrencyid>00000000-0000-0000-0000-
000000000000</accountconcurrencyid>
<accountoptionsconcurrencyid>00000000-0000-0000-0000-
000000000000</accountoptionsconcurrencyid>
<enabled>false</enabled>
<message>ésta es mi respuesta automática</message>
<type>SMS</type>
</autoresponse>
</accountsettings>
Respuesta correcta Content Type:
Código de estado de
HTTP:
application/xml
200
Datos de respuesta
correcta
N/D
Respuesta incorrecta Content Type:
Código de estado de
HTTP:
text/plain
NOT 200
Contacts El recurso Contacts permite la recuperación y la creación de contactos con nombre y números de
teléfono. Los Contacts se asocian con un usuario en lugar de con una Account.
Recuperar Contacts
Esta operación devolverá una respuesta de Contacts en la que se presenta un listado de todos los
contactos almacenados de un usuario.
Recurso Contacts
URI http://api.esendex.com/v1.0/contacts
HTTP-Method GET
Autenticación Basic / Session
Solicitud de ejemplo N/D
Respuesta correcta Content Type:
Código de estado de
HTTP:
application/xml
200
Datos de respuesta
correcta
<?xml version="1.0" encoding="utf-8"?>
<contacts startindex="0" count="2" totalcount="2"
xmlns="http://api.esendex.com/ns/">
<contact id="00000000-0000-0000-0000-000000000000"
uri="http://api.esendex.com/v1.0/contacts/00000000-0000-0000-0000-
000000000000/">
<concurrencyid>00000000-0000-0000-0000-000000000000</concurrencyid>
<firstname>Prueba</firstname>
<lastname>Contacto</lastname>
<quickname>Prueba Contacto</quickname>
<mobilenumber>123456789</mobilenumber>
<type>Esendex</type>
</contact><contact id="00000000-0000-0000-0000-000000000000"
uri="http://api.esendex.com/v1.0/contacts/00000000-0000-0000-0000-
000000000000/">
<concurrencyid>00000000-0000-0000-0000-000000000000</concurrencyid>
<firstname>Prueba2</firstname>
<lastname>Contacto2</lastname>
<quickname>Prueba2 Contacto2</quickname>
<mobilenumber>987654321</mobilenumber>
<type>Esendex</type>
</contact>
</contacts>
Respuesta incorrecta Content Type:
Código de estado de
HTTP:
text/plain
NOT 200
Recuperar Contacto
Esta operación devuelve una respuesta de Contact para un Contact individual identificado por el GUID.
Recurso Contacts
URI http://api.esendex.com/v1.0/contacts/00000000-0000-0000-0000-
0000000000000/
HTTP-Method GET
Autenticación Basic / Session
Solicitud de ejemplo N/D
Respuesta correcta Content Type:
Código de estado de
HTTP:
application/xml
200
Datos de respuesta
correcta
<?xml version="1.0" encoding="utf-8"?>
<contact id="00000000-0000-0000-0000-000000000000"
uri="http://api.esendex.com/v1.0/contacts/00000000-0000-0000-0000-
000000000000/" xmlns="http://api.esendex.com/ns/">
<concurrencyid>00000000-0000-0000-0000-000000000000</concurrencyid>
<firstname>Prueba</firstname>
<lastname>Contacto</lastname>
<quickname>Prueba Contacto</quickname>
<mobilenumber>4478912345</mobilenumber>
<type>Esendex</type>
<groups>
<groupsummary id="00000000-0000-0000-0000-000000000000"
uri="http://api.esendex.com/v1.0/contactgroups/00000000-0000-0000-
0000-000000000000">
<name>PruebaGrupo</name>
</groupsummary>
</groups>
</contact>
Respuesta incorrecta Content Type:
Código de estado de
HTTP:
text/plain
NOT 200
Crear Contact
Esta operación añadirá un Contact nuevo basándose en la solicitud enviada y devolverá una respuesta
de Contact.
Recurso Contacts
URI http://api.esendex.com/v1.0/contacts
HTTP-Method POST
Autenticación Basic / Session
Solicitud de ejemplo <?xml version="1.0" encoding="utf-8"?>
<contacts xmlns="http://api.esendex.com/ns/">
<contact>
<firstname>Prueba1</firstname>
<lastname>Prueba1</lastname>
<quickname>Prueba1Usuario1</quickname>
<mobilenumber>123456789</mobilenumber>
<type>Esendex</type>
</contact>
</contacts>
Respuesta correcta Content Type:
Código de estado de
HTTP:
application/xml
200
Datos de respuesta
correcta
<?xml version="1.0" encoding="utf-8"?>
<contact id="00000000-0000-0000-0000-000000000000"
uri="http://api.esendex.com/v1.0/contacts/00000000-0000-0000-0000-
000000000000/" xmlns="http://api.esendex.com/ns/">
<concurrencyid>00000000-0000-0000-0000-000000000000</concurrencyid>
<firstname>Prueba1</firstname>
<lastname>Prueba1</lastname>
<quickname>Prueba1Usuario1</quickname>
<mobilenumber>123456789</mobilenumber>
<type>Esendex</type>
</contact>
Respuesta incorrecta Content Type:
Código de estado de
HTTP:
text/plain
NOT 200
Crear Contacts
Esta operación permite la creación de múltiples Contacts con una solicitud de POST al recurso Contacts.
Solamente hay un resultado de Código de estado de HTTP para esta operación.
Recurso Contacts
URI http://api.esendex.com/v1.0/contacts
HTTP-Method POST
Autenticación Basic / Session
Solicitud de ejemplo <?xml version="1.0" encoding="utf-8"?>
<contacts xmlns="http://api.esendex.com/ns/">
<contact>
<firstname>Prueba1</firstname>
<lastname>Prueba1</lastname>
<quickname>Prueba1Usuario1</quickname>
<mobilenumber>123456789</mobilenumber>
<type>Esendex</type>
</contact>
<contact>
<firstname>Prueba2</firstname>
<lastname>Prueba2</lastname>
<quickname>Prueba2Usuario2</quickname>
<mobilenumber>987654321</mobilenumber>
<type>Esendex</type>
</contact>
</contacts>
Respuesta correcta Content Type:
Código de estado de
HTTP:
application/xml
200
Datos de respuesta
correcta
N/D
Respuesta incorrecta Content Type:
Código de estado de
HTTP:
text/plain
NOT 200
Actualizar Contact
Esta operación modificará un contact existente
Recurso Contacts
URI http://api.esendex.com/v1.0/contacts/00000000-0000-0000-0000-
000000000000/
HTTP-Method PUT
Autenticación Basic / Session
Solicitud de ejemplo <?xml version="1.0" encoding="utf-8"?>
<contact id="00000000-0000-0000-0000-000000000000"
uri="http://api.esendex.com/v1.0/contacts/00000000-0000-0000-0000-
000000000000/" xmlns="http://api.esendex.com/ns/">
<concurrencyid>00000000-0000-0000-0000-000000000000</concurrencyid>
<firstname>Prueba1</firstname>
<lastname>Prueba1</lastname>
<quickname>Prueba1Usuario1BOB</quickname>
<mobilenumber>123456789</mobilenumber>
<type>Esendex</type>
</contact>
Respuesta correcta Content Type:
Código de estado de
HTTP:
application/xml
200
Datos de respuesta
correcta
<?xml version="1.0" encoding="utf-8"?>
<contact id="00000000-0000-0000-0000-000000000000"
uri="http://api.esendex.com/v1.0/contacts/00000000-0000-0000-0000-
000000000000/" xmlns="http://api.esendex.com/ns/">
<concurrencyid>00000000-0000-0000-0000-000000000000</concurrencyid>
<firstname>Prueba1</firstname>
<lastname>Prueba1</lastname>
<quickname>Prueba1Usuario1BOB</quickname>
<mobilenumber>123456789</mobilenumber>
<type>Esendex</type>
</contact>
Respuesta incorrecta Content Type:
Código de estado de
HTTP:
text/plain
NOT 200
Eliminar Contact
Esta operación eliminará una entrada de los contactos de un usuario. No existe ninguna respuesta
generada para esta operación.
Recurso Contacts
URI http://api.esendex.com/v1.0/contacts/00000000-0000-0000-0000-
000000000000
HTTP-Method DELETE
Autenticación Basic / Session
Solicitud de ejemplo N/D
Respuesta correcta Content Type:
Código de estado de
HTTP:
application/xml
200
Datos de respuesta
correcta
N/D
Respuesta incorrecta Content Type:
Código de estado de
HTTP:
text/plain
NOT 200
Contact Groups El recurso Contact Groups permite la recuperación y creación de grupos con nombre que pueden
utilizarse para reunir uno o más o más Contacts. El nombre de un Contact Group puede utilizarse en el
envío de mensajes a través del recurso Message Dispatcher para evitar tener que enviar múltiples
números de teléfono.
Recuperar Contact Groups
Esta operación devuelve una respuesta de Contact Groups para todos los grupos de contactos que tiene
un Usuario.
Recurso Contact Groups
URI http://api.esendex.com/v1.0/contactgroups/
HTTP-Method GET
Autenticación Basic / Session
Solicitud de ejemplo N/D
Respuesta correcta Content Type:
Código de estado de
HTTP:
application/xml
200
Datos de respuesta
correcta
<?xml version="1.0" encoding="utf-8"?>
<contactgroups startindex="0" count="3" totalcount="3"
xmlns="http://api.esendex.com/ns/">
<contactgroup id="00000000-0000-0000-0000-000000000000"
uri="http://api.esendex.com/v1.0/contactgroups/00000000-0000-0000-
0000-000000000000/">
<name>Mis teléfonos</name>
<type>Esendex</type>
<contacts
uri="http://api.esendex.com/v1.0/contacts/?filterBy=ContactGroupId&a
mp;filterValue=00000000-0000-0000-0000-000000000000" totalcount="2"
/>
</contactgroup>
…[contact groups adicionales]…
</contactgroups>
Respuesta incorrecta Content Type:
Código de estado de
HTTP:
text/plain
NOT 200
Recuperar Contact Group
Esta opción devuelve una respuesta de Contact Group para un Contact Group individual que posee el
usuario. La respuesta contiene un enlace a los Contacts asociados con el Contact Group (si existe).
Recurso Contact Groups
URI http://api.esendex.com/v1.0/contactgroups/00000000-0000-0000-0000-
000000000000/
HTTP-Method GET
Autenticación Basic / Session
Solicitud de ejemplo N/D
Respuesta correcta Content Type:
Código de estado de
HTTP:
application/xml
200
Datos de respuesta
correcta
<?xml version="1.0" encoding="utf-8"?>
<contactgroup id="00000000-0000-0000-0000-000000000000"
uri="http://api.esendex.com/v1.0/contactgroups/00000000-0000-0000-
0000-000000000000/" xmlns="http://api.esendex.com/ns/">
<name>My Phones</name>
<type>Esendex</type>
<contacts
uri="http://api.esendex.com/v1.0/contacts/?filterBy=ContactGroupId&a
mp;filterValue=00000000-0000-0000-0000-000000000000" totalcount="2"
/>
</contactgroup>
Respuesta incorrecta Content Type:
Código de estado de
HTTP:
text/plain
NOT 200
Crear Contact Group
Esta operación crea un Contact Group para su uso por parte del usuario.
Recurso Contact Groups
URI http://api.esendex.com/v1.0/contactgroups/
HTTP-Method POST
Autenticación Basic / Session
Solicitud de ejemplo <?xml version="1.0" encoding="UTF-8"?>
<contactgroups xmlns="http://api.esendex.com/ns/"> <contactgroup>
<name>PruebaGrupo</name>
<type>Esendex</type>
</contactgroup>
</contactgroups>
Respuesta correcta Content Type:
Código de estado de
HTTP:
application/xml
200
Datos de respuesta
correcta
<?xml version="1.0" encoding="UTF-8"?>
<contactgroup id="00000000-0000-0000-0000-000000000000"
contactcount="0" xmlns="http://api.esendex.com/ns/">
<name>PruebaGrupo</name>
<type>Esendex</type>
</contactgroup>
Respuesta incorrecta Content Type:
Código de estado de
HTTP:
text/plain
NOT 200
Actualizar Contact Group
Esta operación modificará un Contact Group existente que posee el usuario.
Recurso Contact Group
URI http://api.esendex.com/v1.0/contactgroups/00000000-0000-0000-0000-
000000000000
HTTP-Method PUT
Autenticación Basic / Session
Solicitud de ejemplo <?xml version="1.0" encoding="utf-8"?>
<contactgroup id="00000000-0000-0000-0000-000000000000"
uri="http://api.esendex.com/v1.0/contactgroups/00000000-0000-0000-
0000-000000000000/" xmlns="http://api.esendex.com/ns/">
<name>Mis teléfonos 2</name>
<type>Esendex</type>
</contactgroup>
Respuesta correcta Content Type:
Código de estado de
HTTP:
application/xml
200
Datos de respuesta
correcta
<?xml version="1.0" encoding="utf-8"?>
<contactgroup id="00000000-0000-0000-0000-000000000000"
uri="http://api.esendex.com/v1.0/contactgroups/00000000-0000-0000-
0000-000000000000/" xmlns="http://api.esendex.com/ns/">
<name>Mis teléfonos 2</name>
<type>Esendex</type>
<contacts
uri="http://api.esendex.com/v1.0/contacts/?filterBy=ContactGroupId&a
mp;filterValue=00000000-0000-0000-0000-000000000000" totalcount="2"
/>
</contactgroup>
Respuesta incorrecta Content Type:
Código de estado de
HTTP:
text/plain
NOT 200
Eliminar Contact Group
Esta operación eliminará un Contact Group que pertenezca al usuario. Todos los Contacts asociados con
el Contact Group seguirán existiendo.
Recurso Contact Groups
URI http://api.esendex.com/v1.0/contactgroups/00000000-0000-0000-0000-
000000000000
HTTP-Method DELETE
Autenticación Basic / Session
Solicitud de ejemplo N/D
Respuesta correcta Content Type:
Código de estado de
HTTP:
application/xml
200
Datos de respuesta
correcta
N/D
Respuesta incorrecta Content Type:
Código de estado de
HTTP:
text/plain
NOT 200
Códigos de estado de HTTP Cuando se interactúe con la Esendex API, todas las respuestas de HTTP incluirán un Código de estado
para indicar el éxito o el fallo de la operación solicitada. He aquí una lista de los más utilizados:
200: OK 400: Solicitud incorrecta 402: Pago obligatorio 403: No autorizado 404: Recurso no encontrado 405: Método no permitido 408: Superado tiempo de espera de la solicitud 500: Problema con Esendex 503: Servidor en mantenimiento
Top Related