パートナースキーマ設定

Experience Platformは、スキーマを使用して、一貫した再利用可能な方法でデータの構造を記述します。 データをExperience Platformに取り込むと、XDM スキーマに従って構造化されます。 デザインの原則やベストプラクティスなど、スキーマ構成モデルについて詳しくは、スキーマ構成の基本を参照してください。

Destination SDKで宛先を作成する場合、宛先プラットフォームで使用する独自のパートナースキーマを定義できます。 パートナースキーマを使用して、Experience Platformのプロファイル属性を、宛先プラットフォームが認識する特定のフィールドにすべてExperience Platform UI内でマッピングします。

宛先用にパートナースキーマを設定する場合、宛先プラットフォームでサポートされているフィールドマッピングを微調整できます。以下に例を示します。

  • 宛先プラットフォームでサポートされているphone属性にphoneNumber XDM属性をマッピングします。
  • Experience Platformが動的に呼び出すことができる動的パートナースキーマを作成して、宛先内でサポートされているすべての属性のリストを取得します。
  • 宛先プラットフォームが必要とする必須のフィールドマッピングを定義します。

このコンポーネントがDestination SDKで作成された統合にどこで適合するかを理解するには、configuration options ドキュメントの図を参照するか、Destination SDKを使用してファイルベースの宛先を設定する方法に関するガイドを参照してください。

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

この記事では、宛先に使用できるサポートされているすべてのスキーマ設定オプションについて説明し、Experience Platform UIに表示される内容を示します。

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

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

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

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

サポートされるスキーマ設定 supported-schema-types

Destination SDKは複数のスキーマ設定をサポートしています:

  • 静的スキーマは、schemaConfig セクションの profileFields 配列を通じて定義されます。 静的スキーマでは、profileFields配列のExperience Platform UIに表示されるすべてのターゲット属性を定義します。 スキーマを更新する必要がある場合、宛先設定を更新する必要があります。
  • 動的スキーマは、動的スキーマサーバーと呼ばれる、追加の宛先サーバータイプを使用して、サポートされているターゲット属性を動的に取得し、独自の API に基づいて動的にスキーマを生成します。 動的スキーマは、profileFields 配列を使用しません。 スキーマを更新する必要がある場合、宛先設定を更新する必要はありません。 代わりに、動的スキーマサーバーは、更新されたスキーマを API から取得します。
  • スキーマ設定内では、必須の(または事前定義済みの)マッピングを追加するオプションがあります。 これらはExperience Platform UIで表示できるマッピングですが、宛先への接続を設定する際に変更することはできません。 例えば、常に宛先に送信されるように、メールアドレスフィールドを強制できます。

schemaConfig セクションは、以下の節で示すように、必要とするスキーマのタイプに応じて、複数の設定パラメーターを使用できます。

静的スキーマの作成 attributes-schema

プロファイル属性を使用して静的スキーマを作成するには、以下に示すように、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 配列で定義する属性への属性のマッピングを有効または無効にします。

  • trueに設定すると、マッピングフィールドにソース列のみが表示されます。 この場合、profileFields は適用されません。
  • falseに設定すると、スキーマのソース属性をprofileFields配列で定義した属性にマッピングできます。

デフォルト値は false です。

profileRequired
ブール
オプション
Experience Platformから宛先プラットフォームのカスタム属性にプロファイル属性をマッピングできる場合は、trueを使用します。
segmentRequired
ブール
必須
このパラメーターはDestination SDKに必須であり、常にtrueに設定する必要があります。
identityRequired
ブール
必須
Experience PlatformからID タイプ ​profileFields配列で定義した属性にマッピングできる場合は、trueに設定します。
segmentNamespaceAllowList
配列
オプション
配列で定義されたオーディエンス名前空間のオーディエンスのみを宛先にマッピングします。

このパラメーターの使用は、ほとんどの場合、推奨されません。 代わりに、"segmentNamespaceDenyList":[]を使用して、すべてのタイプのオーディエンスを宛先に書き出せるようにします。

segmentNamespaceAllowListsegmentNamespaceDenyListの両方が設定に含まれていない場合は、​ セグメント化サービス ​からのオーディエンスのみを書き出すことができます。

segmentNamespaceAllowListsegmentNamespaceDenyListは相互に排他的です。
segmentNamespaceDenyList
配列
オプション
配列で定義されたオーディエンス名前空間から宛先へのオーディエンスのマッピングを制限します。

