Solución:
Dado que está enviando mediante código, es un tipo de mensaje “transaccional”. Querrá activar el filtro Seguimiento de suscripciones en el nivel de la cuenta (a través de [UI](configuración de seguimiento de suscripción) o API), o actívelo cuando envíe el mensaje, como parte de la llamada API de correo / envío, en tracking_settings
.
Es importante tener en cuenta que no se pueden mezclar. Si tu defines cualquier cosa en el mail/send
Llamada a la API, deberá definir todo para el seguimiento de suscripciones en esa llamada. SendGrid no verá algunas configuraciones a nivel de correo y otras a nivel de cuenta.
La mayoría de los usuarios simplemente lo establecerán a nivel de cuenta. Allí, puede personalizar el HTML y el texto del pie de página de cancelación de suscripción, personalizar el HTML de la página de destino o redirigir el destino a una URL de su elección, que enviará al destinatario allí con [email protected]
en la cadena de URL para que su sistema lo detecte. También puede definir la “etiqueta de reemplazo” como [%unsubscribe%]
, para que pueda colocar la URL donde desee dentro de su HTML.
Un consejo que me hubiera ahorrado una o dos horas es que:
Es posible enviar lo siguiente en el api json junto con otras cosas:
"asm":{
"group_id":123,
"groups_to_display": [123],
}
luego, las siguientes variables estarán disponibles para usar dentro de la plantilla:
<%asm_group_unsubscribe_raw_url%>
<%asm_preferences_raw_url%>
Si desea mantener las cosas simples, no incluya la siguiente variable, ya que juega con demasiadas cosas (esto no era obvio en la documentación, así que obviamente lo hice y perdí el tiempo :():
"tracking_settings": {
"subscription_tracking": {
"enable": true,
"substitution_tag": "[unsubscribe_url]"
}
}
Solo utilícelos en su formato sin procesar y estará bien.
-
https://app.sendgrid.com/> Supresiones> Cancelar suscripción de grupos> Crear nuevo grupo
-
Anote group_id / ids. p. ej. 123 (¡Solo número! No cadena)
-
Enviar correo electrónico usando node.js
const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(SENDGRID_API_KEY);
const tags = { invitedBy : Alex }
const msg = {
to: email,
from: { "email": SENDER_EMAIL,
"name": SENDER_NAME
},
templateId: TEMPLATE_ID,
dynamic_template_data: {
Sender_Name: name,
...tags
},
asm: {
group_id: 123,
groups_to_display: [
123
],
},
};
await sgMail.send(msg);