ウォークスルー
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecore Experience Platformでは、連絡先のファセットを使って連絡先のデータを保存します。このウォークスルーでは、カスタムコンタクトのファセットを作成し、Microsoft Dynamics 365 for Salesのデータをファセットに入力するための同期プロセスを設定する手順を案内します。
この例では、連絡先に関連付けられたアカウント名を保存するためのカスタムコンタクトファセットを作成します。このウォークスルーでは、以下の方法を説明しています:
- Microsoft Visual Studioプロジェクトを作成してください
- コレクションモデルを定義する
- コレクションモデルの展開と設定
- Dynamicsの連絡先から読み方を指定してください
- コンタクト面への書き方を指定してください
- 接触面へのダイナミクスデータ
- コンタクトのファセットをコンタクトにマッピングします
- パイプラインに新しい側面を追加
Microsoft Visual Studioプロジェクトを作成してください
コンタクトにカスタムデータを格納するには、カスタムコンタクトのファセットおよびコレクションモデルを作成する必要があります。カスタムコンポーネントをコードで実装するためのMicrosoft Visual Studioプロジェクトを作成する必要があります。
xConnectでは、コレクションモデルが利用可能なコンタクトファセットを定義します。カスタムコンタクトファセットにデータを保存する前に、カスタムコンタクトファセットを含むコレクションモデルが必要です。
カスタムコンポーネントでアセンブリを構築・展開するには:
-
Visual Studioで以下のプロジェクトを作成します:
プロジェクトタイプ
Class Library (.NET Framework)
.NETバージョン
.NET フレームワーク 4.6.2
プロジェクト名
例を挙げてください。Connect。ダイナミクス
-
以下のNuGetパッケージへの参照を追加してください:
-
Sitecore.DataExchange.Tools.DynamicsConnect.NoReferences
-
Sitecore.XConnect.NoReferences
!注Sitecoreの公開NuGetフィードはhttps://nuget.sitecore.com/resources/v3/index.jsonで視聴可能です。
-
-
アカウント名を保存するための連絡先ファセットを作成するには、Visual Studioで以下のクラスを追加してください:
using Sitecore.XConnect; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
namespace Examples.Connect.Dynamics { FacetKey(DefaultFacetKey) Serializable public class DynamicsAccountInformationFacet : Facet { public const string DefaultFacetKey = "DynamicsAccount"; public string AccountName { get; set; } public DynamicsAccountInformationFacet() { } } }
-
コレクションモデルを実装するには、Visual Studioで以下のクラスを追加してください:
using Sitecore.DataExchange.Tools.DynamicsConnect.Models; using Sitecore.XConnect; using Sitecore.XConnect.Schema; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
namespace Examples.Connect.Dynamics { public class DynamicsConnectCollectionModelEx { public DynamicsConnectCollectionModelEx() { } static DynamicsConnectCollectionModelEx() { _model = BuildModel(); } private static XdbModel _model = null; public static XdbModel Model { get { return _model; } } private static XdbModel BuildModel() { var builder = new XdbModelBuilder(typeof(DynamicsConnectCollectionModelEx).FullName, new XdbModelVersion(1, 0)); builder.DefineFacet<Contact, DynamicsAccountInformationFacet>(DynamicsAccountInformationFacet.DefaultFacetKey); builder.ReferenceModel(DynamicsConnectCollectionModel.Model); return builder.BuildModel(); } } }
-
アセンブリをSitecoreサーバーにデプロイするには、Visual Studioプロジェクトを構築し、得られたExamples.Connect.Salesforce.dllファイルをSitecoreサーバーにコピーします。
コレクションモデルを定義する
カスタムデータプロバイダーはコレクションモデルで定義されたファセットを公開します。これにより、xConnectエンティティを含むデータマッピングの設定が容易になり、ユーザーに利用可能なデータを表示し、誤って無効な値を入力する変更を減らすことができます。
カスタムコレクションモデルを登録する必要があり、それを使用するには許可されません。これには複数のSitecoreサーバーロールのコンポーネントと設定の更新が含まれます。
コレクションモデルを定義するために:
-
Sitecoreで、コンテンツエディターでSitecore/System/Settings/Data Exchange/Providers/xConnect/Collection Modelsに移動します。
-
以下の項目を追加してください:
テンプレート
Collection Model Folder
アイテム名
Custom Models
-
新しいコレクションのモデルフォルダ項目には、以下の項目を追加してください:
テンプレート
Compiled Collection Model
アイテム名
ダイナミクスのためのカスタムコレクションモデル
-
新しくコンパイルされたコレクションモデル項目の 「Content 」タブの 設定 セクションで、以下のフィールド値を設定します:
フィールド
価値
コレクションモデルタイプ
例。Connect。Dynamics。DynamicsConnectCollectionModelEx、例。Connect。Dynamics
-
アイテムを保存してください。
コレクションモデルの展開と設定
カスタムデータをxConnectに送信する前に、コレクションモデルをxConnectにデプロイする必要があります。これは、コレクションモデルを記述するJSONファイルをコピーすることで実現されます。
xConnectに接続するにはコレクションモデルを指定する必要があります。これにより、xConnectとxConnectクライアントがお互いに何を期待すべきか正確に把握できます。
構成のテストを行うことで、コレクションモデルが展開され、xConnectクライアントエンドポイントが適切に設定されていることが保証されます。
コレクションモデルの展開および設定:
-
コレクションモデルを展開するには、カスタムコレクションモデルに移動します。リボンの 「データ交換 」タブで「 モデルをアイテムに変換」をクリックします。次に 「モデルをJSONに変換」をクリックします。

