Sendgrid-nodejs: Confuso entre `substituições` e` dynamicTemplateData`

Criado em 16 jan. 2019  ·  16Comentários  ·  Fonte: sendgrid/sendgrid-nodejs

Resumo do problema

Estou confuso entre substitutions e dynamicTemplateData .

Eu só faço substitutions ou dynamicTemplateData funcionar se eu enviar os dois! Se eu tirar qualquer um deles, não substituirá os valores do guiador no modelo.

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()))

Detalhes técnicos:

  • sendgrid-nodejs Versão: 6.3.1
  • Versão Node.js: 10.15.0
unknown or a waiting for feedback question

Comentários muito úteis

Alguém pode atualizar os documentos em

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

para mencionar dynamic_template_data onde substitutions são mencionados? Eu acho que isso poderia economizar muito tempo para muitas pessoas.

Obrigado!

Todos 16 comentários

Olá @herkulano ,

Você usaria dynamicTemplateData junto com nossos modelos transacionais . substitutions são usados ​​com nossos modelos legados .

Espero que ajude!

Obrigado pela atenção,

Elmer

Obrigado pela resposta, entendi agora.

Estou usando seus modelos transacionais, mas se eu usar apenas dynamicTemplateData , não funcionará.

Alguém pode atualizar os documentos em

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

para mencionar dynamic_template_data onde substitutions são mencionados? Eu acho que isso poderia economizar muito tempo para muitas pessoas.

Obrigado!

Olá @herkulano ,

O seu problema já foi resolvido?

@danielzen ,

Obrigado por apontar esse link de documentação! (cc @ ksigler7 @Whatthefoxsays)

Obrigado pela atenção,

Elmer

Na verdade não, como mencionei por algum motivo, ele só funciona se eu adicionar os dois valores, se eu pegar um deles, ele não funciona.

Desde então, mudei de sendgrid, então não poderei acompanhar isso.

Obrigado pelo seu apoio.

Obrigado pela resposta @herkulano ,

Se você decidir voltar, ficaremos felizes em ajudar mais.

Ainda enfrentando esse problema na versão 6.3.1. A solução alternativa é adicionar um objeto vazio como o substitutions .

Olá @iudelsmann ,

Você já tentou usar este exemplo ?

Obrigado pela atenção,

Elmer

Experimentando o mesmo comportamento em 6.3.1 que @iudelsmann.

Sinto muito, pessoal, mas isso é realmente frustrante. Eu comecei a trabalhar agora usando dynamicTemplateData, mas por que não atualizar a documentação. Do contrário, pessoas como eu simplesmente perdem nosso tempo pensando que fizemos algo errado. Sem mencionar que alguns terminais simplesmente não funcionam com a nova API (como adicionar contatos). Eu escolhi SendGrid porque é suposto ser amigável ao desenvolvedor, mas parece que há muitos problemas com coisas que você mudou ao longo dos anos. Também recebi opiniões completamente conflitantes sobre ASM vs rastreamento de assinatura de várias pessoas de suporte. Estou quase desejando ter optado pelo MailChimp ou qualquer outra coisa neste ponto, dadas as inconsistências e a documentação simplesmente errada.

Aqui está a documentação errada que precisa de uma atualização para salvar outra pessoa em algum momento no futuro. Ambos usam 'substituições' que não funcionam:
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

Alguma atualização de documentação? Ainda é muito complicado descobrir o uso de dynamicTemplateData sem documentos.

Eu atualizei os documentos listados substituindo os parâmetros do modelo legado por parâmetros dinâmicos. Para exemplos de como usar modelos legados, veja aqui .

Mesmo erro: a substituição não está funcionando.

{ 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' } } ] }

O e-mail está sendo enviado, mas a variável de substituição html não é substituída pelo valor fornecido. Este é o meu único html, não um template que normalmente é armazenado no portal SendGrid.

@chdharm Abra um novo problema com detalhes sobre o que você está tentando fazer. Questões fechadas não são seguidas de perto.

Esta página foi útil?
0 / 5 - 0 avaliações