[ES] – API para Pedidos GET

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 &amp; 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