テンプレートを適用して送信する(Dynamic Transactional Template編)
トランザクションメールにテンプレートを適用する機能として、新しくDynamic Transactional Templateがリリースされました。従来のテンプレート機能に加え、Handlebarsを利用して条件分岐や繰り返しなどを実装することで、コンテンツを柔軟に制御できるようになっています。詳しい使用方法はチュートリアル(英語版)をご確認ください。
以下、テンプレートを適用したメールを送信する手順を紹介します。
テンプレートを編集する
テンプレートの編集は、Webポータルから行うことができます。まず、Webポータルのメニューから「Email API > Dynamic Templates」を選択します。
画面右上の「Create a Dynamic Template」ボタンを選択します。
新しいテンプレートの名前を入力して「Create」ボタンを選択します。
新しいテンプレートが作成されたら、テンプレート名をクリックして「Add Version」ボタンを選択します。
「Your Email Designs(ユーザが作成したテンプレート)」または「SendGrid Email Designs(SendGridが用意したテンプレート)」のどちらかを選びます。編集したいテンプレートにカーソルをあわせると「Select」が表示されますので、選択します。
「Design Editor(WYSIWYGエディタで編集する)」または「Code Editor(HTMLコードを編集する)」のどちらかを選び、「Select」を選択します。
Design EditorまたはCode Editorが表示されるので、テンプレート編集を行います。使用するエディタの種類はテンプレートのバージョンごとに切り替えることができます。
<Design Editor>
<Code Editor>
テンプレートを編集したら画面上部の「Save」ボタンを選択します。
テキストパートの編集
作成したHTMLパートの内容から自動的にテキストパートが生成されますが、テキストパートの内容を別途編集することも可能です。
編集する場合は、画面上部の「Plain Text」タブを選択し、「AUTOMATICALLY CREATE PLAIN TEXT VERSION」をOFFに切り替えてください(Design Editorでは、先に「PREVIEW」モードに切り替える必要があります)。
<Design Editor>
<Code Editor>
テンプレートのプレビュー
次に、プレビュー機能でテンプレートの表示を確認します。
テンプレートの縦三点リーダ(︙)から「Preview」メニューを選択すると、HTMLメール(PC)、HTMLメール(モバイル)、テキストメールの3種類のプレビューを確認できます。
テンプレートの編集中に「PREVIEW」モードに切り替えることでもプレビュー表示を確認できます。
テスト送信
プレビュー機能で表示確認したらテスト送信を行い、実際に受信して表示を確認します。
テンプレートの縦三点リーダ(︙)から「Edit」メニューを選択すると編集画面が表示されます。「Settings」タブの「TEST YOUR EMAIL」を選択し、テスト送信の宛先を指定して「Send Test Message」ボタンを選択すると、テストメールが送信されます。
テンプレートIDの確認
テンプレートの編集が完了したら、「Save」ボタンで保存後、画面左上の「←」ボタンを選択してテンプレート一覧に戻ります。
テンプレート一覧で表示されるテンプレートIDは送信時に必要になるので確認しておきます。各テンプレートには複数のバージョンを登録することができますが、「ACTIVE」と記載されたバージョンが自動的に適用されます。
テンプレートを指定してメール送信する
SMTP API(X-SMTPAPIヘッダ)は、Dynamic Transactional Templateをサポートしていないため、Web API v3の使用が必須です。
Web API v3でテンプレートを利用してメール送信する場合、リクエストパラメータ内の「template_id」パラメータで先ほど確認したテンプレートIDを指定します。詳しくはAPIリファレンスを参照してください。
1 2 3 4 5 6 7 |
|
文字列の埋め込み
Dynamic Transactional Templateで宛先ごとに異なる文字列を埋め込むためには、項目名を{{ }}で囲んだタグをテンプレート内に記載します。
以下は、メールの件名とメール本文の「ようこそ 〇〇 さん!」の箇所を動的に変更する例です。件名は {{title}} とし、本文に「ようこそ {{name}} さん!」のようにタグを埋め込みました。
実際に埋め込む文字列は、Web APIのリクエストパラメータ(dynamic_template_data)で指定します。 以下のように、項目名(name, title)と文字列をJSON形式で記載してください。
1 2 3 4 5 6 7 8 9 10 |
|
その他のDynamic Transactional Templateの使用方法は、チュートリアル(英語版)をご確認ください。