チュートリアル: カスタム連絡先ファセットの作成

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

Sitecore Experience Platformでは、コンタクト ファセットを使用してコンタクトのデータを保存します。このチュートリアルでは、カスタム取引先担当者ファセットを作成し、Microsoft Dynamics 365 for Salesからのデータをファセットに入力する同期プロセスを構成するプロセスについて説明します。

この例では、コンタクトが関連付けられているアカウントの名前を保存するためのカスタムコンタクトファセットを作成します。このチュートリアルでは、次の方法について説明します。

  • Microsoft Visual Studioプロジェクトを作成する

  • コレクションモデルの定義

  • コレクション モデルのデプロイと構成

  • Dynamics連絡先からの読み取り方法を指定します

  • コンタクトファセットへの書き込み方法を指定します

  • Dynamicsデータを連絡先ファセットにマッピングする

  • コンタクトファセットをコンタクトにマッピングします

  • パイプラインに新しいファセットを追加する

Microsoft Visual Studioプロジェクトを作成する

コンタクトにカスタムデータを保存するには、カスタムコンタクトファセットとコレクションモデルを作成する必要があります。カスタムコンポーネントをコードに実装するには、Microsoft Visual Studioプロジェクトを作成する必要があります。

xConnectでは、コレクション モデルによって、使用可能なコンタクト ファセットが定義されます。カスタムコンタクトファセットにデータを保存する前に、カスタムコンタクトファセットを含むコレクションモデルが必要です。

カスタムコンポーネントを使用してアセンブリをビルドしてデプロイするには:

  1. Visual Studioで、次のプロジェクトを作成します。

    Project type

    Class Library (.NET Framework)

    .NET version

    .NET Framework 4.6.2

    Project name

    Examples.Connect.Dynamics

  2. 次のNuGetパッケージへの参照を追加します。

    • Sitecore.DataExchange.Tools.DynamicsConnect.NoReferences

    • Sitecore.XConnect.NoReferences

    メモ

    Sitecoreの公開NuGetフィードはhttps://nuget.sitecore.com/resources/v3/index.jsonで入手できます。

  3. 取引先企業名を格納するための取引先担当者ファセットを作成するには、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()
            {
            }
        }
    }
  4. コレクション モデルを実装するには、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();
            }
        }
    }
  5. アセンブリをSitecoreサーバーに配置するには、Visual Studioプロジェクトをビルドし、生成されたExamples.Connect.Salesforce.dllファイルをSitecoreサーバーにコピーします。

コレクションモデルの定義

カスタムデータプロバイダは、コレクションモデルで定義されたファセットを公開します。これにより、xConnectエンティティを含むデータ マッピングの設定が容易になり、ユーザーに利用可能なものが表示され、誤って無効な値を入力する変更を減らすことができます。

カスタムコレクションモデルは、使用する前に登録する必要があります。これには、いくつかのSitecoreサーバー ロールのコンポーネントと設定の更新が含まれます。

コレクションモデルを定義するには:

  1. Sitecoreの コンテンツ エディター で、Sitecore/System/Settings/Data Exchange/Providers/xConnect/Collection Modelsに移動します。

  2. 次の項目を追加します。

    Template

    Collection Model Folder

    Item name

    Custom Models

  3. 新しいコレクション モデル フォルダー アイテムに、次のアイテムを追加します。

    Template

    Compiled Collection Model

    Item name

    Custom Collection Model for Dynamics

  4. 新しいコンパイル済みコレクション モデル項目のContentタブのSettingsセクションで、次のフィールド値を設定します。

    価値

    Collection Model Type

    Examples.Connect.Dynamics.DynamicsConnectCollectionModelEx, Examples.Connect.Dynamics

  5. アイテムを保存します。

コレクション モデルのデプロイと構成

カスタム データをxConnectに送信する前に、コレクション モデルをxConnectにデプロイする必要があります。これは、コレクションモデルを記述するJSONファイルをコピーすることによって実現されます。

xConnectに接続するには、コレクション モデルを指定する必要があります。これにより、xConnectとxConnectクライアントは、互いに何を期待すべきかを正確に把握できます。

