Destination SDK で作成される宛先のテンプレート仕様

宛先サーバー設定のテンプレート仕様部分を使用して、宛先に送信される HTTP リクエストの書式設定方法を設定します。

テンプレート仕様では、XDM スキーマとプラットフォームがサポートする形式の間でのプロファイル属性フィールドの変換方法を定義できます。

テンプレート仕様は、リアルタイム(ストリーミング)宛先用の宛先サーバー設定の一部です。

このコンポーネントがDestination SDKで作成される統合のどこに適合するかを把握するには、 設定オプションドキュメントの図を参照するか、Destination SDKを使用したストリーミング宛先の設定方法に関するガイドを参照してください。

/authoring/destination-servers エンドポイントを介して宛先用のテンプレート仕様を設定できます。このページに表示されるコンポーネントを設定できる、詳細な API 呼び出しの例については、以下の API リファレンスページを参照してください。

IMPORTANT
Destination SDK でサポートされているすべてのパラメーター名および値は、大文字と小文字が区別 ​されます。大文字と小文字を区別することに関するエラーを避けるために、ドキュメントに示すように、パラメーター名および値を正確に使用してください。

サポートされる統合タイプ supported-integration-types

このページで説明される機能をサポートする統合のタイプについて詳しくは、以下の表を参照してください。

統合タイプ
機能のサポート
リアルタイム(ストリーミング)統合
ファイルベースの(バッチ)統合
×

テンプレート仕様の設定 configure-template-spec

アドビは Jinja と類似したテンプレート言語を使用して、XDM スキーマのフィールドを宛先でサポートされる形式に変換します。

ハイライト表示されたテンプレート設定

変換について詳しくは、以下のリンクを参照してください。

TIP
アドビでは、メッセージ変換テンプレートの作成とテストに役立つ開発者ツールを提供しています。

以下の HTTP リクエストテンプレートの例と各パラメーターの説明を参照してください。

{
   "httpTemplate":{
      "httpMethod":"POST",
      "requestBody":{
         "templatingStrategy":"PEBBLE_V1",
         "value":"{ \"attributes\": [ {% for ns in [\"external_id\", \"yourdestination_id\"] %} {% if input.profile.identityMap[ns] is not empty and first_namespace_encountered %} , {% endif %} {% set first_namespace_encountered = true %} {% for identity in input.profile.identityMap[ns]%} { \"{{ ns }}\": \"{{ identity.id }}\" {% if input.profile.segmentMembership.ups is not empty %} , \"AEPSegments\": { \"add\": [ {% for segment in input.profile.segmentMembership.ups %} {% if segment.value.status == \"realized\" or segment.value.status == \"existing\" %} {% if added_segment_found %} , {% endif %} {% set added_segment_found = true %} \"{{ destination.segmentAliases[segment.key] }}\" {% endif %} {% endfor %} ], \"remove\": [ {% for segment in input.profile.segmentMembership.ups %} {% if segment.value.status == \"exited\" %} {% if removed_segment_found %} , {% endif %} {% set removed_segment_found = true %} \"{{ destination.segmentAliases[segment.key] }}\" {% endif %} {% endfor %} ] } {% set removed_segment_found = false %} {% set added_segment_found = false %} {% endif %} {% if input.profile.attributes is not empty %} , {% endif %} {% for attribute in input.profile.attributes %} \"{{ attribute.key }}\": {% if attribute.value is empty %} null {% else %} \"{{ attribute.value.value }}\" {% endif %} {% if not loop.last%} , {% endif %} {% endfor %} } {% if not loop.last %} , {% endif %} {% endfor %} {% endfor %} ] }"
      },
      "contentType":"application/json"
   }
}
パラメーター
タイプ
説明
httpMethod
文字列
必須。 サーバーへの呼び出しでアドビが使用するメソッド。サポートされるメソッド:GETPUTPOSTDELETEPATCH
templatingStrategy
文字列
必須。 PEBBLE_V1 を使用します。
value
文字列
必須。 この文字列は、Platform によって送信される HTTP リクエストを宛先で想定される形式に書式設定するテンプレートの文字がエスケープされたバージョンです。
テンプレートの記述方法について詳しくは、テンプレートの使用に関する節を参照してください。
文字のエスケープについて詳しくは、RFC JSON 規格の第 7 節を参照してください。
単純な変換の例については、プロファイル属性変換を参照してください。
contentType
文字列
必須。 サーバーが受け入れるコンテンツタイプ。変換テンプレートが生成する出力のタイプに応じて、これは、サポートされる任意の HTTP アプリケーションコンテンツタイプになります。ほとんどの場合、この値は、application/json に設定する必要があります。

次の手順 next-steps

この記事を読むことで、テンプレート仕様とは何か、およびどのように設定できるかについて、理解を深めることができました。

その他の宛先サーバーコンポーネントについて詳しくは、以下の記事を参照してください。

recommendation-more-help
7f4d1967-bf93-4dba-9789-bb6b505339d6