-
モデルファイルを保存し、以下のサーバーに展開します:
- xConnectコレクション
- xConnect インデックス
-
コンテンツエディターでSitecore/System/Data Exchangeに移動します。
-
xConnectクライアントエンドポイントをコレクションモデルで使用するように設定するには、次のサイトへ移動してください Sitecore/System/Data Exchange//Endpoints/Providers/xConnect/xConnect Client Endpoint
-
以下のフィールド値を設定します:
フィールド
価値
コレクションモデル
コレクションモデル/カスタムモデル/ダイナミクス用のカスタムコレクションモデル
-
アイテムを保存してください。
-
設定をテストするには、リボン内の 「データ交換 」タブで 「トラブルシューティングを実行する」をクリックしてください。

xConnectの収集サービスとの接続が確立されたことを知らせるメッセージが表示されます。

Dynamicsの連絡先から読み方を指定してください
テナントはDynamicsから読み取るデータの構造を理解できるように設定されなければなりません。この節では、この情報を組み込むためにテナントを更新する方法について説明します。
値アクセス器は、Dynamicsにおいてアカウントが連絡先のプロパティであることを表現するために使われます。この値アクセス器はいくつかの目的を果たします:
- Dynamicsからコンタクトを読む際は、Dynamicsにそのコンタクトのアカウントを含めるよう指示する必要があります。バリューアクセサセット内の値アクセサは、コンタクトオブジェクトのどのフィールドを読み取るべきかを決定するために使われます。バリューアクセサを追加することで、Dynamicsから追加のフィールドを読みたいと指定できます。
- DynamicsからSitecoreへのデータのマッピングを設定する際、値インセリタを使ってDynamicsの連絡先からどの値を読み取るかを指定します。
連絡先にアカウントのバリューアクセクターを追加するには:
-
コンテンツエディターでSitecore/System/Data Exchangeに移動します。
-
入居者を選びましょう。
-
データアクセス/値アクセスセット/プロバイダー/ダイナミクス/ダイナミクスの連絡先へ移動します。

-
以下の項目を追加してください:
テンプレート
Entity Attribute Value Accessor
アイテム名
Dynamics Contactのアカウント
-
新しいアイテムの コンテンツ タブの 属性 セクションで、以下のフィールド値を設定します:
フィールド
価値
属性名
parentcustomerid
価値タイプ
Formatted Value
-
アイテムを保存してください。
コンタクト面への書き方を指定してください
値アクセスセットを設定するには:
-
コンテンツエディターでSitecore/System/Data Exchangeに移動します。
-
入居者を選びましょう。
-
Data Access/Value Accessor Sets/Providers/xConnectへナビゲート。

