Sendgrid-nodejs: Путаница между `заменами` и` dynamicTemplateData`

Созданный на 16 янв. 2019  ·  16Комментарии  ·  Источник: sendgrid/sendgrid-nodejs

Резюме проблемы

Меня путают между substitutions и dynamicTemplateData .

У меня работают только substitutions или dynamicTemplateData если я отправлю оба! Если я уберу любой из них, он не заменит значения руля в шаблоне.

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

Технические подробности:

  • sendgrid-nodejs Версия: 6.3.1
  • Node.js Версия: 10.15.0
unknown or a waiting for feedback question

Самый полезный комментарий

Может кто-нибудь обновить документы по адресу

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

упомянуть dynamic_template_data где упоминаются substitutions ? Я думаю, что это могло бы сэкономить много времени многим людям.

Спасибо!

Все 16 Комментарий

Привет @herkulano ,

Вы должны использовать dynamicTemplateData вместе с нашими шаблонами транзакций . substitutions используются с нашими устаревшими шаблонами .

Надеюсь, это поможет!

С наилучшими пожеланиями,

Элмер

Спасибо за ответ, теперь понял.

Я использую ваши шаблоны транзакций, но если я использую только dynamicTemplateData это не сработает.

Может кто-нибудь обновить документы по адресу

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

упомянуть dynamic_template_data где упоминаются substitutions ? Я думаю, что это могло бы сэкономить много времени многим людям.

Спасибо!

Привет @herkulano ,

Теперь ваша проблема решена?

@danielzen ,

Спасибо, что указали на ссылку на документацию! (cc @ ksigler7 @Whatthefoxsays)

С наилучшими пожеланиями,

Элмер

Не совсем, как я уже упоминал, по какой-то причине он работает, только если я добавляю оба значения, если я беру одно, он не работает.

С тех пор я отказался от sendgrid, поэтому не смогу следить за этим.

Спасибо за Вашу поддержку.

Спасибо за ответ @herkulano ,

Если вы решите вернуться, я буду рад вам помочь.

Эта проблема все еще возникает в версии 6.3.1. Обходной путь - добавить пустой объект в качестве значения substitutions .

Привет @iudelsmann ,

Вы пробовали использовать этот пример ?

С наилучшими пожеланиями,

Элмер

В 6.3.1 наблюдается то же поведение, что и @iudelsmann.

Простите, ребята, но это действительно расстраивает. Я заставил его работать сейчас, используя dynamicTemplateData, но почему бы не обновить документацию. В противном случае такие люди, как я, просто тратят время, думая, что мы сделали что-то не так. Не говоря уже о том, что некоторые конечные точки просто не работают с новым API (например, добавление контактов). Я выбрал SendGrid, потому что он должен быть удобен для разработчиков, но похоже, что есть так много проблем с тем, что вы изменили за эти годы. Я также получил совершенно противоречивые мнения об отслеживании ASM и подписок от нескольких специалистов службы поддержки. Мне почти жаль, что я не использовал MailChimp или что-то еще, учитывая несоответствия и просто неправильную документацию.

Вот неправильная документация, которую нужно обновить, чтобы сэкономить время другим людям в будущем. Оба они используют "замены", которые не работают:
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

Есть обновления документации? Все еще сложно выяснить использование dynamicTemplateData без документации.

Я обновил перечисленные документы, заменив устаревшие параметры шаблона динамическими. Примеры использования устаревших шаблонов см. Здесь .

Та же ошибка: подстановка не работает.

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

Электронное письмо отправляется, но переменная подстановки html не заменяется указанным значением. Это мой единственный html, а не шаблон, который обычно хранится на портале SendGrid.

@chdharm Пожалуйста, откройте новый выпуск с подробностями о том, что вы пытаетесь сделать. За закрытыми выпусками внимательно не следят.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги