Eksempel: Utvid assistentkorttypen (egendefinert kort)

Lær hvordan du laster ned eksemplet og hvilke ressurser som er tilgjengelige for å opprette egendefinerte handlinger eller lære om å utvide handlingskortet for assistenten.

Opprett et egendefinert handlingskort

Fremgangsmåten nedenfor forklarer hvordan du oppretter et egendefinert kort:

  • Trinn 1: Last ned eksempelløsningen for utvidelsesassistentkorttype.
  • Trinn 2: Bygg løsningen (ExtPkgDeployer.sln).
  • Trinn 3: Importer pakken ved hjelp av verktøyet for pakkedistribusjon.
  • Trinn 4: Bekreft den nye korttypen.
  • Trinn 5: Opprett handlingskort for den nye korttypen ved hjelp av web-API-en.
  • Trinn 6: Kontroller det nye egendefinerte kortet.

Forutsetninger

Se gjennom forhåndskravene før du oppretter egendefinerte kort i organisasjonen:

  • Du må ha Package Deployer-verktøyet (packagedeployer.exe) for å distribuere pakker. Hvis du vil laste ned pakkedistribusjonsprogrammet, kan du se Laste ned verktøy fra NuGet.

  • For å bruke denne funksjonen må du kjøpe en Dynamics 365 Sales Insights-lisens eller starte en prøveversjon for å bruke Sales Insights-funksjoner.

Trinn 1: Last ned eksempelløsningen Utvid assistentkorttypen

Last ned eksempelløsningen for egendefinerte kort.

Eksemplene viser hvordan du oppretter et egendefinert kort i assistenten programmatisk.

Gå til banen ExtPkgDeployer\PkgFolder\extensibility_example_sol\WebResources. Under WebResources-mappen kan du se tre filer som kreves for å opprette et egendefinert kort.

  • Skjemadefinisjon (new_cardtype_schemaxml9dd7e039-33a1-4778-9972-66536dc5e829)

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

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

Skjemadefinisjon (new_cardtype_schemaxml9dd7e039-33a1-4778-9972-66536dc5e829)

Skjemadefinisjonen for den nye korttypen.

Bemerkning

Kontroller at korttype-ID er større enn 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>

Kommando (new_commands8db43275-0291-401d-923a-90a6c373cc18)

Filen inneholder kommandoen for handlingskortet.

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

Når du utfører kommandoen, RibbonDiff aktiveres kommandoen som er definert i customization.xml i ActionCard-enheten .

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

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

Filen inneholder ikonet som kortet bruker.

Trinn 2: Bygg løsningen (ExtPkgDeployer.sln)

  1. Åpne ledeteksten (cmd).

  2. Gå til rotmappen. C:\<directory>\RACards Extensibility Example\RACards Extensibility Example\ExtPkgDeployer\PkgFolder

  3. Kjør kommandoen for å bygge løsningen. msbuild ExtPkgDeployer.sln

Bygget er vellykket. Du ser at under <folder>\ExtPkgDeployer\bin\Debug, PkgFolder og ExtPkgDeployer.dll er generert.

Trinn 3: Importer pakken ved hjelp av Package Deployer-verktøyet

  1. Kopier PkgFolder og ExtPkgDeployer.dll fra <folder>\ExtPkgDeployer\bin\Debug-mappen, og lim den inn i <PackageDeployerToolLocation>\tools-plasseringen.

  2. Kjør verktøyet ved å dobbeltklikke PackageDeployer.exe fra mappen der du har lagret Package Deployer-verktøyet.

  3. I velkomstskjermbildet i Package Deployer-verktøyet velger du Fortsett.

  4. I skjermbildet for godkjenning angir du godkjenningsdetaljer for å koble til Dynamics 365 Sales-forekomsten der du vil distribuere pakken. Hvis du har flere organisasjoner og vil velge organisasjonen der du vil distribuere Unified Service Desk-pakken, merker du av for Vis en liste over tilgjengelige organisasjoner. Velg Logg på.

  5. Det neste skjermbildet viser detaljert informasjon om den valgte pakken og tingene som vil bli installert på Dynamics 365 Sales-forekomsten. Se gjennom informasjonen, og velg Neste.

  6. På skjermen Klar til å installere vises pakken som er valgt for distribusjon, og navnet på Dynamics 365 Sales-organisasjon der den skal distribueres. Se gjennom informasjonen, og velg Neste.

  7. Den neste skjermen viser valideringsstatusen for pakken som er valgt for distribusjon. Når valideringen er fullført, velger du Neste.

  8. Neste side viser distribusjonsstatusen for pakken. Klikk Neste.

  9. Den neste skjermen viser navn og informasjon om pakken som du akkurat har distribuert. Se gjennom informasjonen, og velg Fullfør for å avslutte Package Deployer-verktøyet.

Når du har distribuert pakken, opprettes en ny korttype med en ID – 00aa00aa-bb11-cc22-dd33-44ee44ee44ee, som er definert i skjemaet (new_cardtype_schemaxml9dd7e039-33a1-4778-9972-66536dc5e829)

Trinn 4: Bekreft den nye korttypen

Kontroller korttypen med ID-en 00aa00aa-bb11-cc22-dd33-44ee44ee44ee. Send en GET-metodeforespørsel.

Forespørsel

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  

Svar

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

Trinn 5: Opprett handlingskort for den nye korttypen ved hjelp av Web-API

Opprett et handlingskort for den nye korttypen som er opprettet ved hjelp av Package Deployer. Send en POST-metodeforespørsel.

Forespørsel

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})"
}  

Svar

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) 

Bemerkning

Åpne nettleserkonsollen og kjør kommandoen sessionStorage.clear(); for å tømme øktbufferen.

Trinn 6: Bekreft det nye egendefinerte kortet

Du kan kontrollere at de egendefinerte kortene opprettes i organisasjonen som sluttbruker og som administrator.

Som sluttbruker

  1. Logg på Dynamics 365 Sales.

  2. Under Assistent-delen kan du se handlingskortet som er opprettet.

    Skjermbilde av et eksempel på utvidet handlingskort.

Som administrator

  1. Logg på Dynamics 365 Sales, og gå til Salgshubapp.

  2. Gå til Endre område, og velg Sales Insights-innstillinger.

  3. Velg Innsiktskort under Assistent på områdekartet for å gå til siden Behandle innsiktskort.

  4. På siden Behandle innsiktskort vises et alternativ for å aktivere opprettede egendefinerte handlingskort i organisasjonen.

Hvis du vil ha mer informasjon om hvordan du aktiverer kort, kan du se Aktivere eller deaktivere innsiktskort.

Finner du ikke funksjonen i appen?

Det finnes noen muligheter:

  • Du har ikke den nødvendige lisensen for å bruke denne funksjonen. Sjekk sammenligningstabellen og lisensieringsveiledningen for å se hvilke funksjoner som er tilgjengelige med lisensen.
  • Du har ikke den nødvendige sikkerhetsrollen for å bruke denne funksjonen.
  • Administratoren har ikke aktivert funksjonen.
  • Organisasjonen bruker en egen app. Kontakt administratoren for å få den nøyaktige fremgangsmåten. Trinnene som er beskrevet i denne artikkelen, gjelder bare for det bruksklare salgssenteret og Sales Professional-appene.

Opprette egendefinerte kort i assistenten

Konfigurere assistent

Bruke assistent som en veiledning til kommunikasjon med kunder