1. コネとの仕事

コンタクトを手に入れましょう

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

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

client.Get()またはclient.GetAsyncの方法を使って、IDまたは識別子で取得できます。単一の連絡先や複数の連絡先を取得できます。

IDで連絡先を取得

以下の例は、IDで単一の連絡先を取得する方法を示しています:

using Sitecore.XConnect.Operations; using System; using System.Threading.Tasks; using Sitecore.XConnect; using Sitecore.XConnect.Client;

namespace Documentation { public class GetContact { // Async example public async void ExampleAsync() { using (Sitecore.XConnect.Client.XConnectClient client = Sitecore.XConnect.Client.Configuration.SitecoreXConnectClientConfiguration.GetClient()) { try { var reference = new Sitecore.XConnect.ContactReference(Guid.Parse("B9814105-1F45-E611-82E6-34E6D7117DCB"));

Task<Sitecore.XConnect.Contact> contactTask = client.GetAsync<Sitecore.XConnect.Contact>(reference, new ContactExecutionOptions(new ContactExpandOptions() { });

Contact contact = await contactTask; } catch (XdbExecutionException ex) { // Manage exceptions } } }

// Sync example public void Example() { using (Sitecore.XConnect.Client.XConnectClient client = Sitecore.XConnect.Client.Configuration.SitecoreXConnectClientConfiguration.GetClient()) { try { var reference = new Sitecore.XConnect.ContactReference(Guid.Parse("B9814105-1F45-E611-82E6-34E6D7117DCB"));

Contact contact = client.Get(reference, new ContactExecutionOptions(new ContactExpandOptions() { }); } catch (XdbExecutionException ex) { // Manage exceptions } } } } }

識別子による連絡先取得

以下の例は識別子による連絡先取得方法を示しています。既知の識別子と匿名識別子の両方に対して同じ方法を用いてください。識別子の詳細については「連絡先概要」トピックを参照してください

!注出典と識別子はどちらも大文字を区別しています。

using Sitecore.XConnect; using System.Threading.Tasks; using Sitecore.XConnect.Client;

namespace Documentation { public class GetContactByIdentifier { // Async example public async void ExampleAsync() { using (XConnectClient client = Sitecore.XConnect.Client.Configuration.SitecoreXConnectClientConfiguration.GetClient()) { try { var reference = new IdentifiedContactReference("twitter", "myrtlesitecore");

Task contactTask = client.GetAsync(reference, new ContactExecutionOptions(new ContactExpandOptions() { }));

Contact contact = await contactTask; } catch (XdbExecutionException ex) { // Manage exceptions } } }

// Sync example public void Example() { using (XConnectClient client = Sitecore.XConnect.Client.Configuration.SitecoreXConnectClientConfiguration.GetClient()) { try { var reference = new IdentifiedContactReference("twitter", "myrtlesitecore");

Contact contact = client.Get(reference, new ContactExecutionOptions(new ContactExpandOptions() { })); } catch (XdbExecutionException ex) { // Manage exceptions } } } } }

別名識別子で連絡先を取得する

すべての連絡先は、GUIDとSitecore.XConnect.Constants.AliasIdentifierSourceによって定義されたソースからなるエイリアス識別子を持っています。

using Sitecore.XConnect; using System.Threading.Tasks; using Sitecore.XConnect.Client;

namespace Documentation { public class GetContactByAliasIdentifier { // Async example public async void ExampleAsync() { using (XConnectClient client = Sitecore.XConnect.Client.Configuration.SitecoreXConnectClientConfiguration.GetClient()) { try { var reference = new IdentifiedContactReference(Sitecore.XConnect.Constants.AliasIdentifierSource, "1c59d6f4-1ea6-4219-887b-d8f5a0b8104a");

Task contactTask = client.GetAsync(reference, new ContactExecutionOptions(new ContactExpandOptions() { }));

Contact contact = await contactTask; } catch (XdbExecutionException ex) { // Manage exceptions } } }

// Sync example public void Example() { using (XConnectClient client = Sitecore.XConnect.Client.Configuration.SitecoreXConnectClientConfiguration.GetClient()) { try { var reference = new IdentifiedContactReference(Sitecore.XConnect.Constants.AliasIdentifierSource, "1c59d6f4-1ea6-4219-887b-d8f5a0b8104a");

Contact contact = client.Get(reference, new ContactExecutionOptions(new ContactExpandOptions() { })); } catch (XdbExecutionException ex) { // Manage exceptions } } } } }

!ヒントContactクラスの.GetAlias()拡張を使って連絡先のエイリアス識別子を取得します。

複数の連絡先を取る

.GetAsync()および.Get()メソッドを用いて、複数の接点を参照配列を渡すことで複数の接点を取得することができます。接点は単一のバッチとして返されます。以下の例で示すように、IDと識別子の混合を使って接点を取得することが可能です。

using Sitecore.XConnect.Operations; using System; using System.Collections.Generic; using Sitecore.XConnect; using Sitecore.XConnect.Client.Configuration; using Sitecore.XConnect.Client;

namespace Documentation { public class GetMultipleContacts { // Async example public async void AsyncExample() { using (XConnectClient client = SitecoreXConnectClientConfiguration.GetClient()) { try { var references = new List<IEntityReference>() { // Contact ID new ContactReference(new Guid("{A2814105-1F45-E611-52E6-34E6D7117DCB}")), // Known identifier new IdentifiedContactReference("twitter", "myrtlesitecore"), // Anonymous identifier new IdentifiedContactReference("adnetwork", "AB973934540244") };

var contactsTask = client.GetAsync(references, new ContactExecutionOptions(new ContactExpandOptions() { }));

IReadOnlyCollection<IEntityLookupResult> contactsResult = await contactsTask;

foreach (var result in contactsResult) { if (result.Exists) { Contact contact = result.Entity; } }

} catch (XdbExecutionException ex) { // Manage exceptions } } }

// Sync example public void Example() { using (XConnectClient client = SitecoreXConnectClientConfiguration.GetClient()) { try { var references = new List<IEntityReference>() { // Contact ID new ContactReference(new Guid("{A2814105-1F45-E611-52E6-34E6D7117DCB}")), // Known identifier new IdentifiedContactReference("twitter", "myrtlesitecore"), // Anonymous identifier new IdentifiedContactReference("adnetwork", "AB973934540244") };

IReadOnlyCollection<IEntityLookupResult> contacts = client.Get(references, new ContactExecutionOptions(new ContactExpandOptions() { }));

foreach (var result in contacts) { if (result.Exists) { Contact contact = result.Entity; } }

} catch (XdbExecutionException ex) { // Manage exceptions } } } } }

xConnectは、接点が見つからなくても各操作ごとにIEntityLookupResult を返します。接点が存在する場合、Existsプロパティはtrueに設定され、Entityプロパティから接触にアクセスできます。接点が存在するが取得できない場合は、Exceptionプロパティを詳細に確認してください。

!注複数の連絡先参照が同じ連絡先を参照している場合、xConnectはリストを統合できず、連絡先を複数回返します。

連絡先や関連するやり取りを得ましょう

デフォルトでは、接触はファセットや関連する相互作用なしで返されます。展開オプションを使って、どのファセスやどの範囲の関連するインタラクションを返すべきかを判断してください。

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