-
以下の項目を追加してください:
テンプレート
xConnect エンティティ ファセット 値 アクセサセット
アイテム名
xConnect Contact Dynamics Account Information Facet
-
新しい項目には以下の項目を追加してください:
テンプレート
xConnect エンティティ ファセットプロパティ バリュー アクセサ
アイテム名
Dynamics アカウント名 アカウント情報 xConnect Contact のファセット
-
新しいアイテムの 「コンテンツ 」タブの 設定 セクションで、以下のフィールド値を設定します:
フィールド
価値
ファセット特性
コレクションモデル/カスタムモデル/Dynamics/Facets/Contact/DynamicsAccount/AccountName 用のカスタムコレクションモデル
-
アイテムを保存してください。
接触面へのダイナミクスデータ
-
コンテンツエディターを開き、Sitecore/System/Data Exchangeに移動します。
-
入居者を選びましょう。
-
xConnect Contact Mappingsの価値マッピングセット/ダイナミクスへナビゲーションしてください。

-
以下の項目を追加してください:
テンプレート
Value Mapping Set
アイテム名
Dynamics Contact to xConnect Contact Dynamics Account Information Facet
-
新しい項目には以下の項目を追加してください:
テンプレート
Value Mapping
アイテム名
Account Name
-
新しいアイテムの 「コンテンツ 」タブで、以下のフィールド値を設定します:
セクション
フィールド
価値
出典
ソースアクセサル
データアクセス/価値アクセスセット/プロバイダー/ダイナミクス/ダイナミクスコンタクト/ダイナミクスコンタクト上のアカウント
ターゲット
ターゲットアクセサ
データアクセス/価値アクセス セット/プロバイダー/xConnect/xConnect Contact Dynamics アカウント情報ファセット/アカウント名 アカウント情報 ファセット xConnect Contact
-
アイテムを保存してください。
コンタクトのファセットをコンタクトにマッピングします
接触面をマッピングするには:
-
コンテンツエディターでSitecore/System/Data Exchangeに移動します。
-
入居者を選びましょう。
-
データアクセス/値アクセスセット/プロバイダー/xConnect/xConnect 連絡先へ移動してください。

-
以下の項目を追加してください:
テンプレート
xConnect エンティティ ファセットバリュー アクセサ
アイテム名
xConnect Contact のDynamics Account Information Facet
-
新しい項目の 「Content 」タブの 設定 セクションで、以下のフィールド値を設定します:
フィールド
価値
面の定義
コレクションモデル/カスタムモデル/Dynamics/Facets/Contact/DynamicsAccount 用のカスタムコレクションモデル
マッピングセット
価値マッピングセット/ダイナミクスからxConnectへの接触マッピング/ダイナミクスからの接触からxConnectへの連絡先 アカウント情報ファセット
-
アイテムを保存してください。
-
入居者を選びましょう。
-
値マッピングセット/ダイナミクスからxConnectのコンタクトマッピング/ダイナミクスからコンタクトモデルへナビゲーションしてください。

-
以下の項目を追加してください:
テンプレート
Value Mapping
アイテム名
Dynamics Account Information Facet
-
新しいアイテムの 「コンテンツ 」タブで、以下のフィールド値を設定します:
セクション
フィールド
価値
出典
ソースアクセサル
データアクセス/値アクセス/共通/価値アクセス器(生値リーダーセット付き)
ターゲット
ターゲットアクセサ
データアクセス/価値アクセスセット/プロバイダー/xConnect/xConnect Contact/Dynamics アカウント情報ファセット xConnect Contact
-
アイテムを保存してください。
パイプラインに新しい側面を追加
新しい側面の情報を処理するには、xConnectのRead ContactsとDynamicsパイプラインのProcess Single Contactsに追加する必要があります。
パイプラインのステップにファセットを加えるために:
- パイプラインステップにファセットのフィールドを追加するには、コンテンツエディターで Sitecore/System/Data Exchangeに移動します。
- /pipelines/xConnect ContactsからDynamicsへ、パイプライン/Contactsを同期し、xConnectパイプライン/xConnectからContactsを読み取る。
- コンテンツタブの「Contact Settings」セクションの「Contact Facets to Read」欄で、選択した列に xConnect Contact Dynamics Account Information ファセットを追加します。パイプラインのステップを保存します。
- Salesforce パイプラインから単一接触プロセスのファセットを追加するには、コンテンツエディターで /pipelines/Dynamics Contacts に移動し、xConnect Sync Pipelines/Process Single Contact from Dynamics Pipeline/Resolve Contact Model by Dynamics Connection from xConnect。
- コンテンツタブのxConnect Settingsセクションの「Facets to Read」欄で、Collection Models/Custom Models/Custom Collection Model for Dynamics/Facets/Contact/DynamicsAccountを探してください。それをSelected欄に追加します。パイプラインのステップを保存します。