Introducción
El servicio de DMDS ofrece la opción de realizar pedidos de tipo GET. Su URL es equivalente a la del API común, cambiando api.php por api-get.php.
El formato de los pedidos es una transformación bastante intuitiva de los pedidos SOAP, codifican el XML como un arreglo, eliminando el primer nivel de anidación:
Por ejemplo,
<dameInformacion> <suscriptoEmail>EMAIL DEL SUSCRIPTO</suscriptoEmail> <serverKey>SERVER KEY</serverKey> </dameInformacion>
se pedirá así:
/api-get.php?pedido=dameInformacion&suscriptoEmail= EMAIL DEL SUSCRIPTO&serverKey= SERVER KEY
En breve describimos los pedidos más detalladamente, pero primero veamos los argumentos particulares de esta opción:
- formato: Establece el formato de respuesta esperado, XML o JSON. En ambos casos el fragmento de URL es &formato=xml& o bien &formato=json&. Por omisión: json.
- enIso: Debe estar configurado en 1 si los datos del pedido están codificados en ISO-8859-1. Si no está presente se espera el pedido en UTF-8. El fragmento de URL resultante es &enIso=1&
La respuesta para este API es siempre el UTF-8 y es idéntica al cuerpo de respuesta esperado en el API-SOAP. La codificación del XML en JSON es la acostumbrada.
A diferencia del API-SOAP el orden de los parámetros aquí no importa. Los parámetros deben estar correctamente codificados para pedidos via URL, no así los & (no enviar & como separador)
enviarMail y dameInformacion
El XML del pedido:
<enviarEmail> <suscripto> <email>EMAIL DEL SUSCRIPTO</email> [ <nombre>NOMBRE DEL SUSCRIPTO</nombre> ] [ <apellido>APELLIDO DEL SUSCRIPTO</apellido> ] </suscripto> <campanaId>ID DE LA CAMPAÑA</campanaId> <email> [ <viaUrl>DIRECCION DE LA PIEZA</viaUrl> ] [ <piezaEnUtf8>0 ó 1</piezaEnUtf8> ] [ <piezaFija>DIRECCION DE PIEZA FIJA</piezaFija> ] [ <asunto>ASUNTO DE E-MAIL</asunto> ] [ <tags> <tag1>REEMPLAZO 1</tag1> .... <tagN>REEMPLAZO N</tagN> </tags> ] </email> <serverKey>SERVER KEY</serverKey> </enviarEmail>
se convierte de la siguiente manera:
- El tag que indica el nombre del pedido (<enviarMail>) se convierte en la variable “pedido” (esto es para evitar un grado de anidación)
- Todos los demás campos se codifican para enviarlos vía URL como un arreglo asociativo.
Marcamos un quiebre de linea por cada & para legibilidad y los parámetros opcionales en cursiva:
/api-get.php?pedido=enviarMail &suscripto[email]= EMAIL DEL SUSCRIPTO &suscripto[nombre]=NOMBRE DEL SUSCRIPTO &suscripto[apellido]=APELLIDO DEL SUSCRIPTO &campanaId=ID DE LA CAMPAÑA &email[viaUrl]=DIRECCION DE LA PIEZA &email[piezaEnUtf8]= 0 ó 1 &email[piezaFija]= DIRECCION DE LA PIEZA FIJA &email[asunto]= ASUNTO DEL E-MAIL &email[tags][tag1]=REEMPLAZO 1 &⇓ &email[tags][tagN]=REEMPLAZO N &serverKey= SERVER KEY
En caso que haya Tags Complejos, será: &email[tags][tagComplejo1][attr1]= Valor del Atributo 1 del Tag Complejo 1
En caso de que haya Tags Enumerados se utilizarán índices numéricos, comenzando desde cero:
&email[tags][tag1][0]=Valor 1º reemplazo &email[tags][tag1][1]=Valor 2º reemplazo ⇓ &email[tags][tag1][n]=Valor n-esimo reemplazo
La combinación de enumerados con complejos es la aplicación natural:
<INTERES> <item> <NOMBRE>Torneo de Futbol</NOMBRE> <LINK>http://www.torneofutbol.com/</LINK> <CONTACTO>webmaster@torneofutbol.com</CONTACTO> </item> <item> <NOMBRE>Torneo de Basquet</NOMBRE> <LINK>http://www.torneobasquet.com/</LINK> <CONTACTO>webmaster@torneobasquet.com</CONTACTO> </item> </ INTERES>
Se mapea a:
&email[tags][interes][0][nombre]=Torneo de Futbol &email[tags][interes][0][link]= http://www.torneofutbol.com/ &email[tags][interes][0][contacto]= webmaster@torneofutbol.com &email[tags][interes][1][nombre]= Torneo de Basquet &email[tags][interes][1][link]=http://www.torneobasquet.com/ &email[tags][interes][1][contacto]=webmaster@torneobasquet.com
Para dameInformacion:
<dameInformacion> <suscriptoEmail>EMAIL DEL SUSCRIPTO</suscriptoEmail> <serverKey> SERVER KEY </serverKey> </dameInformacion>
se pedirá así:
/api-get.php?pedido=dameInformacion&suscriptoEmail= EMAIL DEL SUSCRIPTO&serverKey= SERVER KEY