A actividade da canle personalizada crea interacción

Nota

O 1 de setembro de 2023, Dynamics 365 Marketing e Dynamics 365 Customer Insights venderanse xuntos cun único SKU de produto chamado Dynamics 365 Customer Insights. As aplicacións individuais pasarán a chamarse Dynamics 365 Customer Insights - Viaxes e Dynamics 365 Customer Insights - Datos, respectivamente. Para obter máis información, consulte as Preguntas frecuentes de Dynamics 365 Customer Insights

Ademais, o 1 de setembro de 2023, os novos clientes de Dynamics 365 Marketing recibirán só nas funcións de márketing en tempo real. Para obter máis información, consulte Instalación predefinida de márketing en tempo real. Actualmente, moitas páxinas de documentación fan referencia a funcións de saída que poden non estar dispoñibles ou poden funcionar de forma diferente en márketing en tempo real. O contido da documentación actualizarase en setembro para indicar se se aplica a márketing en tempo real ou de saída.

Importante

Este artigo só se aplica ao marketing de saída.

A seguinte táboa describe os parámetros de entrada requiridos pola acción msdyncrm_CustomChannelActivityCreateInteraction :

Parámetro de entrada Tipo Descripción
ActivityId String O msdyncrm_activityid valor do atributo da msdyncrm_customerjourneycustomchannelactivity entidade que contén o ID de actividade da canle personalizada.
Viaxe do cliente EntityReference O msdyncrm_customerjourney valor do atributo da msdyncrm_customerjourneycustomchannelactivity entidade que contén a referencia de entidade a viaxe do cliente que orixina a chamada.
CustomerJourneyIteration EntityReference O msdyncrm_customerjourneyiteration valor do atributo da msdyncrm_customerjourneycustomchannelactivity entidade que contén a Referencia de Entidade á iteración viaxe do cliente.
Contacto EntityReference O msdyncrm_contact valor do atributo da msdyncrm_customerjourneycustomchannelactivity entidade que contén a Referencia de Entidade ao contacto procesado.
EntityType String O msdyncrm_entitytype valor do atributo da msdyncrm_customerjourneycustomchannelactivity entidade que contén a cadea que representa o tipo de entidade de entidade personalizada creada no paso 1 e definida en o mosaico da canle personalizada definición.
EntityId String O msdyncrm_entityid valor do atributo do msdyncrm_customerjourneycustomchannelactivity ID de rexistro da entidade personalizada creada no paso1 e definida polo EntityType elemento no mosaico da canle personalizada definición.
ResponseType String Id dun dos tipos de resposta definidos no mosaico da canle personalizada definición.
Palabra clave disparadora String (Opcional) Palabra clave para o tipo de resposta personalizada definida no mosaico personalizado definición.

O seguinte XML mostra a sección da definición de mosaico da canle personalizada. Esta sección define tres tipos de respostas. Os dous primeiros, sent e delivered, son os tipos de resposta estándar. O terceiro, keyword permite pasar un valor textual adicional á interacción.

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

Emitir actividade de canle personalizada Crear interacción

O seguinte código mostra como emitir unha interacción de creación de actividade de canle personalizada mediante programación. Neste exemplo, a actividade de referencia defínese no rexistro de actividade da canle personalizada. Emitimos a interacción con ResponseType = keyword e 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);