KARTE Messageでメールを作成する際、「Handlebars」と呼ばれるテンプレートエンジンの一部の構文が利用可能です。以下にMessageで利用可能なHandlebars構文をご紹介します。

補足

2025年9月に、複数のカスタムヘルパーに対応しました。カスタムヘルパーの詳細は、以下ドキュメントを御覧ください。

メール・LINEエディタで利用できるカスタムヘルパー

MessageでサポートしているHandlebarsの構文

変数出力

  • {{variable}} HTMLエスケープされて出力される仕様
  • {{{html_block}}} HTMLエスケープせず変数出力

繰り返し構文 each

  • 繰り返しのはじめの1回のみ @first
    <!-- itemsに、配列オブジェクトのデータが入ることを想定 -->
    <!-- each構文内では、配列中のobjectのkeyを指定してデータを参照することができる -->
    {{#each items}}
        {{#if @first}} 1商品目! {{/if}}
        商品名: {{name}} <br>
        商品URL: {{url}}<br>
        商品価格: {{price}}<br>
    {{/each}}

条件文 if unless

    <!-- 条件文(if)の利用は、boolean型のフィールドがデータとして渡される必要あり -->
    <!-- {#if price > 3000} のような形は利用できない -->

    {{#if is_sale}}
        割引価格: {{sale_price}}円でのご提供
    {{/if}}

    {{#unless is_sale}}
        通常価格: {{price}}円
    {{/unless}}

ifeachの組み合わせ

    <!-- ifの中にeachを記載すると、eachの変数がifの変数の中にあるプロパティを参照しようとしてしまいます。 -->
    <!-- そこで、以下のような対応をいただく必要があります。 -->

    {{#if is_sale}}
        {{#each @root.sale_items}}
          商品名: {{name}} <br>
          商品URL: {{url}}<br>
          割引価格: {{sale_price}}<br>
      {{/each}}
    {{/if}}

    {{#unless is_sale}}
        {{#each @root.sale_items}}
        商品名: {{name}} <br>
          商品URL: {{url}}<br>
          割引価格: {{sale_price}}<br>
      {{/each}}
    {{/unless}}

ブロックに構文を適用する

特定ブロックに対して Handlebarsの条件文(if)や繰り返し構文(each)を適用することができます。
適用方法は次のとおりです。

  • [動的コンテンツ] > [条件を追加]より設定モーダルを開きます
  • 各設定項目に入力します
    • 名前:追加する条件の名前を入力します
    • 詳細:追加する条件の詳細テキストを入力します
    • 前:{{#if 〇〇}}といった開始部分を入力します
    • 後:{{/if}}といった終了部分を入力します
  • 「Add」をクリックして、条件を保存します

条件文(if)を適用する場合は、次のように設定してください。

null

null

注意点

{{else}}ブロックはサポートしておりません。
以下のような Handlebars 構文は正常に動作しませんのでご注意ください。

{{#if boolVar}}
  <span>True</span>
{{else}}
  <span>False</span>
{{/if}}