Dada a necessidade de enviar e-mails por quantidade por meio da API, essa possibilidade de pedido foi adicionada.
Da mesma forma, o formato do pedido para enviar e-mails individuais foi modificado, mantendo a compatibilidade com o formato anterior, e um código de saída com um novo erro foi adicionado:
<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>
A operação é análoga a chamar sendEmail (individual) com cada um dos assinantes do pedido. Note que nesta apresentação o campo de tags está presente dentro da estrutura de cada assinante e não na estrutura do email, como foi o caso na versão anterior do envio de email (individual). A razão para essa mudança é óbvia: apenas uma estrutura de e-mail é recebida e uma substituição diferente das tags deve ser feita para cada assinante.
Como na versão individual, se email = 0, somente os assinantes serão inseridos.
Formato de resposta para enviar emails
Existem duas possibilidades: Se um erro geral for detectado em toda a ordem (por exemplo, a chave do servidor estiver incorreta), uma mensagem de erro será retornada igual àquelas retornadas pelo envio de E-mail.
Caso contrário, proceder-se-á ao processamento de cada assinante, e a resposta do método terá o seguinte formato, onde o número do assinante começa a contar de um para o primeiro assinante 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>>
Vamos ver um exemplo:
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 um analisador desse tipo de resposta, você deve procurar por um número (que é conhecido pelo programa), um espaço, uma expressão de email regular seguida por um parêntese e um espaço. Os próximos três caracteres serão o código de resposta.
A chamada através da API-GET
Para executar o pedido via API-Get, o mesmo procedimento detalhado no documento anterior é executado.
A estrutura inscrita é mapeada para uma matriz (codificada para uma URL) indexada de zero para o número de assinantes menos uma.
Então, o seguinte XML:
<suscriptos> <item> <email>EMAIL1</email> <nombre>NOMBRE1</nombre> <apellido>APELLIDO1</apellido> </item> <item> <email>EMAIL2</email> <apellido>APELLIDO2</apellido> </item> </suscriptos>
mapeia para a seguinte string:
&suscriptos[0][email]= EMAIL1 &suscriptos[0][nombre]= NOMBRE1 &suscripto[0][apellido]= APELLIDO1 &suscriptos[1][email]= EMAIL2 &suscriptos[1][apellido]= APELLIDO2
Se houver tags, elas serão adicionadas como índices [index] [tags] [TAG1] = VALUE, de forma análoga à forma como foram adicionados à estrutura de email no documento anterior.
OBSERVE QUE A ORDEM DEVE COMEÇAR DE ZERO E A RESPOSTA COMEÇA DE UMA
Método de Modificação sendEmails
Para manter a consistência entre os formatos de pedido da API em geral, o formato do pedido para enviar e-mail foi modificado, incorporando as tags à estrutura do assinante e não ao e-mail:
<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>
Permanece, no entanto, compatível com a versão anterior, permitindo que as tags estejam no email e não no assinante. Caso esteja presente em ambos, o assinante será priorizado.
No método sendEmails esta possibilidade não existe e em caso de não estar presente o campo das tags nos assinantes não será pesquisado em email.
Novo código de saída com erro
É retornado somente pelo novo método sendEmails:
- 117 – O campo inscrito está configurado incorretamente.