1. 連絡先を追加する

識別子を追加

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

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

コンタクト識別子は外部システムに対して一意に連絡先を識別し、新規または既存の連絡先に追加できます。バッチが正常に提出されると、新しい識別子は連絡先のIdentifiersコレクションで利用可能です。

新しい連絡先に識別子を追加する

以下の例では、既知の識別子と匿名の識別子が新しい連絡先に追加されます。識別子はContactコンストラクタに渡すか、.AddContactIdentifier() メソッドを使うことができます。

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

namespace Documentation { public class GetContactIdentifiers { public async void ExampleAsync() { using (Sitecore.XConnect.Client.XConnectClient client = Sitecore.XConnect.Client.Configuration.SitecoreXConnectClientConfiguration.GetClient()) { try { var contact = new Sitecore.XConnect.Contact( new Sitecore.XConnect.ContactIdentifier("twitter", "myrtlesitecore", Sitecore.XConnect.ContactIdentifierType.Known) ); client.AddContact(contact); client.AddContactIdentifier(contact, new Sitecore.XConnect.ContactIdentifier("ad-network", "ABC123456", Sitecore.XConnect.ContactIdentifierType.Anonymous));

await client.SubmitAsync(); } catch (XdbExecutionException ex) { // Manage exception } } }

public void Example() { using (Sitecore.XConnect.Client.XConnectClient client = Sitecore.XConnect.Client.Configuration.SitecoreXConnectClientConfiguration.GetClient()) { try { var contact = new Sitecore.XConnect.Contact( new Sitecore.XConnect.ContactIdentifier("twitter", "myrtlesitecore", Sitecore.XConnect.ContactIdentifierType.Known) ); client.AddContact(contact); client.AddContactIdentifier(contact, new Sitecore.XConnect.ContactIdentifier("ad-network", "ABC123456", Sitecore.XConnect.ContactIdentifierType.Anonymous));

client.Submit(); } catch (XdbExecutionException ex) { // Manage exception } } }

} }

!注 .AddContactIdentifierメソッドを使って新しい連絡先に識別子を追加できます。

既存の連絡先に識別子を追加する

以下の例では、.AddContactIdentifier() メソッドを用いて既存の連絡先に識別子を追加します。

using System; using Sitecore.XConnect; using Sitecore.XConnect.Client;

namespace Documentation { public class UpdateContact { // Async example public async void ExampleAsync() { using (Sitecore.XConnect.Client.XConnectClient client = Sitecore.XConnect.Client.Configuration.SitecoreXConnectClientConfiguration.GetClient()) { try { // Retrieve contact from xConnect first var existingContactTask = client.GetAsync<Sitecore.XConnect.Contact>(new Sitecore.XConnect.IdentifiedContactReference("twitter", "myrtlesitecore"), new ContactExecutionOptions(new Sitecore.XConnect.ContactExpandOptions("SitecoreSkyFrequentFlyerInfo")));

Sitecore.XConnect.Contact existingContact = await existingContactTask;

if (existingContact != null) { client.AddContactIdentifier(existingContact, new Sitecore.XConnect.ContactIdentifier("twitter", "myrtlesitecore", Sitecore.XConnect.ContactIdentifierType.Known));

await client.SubmitAsync(); } } catch (Exception ex) { // Handle exceptions }

} }

// Sync public void Example() { using (Sitecore.XConnect.Client.XConnectClient client = Sitecore.XConnect.Client.Configuration.SitecoreXConnectClientConfiguration.GetClient()) { try { // Retrieve contact from xConnect first Contact existingContact = client.Get<Sitecore.XConnect.Contact>(new Sitecore.XConnect.IdentifiedContactReference("twitter", "myrtlesitecore"), new ContactExecutionOptions(new Sitecore.XConnect.ContactExpandOptions("SitecoreSkyFrequentFlyerInfo")));

if (existingContact != null) { client.AddContactIdentifier(existingContact, new Sitecore.XConnect.ContactIdentifier("twitter", "myrtlesitecore", Sitecore.XConnect.ContactIdentifierType.Known));

client.Submit(); } } catch (Exception ex) { // Handle exceptions }

} } } }

連絡先識別子の更新

既存の連絡先識別子は更新できません。識別子は削除と追加のみ可能です。以下の例では、既存の識別子が .RemoveContactIdentifier() 拡張子を使って削除されています。

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

namespace Documentation { public class RemoveContactIdentifier { // 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 contactTask = client.GetAsync<Sitecore.XConnect.Contact>(reference, new ContactExecutionOptions(new Sitecore.XConnect.ContactExpandOptions() { }));

Sitecore.XConnect.Contact contact = await contactTask;

var identifierToRemove = contact.Identifiers.FirstOrDefault(x => x.Identifier == "sitecoremyrtle");

client.RemoveContactIdentifier(contact, identifierToRemove);

await client.SubmitAsync(); } catch (XdbExecutionException ex) { // Manage exception } } }

// Sync example public void ExampleSync() { 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<Sitecore.XConnect.Contact>(reference, new ContactExecutionOptions(new Sitecore.XConnect.ContactExpandOptions() { }));

var identifierToRemove = contact.Identifiers.FirstOrDefault(x => x.Identifier == "sitecoremyrtle");

client.RemoveContactIdentifier(contact, identifierToRemove);

client.Submit(); } catch (XdbExecutionException ex) { // Manage exception } } } } }

連絡先識別子の追加または削除の影響

連絡先ID(GUID)はxConnectにおける権威ある識別子です。既存の連絡先に新しい識別子を追加しても、その連絡先の内部連絡先ID(GUID)は変わりません。やり取り、リストメンバーシップ、マーケティングオートメーション登録、連絡先のファセット(好みを含む)などの分析データはそのまま維持されます。新しい識別子は外部システムからの連絡先解決のために即座に利用可能になります。

既存の識別子を削除しても、その識別子は連絡先を削除せず、過去のやり取りや分析も変更されません。さらに、マーケティングオートメーションプランの登録およびリストメンバーシップも保持されます。

!重要フォーム、ログインフロー、EXM、統合など、外部システムで現在も積極的に使用されている識別子は削除しないことを推奨します。識別子に依存して連絡を解決するシステムは、識別子が削除されると機能が停止し、IDの断片化を引き起こす可能性があります。識別子の削除は、将来の追跡帰属、分析報告の整合性、リストメンバーシップの正確性、マーケティング自動化の継続性、マーケティングの優先順位の強制(例

)に間接的に影響を及ぼす可能性があります。

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