Experience Platform では、スキーマを使用して、一貫性のある再利用可能な方法でデータの構造を記述します。データが Platform に取り込まれると、XDM スキーマに応じて構造化されます。デザインの原則やベストプラクティスなど、スキーマ構成モデルについて詳しくは、スキーマ構成の基本を参照してください。
Destination SDK で宛先を作成する場合、宛先プラットフォームによって使用される独自のパートナースキーマを定義できます。これにより、ユーザーに、Platform から宛先プラットフォームが認識する特定のフィールドにプロファイル属性をマッピングする機能を提供します。これらは、すべて Platform UI 内で実行できます。
宛先用にパートナースキーマを設定する場合、宛先プラットフォームでサポートされているフィールドマッピングを微調整できます。以下に例を示します。
phoneNumber
XDM 属性を宛先プラットフォームでサポートされている phone
属性にマッピングできます。Destination SDKを使用して作成された統合で、このコンポーネントがどこに適合するかを把握するには、 設定オプション ドキュメントを参照するか、 Destination SDKを使用したファイルベースの宛先の設定.
/authoring/destinations
エンドポイントを介してスキーマ設定を設定できます。このページに表示されるコンポーネントを設定できる、詳細な API 呼び出しの例については、以下の API リファレンスページを参照してください。
この記事では、宛先に使用できる、サポートされるすべてのスキーマ設定オプションを説明し、Platform UI で顧客に何が表示されるかを示します。
Destination SDK でサポートされているすべてのパラメーター名および値は、大文字と小文字が区別されます。大文字と小文字を区別することに関するエラーを避けるために、ドキュメントに示すように、パラメーター名および値を正確に使用してください。
このページで説明される機能をサポートする統合のタイプについて詳しくは、以下の表を参照してください。
統合タイプ | 機能のサポート |
---|---|
リアルタイム(ストリーミング)統合 | ○ |
ファイルベースの(バッチ)統合 | ○ |
Destination SDK は、以下の複数のスキーマ設定をサポートします。
schemaConfig
セクションの profileFields
配列を通じて定義されます。静的スキーマでは、profileFields
配列で Experience Platform UI に表示される必要がある各ターゲット属性を定義します。スキーマを更新する必要がある場合、宛先設定を更新する必要があります。profileFields
配列を使用しません。スキーマを更新する必要がある場合、宛先設定を更新する必要はありません。代わりに、動的スキーマサーバーは、更新されたスキーマを API から取得します。schemaConfig
セクションは、以下の節で示すように、必要とするスキーマのタイプに応じて、複数の設定パラメーターを使用できます。
プロファイル属性を使用して静的スキーマを作成するには、以下に示すように、profileFields
配列でターゲット属性を定義します。
"schemaConfig":{
"profileFields":[
{
"name":"phoneNo",
"title":"phoneNo",
"description":"This is a fixed attribute on your destination side that customers can map profile attributes to. For example, the mobilePhone.number value in Experience Platform could be phoneNo on your side.",
"type":"string",
"isRequired":false,
"readOnly":false,
"hidden":false
},
{
"name":"firstName",
"title":"firstName",
"description":"This is a fixed attribute on your destination side that customers can map profile attributes to. For example, the person.name.firstName value in Experience Platform could be firstName on your side.",
"type":"string",
"isRequired":false,
"readOnly":false,
"hidden":false
},
{
"name":"lastName",
"title":"lastName",
"description":"This is a fixed attribute on your destination side that customers can map profile attributes to. For example, the person.name.lastName value in Experience Platform could be phoneNo on your side.",
"type":"string",
"isRequired":false,
"readOnly":false,
"hidden":false
}
],
"useCustomerSchemaForAttributeMapping":false,
"profileRequired":true,
"segmentRequired":true,
"identityRequired":true,
"segmentNamespaceAllowList": ["someNamespace"],
"segmentNamespaceDenyList": ["someOtherNamespace"]
}
パラメーター | タイプ | 必須/オプション | 説明 |
---|---|---|---|
profileFields |
配列 | オプション | 顧客がプロファイル属性をマッピングする宛先プラットフォームによって受け入れられるターゲット属性の配列を定義します。profileFields 配列を使用する場合、useCustomerSchemaForAttributeMapping パラメーター全体を省略できます。 |
useCustomerSchemaForAttributeMapping |
ブール値 | オプション | 顧客スキーマから profileFields 配列で定義する属性への属性のマッピングを有効または無効にします。
false です。 |
profileRequired |
ブール値 | オプション | ユーザーが Experience Platform から宛先プラットフォームのカスタム属性にプロファイル属性をマッピングできる必要がある場合は、true を使用します。 |
segmentRequired |
ブール値 | 必須 | このパラメーターは、Destination SDK に必須で、常に true に設定される必要があります。 |
identityRequired |
ブール値 | 必須 | ユーザーが Experience Platform から profileFields 配列で定義した属性に ID タイプをマッピングできる必要がある場合は、true に設定します。 |
segmentNamespaceAllowList |
配列 | オプション | ユーザーがオーディエンスを宛先にマッピングできる特定のオーディエンス名前空間を定義します。 このパラメーターを使用して、配列で定義したオーディエンス名前空間からのみオーディエンスをエクスポートするよう Platform ユーザーを制限します。 このパラメーターは、と一緒に使用することはできません segmentNamespaceDenyList .例: "segmentNamespaceAllowList": ["AudienceManager"] は、ユーザーが AudienceManager 名前空間をこの宛先に追加します。 ユーザーが任意のオーディエンスを宛先に書き出すことを許可するには、このパラメーターを無視します。 両方の segmentNamespaceAllowList および segmentNamespaceDenyList が設定にない場合、ユーザーは、 セグメント化サービス. |
segmentNamespaceDenyList |
配列 | オプション | 配列で定義されたオーディエンス名前空間からユーザーがオーディエンスを宛先にマッピングできないように制限します。 と一緒に使用することはできません segmentNamespaceAllowed . 例: "segmentNamespaceDenyList": ["AudienceManager"] は、ユーザーが AudienceManager 名前空間をこの宛先に追加します。 ユーザーが任意のオーディエンスを宛先に書き出すことを許可するには、このパラメーターを無視します。 両方の segmentNamespaceAllowed および segmentNamespaceDenyList が設定にない場合、ユーザーは、 セグメント化サービス. 接触チャネルに関係なく、すべてのオーディエンスのエクスポートを許可するには、 "segmentNamespaceDenyList":[] . |
以下の画像に、結果の UI エクスペリエンスを示します。
ユーザーがターゲットマッピングを選択する場合、profileFields
配列で定義されたフィールドを確認できます。
属性を選択すると、ターゲットフィールド列で確認できます。
Destination SDK は、動的パートナースキーマの作成をサポートしています。静的スキーマとは対照的に、動的スキーマは、profileFields
配列を使用しません。代わりに、動的スキーマは、スキーマ設定を取得する独自の API に接続する、動的スキーマサーバーを使用します。
動的スキーマを作成する前に、動的スキーマサーバーを作成する必要があります。
動的スキーマ設定では、以下に示すように、profileFields
配列が dynamicSchemaConfig
セクションによって置き換えられます。
"schemaConfig":{
"dynamicSchemaConfig":{
"dynamicEnum": {
"authenticationRule":"CUSTOMER_AUTHENTICATION",
"destinationServerId":"DYNAMIC_SCHEMA_SERVER_ID",
"value": "Schema Name",
"responseFormat": "SCHEMA"
}
},
"profileRequired":true,
"segmentRequired":true,
"identityRequired":true
}
パラメーター | タイプ | 必須/オプション | 説明 |
---|---|---|---|
dynamicEnum.authenticationRule |
文字列 | 必須 | Platform の顧客が宛先に接続する方法を示します。使用できる値は CUSTOMER_AUTHENTICATION 、PLATFORM_AUTHENTICATION 、NONE 、です。
|
dynamicEnum.destinationServerId |
文字列 | 必須 | 動的スキーマサーバーの instanceId 。この宛先サーバーには、動的スキーマを取得するために Experience Platform が呼び出す API エンドポイントが含まれます。 |
dynamicEnum.value |
文字列 | 必須 | 動的スキーマサーバー設定で定義された、動的スキーマの名前。 |
dynamicEnum.responseFormat |
文字列 | 必須 | 動的スキーマを定義する際は、常に SCHEMA に設定します。 |
profileRequired |
ブール値 | オプション | ユーザーが Experience Platform から宛先プラットフォームのカスタム属性にプロファイル属性をマッピングできる必要がある場合は、true を使用します。 |
segmentRequired |
ブール値 | 必須 | このパラメーターは、Destination SDK に必須で、常に true に設定される必要があります。 |
identityRequired |
ブール値 | 必須 | ユーザーが Experience Platform から profileFields 配列で定義した属性に ID タイプをマッピングできる必要がある場合は、true に設定します。 |
スキーマ設定内では、静的または動的スキーマに加えて、必須の(または事前定義済みの)マッピングを追加するオプションがあります。これらは、ユーザーが Platform UI で表示できるマッピングですが、宛先への接続を設定する際には変更できません。
例えば、常に宛先に送信されるように、メールアドレスフィールドを強制できます。
現在、必須のマッピングの以下の組み合わせがサポートされています。
必須のソースフィールドのみの設定は、現在、サポートされていません。
必須のマッピングを含むスキーマ設定と、これらがバッチ宛先に対するデータの有効化ワークフローのマッピング手順でどのように見えるかについて、以下の 2 つ例を参照してください。
以下に、必須のソースと宛先の両方のマッピングの例を示します。ソースと宛先の両方のフィールドが必須のマッピングとして指定されている場合、ユーザーは、2 つのうちどちらかのフィールドを選択または編集できず、事前定義済みの選択のみを表示できます。
"schemaConfig": {
"requiredMappingsOnly": true,
"requiredMappings": [
{
"sourceType": "text/x.schema-path",
"source": "personalEmail.address",
"destination": "personalEmail.address"
}
]
}
パラメーター | タイプ | 必須/オプション | 説明 |
---|---|---|---|
requiredMappingsOnly |
ブール値 | オプション | これが true に設定されている場合、ユーザーは、requiredMappings 配列で定義する必須のマッピング以外に、アクティベーションフローで他の属性および ID をマッピングできません。 |
requiredMappings.sourceType |
文字列 | 必須 | source フィールドのタイプを示します。サポートされている値:
|
requiredMappings.source |
文字列 | 必須 | ソースフィールドの値を示します。サポートされる値タイプを以下に示します。
|
requiredMappings.destination |
文字列 | 必須 | ターゲットフィールドの値を示します。ソースと宛先の両方のフィールドが必須のマッピングとして指定されている場合、ユーザーは、2 つのうちどちらかのフィールドを選択または編集できず、選択した方のみを表示できます。 |
その結果、Platform UI のソースフィールドとターゲットフィールドの両方のセクションが灰色表示になります。
以下に、必須の宛先マッピングの例を示します。宛先フィールドのみが必須として指定されている場合、ユーザーは、マッピングするソースフィールドを選択できます。
"schemaConfig": {
"requiredMappingsOnly": true,
"requiredMappings": [
{
"destination": "identityMap.ExamplePartner_ID",
"mandatoryRequired": true,
"primaryKeyRequired": true
}
]
}
パラメーター | タイプ | 必須/オプション | 説明 |
---|---|---|---|
requiredMappingsOnly |
ブール値 | オプション | これが true に設定されている場合、ユーザーは、requiredMappings 配列で定義する必須のマッピング以外に、アクティベーションフローで他の属性および ID をマッピングできません。 |
requiredMappings.destination |
文字列 | 必須 | ターゲットフィールドの値を示します。宛先フィールドのみが指定されている場合、ユーザーは、宛先にマッピングするソースフィールドを選択できます。 |
mandatoryRequired |
ブール値 | オプション | マッピングが必須の属性としてマークされる必要があるかどうかを示します。 |
primaryKeyRequired |
ブール値 | オプション | マッピングが重複排除キーとしてマークされる必要があるかどうかを示します 。 |
その結果、Platform UI のターゲットフィールドセクションが灰色表示になるのに対して、ソースフィールドセクションはアクティブになり、ユーザーが操作できます。必須キーおよび重複排除キーオプションがアクティブになり、ユーザーは変更できません。
この記事を読むことで、Destination SDK でサポートされるスキーマタイプと、どのようにスキーマを設定できるかについて、理解を深めることができました。
その他の宛先コンポーネントについて詳しくは、以下の記事を参照してください。