[ES] – enviarEmails: Envío de Emails por Cantidad – API 2.0

Dada la necesidad de envíos de e-mails por cantidad a través del API se ha agregado esta posibilidad de pedido.

Asimismo se ha modificado el formato de pedido para el envío de e-mails individuales, manteniendo compatibilidad con el formato anterior, y se ha agregado un código de salida con error nuevo:

<enviarEmails>
<suscriptos>
<item>
<email>EMAIL DEL SUSCRIPTO</email>
[<nombre>NOMBRE DEL SUSCRIPTO</nombre>]
[<apellido>APELLIDO DEL SUSCRIPTO</apellido>]
[<tags>
<tag1>REEMPLAZO 1</tag1>
....
<tagN>REEMPLAZO
</tags>]
</item>
....
<item>
N</tagN>
<email> EMAIL DE OTRO SUSCRIPTO </email>
....
</item>
</suscriptos>
<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>]
</email>
<serverKey>SERVER KEY</serverKey>
</enviarEmails>

El funcionamiento es análogo a llamar a enviarEmail (individual) con cada uno de los suscriptos del pedido. Nótese que en esta presentación el campo tags está presente dentro de la estructura de cada suscripto y no en la estructura del email, como sucedía en la versión anterior de enviarEmail (individual). El motivo de este cambio es obvio: solo se recibe una estructura de email y debe realizarse un reemplazo diferente de los tags por cada suscripto.

Al igual que en la versión individual, si email=0 solo se insertarán los suscriptos.

Formato de Respuesta de enviarEmails

Existen dos posibilidades: Si se detecta un error general a todo el pedido (por ejemplo, el server key es incorrecto), se devolverá un mensaje de error igual a los devueltos por enviarEmail.

En caso contrario, se procederá con el procesamiento de cada suscripto, y la respuesta del método tendrá el siguiente formato, donde Nro de suscripto comienza a contar desde uno para el primer suscripto enviado:

<<Nro de suscripto>><<Email del suscripto>>) Respuesta con el formato de un pedido individual <<Quiebre de líneacon \r\n>>
⇓
<<Nro de suscripto>><<Email del suscripto>>) Rta con el formato de un pedido individual <<Quiebre de línea con \r\n>>

Veamos un ejemplo:

1 email1@dominio.com) Respuesta1\r\n 
2 email2@dominio.com) Respuesta2\r\n 

Más específicamente esto es:

<<Nro>><<Espacio>><<Email>><<Parentesis>><<Espacio>><<Rta>><<\r\n>>

Para implementar un parser de este tipo de respuesta se debería buscar un número (que es conocido por el programa), un espacio, una expresión regular de email seguida por un paréntesis y un espacio. Los tres caracteres siguientes serán el código de respuesta.

El Llamado a través de API-GET

Para realizar el pedido vía API-Get se realiza el mismo procedimiento que se detallo en el documento anterior.

La estructura suscriptos se mapea a un array (codificado para una URL) indexado de cero a la cantidad de suscriptos menos uno.

Así, el siguiente XML:

<suscriptos>
<item>
<email>EMAIL1</email>
<nombre>NOMBRE1</nombre>
<apellido>APELLIDO1</apellido>
</item>
<item>
<email>EMAIL2</email>
<apellido>APELLIDO2</apellido>
</item>
</suscriptos>

se mapea al siguiente string:

&suscriptos[0][email]= EMAIL1 
&suscriptos[0][nombre]= NOMBRE1 
&suscripto[0][apellido]= APELLIDO1 
&suscriptos[1][email]= EMAIL2 
&suscriptos[1][apellido]= APELLIDO2

Si hubiere tags, se agregarían como suscriptos[índice][tags][TAG1]=VALOR, análogamente a como se agregaban a la estructura email en el documento anterior.

NÓTESE QUE EL PEDIDO DEBE COMENZAR A PARTIR DE CERO Y LA RESPUESTA COMIENZA A PARTIR DE UNO

Modificacion Metodo enviarEmails

Para mantener consistencia entre los formatos de pedidos del API en general, se ha modificado el formato de pedido de enviarEmail, incorporando los tags a la estructura del suscripto y no la del email:

<enviarEmail>
<suscripto>
<email>EMAIL DEL SUSCRIPTO</email>
[ <nombre>NOMBRE DEL SUSCRIPTO</nombre>      ]
[ <apellido>APELLIDO DEL SUSCRIPTO</apellido>]
[<tags>
<tag1>REEMPLAZO 1</tag1>
....
<tagN>REEMPLAZO       N</tagN>
</tags>]
</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>]
</email>
<serverKey>SERVER KEY</serverKey>
</enviarEmail>

Se mantiene, sin embargo, compatibilidad con la versión anterior, permitiendo que tags esté en email y no en suscripto. En caso de que esté presente en ambos, se priorizará suscripto.

En el método enviarEmails no existe esta posibilidad y en caso de no estar presente el campo tags en los suscriptos no se buscará en email.

Nuevo Código de Salida con Error

Solo es devuelto por el nuevo método enviarEmails:

  • 117 – El campo suscriptos está mal configurado.