Para que un envío sea tratado técnicamente como transaccional es imprescindible que el remitente esté configurado con la finalidad "Envíos transaccionales".
Para los envíos de correo a un único contacto se facilitan unos métodos específicos con el fin de optimizar peticiones y facilitar la integración.
Nada nos impide enviar un email a un único contacto siguiendo los mismos pasos que si utilizásemos la interfaz web de teenvio:
Creamos o actualizamos el contacto
Creamos la creatividad o pieza
Lanzamos el email
Pero si utilizamos este método rápidamente nos daremos cuenta de varios problemas:
Latencia: Se generan 3 peticiones por cada envío a un único contacto
Acumulación de creatividades: Estaríamos generando una creatividad o pieza por cada envío
Para solucionar esto tenemos varias herramientas:
No generar creatividades en cada envío
Es útil hacer un trabajo de análisis en el que podamos concretar unas tipologías de comunicaciones. Por ejemplo, en el caso de una tienda online podemos tener:
Email de alta
Email de recuperación de contraseña
Email de compra
Email de envío de productos
Podemos entonces generar 4 creatividades dentro de teenvio a modo de plantillas con sus respectivos comodines, con la comodidad de poder cambiar esas plantillas en cualquier momento sin alterar nuestras integraciones.
Una vez tenemos nuestras plantillas, las utilizamos en la petición de envío agregando, si es neceario, los datos de las variables de envío
Utilizar la petición unificada para el envío
Es posible ir un paso más allá y utilizar la petición POST /bulkcampaign/ que puede unificar las peticiones de creación de pieza, creación o modificación de contacto y lanzamiendo del email, igual que se explica en el punto anterior, es muy recomendable utilizar unas plantillas creadas previamente en lugar de generar el conenido del email en cada petición, será más ágil y sencillo de mantener.
importrequeststoken='Your token'url_base='https://app.teenvio.com/v4/public/api/rest/v3'my_headers={'Accept':'application/json','X-Token':token,'Content-Type':'application/json'}post_request={"rid":1,"name":"transactional test from api","subject":"subject transactional email","recipients":["contact1@domain.com","contact2@domain.com"],"vars":{"descuento":20,"caducidad":"noviembre"},"pid":26}response=requests.post(url_base+"/bulkcampaign/",json=post_request,headers=my_headers)print(response.json())
constaxios=require('axios');consttoken='Your token';consturl_base='https://app.teenvio.com/v4/public/api/rest/v3';constmy_headers={'Accept':'application/json','X-Token':token};constpost_request={"rid":1,"name":"transactional test from api","subject":"subject transactional email","recipients":["contact1@domain.com","contact2@domain.com"],"vars":{"descuento":20,"caducidad":"noviembre"},"pid":26}axios.post(url_base+'/bulkcampaign/',post_request,{headers:my_headers}).then(resp=>{console.log(resp.data);});