コネクターテンプレート変数
テンプレート変数を使用して高度なコネクターリクエストを構築する方法を学びます。
概要
コネクターテンプレートとテンプレート変数を使用して、コネクターのカスタムAPIリクエストを構築できます。これらを使用して、ベンダーのエンドポイントが要求する形式(JSONやXMLなど)でペイロードを動的に生成します。
テンプレートはAPIリクエストの構造を定義し、テンプレート変数は動的な値を提供します。
詳細については、コネクターテンプレートについてを参照してください。
動作原理
テンプレート変数は、テンプレートの動的データを提供する属性マッピングです。
例えば、テンプレートに動的な注文ID値を含めるには、属性order_id
をorderID
というテンプレート変数にマッピングします。その後、テンプレートで注文ID値が表示されるべき場所に{{orderID}}
を参照します。
テンプレート変数を追加するには、コネクターアクションに移動し、テンプレートタブをクリックして、属性を変数名にマッピングします。

データタイプ
コネクターテンプレートを効果的に使用するには、テンプレートのレンダリングに使用されるデータの構造を理解することが重要です。
このセクションでは、テンプレートで異なるデータタイプのテンプレート変数を使用する方法について説明します。これには、値を直接参照する方法、.toJson
のようなヘルパーメソッドの使用方法、複数の値を反復処理する方法が含まれます。
これらの例は、以下のテンプレート変数マッピングに基づいています:

バッジ
バッジ属性にマッピングされた変数は、割り当てられている場合はtrue
の値を持ち、割り当てられていない場合は空の値を持ちます。バッジ変数はfalse
の値を持つことはないため、空の値を避けるにはセクションと逆セクションを使用してtrue
またはfalse
の値を強制します。
テンプレート変数の値:
unbadgedBadge =
didSearchBadge = true
テンプレート:
{
"badge1": "{{unbadgedBadge}}",
"badge2": {{didSearchBadge}},
"badge1SectionInvert": {{#unbadgedBadge}}true{{/unbadgedBadge}}{{^unbadgedBadge}}false{{/unbadgedBadge}},
"badge2SectionInvert": {{#didSearchBadge}}true{{/didSearchBadge}}{{^didSearchBadge}}false{{/didSearchBadge}}
}
レンダリングされたテンプレート:
{
"badge1": "",
"badge2": true,
"badge1SectionInvert": false,
"badge2SectionInvert": true
}
ブール値
ブール値にマッピングされた変数は、true
、false
、または未割り当てです。値を直接レンダリングするか、セクションまたは逆セクションロジックで使用します。ブール値は引用符で囲まれません。
テンプレート変数の値:
returningVisitorBoolean = false
テンプレート:
{
"boolean": {{returningVisitorBoolean}},
"booleanSectionTrue": {{#returningVisitorBoolean}}true{{/returningVisitorBoolean}},
"booleanSectionInvert": {{^returningVisitorBoolean}}false{{/returningVisitorBoolean}}
}
レンダリングされたテンプレート:
{
"boolean": false,
"booleanSectionTrue": ,
"booleanSectionInvert": false
}
ブール値が構成されていない場合を考慮して、テンプレートでセクションと逆セクションロジックを使用して値がレンダリングされるようにします。
テンプレートロジック:
{
"boolean": {{#returningVisitorBoolean}}true{{/returningVisitorBoolean}}{{^returningVisitorBoolean}}false{{/returningVisitorBoolean}}
}
日付
日付属性にマッピングされた変数は、テンプレートデータ内でタイムスタンプ(数字)として表され、出力ではISO 8601文字列としてレンダリングされます。
ヘルパー関数: formatDate, toTimestamp, toTimestampMs, unixTimestamp, unixTimestampMs.
テンプレート変数の値:
firstVisitDate = 1749081326718
テンプレート:
{
"date": "{{firstVisitDate}}"
}
レンダリングされたテンプレート:
{
"date": "2025-06-04T23:55:26.718Z"
}
数値
数値属性にマッピングされた変数は、直接レンダリングするか、.toInteger
を使用して整数に変換できます。
テンプレート変数の値:
lifetimeVisitCountNumber = 1.0
テンプレート:
{
"number": {{lifetimeVisitCountNumber}},
"numberToInteger": {{lifetimeVisitCountNumber.toInteger}}
}
レンダリングされたテンプレート:
{
"number": 1.0,
"numberToInteger": 1
}
文字列
文字列属性にマッピングされた変数は、直接参照できます。JSONテンプレートを構築する場合は、.toJson
を使用してエスケープされた文字列を引用符で囲むことを確認します。
ヘルパー関数: hash, md5, sha1, sha256, substring.
テンプレート変数の値:
activeBrowserTypeString = "Chrome"
テンプレート:
{
"string": "{{activeBrowserTypeString.toJson}}"
}
レンダリングされたテンプレート:
{
"string": "Chrome"
}
文字列のセット
文字列のセット属性にマッピングされた変数は配列に似ていますが、順序は保持されない場合があります。文字列のセット変数を配列としてレンダリングするには、.toJson
を使用します。より高度なケースでは、カスタム形式を各エントリに適用するために反復処理を使用します。
ヘルパー関数: sum.
テンプレート変数の値:
activeBrowserTypesSetOfStrings = ["Chrome", "Safari"]
テンプレート:
{
"setOfStrings": {{activeBrowserTypesSetOfStrings}},
"setOfStringsToJson": {{activeBrowserTypesSetOfStrings.toJson}},
"setOfStringsIter": [
{{#activeBrowserTypesSetOfStrings}}
"-- {{.}} --"{{#iter.hasNext}},{{/iter.hasNext}}
{{/activeBrowserTypesSetOfStrings}}
]
}
文字列のセット変数を直接参照すると、.toJson
や反復処理を使用しない場合、引用符なしの値がレンダリングされます。
レンダリングされたテンプレート:
{
"setOfStrings": [Chrome,Safari],
"setOfStringsToJson": ["Chrome", "Safari"],
"setOfStringsIter": [
"-- Chrome --",
"-- Safari --"
]
}
配列
配列属性にマッピングされた変数は、.toJson
で参照する必要があります。より高度なケースでは、カスタム形式を各エントリに適用するために反復処理を使用します。
ヘルパー関数: sum.
配列変数を直接参照すると、引用符なしの値がレンダリングされます。
テンプレート変数の値:
browsersArray = ["Chrome", "Safari"]
テンプレート:
{
"array": {{browsersArray}},
"arrayToJson": {{browsersArray.toJson}},
"arrayIter": [
{{#browsersArray}}
"-- ({{iter.index}}) {{.}} --"{{#iter.hasNext}},{{/iter.hasNext}}
{{/browsersArray}}
],
}
レンダリングされたテンプレート:
{
"array": [Chrome,Safari],
"arrayToJson": ["Chrome", "Safari"],
"arrayIter": [
"-- (1) Chrome --",
"-- (2) Safari --"
]
}
集計
集計属性にマップされた変数は、キーと数値のマップです。.toJson
を使用して、引用符付きキーで完全な集計をレンダリングします。.entrySet
を使用して集計を反復処理し、key
とvalue
を使用してキーと値のペアを参照します。
集計を直接参照すると、引用符なしの値がレンダリングされます。
テンプレート変数の値:
categoriesTally = {
"Shirts" : 1,
"Blazers" : 2,
"Electronics" : 4,
"Eyewear" : 1
}
テンプレート:
{
"tally": {{categoriesTally}},
"tallyToJson": {{categoriesTally.toJson}},
"tallyIter": {
{{#each categoriesTally.entrySet}}
"{{key}}": "{{value.toInteger}}"{{#iter.hasNext}},{{/iter.hasNext}}
{{/each}}
}
}
レンダリングされたテンプレート:
{
"tally": {Shirts=1, Blazers=2, Electronics=4, Eyewear=1},
"tallyToJson": {
"Shirts":1,
"Blazers":2,
"Electronics":4,
"Eyewear":1
},
"tallyIter": {
"Shirts": "1",
"Blazers": "2",
"Electronics": "4",
"Eyewear": "1"
}
}
最終更新日 :: 2025年June月11日