Compartir a través de


Ejemplo: Ampliar el tipo de tarjeta del asistente (tarjeta personalizada)

Aprenda cómo descargar y qué recursos se encuentran presentes para crear acciones personalizadas u obtener información sobre ampliar la tarjeta de acción del asistente.

Requisitos de licencia y rol

Tipo de requisito Debe tener
Licencia Dynamics 365 Sales Premium
Más información: Precios de Dynamics 365 Sales
Roles de seguridad Personalizador del sistema
Más información: Roles de seguridad predefinidos para Sales

Crear tarjeta de acción personalizada

El proceso siguiente explica cómo crear una tarjeta personalizada:

  • Paso 1: Descargue la solución de ejemplo para ampliar el tipo de tarjeta del Asistente
  • Paso 2: Crear la solución (ExtPkgDeployer.sln)
  • Paso 3: Importar el paquete mediante la herramienta Package Deployer
  • Paso 4: Comprobar el nuevo tipo de tarjeta
  • Paso 5: Crear la tarjeta de acción para el nuevo tipo de tarjeta mediante API web.
  • Paso 6: Comprobar la nueva tarjeta personalizada

Requisitos previos

Revisar los requisitos previos antes de crear las tarjetas personalizadas de la organización:

  • Debe tener la herramienta Package Deployer (packagedeployer.exe) para implementar paquetes. Para descargar Package Deployer, consulte Descargar herramientas de NuGet.

  • Para usar esta característica debe comprar una licencia de Dynamics 365 Sales Insights o iniciar una prueba para utilizar características avanzadas de Sales Insights.

Paso 1: Descargue la solución de ejemplo para ampliar el tipo de tarjeta del Asistente

Descargar la solución de tarjeta personalizada de ejemplo.

Los ejemplos muestran cómo crear una tarjeta personalizada en el Asistente mediante programación.

Vaya a la ruta ExtPkgDeployer\PkgFolder\extensibility_example_sol\WebResources. En la carpeta WebResources puede ver tres archivos necesarios para crear una tarjeta personalizada.

  • Definición de esquema (new_cardtype_schemaxml9dd7e039-33a1-4778-9972-66536dc5e829)

  • Comando (new_commands8db43275-0291-401d-923a-90a6c373cc18)

  • Icono (new_msicon6aa7c568-4830-4da6-89f9-18a8fd9c2285)

Definición de esquema (new_cardtype_schemaxml9dd7e039-33a1-4778-9972-66536dc5e829)

Contiene la definición de esquema para el nuevo tipo de tarjeta.

Nota

Asegúrese de que el valor del identificador del tipo de tarjeta es mayor que 10000.

<?xml version="1.0" encoding="utf-8" ?>
<entity name="cardtype" displayname="Action Card Type">
  <cardname>Extensibility Example</cardname>
  <cardtypeid>2183dfc0-3c1c-45b7-a331-1943880c25c6</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)

El archivo contiene el comando para tarjeta de acción.

function CardCommand() {
	window.open("https://aka.ms/salesai-raext");
}

Al ejecutar el comando, se invoca al comando con RibbonDiff definido en el customization.xml de la entidad ActionCard.

<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>&lt;Dependencies&gt;&lt;Dependency componentType="WebResource"/&gt;&lt;/Dependencies&gt;</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>&lt;Dependencies&gt;&lt;Dependency componentType="WebResource"/&gt;&lt;/Dependencies&gt;</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>&lt;Dependencies&gt;&lt;Dependency componentType="WebResource"/&gt;&lt;/Dependencies&gt;</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>

Icono (new_msicon6aa7c568-4830-4da6-89f9-18a8fd9c2285)

El archivo contiene el icono que se usa para la tarjeta.

Paso 2: Crear la solución (ExtPkgDeployer.sln)

  1. Abra el símbolo del sistema (cmd).

  2. Vaya a la carpeta raíz. C:\<directory>\RACards Extensibility Example\RACards Extensibility Example\ExtPkgDeployer\PkgFolder

  3. Ejecute el comando para generar la solución. msbuild ExtPkgDeployer.sln

La generación se realiza correctamente, y puede ver que en <folder>\ExtPkgDeployer\bin\Debug se generan PkgFolder yExtPkgDeployer.dll.

