Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Saiba como baixar o exemplo e quais recursos estão disponíveis para criar ações personalizadas ou aprender a estender o cartão de ação do assistente.
Criar um cartão de ação personalizado
O seguinte processo explica como criar um cartão personalizado:
- Etapa 1: Baixe a solução de exemplo de tipo de cartão para extensão do assistente.
- Etapa 2: Crie a solução (ExtPkgDeployer.sln).
- Etapa 3: Importe o pacote usando a ferramenta de implantação de pacote.
- Etapa 4: Verifique o novo tipo de cartão.
- Etapa 5: Crie um cartão de ação para o novo tipo de cartão usando a API Web.
- Etapa 6: Verifique o novo cartão personalizado.
Pré-requisitos
Verifique os pré-requisitos antes de criar os cartões personalizadas em sua organização:
Você deve ter a ferramenta Package Deployer (packagedeployer.exe) para implantar pacotes. Para baixar o implantador de pacotes, consulte Ferramentas de download do NuGet.
Para usar este recurso, você deverá comprar uma licença do Dynamics 365 Sales Insights ou iniciar uma avaliação para usar recursos avançados do Sales Insights.
Etapa 1: Baixe a solução de exemplo para o tipo de cartão de extensão do Assistente
Baixar o exemplo de solução de cartão personalizado.
Os exemplos mostram como criar um cartão personalizado no Assistente de modo programático.
Siga o caminho ExtPkgDeployer\PkgFolder\extensibility_example_sol\WebResources. Na pasta WebResources, você pode ver três arquivos necessários para criar um cartão personalizado.
Definição de Esquema (new_cardtype_schemaxml9dd7e039-33a1-4778-9972-66536dc5e829)
Comando (new_commands8db43275-0291-401d-923a-90a6c373cc18)
Ícone (new_msicon6aa7c568-4830-4da6-89f9-18a8fd9c2285)
Definição de Esquema (new_cardtype_schemaxml9dd7e039-33a1-4778-9972-66536dc5e829)
A definição de esquema para o novo tipo de cartão.
Note
Verifique se o valor da ID do tipo de cartão é superior a 10000.
<?xml version="1.0" encoding="utf-8" ?>
<entity name="cardtype" displayname="Action Card Type">
<cardname>Extensibility Example</cardname>
<cardtypeid>aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb</cardtypeid>
<cardtype>11000</cardtype>
<cardtypeicon>webresources/new_msicon</cardtypeicon>
<softtitle>Extensibility Example</softtitle>
<summarytext>RA Card Extensibility Example</summarytext>
<actions>{"WebClient":{"Actions":{"Open":"Mscrm.HomepageGrid.actioncard.CardCommand"},"Default":{"Open":"Mscrm.HomepageGrid.actioncard.CardCommand"}}, "Mobile":{"Actions":{"Open":"Mscrm.HomepageGrid.actioncard.CardCommand"}}}</actions>
</entity>
Comando (new_commands8db43275-0291-401d-923a-90a6c373cc18)
O arquivo contém o comando do cartão de ação.
function CardCommand() {
window.open("https://aka.ms/salesai-raext");
}
Quando você executa o comando, o RibbonDiff definido no customization.xml da entidade ActionCard invoca o comando.
<ImportExportXml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Entities>
<Entity>
<Name LocalizedName="ActionCard" OriginalName="ActionCard">ActionCard</Name>
<ObjectTypeCode>9962</ObjectTypeCode>
<RibbonDiffXml>
<CustomActions>
<CustomAction Id="Mscrm.HomepageGrid.actioncard.CardCommand.CustomAction" Location="Mscrm.HomepageGrid.actioncard.MainTab.Actions.Controls._children" Sequence="12">
<CommandUIDefinition>
<Button Id="Mscrm.HomepageGrid.actioncard.CardCommand" ToolTipTitle="Open" ToolTipDescription="Open" Command="Mscrm.HomepageGrid.actioncard.CardCommand" Sequence="12" LabelText="Open" Alt="Open" Image16by16="/WebResources/new_msicon" Image32by32="/WebResources/new_msicon" TemplateAlias="o1" ModernImage="new_msicon" />
</CommandUIDefinition>
</CustomAction>
<CustomAction Id="Mscrm.SubGrid.actioncard.CardCommand.CustomAction" Location="Mscrm.SubGrid.actioncard.MainTab.Actions.Controls._children" Sequence="57">
<CommandUIDefinition>
<Button Id="Mscrm.HomepageGrid.actioncard.CardCommand" ToolTipTitle="Open" ToolTipDescription="Open" Command="Mscrm.HomepageGrid.actioncard.CardCommand" Sequence="29" LabelText="Open" Alt="Open" Image16by16="/WebResources/new_msicon" Image32by32="/WebResources/new_msicon" TemplateAlias="o1" ModernImage="new_msicon" />
</CommandUIDefinition>
</CustomAction>
</CustomActions>
<CommandDefinitions>
<CommandDefinition Id="Mscrm.HomepageGrid.actioncard.CardCommand">
<EnableRules >
<EnableRule Id="Mscrm.SelectionCountExactlyOne" />
<EnableRule Id="Mscrm.NotOffline" />
</EnableRules>
<DisplayRules>
</DisplayRules>
<Actions>
<JavaScriptFunction FunctionName="CardCommand" Library="$webresource:new_commands">
<CrmParameter Value="SelectedControl" />
<CrmParameter Value="SelectedControlSelectedItemReferences" />
</JavaScriptFunction>
</Actions>
</CommandDefinition>
</CommandDefinitions>
<RuleDefinitions>
<TabDisplayRules />
<DisplayRules>
</DisplayRules>
<EnableRules/>
</RuleDefinitions>
</RibbonDiffXml>
</Entity>
</Entities>
<Roles></Roles>
<Workflows></Workflows>
<FieldSecurityProfiles></FieldSecurityProfiles>
<Templates />
<EntityMaps />
<EntityRelationships />
<OrganizationSettings />
<optionsets />
<WebResources>
<WebResource>
<WebResourceId>{6aa7c568-4830-4da6-89f9-18a8fd9c2285}</WebResourceId>
<Name>new_msicon</Name>
<DisplayName>new_msicon</DisplayName>
<WebResourceType>5</WebResourceType>
<IntroducedVersion>1.0</IntroducedVersion>
<IsEnabledForMobileClient>0</IsEnabledForMobileClient>
<IsAvailableForMobileOffline>0</IsAvailableForMobileOffline>
<DependencyXml><Dependencies><Dependency componentType="WebResource"/></Dependencies></DependencyXml>
<IsCustomizable>1</IsCustomizable>
<CanBeDeleted>1</CanBeDeleted>
<IsHidden>0</IsHidden>
<FileName>/WebResources/new_msicon6aa7c568-4830-4da6-89f9-18a8fd9c2285</FileName>
</WebResource>
<WebResource>
<WebResourceId>{8db43275-0291-401d-923a-90a6c373cc18}</WebResourceId>
<Name>new_commands</Name>
<DisplayName>new_commands</DisplayName>
<WebResourceType>3</WebResourceType>
<IntroducedVersion>1.0</IntroducedVersion>
<IsEnabledForMobileClient>0</IsEnabledForMobileClient>
<IsAvailableForMobileOffline>0</IsAvailableForMobileOffline>
<DependencyXml><Dependencies><Dependency componentType="WebResource"/></Dependencies></DependencyXml>
<IsCustomizable>1</IsCustomizable>
<CanBeDeleted>1</CanBeDeleted>
<IsHidden>0</IsHidden>
<FileName>/WebResources/new_commands8db43275-0291-401d-923a-90a6c373cc18</FileName>
</WebResource>
<WebResource>
<WebResourceId>{9dd7e039-33a1-4778-9972-66536dc5e829}</WebResourceId>
<Name>new_cardtype_schema</Name>
<DisplayName>cardtype_schema</DisplayName>
<WebResourceType>4</WebResourceType>
<IntroducedVersion>1.0</IntroducedVersion>
<IsEnabledForMobileClient>0</IsEnabledForMobileClient>
<IsAvailableForMobileOffline>0</IsAvailableForMobileOffline>
<DependencyXml><Dependencies><Dependency componentType="WebResource"/></Dependencies></DependencyXml>
<IsCustomizable>1</IsCustomizable>
<CanBeDeleted>1</CanBeDeleted>
<IsHidden>0</IsHidden>
<FileName>/WebResources/new_cardtype_schemaxml9dd7e039-33a1-4778-9972-66536dc5e829</FileName>
</WebResource>
</WebResources>
<Languages>
<Language>1033</Language>
</Languages>
</ImportExportXml>
Ícone (new_msicon6aa7c568-4830-4da6-89f9-18a8fd9c2285)
O arquivo contém o ícone que o cartão usa.
Etapa 2: Criar a solução (ExtPkgDeployer.sln)
Abra o Prompt de Comando (cmd).
Vá para a pasta raiz.
C:\<directory>\RACards Extensibility Example\RACards Extensibility Example\ExtPkgDeployer\PkgFolderExecute o comando para criar a solução.
msbuild ExtPkgDeployer.sln
O build foi bem-sucedido. Você vê isso sob o <folder>\ExtPkgDeployer\bin\Debug. PkgFolder e os ExtPkgDeployer.dll são gerados.
Etapa 3: Importar o pacote usando a ferramenta Package Deployer
Copie
PkgFoldereExtPkgDeployer.dllda pasta<folder>\ExtPkgDeployer\bin\Debuge cole-os no local<PackageDeployerToolLocation>\tools.Execute a ferramenta clicando duas vezes em
PackageDeployer.exe, na pasta em que você salvou a ferramenta Package Deployer.Na tela de introdução da ferramenta Package Deployer, escolha Continuar.
Na tela de autenticação, forneça os detalhes de autenticação para se conectar à instância do Dynamics 365 Sales na qual você deseja implantar o pacote. Se houver várias organizações e você desejar selecionar a organização onde deseja implantar o pacote Unified Service Desk, marque a caixa de seleção Exibir lista de organizações disponíveis. Escolha Logon.
A próxima tela exibe informações detalhadas sobre o pacote selecionado e os itens que serão instalados na sua instância do Dynamics 365 Sales. Examine as informações e escolha Avançar.
A tela Pronto para Instalar exibe o pacote selecionado para implantação e o nome da organização do Dynamics 365 Sales na qual ele será implantado. Examine as informações e escolha Avançar.
A próxima tela exibe o status de validação do pacote selecionado para ser implantado. Depois que a validação for concluída com êxito, escolha Avançar.
A próxima página exibe o status de implantação do pacote. Clique em Avançar.
A próxima página exibe o nome e as informações sobre o pacote que você acabou de implantar. Revise as informações e escolha Concluir para sair da ferramenta Package Deployer.
Após a implantação do pacote, um novo tipo de cartão será criado com uma ID - 00aa00aa-bb11-cc22-dd33-44ee44ee44ee, que é definido no esquema (new_cardtype_schemaxml9dd7e039-33a1-4778-9972-66536dc5e829).
Etapa 4: Verificar o novo tipo de cartão
Verifique o tipo de cartão com uma ID "00aa00aa-bb11-cc22-dd33-44ee44ee44ee". Envie uma solicitação de método GET.
Solicitar
GET [Organization URI]/api/data/v9.0/cardtype(00aa00aa-bb11-cc22-dd33-44ee44ee44ee) HTTP/1.1
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Resposta
{
"@odata.context":"https://[Organization URI]/api/data/v9.0/$metadata#cardtype/$entity",
"@odata.etag":"W/"662120\"",
"boolcardoption":false,
"clientavailability":3,
"ispreviewcard":true,
"cardname":"ExtExample",
"cardtypeid":"2183dfc0-3c1c-45b7-a331-943880c25c6",
"cardtypeicon":"webresources/new_msicon",
"intcardoption":0,
"isenabled":true,
"hassnoozedismiss":true,
"softtitle":"Extensibility Example",
"cardtype":11000,
"isliveonly":false,
"_modifiedby_value":"50673658-c5d6-e811-a98c-000d3a1df431",
"versionnumber":662120,
"isbasecard":false,
"actions":"{\"WebClient\":{\"Actions\":{\"Open\":\"Mscrm.HomepageGrid.actioncard.CardCommand\"},\"Default\":{\"Open\":\"Mscrm.HomepageGrid.actioncard.CardCommand\"}}, \"Mobile\":{\"Actions\":{\"Open\":\"Mscrm.HomepageGrid.actioncard.CardCommand\"}}}",
"publishername":"adminsocial",
"modifiedon":"2018-10-26T12:26:14Z",
"summarytext":"RA Card Extensibility Example",
"_transactioncurrencyid_value":null,
"importsequencenumber":null,
"createdon":null,
"overriddencreatedon":null,
"_modifiedonbehalfby_value":null,
"_createdonbehalfby_value":null,
"_createdby_value":null,
"scheduletime":null,
"exchangerate":null,
"grouptype":null,
"stringcardoption":null,
"lastsynctime":null
}
Etapa 5: Criar o Cartão de ação para o novo tipo de cartão usando a API Web
Crie um Cartão de Ação para o novo tipo de cartão criado usando o Package Deployer. Envie uma solicitação de método POST.
Solicitar
POST http://[Organization URI]/api/data/v9.0/actioncards HTTP/1.1
Content-Type: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
{
"cardtypeid@odata.bind": "/cardtype(2183dfc0-3c1c-45
b7-a331-1943880c25c6)",
"startdate": "2018-10-20T01:01:01Z",
"expirydate": "2018-10-25T01:01:01Z",
"visibility": true,
"priority": 2000,
"description": "This card should be visible between
start and end date mentioned above",
"title" : "Extensibility Example",
"cardtype": 11000,
"ownerid@odata.bind" : "/systemusers({USER_ID})"
}
Resposta
HTTP/1.1 204 No Content
OData-Version: 4.0
OData-EntityId: http://[Organization URI]/api/data/v9.0/actioncard(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
Note
Abra o console do navegador e execute o comando sessionStorage.clear(); para limpar o cache da sessão.
Etapa 6: Verificar o novo cartão personalizado
Você pode verificar os cartões personalizados criados em sua organização como usuário final e administrador.
Como usuário final
Faça logon no Dynamics 365 Sales.
Na seção Assistente, é possível ver o cartão de ação criado.
Como administrador
Faça logon no Dynamics 365 Sales e vá para Aplicativo Hub de Vendas.
Vá para Alterar área e selecione Configurações do Sales Insights.
No mapa do site, selecione Cartões de insights em Assistente e vá para a página Gerenciar os cartões de insights.
Na página Gerenciar os cartões de insights, você vê uma opção para habilitar cartões de ação personalizados criados em sua organização.
Para saber mais sobre como habilitar cartões, consulte Ativar ou desativar cartões de insights.
Não consegue encontrar o recurso em seu aplicativo?
Há algumas possibilidades:
- Você não tem a licença necessária para usar esse recurso. Confira a tabela de comparação e o guia de licenciamento para ver quais recursos estão disponíveis com sua licença.
- Você não tem a função de segurança necessária para usar esse recurso.
- Para configurar um recurso, você precisa ter as funções de Administração e personalização
- Para usar recursos relacionados a vendas, você precisa ter as Funções principais de vendas
- Algumas tarefas exigem funções funcionais específicas.
- Seu administrador não ativou o recurso.
- Sua organização está usando um aplicativo personalizado. Verifique com o administrador as etapas exatas. As etapas descritas neste artigo são específicas para os aplicativos Sales Professional e Hub de Vendas prontos para uso.