ファセットとのコンタクトを取得する
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
コンタクトまたはコンタクトのバッチで返すファセットを指定するには、ファセットキーの配列をContactExpandOptionsに渡します。存在する場合に常に返されるファセットは、ConsentInfoとMergeInfoのみです。
次の例では、デフォルトのEmailAddressListファセットとAddressListファセットがコンタクト展開オプションの一部としてリクエストされています。
ファセットは、コンタクトのFacetsディクショナリに追加されます(そのコンタクトにファセットが存在する場合)。リクエストしたファセットがモデルで定義されていない場合、xConnectはリクエストの実行時に例外をスローします。コンタクトが返されたら、コンタクトの .GetFacet<T>() メソッドを使用してファセットオブジェクトを取得します。
メソッド .GetFacet<T>() は、次の場合にnullを返します。
-
ファセットは、コンタクトが最初に取得されたときにContactExpandOptionsの一部として要求されませんでした
-
ファセットが特定のコンタクトに対して設定されていない
-
タイプとキーの組み合わせが正しくありません
次の例は、EmailAddressListファセットを取得して操作する方法を示しています。
すべての組み込みファセットモデルには、WebVisit.DefaultFacetKeyなどのDefaultFacetKeyプロパティがあります。
デフォルトのファセットキーを使用してファセットを取得する
すべての組み込みファセットモデルには、デフォルトのファセットキーをファセットモデルに関連付けるFacetKey属性があります。
ファセット キーが指定されていない場合、xConnectは既定値にフォールバックします。この動作を模倣するために、独自のファセットモデルにFacetKey属性を追加します。次の例では、ファセットキーを指定せずに .Expand<EmailAddressList>() と .GetFacet<EmailAddressList>() を使用しています。
ファセット・モデルにFacetKey属性がない場合、例外がスローされます。
ファセットモデル( EmailAddressListなど)を使用して複数のファセットを定義した場合は、デフォルト以外のファセットキーを定数としてモデルクラスに格納することを検討してください。
ファセットの設定または更新
ファセットを更新するには、.SetFacet() 拡張メソッドを使用する必要があります。詳しくは、コンタクト・ファセットの設定を参照してください。