Sendgrid-nodejs: 倚蚀語サポヌトのためにテンプレヌトバヌゞョンを利甚する方法

䜜成日 2018幎05月27日  Â·  33コメント  Â·  ゜ヌス: sendgrid/sendgrid-nodejs

image

したがっお、ドキュメントに埓っお、顧客ごずに異なる蚀語で曞かれた異なる電子メヌルロヌカリれヌションを送信できるようですが、どうすれば正確にそれを行うこずができたすか
APIを介しおアクティブ化しお倉曎する必芁があるず曞かれおいたすが、それを実珟する方法がわかりたせんでした。
たたは、眮換を䜿甚しおバック゚ンドからメッセヌゞバンドルを送信する必芁がありたすか
どんな助けでもいただければ幞いです

技術的な詳现

  • sendgrid-nodejsバヌゞョンマスタヌ最新のコミット[13af4a6]
  • Node.jsバヌゞョン6.12.3
unknown or a waiting for feedback question

最も参考になるコメント

この機胜の@thinkingseriousメガ+

以䞋はさらに良いでしょう

1-デフォルトバヌゞョンを蚭定する機胜バヌゞョンが遞択されおいない堎合、たたは無効なバヌゞョンが提䟛されおいる堎合、デフォルトバヌゞョンが匕き継ぎたす
2-バヌゞョンを远加するためにPOST /mail/send APIに远加のパラメヌタヌを远加するだけです

私たちは12以䞊の蚀語ずカりントを備えたプラットフォヌムを持っおいるのではい、私たちは挑戊が奜きです、異なる蚀語の特定のマヌケティング担圓者が必芁です。圌らはそれほど単玔なテンプレヌトをコヌディングしたせん。 たた、倧量のナヌザヌを蚈画しおいるため、最初に必芁なテンプレヌトをアクティブに蚭定しおからメヌルを送信するず、間違ったテンプレヌトが遞択される同時実行の問題が発生したす。

本圓にありがずう、

党おのコメント33件

こんにちは@ ifndefdeadmau5 、

ここではこの機胜のAPIドキュメントです。 ここではそのAPI呌び出しを行うために、このSDKを䜿甚する方法です。

お圹に立おば幞いです。

敬具、

゚ルマヌ

@thinkingseriousに戻っおきおくれお

「特定のテンプレヌトバヌゞョンをアクティブ化する」を実際にどのように䜿甚できるかはただわかりたせん。
私は、英語ずスペむン語など、2぀以䞊の蚀語で曞かれた2぀のバヌゞョンのテンプレヌトがあるずいうシナリオを考えおいたした。

次に、ナヌザヌの蚀語ず䞀臎する特定のテンプレヌトバヌゞョンを䜿甚しおメッセヌゞ送信API呌び出しを行いたす

export function sendSendGridEmail()
{
  sgMail.setApiKey(config.get('sendgrid.API_KEY'));
  sgMail.setSubstitutionWrappers('{{', '}}');
  const msg = {
    to: '[email protected]',
    from: '[email protected]',
    subject: 'Sending with SendGrid is Fun',
    text: 'and easy to do anywhere, even with Node.js',
    html: '<strong>and easy to do anywhere, even with Node.js</strong>',
    templateId: isUserLocaleEnglish ? ENGLISH_TEMPLATE_ID : SPANISH_TEMPLATE_ID, // This line!
    substitutions: {
      name: 'Some One',
      city: 'Denver',
    },
  };
  sgMail.send(msg);
}

ただし、䞊蚘の䟋では、異なるバヌゞョンの1぀のテンプレヌトではなく、2぀の別個のテンプレヌトが必芁です。 これにより、個別のテンプレヌトが生成される可胜性がありたすが、コンテンツは関連しおいたす。
ここで䜕が欠けおいたすか 教えおください。
よろしくお願いいたしたす。ご連絡をお埅ちしおおりたす。

こんにちは@ ifndefdeadmau5 、

テンプレヌトごずに耇数のバヌゞョンを持぀こずができたす。 次に、SDKを䜿甚しお特定のバヌゞョンをアクティブ化できたす。

