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

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

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

Salesforceの連絡先からの読み方を指定してください
テナントがSalesforceの連絡先データを読み取るように設定する必要があります。そのためには、Salesforceのデータ構造を表すために値のアクセルと値リーダーを使用します。
Salesforceの連絡先からの読み方を指定するには:
SalesforceからSitecoreへのデータのマッピングを設定する際には、値インビサーを使ってSalesforceの連絡先からどの値を読み取るかを指定します。
連絡先にアカウント名を含めると指定すると、Salesforceはアカウントオブジェクトを返します。このアカウントオブジェクトにはアカウント名を表すフィールドがあります。アカウントオブジェクトの名前にアクセスするには値アクセスツールを作成する必要があります。この値アクセスツールは決して直接使用されません。価値アクセスツールを使ってアカウント名を読み取る価値リーダーを作成しなければなりません。
Salesforceの連絡先からの読み方を指定するには:
-
連絡先のアカウントの価値アクセルを追加するには、コンテンツエディターで*/Data Access/Value Accessor セット/プロバイダー/Salesforce/Salesforce Contact Fields*へ移動してください。以下の項目を追加してください:
テンプレート
Salesforce オブジェクトフィールド 値 インセリサー
アイテム名
Salesforce連絡先のアカウント
-
Salesforceの新しいアカウント連絡先項目を選択してください。右側のペイン、コンテンツタブのフィールドセクションで、以下のフィールド値を設定します:
フィールド
価値
フィールド名
Account
セレクトのフィールド名
Account.Name
-
アイテムを保存してください。
-
アカウント名にアクセスする価値アクセスツールを作成するには、コンテンツエディターで /Data Access/Value Accessor Sets/Providers/Salesforceへ移動してください。以下の項目を追加してください:
テンプレート
Salesforce Object Value Accessor Set
アイテム名
Salesforce Account Fields
-
新しいSalesforce Account Fields項目には以下の項目を追加してください:
テンプレート
Salesforce オブジェクトフィールド 値 インセリサー
アイテム名
Salesforceアカウントの名前
-
新しい 「Salesforceアカウントの名前」 項目の右側ペイン、コンテンツ タブの フィールド セクションで、以下のフィールド値を設定します。
フィールド
価値
フィールド名
Name
-
アイテムを保存してください。
-
バリューリーダーを作成するには、コンテンツエディターで /Data Access/Value Readers/Providers/Salesforceへ移動してください。以下の項目を追加してください:
テンプレート
Value Accessor Value Reader
アイテム名
アカウント名バリューアクセス用のバリューリーダー
-
新しい アカウント名の価値アクセス項目の価値リーダー の右側ペイン、コンテンツ タブの 設定 セクションで、以下のフィールド値を設定します。
フィールド
価値
バリューアクセサ
価値アクセスセット/プロバイダー/Salesforce/Salesforceアカウントフィールド/Salesforceアカウント名
-
アイテムを保存してください。
コンタクトの側面に書き込む方法を指定してください
値アクセスセットを設定するには:
-
コンテンツエディターで /data access/value accessor set/providers/xConnectに移動してください。
-
以下の項目を追加してください:
テンプレート
xConnect エンティティ ファセット 値 アクセサセット
アイテム名
xConnect Contact:Salesforceアカウント情報ファセット
-
新しいxConnectの「Contact」Salesforceアカウント情報のファセット 項目に、以下の項目を追加してください:
テンプレート
xConnect エンティティ ファセットプロパティ バリュー アクセサ
アイテム名
Salesforceのアカウント名、アカウント情報のファセット、xConnect 連絡先
-
xConnect Contact項目のSalesforceアカウント情報ファセットの新しいアカウント名で、右側のペインのコンテンツタブの設定セクションで、以下のフィールド値を設定します。
フィールド
価値
ファセット特性
コレクションモデル/カスタムモデル/Salesforce/Facets/Contact/SalesforceAccount/AccountName 用のカスタムコレクションモデル
-
アイテムを保存してください。
Salesforceデータをコンタクトの側面にマッピングする
データをコンタクト面にマッピングするには:
-
コンテンツエディターで、/value mapping set/Salesforce から xConnect Contact Mappings へ移動します。
-
以下の項目を追加してください:
テンプレート
Value Mapping Set
アイテム名
Salesforce連絡先:xConnectへ Salesforceアカウント情報のファセット
-
新しいSalesforce Contact to xConnect Contact Salesforce Account Information Sidet項目には、以下の項目を追加してください:
テンプレート
Value Mapping
アイテム名
Account Name
-
新しいAccount Name項目の右側ペインの 「Content 」タブで、以下のフィールド値を設定します。
セクション
フィールド
価値
出典
ソースアクセサル
データアクセス/価値アクセスセット/プロバイダー/Salesforce/Salesforceの連絡先フィールド/Salesforce Contactのアカウント
ターゲット
ターゲットアクセサ
データアクセス/価値アクセスセット/プロバイダー/xConnect/xConnect ContactのSalesforceアカウント情報ファセット/Salesforceアカウント情報のファセットのファセット、xConnectの連絡先
ルール
ソースバリュートランスフォーマー
アカウント名のバリューアクセスツール/プロバイダー/Salesforce/バリューリーダー
!注「 Salesforceの連絡先から読み方を指定する」セクションで、アカウント名の値リーダーを作成しました。この値リーダーは、値マッピング上のソース値変換器として設定されています。ソース値変換器は、ソース値アクセルが読み取ったオブジェクトから値を読み取るバリューリーダーです。この場合、ソース値アクセサルはSalesforceの連絡先からアカウントオブジェクトを読み取ります。ただし、アカウント名を使い、アカウントオブジェクト自体を読み取るわけではありません。つまり、ソース値トランスフォーマーはアカウントオブジェクトから名前を読み取るのです。
-
アイテムを保存してください。
コンタクトのファセットをコンタクトにマッピングします
ファセットをマッピングするには:
-
コンテンツエディターで*/Data Access/Value Accessor セット/プロバイダー/xConnect/xConnect Contact*に移動してください。
-
以下の項目を追加してください:
テンプレート
xConnect エンティティ ファセットバリュー アクセサ
アイテム名
xConnect 連絡先のSalesforceアカウント情報ファセット
-
xConnect Contact項目 の新しいSalesforceアカウント情報ファセット の右側ペイン、コンテンツ タブの 設定 セクションで、以下のフィールド値を設定します。
フィールド
価値
面の定義
コレクションモデル/カスタムモデル/Salesforce/Facets/Contact/SalesforceAccount 用のカスタムコレクションモデル
マッピングセット
価値マッピングセット/SalesforceからxConnectへの連絡マッピング/Salesforceへの連絡 Salesforceアカウント情報ファセット
-
アイテムを保存してください。
-
入居者を選びましょう。
-
/value mapping sets/Salesforce to xConnect Contact Mappings/Salesforce Contact to Contact モデルへ移動します。
-
以下の項目を追加してください:
テンプレート
Value Mapping
アイテム名
Salesforce Account Information Facet
-
新しいSalesforce Account Information Facet項目の右側ペインの 「Content 」タブで、以下の値を設定します:
セクション
フィールド
価値
出典
ソースアクセサル
データアクセス/値アクセス/共通/価値アクセス器(生値リーダーセット付き)
ターゲット
ターゲットアクセサ
データアクセス/価値アクセスセット/プロバイダー/xConnect/xConnect 連絡先/salesforceアカウント情報ファセット xConnect Contact
-
アイテムを保存してください。
パイプラインに新しい側面を追加
新しい側面の情報を処理するには、Salesforceからの連絡を読み取り 、Salesforceの単一接触 処理のパイプラインステップに追加する必要があります。
パイプラインのステップにファセットを追加するには:
- パイプラインのファセットのフィールドを追加するには、コンテンツエディターで /Pipelines/Salesforce Contactsに移動し、xConnect Sync Pipelines/Read Contacts from Salesforce Pipeline/Read Contacts from Salesforce。
- 右側のペインの**「コンテンツ**」タブの「オブジェクト設定」セクションの「読むべきフィールド」欄で、「選択済み」列にSalesforce Account Fieldsを追加します。パイプラインのステップを保存します。
- Salesforceパイプラインから単一接触を処理するステップに追加するには、コンテンツエディターで*/Pipelines/Salesforce Contactsに移動し、xConnect Sync Pipelines/Process Single Contact/Resolve Contact ModelをIDでxConnectから選*びます。
- 右側のペイン、 コンテンツ タブの xConnect 設定 セクションの「 読み取る面 」欄で、「 *Collection Models/Custom Models/Custom Collection Model for Salesforce/Facets/Contact/SalesforceAccount」*を見つけてください。 それを「Selected 」列に追加してください。
- パイプラインのステップを保存しましょう。