テンプレートと変数
目的
- 固定文面と差し込み項目を分離する
- API送信とブロードキャスト送信での変数利用方法を整理する
テンプレート作成ガイド
送信方式に応じて下記2つのテンプレートを使い分けます。
- API送信の場合:ブロードキャストテンプレート
- ブロードキャスト送信の場合:コンテンツメールテンプレート
実装時の注意点
名称が紛らわしいですが、API送信で指定可能なのは「ブロードキャストテンプレートID」のみです。
コンテンツメールテンプレートIDを指定するとエラーになる仕様のため、作成場所を間違えないようご注意ください。
API送信での変数
API送信では placeholders パラメータでプレースホルダーを指定します。
{
"placeholders": "{\"name\": \"田中太郎\", \"address\": \"東京都○○\"}"
}
テンプレート側では、次のように呼び出します。
{$name}
{$address}
placeholders は string 型
JSONオブジェクトそのものではなく、エスケープ済み文字列として渡す点に注意してください。
ブロードキャスト送信での変数
ブロードキャスト作成画面から受信者リストをファイルアップロードします。
アップロードするファイルは、メールアドレスと、プレースホルダー化したい属性(氏名・住所など)を列として作成します。
例:
| メールアドレス | 氏名 | 住所 |
|---|---|---|
| tanaka@gmail.com | 田中太郎 | 東京都○○ |
| sato@yahoo.co.jp | 佐藤花子 | 千葉県△△ |
テンプレート側では、ファイルの左から順に次のように呼び出します。
- 1列目 →
{$file_1}(メールアドレス) - 2列目 →
{$file_2}(氏名) - 3列目 →
{$file_3}(住所)
設計のコツ
テンプレートとデータを分ける
- テンプレート側: 文面、構造、差し込み位置
- データ側: 氏名、住所、URL、期限など
変数名を安定化する
API送信では、用途ごとにキー名を安定化させると保守しやすくなります。
例:
nameorderIdresetUrlexpireAt
HTMLアップロードか GUI ビルダーか
| 方式 | 向いているケース |
|---|---|
| GUIビルダー | シンプル、非エンジニア運用 |
| HTMLアップロード | デザイン制御、細かな出し分け |
よくある失敗
placeholdersのエスケープ不足- テンプレート側の変数名と不一致
- ブロードキャストの列順変更に気づかない