たず、テンプレヌトの耇数のバヌゞョンを䜜成したす。 次に、䞊蚘の呌び出しを行う前に、目的のバヌゞョンをアクティブ化したす。

敬具、

゚ルマヌ

おはよう@thinkingserious 、

迅速な察応に感謝したすが、そのような回避策は想像できたせん。
これでその方法は理解できたしたが、1぀の質問は、最初にすべおのテンプレヌトバヌゞョンをアクティブ化しおから、ナヌザヌがアクティブ化/非アクティブ化を気にせずに䜿甚できるようにするこずです。

私の懞念は、異なる蚀語を䜿甚しおいる2人以䞊のナヌザヌが同時にたったく同じいく぀かのアクションを実行する堎合、サヌバヌが2぀のリク゚ストに同時に察凊する必芁がある堎合はどうなるかずいうこずです。 次に、どのテンプレヌトバヌゞョンがアクティブ化されたすか

以䞋はサヌバヌコヌドの䞀郚で、私の状況をお知らせしたす

export async function sendSendGridEmail() {
  const locale = 'ko';
  const isEnglishUser = locale === 'en';
  const PASSWORD_RESET_TEMPLATE_ID = '2096abb7-a9f8-413f-96a1-b9df0644b313';

  const { versions } = await getTemplate(PASSWORD_RESET_TEMPLATE_ID);
  const KO_VER = _.find(versions, { name: 'Korean' }).id;
  const EN_VER = _.find(versions, { name: 'English' }).id;

  await activateVersion(PASSWORD_RESET_TEMPLATE_ID, isEnglishUser ? EN_VER : KO_VER);

  sgMail.setSubstitutionWrappers('{{', '}}');
  const msg = {
    to: '[email protected]',
    from: '[email protected]',
    templateId: PASSWORD_RESET_TEMPLATE_ID,
    substitutions: {
      username: 'Test Username',
    },
  };
  sgMail.send(msg);
}

こんにちは@ ifndefdeadmau5 、

それは有効な懞念事項です。

本圓に必芁なのは、新しいベヌタ版のテンプレヌトシステムのようです。 ベヌタ版に参加するには、 ben @ sendgrid.comにメヌルでお。

敬具、

゚ルマヌ

こんにちは@thinkingserious 、

メヌルで[email protected]にリク゚ストし

たた、トランザクションテンプレヌトを調べお、ロケヌル固有のさたざたな電子メヌルにテンプレヌトバヌゞョンを䜿甚する方法を確認したした。
同意したす。䜿甚する前に特定のテンプレヌトバヌゞョンをアクティブ化する必芁があるのは奇劙に思えたす。 これは、トランザクションの倚い゜フトりェアに最適な゜リュヌションではありたせん。 POST /mail/sendリク゚ストで䜿甚するバヌゞョンを指定できるず思いたす。

ねえ@ andyblack19
導入した新しいテンプレヌトでバヌゞョン管理する必芁はありたせん。 アカりントに、「トランザクション」テンプレヌトのオプションが衚瀺されたす。 そこで、倚くの蚀語に察応する1぀のテンプレヌトを䜜成できたす。 こちらのドキュメントずご芧ください。

私はそのペヌゞを読みたした..しかし、倚蚀語セクションを完党に芋逃したした ご協力いただきありがずうございたす

䞊蚘のハンドルバヌ戊略では、「デザむン゚ディタヌ」モヌドのテンプレヌトを䜿甚できないようです。 少なくずも2぀の異なる蚀語で異なるナヌスケヌスの耇数のテンプレヌトが必芁な堎合、䞀般的なレむアりトが倉曎されたずきに、テンプレヌトコヌドを各テンプレヌトにコピヌしお貌り付けるこずになっおいたすか トップレベルの共有可胜なレむアりトを䜜成する方法がないのはなぜですか

たた、各蚀語のテンプレヌト本文をすでに蚭定しおいるテンプレヌトコンテンツではなく、サヌバヌ偎で電子メヌルの件名をロヌカラむズする必芁があるように思われたすか このように䞻題ず身䜓を分離するこずは意味がありたせん。 それずも私は䜕かを芋萜ずしたしたか

こんにちは@raine

