View a markdown version of this page

メッセージテンプレートヘルパーを使用する - Amazon Pinpoint

サポート終了通知: 2026 年 10 月 30 日に、 AWS は Amazon Pinpoint のサポートを終了します。2026 年 10 月 30 日を過ぎると、Amazon Pinpoint コンソールまたは Amazon Pinpoint のリソース (エンドポイント、セグメント、キャンペーン、ジャーニー、分析) にアクセスできなくなります。詳細については、「Amazon Pinpoint のサポート終了」を参照してください。注: SMS、音声、モバイルプッシュ、OTP、電話番号の検証に関連する APIs は、この変更の影響を受けず、 AWS エンドユーザーメッセージングでサポートされています。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

メッセージテンプレートヘルパーを使用する

Amazon Pinpoint テンプレートを使用すると、Handlebars.js 言語に基づいて再利用可能なメッセージテンプレートを作成できます。ヘルパーは、料金を特定の地域の通貨にフォーマットしたり、タイムゾーンに基づいたロケーションを追加するなど、さまざまな機能を提供します。ヘルパーは、値または特定の Amazon Pinpoint メッセージ変数に、文字列や整数を使用できます。

これらは、次のセクションで説明するヘルパーのカテゴリです。

このセクションでは、Handlebars が提供する組み込みヘルパーについて説明します。完全な一覧については、「handlebarsjs.com」の「組み込みヘルパー」を参照してください。組み込みヘルパーは次のとおりです。

  • each — リストを反復処理します。

    注記

    リストの最大サイズは 15 項目です。

  • if — 文を評価します。

each

リストを反復処理します。このヘルパーはブロック文のみを使用します。オプションで、次の操作も行えます。

  • 現在のループインデックスを参照するために、リクエストで @index を渡します。

  • this ヘルパーを使用して、反復処理されている現在の要素を参照します。

  • <li> タグを使用して、ヘルパー応答をリストで返します。

使用方法

{{#each value}}

{{@index}} ポジションでの値は {{this}} です。

{{else}}

条件が false です。

{{/each}}

each は、ブロック文の前にポンド記号(#)をつけ、最後に {{/each}} を閉じなければなりません。

この例では、ユーザーの好きな色のリストを返すために each を使用しています。false の場合、else 文が返されます。リクエストがこれである場合

{{#each User.UserAttributes.FavoriteColors}}

<li>{{this}}</li>

{{else}}

好きな色はありません。

{{/each}} が返す

  • 赤色

  • 青色

  • 黄色

true 文のために。

if

true であるかどうかを評価し、その評価に基づいた応答を返します。

使用方法

{{#if value}}

値は未定義ではない

{{else}}

値は未定義である

{{/if}}

if は、ブロック文の前にポンド記号(#)をつけ、最後に {{/if}} を閉じなければなりません。

この例では、if ヘルパーを使用して、ユーザーのファーストネームがあるかどうかを評価します。名前が見つかった場合は、ユーザーのファーストネームを渡す挨拶文がレスポンスとして返されます。そうでない場合、else 文は、代替えの挨拶文を返します。

{{#if User.UserAttributes.FirstName.[0]}}

Hello {{User.UserAttributes.FirstName.[0]}},

{{else}}

ようこそ

{{/if}}

if ヘルパーが true のとき、Hello, Jane を返します。

このセクションでは条件付きヘルパーについて説明します。

条件付きヘルパーは、1 行またはブロック文で使用できます。どのヘルパーメソッドを使用しても、レスポンスをカスタマイズすることができます。一行文とブロック文の両方で、追加の条件付きヘルパーを渡すことができます。以下の条件付きヘルパーは、まず 1 行で使用し、次にオプションの else 句を使用したブロック文での使用法を示しています。条件付きヘルパーは次のとおりです。

  • and — 渡されたすべての要素が等しいかどうか比較します。

  • eq — 2 つの要素が等しいかどうかをテストします。

  • gt — ある要素が別の要素よりも大きいかどうかをテストします。

  • gte — ある要素が別の要素よりも大きいかどうかまたは等しいかどうかをテストします。

  • if — ある事象が true かどうかを評価します。

  • lt — ある要素が別の要素よりも小さいかどうかをテストします。

  • lte — ある要素が別の要素よりも小さいかどうかまたは等しいかどうかをテストします。

  • neq — 2 つの要素が等しいかどうかを評価します。

  • not — ブール演算の応答を反転します。

  • or — 引数内の要素のいずれかが等しいかどうかを比較します。

引数で渡されたすべての要素が等しいかどうかを比較し、その結果に基 づいて応答を返す。このヘルパーは、ブール値以外の値に対して使用することができます。条件として、少なくとも 2 つの要素を渡す必要があります。

使用方法

  • {{and valuea valueb valuec valued yes='y' no='n'}}

    yn は、条件によって、yesno など他の値や、戻り値にしたい文字列に置き換えることができます。

  • {{#and valuea valueb}}

    条件が true です。

    {{else}}

    条件が false です。

    {{/and}}

    and は、ブロック文の前にポンド記号(#)をつけ、最後に {{/and}} を閉じなければなりません。

この例では、and ブロック文内で eq を使用して、Location.City Location.Country 属性に渡された両方の文字列が true であるかどうかを判断しています。両方の条件が等しければ、true 文が返されます。これらの属性のいずれかが false の場合、else 文が返されます。

{{#and (eq Location.City "Los Angeles") (eq Location.Country "US")}}

アメリカのロサンゼルスに住んでいます。

{{else}}

アメリカのロサンゼルスに住んでいません。

{{/and}}

eq

2 つの要素が等しいかどうか、または、1 つの要素の値が、渡された文字列と等しいかどうかをテストします。

使用方法

  • {{eq valuea valueb yes='y' no='n'}}

    yn は、条件によって、yesno など他の値や、戻り値にしたい文字列に置き換えることができます。

  • {{#eq valuea valueb}}

    条件が true です。

    {{else}}

    条件が false です。

    {{/eq}}

    eq は、ブロック文の前にポンド記号(#)をつけ、最後に {{/eq}} を閉じなければなりません。

この例では、eqUser.UserAttributes.FavoriteColors.[0] の値が赤色であるかどうかを評価するために使用されます。応答が true の場合は、true 文が返されます。応答が false の場合は、else 文が返されます。

{{#eq User.UserAttributes.FavoriteColors.[0] "red"}}

好きな色は赤色です。

{{else}}

赤色は嫌いな色です。

{{/eq}}

gt

ある要素の値が別の要素の値よりも大きいかどうかをテストします。

使用方法

  • {{gt valuea valueb yes='y' no='n'}}

    yn は、条件によって、yesno など他の値や、戻り値にしたい文字列に置き換えることができます。

  • {{#gt valuea valueb}}

    条件が true です。

    {{else}}

    条件が false です。

    {{/gt}}

    gt は、ブロック文の前にポンド記号(#)をつけ、最後に {{/gt}} を閉じなければなりません。

この例では、ヘルパーは User.UserAttributes.UserAge.[0] 属性の値を文字列 17 と比較し、ユーザーの年齢が 17 より大きいかどうかを検証します。応答が true の場合は、true 文が返されます。応答が false の場合は、else 文が返されます。

{{#gt User.UserAttributes.UserAge.[0] "17"}}

車を借りるのに十分な年齢です。

{{else}}

車を借りるのに十分な年齢ではありません。