Sendgrid-nodejs: `substitutions`と` dynamicTemplateData`が混同されています

作成日 2019年01月16日  ·  16コメント  ·  ソース: sendgrid/sendgrid-nodejs

問題の概要

substitutionsdynamicTemplateData間で混乱しています。

両方を送信した場合にのみ、 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

substitutionsが言及されているdynamic_template_dataに言及するには? これで多くの人の時間を節約できると思います。

ありがとう!

全てのコメント16件

こんにちは@herkulano

トランザクションテンプレートと一緒にdynamicTemplateDataを使用します。 substitutionsは、従来のテンプレートで使用されます。

お役に立てば幸いです。

敬具、

エルマー

返信ありがとうございます、今それを理解しました。

トランザクションテンプレートを使用していますが、 dynamicTemplateDataのみを使用すると機能しません。

誰かがでドキュメントを更新してください

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

substitutionsが言及されているdynamic_template_dataに言及するには? これで多くの人の時間を節約できると思います。

ありがとう!

こんにちは@herkulano

問題は解決しましたか?

@danielzen

そのドキュメントリンクを指摘してくれてありがとう! (cc @ ksigler7 @Whatthefoxsays)

敬具、

エルマー

実際にはそうではありません。何らかの理由で述べたように、両方の値を追加した場合にのみ機能し、どちらか一方を取得しても機能しません。

それ以来、sendgridから離れたため、これについてフォローアップすることはできません。

ご協力ありがとうございます。

返信ありがとうございます@herkulano

戻ってくることを選択した場合は、さらにサポートさせていただきます。

@thinkingserious

そしてここに... https://sendgrid.api-docs.io/v3.0/mail-send/v3-mail-send

バージョン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置換変数は指定された値に置き換えられていません。 これは私の1つのhtmlであり、通常SendGridポータルに保存されるテンプレートではありません。

@chdharmあなたがやろうとしていることについての詳細を含む新しい問題を開いてください。 クローズされた問題は厳密にはフォローされていません。

このページは役に立ちましたか?
0 / 5 - 0 評価