esendex api documentation - revista aluminio · autenticación la mayoría de los recursos de la...

52
Documentación de la API de Esendex Guía sobre el uso de la API de Esendex

Upload: vuongnhan

Post on 11-Jul-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Documentación de la API de Esendex

Guía sobre el uso de la API de Esendex

Í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>

Recurso Inbox

Respuesta incorrecta Content Type:

Código de estado de

HTTP:

text/plain

NOT 200

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