Sendgrid-nodejs: Confundido entre `sustituciones` y` dynamicTemplateData`

Creado en 16 ene. 2019  ·  16Comentarios  ·  Fuente: sendgrid/sendgrid-nodejs

Resumen de asuntos

Estoy confundido entre substitutions y dynamicTemplateData .

¡Solo consigo que los substitutions o dynamicTemplateData funcionen si envío ambos! Si saco cualquiera de ellos, no reemplaza los valores del manillar en la plantilla.

sgMail
        .send({
          from: { email: '[email protected]', name: 'Test' },
          personalizations: [
            {
              to: { email: member.email },
              substitutions: {
                memberName: member.name
              },
              dynamicTemplateData: {
                memberName: member.name
              }
            }
          ],
          templateId: '111'
        })
        .then(() => console.log('Mail sent successfully'))
        .catch(error => console.error(error.toString()))

Detalles técnicos:

  • sendgrid-nodejs Versión: 6.3.1
  • Versión de Node.js: 10.15.0
unknown or a waiting for feedback question

Comentario más útil

¿Alguien puede actualizar los documentos en

https://sendgrid.com/docs/for-developers/sending-email/personalizations

para mencionar dynamic_template_data donde se mencionan substitutions ? Creo que esto podría ahorrarle mucho tiempo a mucha gente.

¡Gracias!

Todos 16 comentarios

Hola @herkulano ,

Usaría dynamicTemplateData junto con nuestras plantillas transaccionales . substitutions se utilizan con nuestras plantillas heredadas .

¡Espero que eso ayude!

Con los mejores deseos,

Elmer

Gracias por la respuesta, ahora lo entiendo.

Estoy usando sus plantillas transaccionales, pero si solo uso dynamicTemplateData , no funciona.

¿Alguien puede actualizar los documentos en

https://sendgrid.com/docs/for-developers/sending-email/personalizations

para mencionar dynamic_template_data donde se mencionan substitutions ? Creo que esto podría ahorrarle mucho tiempo a mucha gente.

¡Gracias!

Hola @herkulano ,

¿Tu problema ya está resuelto?

@danielzen ,

¡Gracias por señalar ese enlace de documentación! (cc @ ksigler7 @Whatthefoxsays)

Con los mejores deseos,

Elmer

En realidad no, como mencioné por alguna razón, solo funciona si agrego ambos valores, si tomo alguno de ellos, no funciona.

Desde entonces me alejé de sendgrid, por lo que no podré seguir con esto.

Gracias por tu apoyo.

Gracias por la respuesta @herkulano ,

Si decide volver, me complace poder ayudarlo.

Aún enfrenta este problema en la versión 6.3.1. La solución alternativa es agregar un objeto vacío como el substitutions .

Hola @iudelsmann ,

¿Ha intentado usar este ejemplo ?

Con los mejores deseos,

Elmer

Experimentando el mismo comportamiento en 6.3.1 que @iudelsmann.

Lo siento chicos, pero esto es realmente frustrante. Lo hice funcionar ahora usando dynamicTemplateData, pero ¿por qué no actualizar la documentación? De lo contrario, la gente como yo simplemente pierde nuestro tiempo pensando que hemos hecho algo mal. Sin mencionar que algunos puntos finales simplemente no funcionan con la nueva API (como agregar contactos). Elegí SendGrid porque se supone que es amigable para los desarrolladores, pero parece que hay muchos problemas con las cosas que ha cambiado a lo largo de los años. También recibí opiniones completamente contradictorias sobre ASM frente al seguimiento de suscripciones de varias personas de soporte. Casi estoy deseando haber ido con MailChimp o algo más en este punto dadas las inconsistencias y la documentación simplemente incorrecta.

Aquí está la documentación incorrecta que necesita una actualización para ahorrarle tiempo a otra persona en el futuro. Ambos usan 'sustituciones' que no funcionan:
https://github.com/sendgrid/sendgrid-nodejs/blob/master/docs/use-cases/customization.md
https://github.com/sendgrid/sendgrid-nodejs/blob/master/docs/use-cases/kitchen-sink.md

¿Alguna actualización de la documentación? Todavía es demasiado complicado descubrir el uso de dynamicTemplateData sin documentos.

Actualicé los documentos enumerados reemplazando los parámetros de la plantilla heredada con dinámicos. Para obtener ejemplos sobre el uso de plantillas heredadas, consulte aquí .

Mismo error: la sustitución no funciona.

{ from: '[email protected]', subject: 'test subject', text: 'Text', html: html, personalizations: [ { 'to': [ { 'email': '[email protected]', 'name': 'John' } ], 'subject': 'Example 01', 'substitutions': { '-name-': 'John' } }, { 'to': [ { 'email': '[email protected]', 'name': 'Jane' } ], 'subject': 'Example 02', 'substitutions': { '-name-': 'Jane' } } ] }

Se está enviando un correo electrónico, pero la variable de sustitución html no se reemplaza por el valor proporcionado. Este es mi único html, no una plantilla que generalmente se almacena en el portal SendGrid.

@chdharm Abra un nuevo problema con detalles sobre lo que está intentando hacer. Los asuntos cerrados no se siguen de cerca.

¿Fue útil esta página
0 / 5 - 0 calificaciones