識別子を追加する
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<Contact> 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 } } } } }