䞊蚘のハンドルバヌ戊略では、「デザむン゚ディタヌ」モヌドのテンプレヌトを䜿甚できないようです。

ここにある蚀語テンプレヌトの特定のデザむンは、「デザむン゚ディタヌ」モヌドで動䜜するように蚭蚈されおいたせん。 コヌドモゞュヌルを䜿甚しお、「デザむン゚ディタ」で同様のものを䜜成するこずもできたす。

少なくずも2぀の異なる蚀語で異なるナヌスケヌスの耇数のテンプレヌトが必芁な堎合、䞀般的なレむアりトが倉曎されたずきに、テンプレヌトコヌドを各テンプレヌトにコピヌしお貌り付けるこずになっおいたすか トップレベルの共有可胜なレむアりトを䜜成する方法がないのはなぜですか

これは実際に私たちの゚ンゞニアに持ち蟌たれたものです。 アカりントにログむンしおいるずきにフィヌドバックボタンを䜿甚しお、これが必芁であるこずを゚ンゞニアに知らせるこずをお勧めしたす。 そのようなフィヌドバックを送信する人が倚いほど、そのような改善が芋られる可胜性が高くなりたす。 フィヌドバックボタンは、コヌドラむブラリ以倖のこずに関しお、゚ンゞニアに盎接フィヌドバックを埗る最良の方法の1぀です。 私は個人的にあなたが探しおいるものに䌌たものに投祚したした。

たた、各蚀語のテンプレヌト本文をすでに蚭定しおいるテンプレヌトコンテンツではなく、サヌバヌ偎で電子メヌルの件名をロヌカラむズする必芁があるように思われたすか このように䞻題ず身䜓を分離するこずは意味がありたせん。 それずも私は䜕かを芋萜ずしたしたか

あなたは䜕かを芋萜ずしおいるず思いたす。 私自身の個人的なテストから、ハンドルバヌがテンプレヌトの件名を蚭定する際に機胜するこずがわかっおいたす。 私はあなたの蚀葉遣いを正しく理解しおいないかもしれたせんが。 件名がこれをサポヌトするように芖芚的に蚭蚈されおいないこずはわかっおいるので、テキスト゚ディタなどでコヌドずコンテンツを䜜成し、埌で件名フィヌルドに貌り付けるのが最善です。 これは、フィヌドバックボタンの䜿甚が掚奚されるもう1぀の領域です。 これを行うためのより良い方法だず思うこずを自由に提案しおください。

私が間違えたものはすべお蚂正し、理解を深めるために詳现を教えおください。

カむル

耇数の蚀語の䟋では、電子メヌルの件名の翻蚳にどのように察応しおいたすか

@esiqveland

テンプレヌトの件名には、次のようなものを䜿甚したす。

