Freigeben über


Aktivitätenkontakts ersellen benutzerdefinierte Kanalaktivitäten

Anmerkung

Dynamics 365 Marketing und Dynamics 365 Customer Insights sind jetzt Customer Insights - Journeys und Customer Insights - Data. Weitere Informationen finden Sie in den FAQs zu Dynamics 365 Customer Insights

Neue Kunden von Customer Insights - Journeys erhalten ausschließlich Echtzeitmarketingfunktionen. Zusätzliche Informationen finden Sie in Echtzeitkontaktverläufe – Standardinstallation.

Wichtig

Dieser Artikel gilt nur für Outbound-Marketing, das am 30. Juni 2025 aus dem Produkt entfernt wird. Um Unterbrechungen zu vermeiden, sollten Sie vor diesem Datum zu Echtzeit-Journeys übergehen. Mehr Informationen: Überblick über den Übergang

Die folgende Tabelle beschreibt die Eingabeparameter, die für die msdyncrm_CustomChannelActivityCreateInteraction Aktion erforderlich sind:

Parametereingabe Typ Beschreibung
ActivityId String Der msdyncrm_activityid Attributwert der msdyncrm_customerjourneycustomchannelactivity Entität mit benutzerdefiniertem Kanal Aktivitäts-ID.
CustomerJourney_ EntityReference Der msdyncrm_customerjourney Attributwert der msdyncrm_customerjourneycustomchannelactivity Entität mit Entitätsreferenz auf Kundenkontaktverlauf, von der der Aufruf stammt.
CustomerJourneyIteration EntityReference Der msdyncrm_customerjourneyiteration Attributwert der msdyncrm_customerjourneycustomchannelactivity Entität mit Entitätsreferenz auf Kundenkontaktverlauf, von der der Aufruf stammt.
Kontakt EntityReference Der msdyncrm_contact Attributwert der msdyncrm_customerjourneycustomchannelactivity Entität mit Entitätsreferenz, um den Kontak zu verarbeiten.
EntityType String Der msdyncrm_entitytype Attributwert der msdyncrm_customerjourneycustomchannelactivity Entität, die die Zeichenfolge enthält, die den Entitätstyp der benutzerdefinierten Entität darstellt, die in Schritt 1 erstellt wurde und in der benutzerdefinierten Kanalkachel Definition definiert ist.
Entitäts-ID String Der msdyncrm_entityid Attributwert der msdyncrm_customerjourneycustomchannelactivity Entität, die die Zeichenfolge enthält, die den Entitätstyp der benutzerdefinierten Entität darstellt, die in Schritt 1 erstellt wurde und durch das EntityType Element in der benutzerdefinierten Kanalkachel Definition definiert wird.
ResponseType String ID ist eine der Antworttpyen in der benutzerdefinierten Kanalkachel Definition.
TriggerKeyword String (Optional) Schlüsselwort für den in der benutzerdefinierten Kachel definierten benutzerdefinierten Antworttyp Definition.

Das folgende XML zeigt den Abschnitt der benutzerdefinierten Kanalkacheldefinition. In diesem Abschnitt werden drei Arten von Antworten definiert. Die ersten zwei, sent und delivered sind die Standardantworttypen. Die dritte, keyword, lässt die Übergabe eines zusätzlichen Textwerts an die Interaktion zu.

 <ResponseTypes> 
    <ResponseType id="sent"> 
      <Labels> 
        <!-- Labels should always have a Label for 1033 --> 
        <Label locId="1033">Sent</Label> 
        <Label locId="1031">[Sent]</Label> 
      </Labels> 
    </ResponseType> 
    <ResponseType id="delivered"> 
      <Labels> 
       <!-- Labels should always have a Label for 1033 --> 
        <Label locId="1033">Delivered</Label> 
        <Label locId="1031">[Delivered]</Label> 
      </Labels> 
    </ResponseType> 
    <ResponseType id="keyword" custom="True"> 
      <!-- there should be only one response type with attribute custom=true --> 
      <Labels> 
        <!-- Labels should always have a Label for 1033 --> 
        <Label locId="1033">Keyword match</Label> 
        <Label locId="1031">[Keyword match]</Label> 
      </Labels> 
    </ResponseType> 
  </ResponseTypes> 

Benutzerdefinierte Kanalaktivitäten zurückgeben

Der folgende Code zeigt, wie Sie eine benutzerdefinierte Kanalaktivität programmgesteuert ausgeben. In diesem Beispiel wird die Referenzaktivität im benutzerdefinierten Kanalaktivitätsdatensatz definiert. Wir geben die Interaktion mit ResponseType = keyword und TriggerKeyword = interested zurück.

    var orgServiceFactory = serviceProvider.GetService(typeof(IOrganizationServiceFactory)) as IOrganizationServiceFactory; 
    IOrganizationService orgService = orgServiceFactory.CreateOrganizationService(context.UserId);
    
    //Id of msdyncrm_customerjourneycustomchannelactivity entity 
    Guid Id = "<Record Guid>"; 

    //Get response from your service or use predefined response type for keyword based responses. 
    string responseType = "keyword"; 

    //Get keyword response from your service (Optional) 
    string triggerKeyWord = "interested"; 
    //Note: if you emmiting interaction on creation of msdyncrm_customerjourneycustomchannelactivity entity instance, there is no need to retrieve it, you can use Target  
    Entity customChannelRecord = orgService.Retrieve( "msdyncrm_customerjourneycustomchannelactivity",Id,new Microsoft.Xrm.Sdk.Query.ColumnSet(true)); 
    var emitInteractionRequest = new OrganizationRequest("msdyncrm_CustomChannelActivityCreateInteraction"); 
    emitInteractionRequest.Parameters.Add("ActivityId", customChannelRecord.GetAttributeValue<string>("msdyncrm_activityid")); 
    emitInteractionRequest.Parameters.Add("CustomerJourney", customChannelRecord.GetAttributeValue<EntityReference>("msdyncrm_customerjourney")); 
    emitInteractionRequest.Parameters.Add("CustomerJourneyIteration", customChannelRecord.GetAttributeValue<EntityReference>("msdyncrm_customerjourneyiteration")); 
    emitInteractionRequest.Parameters.Add("Contact", customChannelRecord.GetAttributeValue<EntityReference>("msdyncrm_contact")); 
    emitInteractionRequest.Parameters.Add("EntityId", customChannelRecord.GetAttributeValue<string>("msdyncrm_entityid")); 
    emitInteractionRequest.Parameters.Add("EntityType", customChannelRecord.GetAttributeValue<string>("msdyncrm_entitytype")); 
    emitInteractionRequest.Parameters.Add("ResponseType", responseType); 

    //Needed if response type has “custom” attribute set to “True” 
    emitInteractionRequest.Parameters.Add("TriggerKeyword", triggerKeyWord); 

    //Emit interaction 
    orgService.Execute(emitInteractionRequest);