Introdução
O serviço DMDS oferece a opção de fazer pedidos do tipo GET. Sua URL é equivalente à API comum, alterando api.php por api-get.php.
O formato das ordens é uma transformação bastante intuitiva das solicitações SOAP, elas codificam o XML como uma matriz, eliminando o primeiro nível de aninhamento:
Por exemplo,
<dameInformacion> <suscriptoEmail>EMAIL DEL SUSCRIPTO</suscriptoEmail> <serverKey>SERVER KEY</serverKey> </dameInformacion>
será perguntado assim:
/api-get.php?pedido=dameInformacion&suscriptoEmail= EMAIL DEL SUSCRIPTO&serverKey= SERVER KEY
Em suma, descrevemos as ordens com mais detalhes, mas primeiro vamos ver os argumentos particulares desta opção:
- format: define o formato de resposta esperado, XML ou JSON. Em ambos os casos, o fragmento de URL é & format = xml & or & format = json &. Por padrão: json.
- enIso: Deve ser definido como 1 se os dados do pedido estiverem codificados em ISO-8859-1. Se não estiver presente, a ordem é esperada em UTF-8. O fragmento de URL resultante é & enIso = 1 &
A resposta para essa API é sempre a UTF-8 e é idêntica ao corpo da resposta esperado no API-SOAP. A codificação XML em JSON é a usual.
Ao contrário do API-SOAP, a ordem dos parâmetros aqui não importa. Os parâmetros devem ser codificados corretamente para pedidos via URL, não o & (não enviar & como um separador)
enviarMail y dameInformacion
O XML da ordem:
<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>
é convertido da seguinte forma:
- A tag que indica o nome da ordem (<sendMail>) torna-se a variável “solicitada” (isso é para evitar um grau de aninhamento)
- Todos os outros campos são codificados para enviá-los via URL como uma matriz associativa.
Marcamos uma quebra de linha para cada e para legibilidade e os parâmetros opcionais em itálico:
/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
Caso haja Tags Complexas, elas serão: & email [tags] [tagComplejo1] [attr1] = Valor do Atributo 1 da Tag Complexa 1
Caso existam Tags Enumeradas, índices numéricos serão utilizados, começando do zero:
&email[tags][tag1][0]=Valor 1º reemplazo &email[tags][tag1][1]=Valor 2º reemplazo ⇓ &email[tags][tag1][n]=Valor n-esimo reemplazo
A combinação de enumerados com complexos é a aplicação 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>
Ele mapeia para:
&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 me dar informações:
<dameInformacion> <suscriptoEmail>EMAIL DEL SUSCRIPTO</suscriptoEmail> <serverKey> SERVER KEY </serverKey> </dameInformacion>
será perguntado assim:
/api-get.php?pedido=dameInformacion&suscriptoEmail= EMAIL DEL SUSCRIPTO&serverKey= SERVER KEY