Adobeでは、"segmentNamespaceDenyList":[]を設定して、ソースに関係なく、すべてのオーディエンスの書き出しを許可することをお勧めします。

重要: schemaConfigsegmentNamespaceDenyListを指定せず、segmentNamespaceAllowListを使用しない場合、システムは自動的にsegmentNamespaceDenyList[]に設定します。 これにより、今後カスタムオーディエンスが失われるのを防ぐことができます。 安全性を確保するために、Adobeでは、設定で"segmentNamespaceDenyList":[]を明示的に設定することをお勧めします。

segmentNamespaceAllowListsegmentNamespaceDenyListは相互に排他的です。

以下の画像に、結果の UI エクスペリエンスを示します。

ターゲットマッピングを選択すると、profileFields配列で定義されたフィールドが表示されます。

ターゲット属性画面を示す UI 画像。

属性を選択すると、ターゲットフィールド列に属性が表示されます。

属性を含む静的ターゲットスキーマを示す UI 画像

動的スキーマの作成 dynamic-schema-configuration

Destination SDKは、動的パートナースキーマの作成をサポートしています。 静的スキーマとは対照的に、動的スキーマは、profileFields 配列を使用しません。 代わりに、動的スキーマは、スキーマ設定を取得する独自の API に接続する、動的スキーマサーバーを使用します。

IMPORTANT
動的スキーマを作成する前に、動的スキーマサーバーを作成する必要があります。

動的スキーマ設定では、以下に示すように、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
文字列
必須

Experience Platform の顧客が宛先に接続する方法を示します。 使用できる値は CUSTOMER_AUTHENTICATIONPLATFORM_AUTHENTICATIONNONE
です。

  • Experience Platform人の顧客が顧客認証 ドキュメントに記載されている認証方法のいずれかを使用してシステムにログインする場合は、CUSTOMER_AUTHENTICATIONを使用します。
  • アドビと宛先との間にグローバル認証システムがあり、Experience Platform の顧客が宛先への接続に認証資格情報を提供する必要がない場合は、PLATFORM_AUTHENTICATION を使用します。 この場合、資格情報APIを使用して資格情報オブジェクト ​を作成し、宛先配信設定のauthenticationId パラメーターに資格情報オブジェクトのIDを渡す必要があります。
  • 宛先プラットフォームにデータを送信するために認証が必要ない場合は、NONE を使用します。
dynamicEnum.destinationServerId
文字列
必須
動的スキーマサーバーの instanceId。 この宛先サーバーには、Experience Platformが動的スキーマを取得するために呼び出すAPI エンドポイントが含まれています。
dynamicEnum.value
文字列
必須
動的スキーマサーバー設定で定義された、動的スキーマの名前。
dynamicEnum.responseFormat
文字列
必須
動的スキーマを定義する際は、常に SCHEMA に設定します。
profileRequired
ブール
オプション
Experience Platformから宛先プラットフォームのカスタム属性にプロファイル属性をマッピングできる場合は、trueを使用します。
segmentRequired
ブール
必須
このパラメーターはDestination SDKに必須であり、常にtrueに設定する必要があります。
identityRequired
ブール
必須
Experience PlatformからID タイプ ​profileFields配列で定義した属性にマッピングできる場合は、trueに設定します。

必須のマッピング required-mappings

スキーマ設定内では、静的または動的スキーマに加えて、必須の(または事前定義済みの)マッピングを追加するオプションがあります。 これらはExperience Platform UIで表示できるマッピングですが、宛先への接続を設定する際に変更することはできません。

例えば、常に宛先に送信されるように、メールアドレスフィールドを強制できます。

NOTE
現在、必須のマッピングの以下の組み合わせがサポートされています。
  • 必須のソースフィールドと必須の宛先フィールドを設定できます。 この場合、どちらのフィールドも編集または選択できず、選択範囲のみを表示できます。
  • 必須の宛先フィールドのみを設定できます。 この場合、宛先にマッピングするソースフィールドを選択できます。
必須のソースフィールドのみの設定は、現在、サポート​されていません

必須のマッピングを含むスキーマ設定と、これらがバッチ宛先に対するデータの有効化ワークフローのマッピング手順でどのように見えるかについて、以下の 2 つ例を参照してください。

必須のソースおよび宛先マッピング

以下に、必須のソースと宛先の両方のマッピングの例を示します。 ソースフィールドと宛先フィールドの両方を必須マッピングとして指定した場合、どちらのフィールドも選択または編集できず、定義済みの選択のみを表示できます。

