関連する連絡先を展開する

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

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

インタラクションまたはインタラクションのセットを取得する場合、RelatedContactExpandOptionsを使用して、関連付けられたコンタクトとコンタクトファセットを返すことができます。

var interactionTask = client.GetAsync<Interaction>(references, new InteractionExecutionOptions(new InteractionExpandOptions(WebVisit.DefaultFacetKey)
                    {
                        
                        Contact = new RelatedContactExpandOptions(PersonalInformation.DefaultFacetKey) // Pass in all contact facets that you want to return
                    }));

インタラクションが返されたときにコンタクトとそのファセットにアクセスするには、interaction.Contact (タイプIEntityReference<Contact>) をContactにキャストする必要があります。次の例では、多数のインタラクションがIDによって取得され、それらに関連付けられたコンタクトがPersonalInformationファセットで展開されます。

using Sitecore.XConnect.Collection.Model;
using Sitecore.XConnect;
using System;
using Sitecore.XConnect.Client;

namespace Documentation
{
    public class GetInteractionWithContact
    {
        // Async Example
        public async void ExampleAsync()
        {
            using (Sitecore.XConnect.Client.XConnectClient client = Sitecore.XConnect.Client.Configuration.SitecoreXConnectClientConfiguration.GetClient())
            {
                try
                {

                    // Contact reference from ID
                    var contactRef = new Sitecore.XConnect.ContactReference(Guid.Parse("B9814105-1F45-E611-82E6-34E6D7117DCB"));
                    InteractionReference interactionRef = new Sitecore.XConnect.InteractionReference(contactRef, Guid.Parse("DA2DA5F0-4348-E611-82E7-34E6D7117DCB"));

                    var interactionTask = client.GetAsync<Sitecore.XConnect.Interaction>(interactionRef, new InteractionExecutionOptions(new Sitecore.XConnect.InteractionExpandOptions(WebVisit.DefaultFacetKey)
                        {
                        Contact = new RelatedContactExpandOptions(PersonalInformation.DefaultFacetKey)
                        }
                        ));

                    var interaction = await interactionTask;

                    var webVisitFacet = interaction.GetFacet<WebVisit>();
                    var contact = interaction.Contact as Contact; // You must cast the contact reference to a contact entity
                    var contactFacet = contact.GetFacet<PersonalInformation>(PersonalInformation.DefaultFacetKey); // May be null if contact does not have a PersonalInformation facet set
                }
                catch (XdbExecutionException ex)
                {
                    // Manage exceptions
                }
            }
        }

        public void ExamplSync()
        {
            using (Sitecore.XConnect.Client.XConnectClient client = Sitecore.XConnect.Client.Configuration.SitecoreXConnectClientConfiguration.GetClient())
            {
                try
                {

                    // Contact reference from ID
                    var contactRef = new Sitecore.XConnect.ContactReference(Guid.Parse("{B9814105-1F45-E611-82E6-34E6D7117DCB}"));
                    InteractionReference interactionRef = new Sitecore.XConnect.InteractionReference(contactRef, Guid.Parse("DA2DA5F0-4348-E611-82E7-34E6D7117DCB"));

                    var interaction = client.Get<Sitecore.XConnect.Interaction>(interactionRef, new InteractionExecutionOptions(new Sitecore.XConnect.InteractionExpandOptions(WebVisit.DefaultFacetKey)
                    {
                        Contact = new RelatedContactExpandOptions(PersonalInformation.DefaultFacetKey)
                    }));


                    var webVisitFacet = interaction.GetFacet<WebVisit>();
                    var contact = interaction.Contact as Contact; // You must cast the contact reference to a contact entity
                    var contactFacet = contact.GetFacet<PersonalInformation>(PersonalInformation.DefaultFacetKey); // May be null if contact does not have a PersonalInformation facet set
                }
                catch (XdbExecutionException ex)
                {
                    // Manage exceptions
                }
            }
        }
    }
}
この記事を改善するための提案がある場合は、 お知らせください!