{{#if english}}
Hello
{{else if spanish}}
Hola
{{else if french}}
Bonjour
{{/if}}

基本的に、HTMLコンテンツず同じ構造を䜿甚したす。 ご䞍明な点がございたしたら、お気軜にお問い合わせください。

こんにちは@kylearoberts 、条件付きの倉数倀をチェックする方法はありたすか したがっお、 englishやspanishような耇数の倉数をチェックする代わりに、 language倉数がenたたはesず等しいかどうかをチェックしたす。 これはテンプレヌト自䜓には倧きな違いはありたせんが、蚀語コヌド倉数を動的テンプレヌトデヌタ内の特別な名前の倉数に倉換する必芁があるバック゚ンドでは違いがありたす。

ハンドルバヌを簡単にチェックしたしたが、デフォルトではサポヌトされおいないようです。 ただし、SendGridにはカスタムヘルパヌが組み蟌たれおいる可胜性がありたす。

@tlinhart

玠晎らしい質問をありがずう。 珟圚のずころ、システムはそのようには機胜したせんが、埌でそのようなこずを可胜にする䜕かがあるでしょう。 このような倉曎を行う堎合、トランザクションテンプレヌトの䜿甚方法に関するドキュメントず䟋を曎新する可胜性がありたす。

こんにちは、
珟圚、倚蚀語のメヌルに新しいテンプレヌトシステムを䜿甚しおいたす。 䞻な問題は、サブゞェクトフィヌルドの長さが制限されおいるこずです。 基本的に、私の䞻題の内容は次のようなものです。

{{#if英語}}
こんにちは䜕ずか䜕ずか...
{{スペむン語の堎合はそうでない}}
こんにちは䜕ずか䜕ずか...
{{フランス語の堎合はそれ以倖}}
こんにちは䜕ずか䜕ずか...
{{/ if}}

しかし、いく぀かの問題がありたす。

  1. 件名フィヌルドの長さは、いく぀かの蚀語以䞊では十分ではありたせん。 制限内にずどたるために、テキストず倉数名を削枛する必芁がありたした。 しかし、新しい蚀語を远加する必芁がある堎合、これは明らかに機胜したせん。
  2. ゚ディタには、テンプレヌトサブゞェクトの操䜜に適さないサブゞェクトを入力するための1行のフィヌルドが衚瀺されたす。
  3. ゚ディタヌの件名フィヌルドは、貌り付けから入力されたテキストを喜んで削枛したす。 テンプレヌトスクリプトコヌドが削陀されたために構文が間違っおいるため、これはテンプレヌト゚ラヌに぀ながりたす

@bragma

私はあなたず同じ問題に遭遇したした。 これを聞いたのもこれが初めおではありたせん。 補品の改善に圹立぀ため、このようなフィヌドバックを埗るのが倧奜きです。 ゚ンゞニアリングチヌムにフィヌドバックをお寄せください。これは、゚ンゞニアリングチヌムが改善したいず考えおいる分野の1぀です。 圌らが改善に取り組む機䌚を埗たずき、これはそれらの1぀である可胜性が高いです。 フィヌドバックありがずうございたす。

@ thinkingserious + 1ロヌカリれヌション機胜が必芁です

@thinkingseriousこの機胜の巚倧な+1。
同じテンプレヌト内で電子メヌルのすべおの蚀語を凊理できるずいう本圓に玠晎らしい機胜ですが、前述のように、件名の制限のために䜿甚できたせん。

この機胜の@thinkingseriousメガ+

以䞋はさらに良いでしょう

1-デフォルトバヌゞョンを蚭定する機胜バヌゞョンが遞択されおいない堎合、たたは無効なバヌゞョンが提䟛されおいる堎合、デフォルトバヌゞョンが匕き継ぎたす
2-バヌゞョンを远加するためにPOST /mail/send APIに远加のパラメヌタヌを远加するだけです

私たちは12以䞊の蚀語ずカりントを備えたプラットフォヌムを持っおいるのではい、私たちは挑戊が奜きです、異なる蚀語の特定のマヌケティング担圓者が必芁です。圌らはそれほど単玔なテンプレヌトをコヌディングしたせん。 たた、倧量のナヌザヌを蚈画しおいるため、最初に必芁なテンプレヌトをアクティブに蚭定しおからメヌルを送信するず、間違ったテンプレヌトが遞択される同時実行の問題が発生したす。

本圓にありがずう、

この問題に貢献しおくれた皆さん、こんにちは。

SendGridを䜿甚しお送信されたメヌルのロヌカラむズ/翻蚳の問題を解決するための最善の方法を理解するために、お客様ずいく぀かの調査を行っおいたす。 時間があれば、これを正しく構築する方法を怜蚎する際に、フィヌドバックをお埅ちしおいたす。

今日の翻蚳ずロヌカリれヌションの凊理方法に぀いお、私ず私のチヌムず話すスロットにサむンアップするためのリンクは次のずおりです https 

どうもありがずうございたした

@ ben-gridはカレンダヌをチェックしたばかりですが、時間がうたくいかないので、䜕が玠晎らしいかに぀いお簡単に説明したす。

サンドボックスず本番アカりントを備えたeコマヌスシステムがありたす。 そしお、テンプレヌトを承認するず、それを本番環境に゚クスポヌトしおむンポヌトしたすこれは、プロモヌションパむプラむンを備えたサンドボックスず本番環境のテンプレヌトがあるため、すばらしい機胜でもありたす

ずにかく...珟圚2぀の蚀語がありたすが、圓面のタスクは5぀の蚀語に移行するこずです。 珟圚、11個のテンプレヌトがありたす。 私たちが今しおいるこずは{{iflang.en}}こんにちは{{else}} Hallo {{/ if}}これだけが5぀の蚀語近い将来20の蚀語で動䜜しないので、今から䜜成したす蚀語ごずに個別のテンプレヌトを䜜成し、11ではなく55のテンプレヌトを䜜成したすひどい

なんお玠晎らしいこずでしょう

オプション1
APIに「バヌゞョン」パラメヌタを远加し、提䟛されたバヌゞョンを送信するだけです。 これで、少なくずも特定のバヌゞョンを曞蚘蚀語で送信できたすバヌゞョンはテンプレヌトの翻蚳バヌゞョンである可胜性があり、フォヌルバックがアクティブなバヌゞョンになりたす

オプション2
ロヌカラむズされたパラメヌタヌをテンプレヌトに远加したす。 このように、パラメヌタヌを翻蚳するだけで、耇数の蚀語のテンプレヌトを䜿甚できたす。 このアプロヌチの欠点は、䞀郚の文の構成が各蚀語で機胜しないこずです。そのため、おそらくより柔軟に察応したいず考えおいたす。

*オプション3金色の涙のナニコヌン*
基本的に、ドロップむンするモゞュヌルごずに翻蚳タブがありたす。したがっお、このようなモゞュヌルを挿入するず、
image このモゞュヌルには耇数のロケヌルがありたす。 基本的に、異なる蚀語のオリゞナルのクロヌン。 テンプレヌトの蚀語を蚭定できる必芁がありたすすべおのモゞュヌルを件名ずプリヘッダヌを含む特定の蚀語に蚭定したす。モゞュヌルがただ入力されおいない堎合は、モゞュヌルを赀に着色する可胜性がありたす。

私の2セントだけです。これに぀いおのフィヌドバックをお埅ちしおいたす。メヌルをご垌望の堎合は、 rene @ wetelilng.comたでご

@renewetelingどうもありがずう、それはずおも圹に立ちたす。 私たちはおそらく1よりもオプション2ず3に䌌たプロトタむプに取り組んでいたす。フィヌドバックを埗る䟡倀のあるものがあれば、メヌルで連絡したす。 ご意芋ありがずうございたす

@renewetelingオプション1たたは2で

@ ben-grid@ a-tonchev倧倉な努力をありがずう 私にずっおは、これはもう関係ありたせん。 良い仕事を続けおください

これに関するニュヌスはありたすか 件名の長さの制限は、件名もロヌカラむズする必芁があるこずを考えるず問題です。新しい゚ディタヌでは、件名の長さがさらに短くなり、件名に玄110文字を含めるこずができるず思いたす。

IMO、より実甚的な解決策は、すべおのテキストサヌバヌ偎を生成し、それをチャンク化された段萜ずしおテンプレヌトに挿入するこずだず思われたす。

䌁業が耇数の蚀語をサポヌトしおいる堎合、そのWebサむトには、サヌバヌ偎XML /デヌタベヌスから蚀語をロヌドするである必芁があるこれに察する゜リュヌションがすでにありたす。 私の意芋では、同じプロゞェクトに関連するすべおの電子メヌルにも、これらの蚀語ファむルにテキストを保存する必芁がありたす。

必芁な段萜/テキストは、ナヌザヌの蚀語に応じおこれらのファむルから取埗し、テンプレヌト倉数ずしおsendgridに枡すこずができたす。 Sendgridは単なる包括的なテンプレヌトフッタヌなど-スタむルず画像のみであり、䞀郚のスタむルでさえ、具䜓的にどの単語を倪字にするかなど、蚀語ファむル自䜓に保持する必芁があり

したがっお、テンプレヌトは次のようになりたす。 subject HelloLine welcomeparagraph helpparagraph footerslogan 。 以䞊です。

IMO、より実甚的な解決策は、すべおのテキストサヌバヌ偎を生成し、それをチャンク化された段萜ずしおテンプレヌトに挿入するこずだず思われたす。

䌁業が耇数の蚀語をサポヌトしおいる堎合、そのWebサむトには、サヌバヌ偎XML /デヌタベヌスから蚀語をロヌドするである必芁があるこれに察する゜リュヌションがすでにありたす。 私の意芋では、同じプロゞェクトに関連するすべおの電子メヌルにも、これらの蚀語ファむルにテキストを保存する必芁がありたす。

必芁な段萜/テキストは、ナヌザヌの蚀語に応じおこれらのファむルから取埗し、テンプレヌト倉数ずしおsendgridに枡すこずができたす。 Sendgridは単なる包括的なテンプレヌトフッタヌなど-スタむルず画像のみであり、䞀郚のスタむルでさえ、具䜓的にどの単語を倪字にするかなど、蚀語ファむル自䜓に保持する必芁があり

したがっお、テンプレヌトは次のようになりたす。 subject HelloLine welcomeparagraph helpparagraph footerslogan 。 以䞊です。

コピヌラむティングを倉曎するたびにメヌルサヌビスを再デプロむする必芁があるため、これは管理できたせん。 たた、䞀郚の䌁業では、メヌルの内容は開発者の責任ではなく、マヌケティング/コピヌラむタヌの責任です。 それを線集できるようにするには、別のUIを再デプロむする必芁がありたすが、それでもSendgridに支払いたす。

1぀のプロゞェクトでは、ヘッドレスCMSを䜿甚しお、各蚀語の電子メヌルテンプレヌトを線集および䜜成したす。 サヌバヌは実行時にこれらの口ひげテンプレヌトを読み取り、Sendgridに送信される電子メヌル本文を生成したす。 Sendgridテンプレヌト線集UXはたったく圹に立たないので、これを䜿甚するこずにしたした。

@cecchisandronesendgridの方が良いかもしれないこずに同意したす。 圌らは適切な蚀語管理を远加し、それをパラメヌタにする必芁がありたす。 しかし、私が蚀ったように、私たちがそれらに送信するいく぀かの倉数は、たずえば日付/時刻圢匏のように、ずにかくロヌカラむズする必芁がありたす。

@ corneliu-gavriloviciが述べたように
今でも䟡倀がありたす。 最近のアップデヌトでは、件名の長さがさらに短くなりたした。 珟圚、䜿甚しおいる蚀語は2぀だけで、以䞋の件名フィヌルドで䜿甚しおいたす。

{{#if english}}
Hello blah blah...
{{else if french}}
Hello blah blah...
{{/if}}

なぜこれが曎新されたのかわかりたせんが、私たちが䜿甚できた補品は、この問題のために䜿甚できなくなりたした。 あなたは倚蚀語テンプレヌトを扱う方法に぀いおあなたのドキュメンテヌションで話したすが、それは適切に䜿甚できたせん。 @ ben-grid
https://sendgrid.com/docs/for-developers/sending-email/using-handlebars/#multiple -languages

IMO、より実甚的な解決策は、すべおのテキストサヌバヌ偎を生成し、それをチャンク化された段萜ずしおテンプレヌトに挿入するこずだず思われたす。
..。
必芁な段萜/テキストは、ナヌザヌの蚀語に応じおこれらのファむルから取埗し、テンプレヌト倉数ずしおsendgridに枡すこずができたす。 Sendgridは単なる包括的なテンプレヌトフッタヌなど-スタむルず画像のみであり、䞀郚のスタむルでさえ、具䜓的にどの単語を倪字にするかなど、蚀語ファむル自䜓に保持する必芁があり

したがっお、テンプレヌトは次のようになりたす。 subject HelloLine welcomeparagraph helpparagraph footerslogan 。 以䞊です。
サヌバヌサむドJSを䜿甚しおSalesForceでこれを実行したした。 jsonオブゞェクトはテンプレヌト内にありたすが、コンパむル䞭にサヌバヌ䞊で実行されたす。 これは、実際のロヌカリれヌション機胜を備えおいるこずに䌌おおり、ecomm環境での開発公開に䟝存したせん。
@ ben-gridが蚀及しおいるように、SGチヌムが䜕を思い぀いたのかを楜しみにしおいたす。

+1ロヌカラむズ機胜。 耇数の蚀語がある堎合、それはいく぀かの倚くのif / elseで混乱したす。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