設定をテストすると、コレクション モデルがデプロイされ、xConnectクライアント エンドポイントが適切に設定されていることを確認できます。

コレクションモデルをデプロイして設定するには、次のようにします。

  1. コレクションモデルをデプロイするには、カスタムコレクションモデルに移動します。リボンのData Exchangeタブで、Convert Model to Itemsをクリックします。次に、「 Convert Model to JSON」をクリックします。

    Convert Model to JSON button
  2. モデル・ファイルを保存し、モデル・ファイルを次のサーバーにデプロイします。

    • xConnectコレクション

    • xConnectインデックス作成

  3. コンテンツ エディターで、Sitecore/System/Data Exchangeに移動します。

  4. コレクション モデルを使用するようにxConnectクライアント エンドポイントを設定するには、次の場所に移動します。 Sitecore/System/Data Exchange/<your dynamics tenant>/Endpoints/Providers/xConnect/xConnect Client Endpoint

  5. 次のフィールド値を設定します。

    価値

    Collection Model

    Collection Models/Custom Models/Custom Collection Model for Dynamics

  6. アイテムを保存します。

  7. 構成をテストするには、リボンのData ExchangeタブでRun Troubleshooterをクリックします。

    Run Troubleshooter button

    xConnectコレクション サービスへの接続が確立されたことを知らせるメッセージが表示されます。

    Connection successfully established message

Dynamics連絡先からの読み取り方法を指定します

テナントは、Dynamicsから読み取られるデータの構造を理解するように構成する必要があります。このセクションでは、この情報を組み込むためにテナントを更新する方法について説明します。

値アクセサーは、取引先企業がDynamicsの取引先担当者のプロパティであることを表すために使用されます。この値アクセサーには、いくつかの目的があります。

  • Dynamicsから取引先担当者を読み取る場合は、取引先担当者の取引先企業を含めるようにDynamicsに指示する必要があります。値アクセサ セット内の値アクセサは、連絡先オブジェクトのどのフィールドを読み取るかを決定するために使用されます。値アクセサーを追加すると、Dynamicsから追加のフィールドを読み取るように指定できます。

  • DynamicsからSitecoreへのデータのマッピングを設定するときは、値アクセサーを使用して、Dynamics連絡先から読み取る値を指定します。

取引先責任者の取引先に値アクセサを追加するには:

  1. コンテンツ エディターで、Sitecore/System/Data Exchangeに移動します。

  2. テナントを選択します。

  3. Data Access/Value Accessor Sets/Providers/Dynamics/Dynamics Contactに移動します。

    Dynamics Contact in content tree
  4. 次の項目を追加します。

    Template

    Entity Attribute Value Accessor

    Item name

    Account on Dynamics Contact

  5. 新しい項目のContentタブのAttributeセクションで、次のフィールド値を設定します。

    価値

    Attribute Name

    parentcustomerid

    Value Type

    Formatted Value

  6. アイテムを保存します。

コンタクトファセットへの書き込み方法を指定します

値アクセサ セットを設定するには、次のようにします。

  1. コンテンツ エディターで、Sitecore/System/Data Exchangeに移動します。

  2. テナントを選択します。

  3. Data Access/Value Accessor Sets/Providers/xConnectに移動します。

    xConnect provider in content tree
  4. 次の項目を追加します。

    Template

    xConnect Entity Facet Value Accessor Set

    Item name

    xConnect Contact Dynamics Account Information Facet

  5. 新しいアイテムに、次のアイテムを追加します。

    Template

    xConnect Entity Facet Property Value Accessor

    Item name

    Account Name on Dynamics Account Information Facet on xConnect Contact

  6. 新しい項目のContentタブのSettingsセクションで、次のフィールド値を設定します。

    価値

    Facet Property

    Collection Models/Custom Models/Custom Collection Model for Dynamics/Facets/Contact/DynamicsAccount/AccountName

  7. アイテムを保存します。

