連絡先データモデル

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

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

連絡先 (連絡先エンティティ) には、チャネル、デバイス、Webサイト間でのやり取りから個人について収集するすべての情報が含まれています。

コンタクト・データ・モデルは、コンタクトに関する情報を格納するために使用されるデータ構造 (コンタクト・ファセットなど) を記述します。Entity Model APIを使用して、これらのデータ構造をプログラムで拡張できます。

既定では、取引先担当者エンティティには、個人名、電子メール アドレス、対話履歴、達成された結果、自動化の状態などの情報が格納されます。問い合わせデータモデルを使用すると、独自の問い合わせファセットを追加でき、組織に固有のほぼすべてのタイプの追加データを柔軟に保存できます。

ファセットは、次のカテゴリに分類できます。

  • System –システムによって使用されます。これらは削除したり無効にしたりすることはできません。

  • Standard – Sitecoreに標準で付属する一般的に使用されるファセット。

  • Custom – お客様の組織専用に作成されています。

コンタクトは、個人がウェブサイトと対話したとき、またはシステム内にすでにあるコンタクトに関連付けることができないインタラクションをインポートしたときに自動的に作成されます。これらはインポートするか、APIを使用してプログラムで作成でき、以前のバージョンのSitecoreからアップグレードするときに自動的に作成することもできます。

コンタクトファセット

コンタクトファセットは、関連する属性をグループ化してコンタクトに格納される1つの単位にする階層データ構造です。取引先担当者エンティティは、一意の識別子、内部システム データ構造、および一連のファセットで構成されます。

ファセットに格納されるデータは、次のように整理できます。

  • Attributes – 文字列、整数、浮動小数点数、GUID、日時値、列挙型など、ほとんどの基本的な .NETデータ型を格納します。

  • Elements – 複数の属性、ネストされた要素、および要素の辞書を含むことができる複合属性を格納します。

  • Dictionaries – 名前付き要素をランダムな順序で格納します。

これらのデータ構造を使用すると、組織に関連する連絡先に関する情報を格納できるカスタムファセットを構築できます。

メモ

Sitecoreの設定を変更して、標準ファセットとカスタム ファセットを有効または無効にすることができます。

システムファセット

システム ファセットには、Sitecore Experience Platformで必要な情報が格納されます。これらは永続的に取引先担当者エンティティの一部であり、無効にしたりカスタマイズしたりすることはできません。ただし、一部のコンタクトファセット属性 (外部コンタクト識別子、エンゲージメント値ポイント、統合識別子など) はAPIを使用して設定できます。

  • System – 連絡先によって蓄積されたエンゲージメントバリューポイントの合計額や、連絡先の分類と統合に関連する属性などの情報を保持します。

  • Identifiers – 連絡先の外部識別子とその他の関連属性を保持します。

  • Tags – タイムスタンプ付きの名前付きセットを格納できるディクショナリを実装します。

  • Extensions – 連絡先にカスタム値を保存します。

  • Behavior profiles – 連絡先の観察された行動に基づくデータを保存し、新しいWebインタラクションのプロファイルを初期化するために使用されます。

次のコードは、取引先責任者に保存されているエンゲージメント値ポイントと外部ユーザー名属性にアクセスする方法を示しています。

namespace Examples
{
  using System.IO;
  using Sitecore.Analytics;
  using Sitecore.Analytics.Tracking;
  internal class Sample
  {
    internal void GetBasicInfo(TextWriter writer)
    {
      if ((Tracker.Current != null) && (Tracker.Current.Contact != null))
      {
        Contact contact = Tracker.Current.Contact;
        writer.WriteLine("Identifier: {0}", contact.Identifiers.Identifier);
        writer.WriteLine("Total engagement value points: {0}", contact.System.Value);
      }
    }
  }
}

標準ファセット

標準ファセットはSitecoreにデフォルトで付属しており、個人名、配送先住所、メール アドレス、電話番号など、一般的に使用される属性を持つ構造を実装します。これらのファセットは、そのまま使用することも、削除することも、独自のファセット実装に置き換えることも、次の追加属性を使用して拡張することもできます。

  • Addresses – 連絡先に関連付けられた名前付き住所の辞書を実装します。住所は、国、州、市区町村、郵便番号、および通りで構成されます。また、地理座標の保存もサポートしています。

  • Communication profile – 連絡先が連絡に対する同意を取り消したかどうかなど、連絡先の通信設定を保存します。

  • Email addresses – 連絡先に関連付けられた名前付きメールアドレスの辞書を実装します。ファセットは、各メールアドレスのバウンスカウントの保存をサポートしています。

  • Personal info – 連絡先の個人名、ニックネーム、年齢、性別、役職を保存します。

  • Phone number – 連絡先に関連付けられた名前付き電話番号のディクショナリを実装します。各電話番号には、国コード、電話番号、内線番号 (該当する場合) が含まれています。

  • Picture – 連絡先に関連付けられたプロファイル画像を含むバイナリストリームを格納します。

  • Preferences – 連絡先の優先言語などの設定を保存します。

標準ファセットを無効にするには、Sitecore.Analytics.Model.configファイルを編集します。

たとえば、次のサンプル コードを使用して、Pictureファセット、elementsノードの内容、およびコントラクト属性の値を削除できます。

<?xml version="1.0" encoding="utf-8" ?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
  <sitecore>
    <model>
      <elements />
      <entities>
        <contact>
          <factory />
          <facets>
            <facet name="Personal" contract="..." />
            <facet name="Addresses" contract="..." />
            <facet name="Emails" contract="..." />
            <facet name="Phone Numbers" contract="..." />
            <facet name="Picture" contract="..." />
            <facet name="Communication Profile" contract="..." />
            <facet name="Preferences" contract="..." />
          </facets>
        </contact>
      </entities>
    </model>
  </sitecore>
</configuration>

このサンプルでは、ファセット定義をファセットノードから削除して、ファセットが永続コンタクトに表示されていてもxDBからロードされないようにします。コンタクトを保存すると、永続化されたコンタクトのファセットは、設定ファイルで指定されていなくても保持されます。必要に応じて、ファセット定義を復元して、ファセットが削除される前のコンテンツにアクセスできます。

次のコードは、標準ファセットにアクセスして更新する方法を示しています。

namespace Examples
{
  using System;
  using Sitecore.Diagnostics;
  using Sitecore.Analytics;
  using Sitecore.Analytics.Model.Entities;
  using Sitecore.Analytics.Model.Framework;
  using Sitecore.Analytics.Tracking;
  internal class Sample
  {
    internal void UpdatePersonalInfo(string firstName, string surename, DateTime birthDate)
    {
      if ((Tracker.Current != null) && (Tracker.Current.Contact != null))
      {
        try
        {
          Contact contact = Tracker.Current.Contact;
          IContactPersonalInfo personal = contact.GetFacet<IContactPersonalInfo>("Personal");
          personal.FirstName = firstName;
          personal.Surname = surename;
          personal.BirthDate = birthDate;
        }
        catch (FacetNotAvailableException ex)
        {
          Log.Warn("The 'Personal' facet is not available.", ex);
        }
      }
    }
  }
}

カスタムファセット

独自のカスタムコンタクトファセットを作成して、組織に固有のデータを保存できます。これらのファセットは、標準ファセットと同じ方法でシステムによって処理されます。これらは接点に完全に統合されており、システム内のどこからでもアクセスできます。

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