Paso 3: Importar el paquete mediante la herramienta Package Deployer

  1. Copie PkgFolder y ExtPkgDeployer.dll desde la carpeta <folder>\ExtPkgDeployer\bin\Debug y péguelo en la ubicación <PackageDeployerToolLocation>\tools.

  2. Ejecute la herramienta haciendo doble clic en PackageDeployer.exe desde la carpeta donde ha guardado la herramienta Package Deployer.

  3. En la pantalla de introducción de la herramienta Package Deployer, elija Continuar.

  4. En la pantalla de autenticación, proporcione los detalles de autenticación para conectarse a la instancia de Dynamics 365 Sales donde desea implementar el paquete. Si tiene varias organizaciones, y desea seleccionar la organización donde desea implementar el paquete Unified Service Desk, active la casilla Mostrar la lista de organizaciones disponibles. Elija Iniciar sesión.

  5. La siguiente pantalla muestra información detallada sobre el paquete seleccionado y los elementos que se instalarán en la instancia de Dynamics 365 Sales. Revise la información y elija Siguiente.

  6. La pantalla Preparado para instalar muestra el paquete seleccionado para implementación y el nombre de la organización de Dynamics 365 Sales donde se implementará. Revise la información y elija Siguiente.

  7. La pantalla siguiente muestra el estado de validación del paquete seleccionado para implementar. Después de que la validación se complete con éxito, elija Siguiente.

  8. La siguiente página muestra el estado de la implementación del paquete. Haga clic en Siguiente.

  9. La pantalla siguiente muestra el nombre y la información del paquete que acaba de implementar. Revise la información y elija Finalizar para salir de la herramienta Package Deployer.

Tras implementar el paquete, se crea un nuevo tipo de tarjeta con un identificador 2183dfc0-3c1c-45b7-a331-1943880c25c6, que se define en el esquema (new_cardtype_schemaxml9dd7e039-33a1-4778-9972-66536dc5e829).

Paso 4: Comprobar el nuevo tipo de tarjeta

Comprobación del tipo de tarjeta con un identificador '2183dfc0-3c1c-45b7-a331-1943880c25c6'. Envíe una solicitud de método GET.

Solicitud

GET [Organization URI]/api/data/v9.0/cardtype(2183dfc0-3c1c-45b7-a331-1943880c25c6) HTTP/1.1  
Accept: application/json  
OData-MaxVersion: 4.0  
OData-Version: 4.0  

Respuesta

{
"@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
}

Paso 5: Crear la tarjeta de acción para el nuevo tipo de tarjeta mediante API web.

Cree una tarjeta de acción para el nuevo tipo de tarjeta creado mediante el Package Deployer. Envíe una solicitud 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})"
}  

Response

HTTP/1.1 204 No Content  
OData-Version: 4.0  
OData-EntityId: http://[Organization URI]/api/data/v9.0/actioncard(2183dfc0-3c1c-45b7-a331-1943880c25c6) 

Nota

Abra la consola del explorador y ejecute el comando sessionStorage.clear(); para borrar la caché de sesión.

Paso 6: Comprobar la nueva tarjeta personalizada

Puede comprobar que las tarjetas personalizadas se crean en la organización como usuario final y como administrador.

Como usuario final

  1. Inicie sesión en Dynamics 365 Sales.

  2. En la sección Asistente puede ver la tarjeta de acción creada.

    ejemplo de tarjeta de acción extendida

Como administrador

  1. Inicie sesión en Dynamics 365 Sales y vaya a la aplicación Centro de ventas.

  2. Vaya a Cambiar área y seleccione Configuración de Sales Insights.

  3. En el mapa del sitio, seleccione Tarjetas de información en Asistente para ir a la página Administrar tarjetas de información.

  4. En la página Administrar tarjetas de información verá una opción para habilitar tarjetas de acciones personalizadas creadas en su organización.

Para obtener más información sobre cómo habilitar tarjetas, consulte Activar o desactivar tarjetas de información.

¿No encuentra las opciones en su aplicación?

Hay tres posibilidades:

  • No tienes la licencia o rol necesario. Consulte la sección Requisitos de licencia y rol en la parte superior de esta página.
  • Su administrador no ha activado la característica.
  • Su organización está usando una aplicación personalizada. Consulte al administrador para conocer los pasos exactos. Los pasos descritos en este artículo son específicos de las aplicaciones Centro de ventas y Sales Professional lista para usar.

Cree tarjetas personalizadas en Asistente

Configurar Asistente

Dirigir las comunicaciones con los clientes con el asistente