Habilitar campos para identificar clientes

Defina um campo no Dataverse para tabelas de Contato e Conta além dos campos padrão e identifique o cliente que entra em contato pelo canal de voz.

Uma variável de contexto personalizada, ou atributos sob o contexto de engajamento de chat ao vivo ou chamada telefônica, podem ser usados no XML de busca.

Por exemplo, se você quiser usar os campos do Dataverse listados na tabela para identificar um chamador de voz, realize as etapas a seguir.

Table campo Dataverse Rótulo de UI
Contato Telephone1 Telefone Comercial
Contato Telephone2 Telefone Residencial
Contato Telephone3 Telefone 3
Contato Mobilephone Celular
Conta Telephone1 Telefone principal
Conta Telephone2 Outro Telefone

Na instância do Dynamics 365, verifique as regras de identificação do registro para o fluxo de trabalho de voz da seguinte maneira:

  1. Para pesquisar msdyn_recordidentificationrule, execute a seguinte API OData.

    https://<_org_uri_>/api/data/v9.0/msdyn_liveworkstreams()<_workstream_id_>

  2. Use o XML de busca a seguir para atualizar os campos.

(" https://pt-dev.crm6.dynamics.com/api/data/v9.2/msdyn_liveworkstreams(bb4c58fe-468b-d5a3-424c-c5a965ceada2)", { method: 'PATCH', body: JSON.stringify({ "msdyn_recordidentificationrule" : “
<RecordIdentificationRuleSet>
	<RecordIdentificationRule>
		<PrimaryEntity LogicalCollectionName=\"accounts\" PrimaryKeyAttribute=\"accountid\" PrimaryNameAttribute=\"name\"/>
		<fetch version=\"1.0\" output-format=\"xml-platform\" mapping=\"logical\" top=\"2\">
			<entity name=\"account\">
				<attribute name=\"accountid\"/>
				<attribute name=\"name\"/>
				<filter type=\"and\">
					<condition attribute=\"statuscode\" operator=\"eq\" value=\"1\"/>
					<condition attribute=\"name\" operator=\"eq\" value=\"${Name}\"/>
					<filter type=\"or\">
						<condition attribute=\"telephone1\" operator=\"eq\" source=\"msdyn_msdyn_ocliveworkitem_msdyn_ocphonecallengagementctx_liveworkitemid\" value=\"${msdyn_fromphone}\"/>
						<condition attribute=\"telephone2\" operator=\"eq\" source=\"msdyn_msdyn_ocliveworkitem_msdyn_ocphonecallengagementctx_liveworkitemid\" value=\"${msdyn_fromphone}\"/>
					</filter>
					<condition attribute=\"emailaddress1\" operator=\"eq\" value=\"${Email}\"/>
				</filter>
			</entity>
		</fetch>
		<ContextKey name=\"msdyn_account_msdyn_ocliveworkitem_Customer\" isPreferred=\"false\"/>
	</RecordIdentificationRule>
	<RecordIdentificationRule>
		<PrimaryEntity LogicalCollectionName=\"contacts\" PrimaryKeyAttribute=\"contactid\" PrimaryNameAttribute=\"fullname\"/>
		<fetch version=\"1.0\" output-format=\"xml-platform\" mapping=\"logical\" top=\"2\">
			<entity name=\"contact\">
				<attribute name=\"contactid\"/>
				<attribute name=\"fullname\"/>
				<filter type=\"and\">
					<condition attribute=\"statuscode\" operator=\"eq\" value=\"1\"/>
					<condition attribute=\"fullname\" operator=\"eq\" value=\"${Name}\"/>
					<filter type=\"or\">
						<condition attribute=\"mobilephone\" operator=\"eq\" source=\"msdyn_msdyn_ocliveworkitem_msdyn_ocphonecallengagementctx_liveworkitemid\" value=\"${msdyn_fromphone}\"/>
						<condition attribute=\"telephone1\" operator=\"eq\" source=\"msdyn_msdyn_ocliveworkitem_msdyn_ocphonecallengagementctx_liveworkitemid\" value=\"${msdyn_fromphone}\"/>
						<condition attribute=\"telephone2\" operator=\"eq\" source=\"msdyn_msdyn_ocliveworkitem_msdyn_ocphonecallengagementctx_liveworkitemid\" value=\"${msdyn_fromphone}\"/>
						<condition attribute=\"telephone3\" operator=\"eq\" source=\"msdyn_msdyn_ocliveworkitem_msdyn_ocphonecallengagementctx_liveworkitemid\" value=\"${msdyn_fromphone}\"/>
					</filter>
					<condition attribute=\"emailaddress1\" operator=\"eq\" value=\"${Email}\"/>
				</filter>
			</entity>
		</fetch>
		<ContextKey name=\"msdyn_contact_msdyn_ocliveworkitem_Customer\" isPreferred=\"true\"/>
	</RecordIdentificationRule>
	<RecordIdentificationRule>
		<PrimaryEntity LogicalCollectionName=\"incidents\" PrimaryKeyAttribute=\"incidentid\" PrimaryNameAttribute=\"title\"/>
		<fetch version=\"1.0\" output-format=\"xml-platform\" mapping=\"logical\" top=\"2\">
			<entity name=\"incident\">
				<attribute name=\"incidentid\"/>
				<attribute name=\"title\"/>
				<filter type=\"and\">
					<condition attribute=\"ticketnumber\" operator=\"eq\" value=\"${CaseNumber}\"/>
					<condition attribute=\"statuscode\" operator=\"eq\" value=\"1\"/>
					<filter type=\"or\">
						<filter type=\"and\">
							<condition attribute=\"statuscode\" operator=\"eq\" value=\"1\" entityname=\"ac\"/>
							<condition attribute=\"name\" operator=\"eq\" value=\"${Name}\" entityname=\"ac\"/>
							<condition attribute=\"telephone1\" operator=\"eq\" source=\"msdyn_msdyn_ocliveworkitem_msdyn_ocphonecallengagementctx_liveworkitemid\" value=\"${msdyn_fromphone}\" entityname=\"ac\"/>
							<condition attribute=\"emailaddress1\" operator=\"eq\" value=\"${Email}\" entityname=\"ac\"/>
						</filter>
						<filter type=\"and\">
							<condition attribute=\"statuscode\" operator=\"eq\" value=\"1\" entityname=\"co\"/>
							<condition attribute=\"fullname\" operator=\"eq\" value=\"${Name}\" entityname=\"co\"/>
							<condition attribute=\"mobilephone\" operator=\"eq\" source=\"msdyn_msdyn_ocliveworkitem_msdyn_ocphonecallengagementctx_liveworkitemid\" value=\"${msdyn_fromphone}\" entityname=\"co\"/>
							<condition attribute=\"emailaddress1\" operator=\"eq\" value=\"${Email}\" entityname=\"co\"/>
						</filter>
					</filter>
				</filter>
			</filter>
			<link-entity name=\"account\" from=\"accountid\" to=\"customerid\" link-type=\"outer\" alias=\"ac\"/>
			<link-entity name=\"contact\" from=\"contactid\" to=\"customerid\" link-type=\"outer\" alias=\"co\"/>
		</entity>
	</fetch>
	<ContextKey name=\"msdyn_incident_msdyn_ocliveworkitem\"/>
</RecordIdentificationRule></RecordIdentificationRuleSet> 
“}), headers: { 'Content-type': 'application/json; charset=UTF-8' } }) .then() 

Identificar automaticamente os clientes