Dynamicsデータを連絡先ファセットにマッピングする

  1. コンテンツ エディタを開き、Sitecore/System/Data Exchangeに移動します。

  2. テナントを選択します。

  3. Value Mapping Sets/Dynamics to xConnect Contact Mappingsに移動します。

    Value Mapping Sets in content tree
  4. 次の項目を追加します。

    Template

    Value Mapping Set

    Item name

    Dynamics Contact to xConnect Contact Dynamics Account Information Facet

  5. 新しいアイテムに、次のアイテムを追加します。

    Template

    Value Mapping

    Item name

    Account Name

  6. 新しい項目のContentタブで、次のフィールド値を設定します。

    価値

    Source

    Source Accessor

    Data Access/Value Accessor Sets/Providers/Dynamics/Dynamics Contact/Account on Dynamics Contact

    Target

    Target Accessor

    Data Access/Value Accessor Sets/Providers/xConnect/xConnect Contact Dynamics Account Information Facet/Account Name on Dynamics Account Information Facet on xConnect Contact

  7. アイテムを保存します。

コンタクトファセットをコンタクトにマッピングします

コンタクトファセットをマッピングするには:

  1. コンテンツ エディターで、Sitecore/System/Data Exchangeに移動します。

  2. テナントを選択します。

  3. Data Access/Value Accessor Sets/Providers/xConnect/xConnect Contactに移動します。

    xConnect Contact in content tree
  4. 次の項目を追加します。

    Template

    xConnect Entity Facet Value Accessor

    Item name

    Dynamics Account Information Facet on xConnect Contact

  5. 新しい項目のContentタブのSettingsセクションで、次のフィールド値を設定します。

    価値

    Facet Definition

    Collection Models/Custom Models/Custom Collection Model for Dynamics/Facets/Contact/DynamicsAccount

    Mapping Set

    Value Mapping Sets/Dynamics to xConnect Contact Mappings/Dynamics Contact to xConnect Contact Dynamics Account Information Facet

  6. アイテムを保存します。

  7. テナントを選択します。

  8. Value Mapping Sets/Dynamics to xConnect Contact Mappings/Dynamics Contact to Contact Modelに移動します。

    Dynamics to xConnect contact mappings in content tree
  9. 次の項目を追加します。

    Template

    Value Mapping

    Item name

    Dynamics Account Information Facet

  10. 新しい項目のContentタブで、次のフィールド値を設定します。

    価値

    Source

    Source Accessor

    Data Access/Value Accessors/Common/Value Accessor with Raw Value Reader Set

    Target

    Target Accessor

    Data Access/Value Accessor Sets/Providers/xConnect/xConnect Contact/Dynamics Account Information Facet on xConnect Contact

  11. アイテムを保存します。

パイプラインに新しいファセットを追加する

新しいファセットの情報を処理するには、Read Contacts from xConnectパイプラインとProcess Single Contact from Dynamicsパイプラインに情報を追加する必要があります。

パイプライン ステップにファセットを追加するには:

  1. ファセットのフィールドをパイプライン ステップに追加するには、コンテンツ エディターでSitecore/System/Data Exchangeに移動します。

  2. <your Dynamics tenant>/Pipelines/xConnect Contacts to Dynamics Sync Pipelines/Read Contacts from xConnect Pipeline/Read Contacts from xConnectに移動します。

  3. ContentタブのContact SettingsセクションのContact facets to Readフィールドで、Selected列にxConnect Contact Dynamics Account Information Facetを追加します。パイプライン ステップを保存します。

  4. ファセットをProcess Single Contact from Salesforceパイプライン ステップに追加するには、コンテンツ エディターで <your Dynamics tenant>/Pipelines/Dynamics Contacts to xConnect Sync Pipelines/Process Single Contact from Dynamics Pipeline/Resolve Contact Model by Dynamics Id from xConnectに移動します。

  5. ContentタブのxConnect SettingsセクションのFacets to Readフィールドで、Collection Models/Custom Models/Custom Collection Model for Dynamics/Facets/Contact/DynamicsAccountを見つけます。 Selected列に追加します。パイプライン ステップを保存します。

この記事を改善するための提案がある場合は、 お知らせください!