code language-json
"schemaConfig": {
    "requiredMappingsOnly": true,
    "requiredMappings": [
      {
        "sourceType": "text/x.schema-path",
        "source": "personalEmail.address",
        "destination": "personalEmail.address"
      }
    ]
}
table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 layout-auto
パラメーター タイプ 必須/オプション 説明
requiredMappingsOnly ブール オプション これがtrueに設定されている場合、requiredMappings配列で定義した必須マッピングとは別に、アクティベーションフロー内の他の属性とIDをマッピングすることはできません。
requiredMappings.sourceType 文字列 必須

source フィールドのタイプを示します。 サポートされている値:

  • text/x.schema-pathsource フィールドが XDM スキーマからのプロファイル属性の場合に、この値を使用します。
  • text/x.aep-xlsource フィールドが正規表現で定義されている場合に、この値を使用します。 例:iif(segmentMembership.ups.aep_seg_id.status==\"exited\", \"1\", \"0\")
  • text/plainsource フィールドがマクロテンプレートで定義されている場合に、この値を使用します。 現在、サポートされている唯一のマクロテンプレートは、metadata.segment.alias です。
requiredMappings.source 文字列 必須

ソースフィールドの値を示します。 サポートされる値タイプを以下に示します。

  • XDM プロファイル属性。 例:personalEmail.address。 ソース属性が XDM プロファイル属性の場合は、sourceType パラメーターを text/x.schema-path に設定します。
  • 正規表現。 例:iif(segmentMembership.ups.aep_seg_id.status==\"exited\", \"1\", \"0\")。 ソース属性が正規表現の場合は、sourceType パラメーターを text/x.aep-xl に設定します。
  • マクロテンプレート。 例:metadata.segment.alias。 ソース属性がマクロテンプレートの場合は、sourceType パラメーターを text/plain に設定します。 現在、サポートされている唯一のマクロテンプレートは、metadata.segment.alias です。
requiredMappings.destination 文字列 必須 ターゲットフィールドの値を示します。 ソースフィールドと宛先フィールドの両方が必須マッピングとして指定されている場合、どちらのフィールドも選択または編集できず、選択したフィールドのみを表示できます。

その結果、Experience Platform UIの​ Source フィールド ​と​ ターゲットフィールド ​の両方のセクションがオフになります。

UI アクティベーションフローでの必須のマッピングの画像。

必須の宛先マッピング

以下に、必須の宛先マッピングの例を示します。 必要に応じて宛先フィールドのみを指定する場合は、マッピングするソースフィールドを選択できます。

code language-json
"schemaConfig": {
    "requiredMappingsOnly": true,
    "requiredMappings": [
      {
        "destination": "identityMap.ExamplePartner_ID",
        "mandatoryRequired": true,
        "primaryKeyRequired": true
      }
    ]
}
table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 layout-auto
パラメーター タイプ 必須/オプション 説明
requiredMappingsOnly ブール オプション これがtrueに設定されている場合、requiredMappings配列で定義した必須マッピングとは別に、アクティベーションフロー内の他の属性とIDをマッピングすることはできません。
requiredMappings.destination 文字列 必須 ターゲットフィールドの値を示します。 宛先フィールドのみが指定されている場合は、宛先にマッピングするソースフィールドを選択できます。
mandatoryRequired ブール オプション マッピングが必須の属性としてマークされる必要があるかどうかを示します。
primaryKeyRequired ブール オプション マッピングが重複排除キーとしてマークされる必要があるかどうかを示します 。

その結果、Experience Platform UIの​Target フィールド セクションがオフになり、Source フィールド セクションがアクティブになり、操作できるようになります。 必須キー​および​ 重複排除キー ​のオプションは有効であり、変更できません。

UI アクティベーションフローでの必須のマッピングの画像。

外部オーディエンスのサポートの設定 external-audiences

外部で生成されたオーディエンス ​のアクティブ化をサポートするように宛先を設定するには、schemaConfig セクションに以下のスニペットを含めます。

"schemaConfig": {
  "segmentNamespaceDenyList": [],
  ...
}

segmentNamespaceDenyList機能について詳しくは、このページの上ののプロパティの説明を参照してください。

次の手順 next-steps

Destination SDKでサポートされている静的および動的スキーマタイプ、必須マッピングの追加方法、外部オーディエンスをサポートするように宛先を設定する方法について理解できました。

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

recommendation-more-help
experience-platform-help-destinations