Dijeli putem


Izradi interakciju za prilagođenu aktivnost kanala

Napomena

1. rujna 2023. Dynamics 365 Marketing i Dynamics 365 Customer Insights prodavat će se zajedno kao jedan SKU proizvoda pod nazivom Dynamics 365 Customer Insights. Pojedinačne aplikacije preimenovat će se u Dynamics 365 Customer Insights – putovi i Dynamics 365 Customer Insights – podaci. Dodatne informacije potražite u Najčešćim pitanjima o sustavu Dynamics 365 Customer Insights

Nadalje, 1. runja 2023. novi klijenti s aplikacijom Dynamics 365 Marketing dobit će samo značajke marketinga u stvarnom vremenu. Dodatne informacije potražite u Zadana instalacija marketinga u stvarnom vremenu. Mnogo stranica dokumentacije trenutno upućuje na izlazne značajke koje možda nisu dostupne ili funkcioniraju drugačije u marketingu u stvarnom vremenu. Sadržaj dokumentacije ažurirat će se u rujnu kako bi se naznačilo odnosi li se na marketing u stvarnom vremenu ili na izlazni marketing.

Važno

Ovaj se članak odnosi samo na izlazni marketing.

Sljedeća tablica opisuje ulazne parametre potrebne msdyncrm_CustomChannelActivityCreateInteraction akcijom:

Parametar unosa Tip Opis
ActivityId String Vrijednost msdyncrm_activityid atributa entiteta koji sadrži ID aktivnosti prilagođenog kanala msdyncrm_customerjourneycustomchannelactivity .
CustomerJourney EntityReference Vrijednost msdyncrm_customerjourney atributa entiteta koji sadrži referencu entiteta msdyncrm_customerjourneycustomchannelactivity na put klijenta koji potječe iz poziva.
CustomerJourneyIteration EntityReference Vrijednost msdyncrm_customerjourneyiteration atributa entiteta koji sadrži referencu entiteta msdyncrm_customerjourneycustomchannelactivity na put klijenta iteraciju.
Kontakt EntityReference Vrijednost msdyncrm_contact atributa entiteta koji sadrži referencu entiteta msdyncrm_customerjourneycustomchannelactivity na obrađeni kontakt.
Vrsta entiteta String Vrijednost msdyncrm_entitytype atributa entiteta koji sadrži niz koji predstavlja vrstu entiteta prilagođenog entiteta stvorenog u koraku 1 msdyncrm_customerjourneycustomchannelactivity i definiranog u definiciji prilagođene pločice kanala.
EntityId String Vrijednost msdyncrm_entityid atributa ID-a msdyncrm_customerjourneycustomchannelactivity zapisa prilagođenog entiteta stvorenog u koraku 1 i definiranog elementom u EntityType definiciji prilagođene pločicekanala.
ResponseType String ID jedne od vrsta odgovora definiranih u definiciji prilagođene pločicekanala.
Ključna riječ TriggerKey String (Neobavezno) Ključna riječ za prilagođenu vrstu odgovora definirana u prilagođenoj definiciji pločice.

XML u nastavku prikazuje odjeljak definicije prilagođene pločice kanala. Ovaj odjeljak definira tri vrste odgovora. Prve dvije sentdelivered su standardne vrste odgovora. Treća, keyword omogućava prenošenje dodatne tekstualne vrijednosti interakciji.

 <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> 

Emitiraj prilagođenu aktivnost kanala Kreiraj interakciju

Sljedeća šifra pokazuje kako programski emitirati prilagođenu aktivnost kanala Kreiraj interakciju. U ovom primjeru referentna aktivnost definirana je u prilagođenom zapisu aktivnosti kanala. Emitiramo interakciju s ResponseType = keyword i TriggerKeyword = interested.

    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);