Condividi tramite


Utilizzare gli articoli della Knowledge Base

Si applica a: Dynamics 365 Customer Service e Dynamics 365 Contact Center — solo versione autonoma

La nuova esperienza della Knowledge Base consente di creare articoli dettagliati oltre a offrire supporto per il controllo delle versioni e la traduzione. La nuova esperienza di conoscenza usa l'entità KnowledgeArticle per archiviare e gestire le conoscenze in modo nativo in Dynamics 365 Customer Service.

Nota

Le entità KBArticle, KBArticleTemplate e KBArticleComment ora sono deprecate. Significa quindi che non sei più tenuto ad utilizzare tali entità. È necessario usare l'entità KnowledgeArticle più recente per la gestione delle informazioni in Dynamics 365 Customer Service. Altre informazioni sono disponibili in Entità di conoscenza deprecate.

Creare un articolo della Knowledge Base

Quando crei un record di un articolo della Knowledge Base, Dynamics 365 Customer Service crea internamente un articolo radice per il record. L'articolo radice funge da contenitore per l'articolo della Knowledge Base primario creato insieme a tutte le versioni e le traduzioni dell'articolo eventualmente create in futuro. Il diagramma seguente illustra il modello di entità per l'entità KnowledgeArticle .

Modello di entità KnowledgeArticle.

Quando si crea un record dell'articolo della Knowledge Base, viene creato nello stato Draft. Utilizzando la nuova entità KnowledgeArticle, puoi creare un articolo specificandone il contenuto e la formattazione in formato HTML. È possibile specificare il proprio valore per .KnowledgeArticle ArticlePublicNumber quando crei un record dell'articolo della Knowledge Base a livello di programmazione; in alternativa, il valore viene automaticamente generato in base al formato specificato nell'area delle impostazioni di Dynamics 365 Customer Service nel client Web. Il KnowledgeArticle. ArticlePublicNumber L'attributo archivia l'ID esposto a clienti, partner e altri utenti esterni per fare riferimento e cercare gli articoli della Knowledge Base e rimane invariato nelle versioni e nelle traduzioni degli articoli della Knowledge Base.

Il seguente codice di esempio illustra come creare un record dell'articolo della Knowledge Base.

KnowledgeArticle newKnowledgeArticle = new KnowledgeArticle  
{  
   Title = "Sample Knowledge Article",  
   Content = "<p>This is the article content.</p>"  
};  
knowledgeArticleId = _serviceProxy.Create(newKnowledgeArticle);  
Console.WriteLine("Created {0}", newKnowledgeArticle.Title);  

Creare la versione principale e quella secondaria di un articolo della Knowledge Base

Quando si crea un record dell'articolo della Knowledge Base, la versione principale è automaticamente impostata su 1 e quella secondaria su 0. Usare il CreateKnowledgeArticleVersion messaggio (CreateKnowledgeArticleVersion Action o CreateKnowledgeArticleVersionRequest) per creare una versione principale o secondaria di un articolo della Knowledge Base. Nel messaggio di richiesta, impostare IsMajor su true per creare una versione principale; impostarlo su false per creare una versione secondaria. Il record della nuova versione creata utilizza:

  • KnowledgeArticle. RootArticleId attributo per mantenere l'associazione con il record dell'articolo della Knowledge Base principale.

  • KnowledgeArticle. PreviousArticleContentId attributo che indica la versione precedente del record.

Il seguente codice di esempio illustra come creare una versione principale di un record dell'articolo della Knowledge Base utilizzando CreateKnowledgeArticleVersionRequest.

CreateKnowledgeArticleVersionRequest versionRequest = new CreateKnowledgeArticleVersionRequest  
{  
   Source = new EntityReference(KnowledgeArticle.EntityLogicalName, knowledgeArticleId),  
   IsMajor = true  
};  
CreateKnowledgeArticleVersionResponse versionResponse = (CreateKnowledgeArticleVersionResponse)_serviceProxy.Execute(versionRequest);  

Creare una traduzione dell'articolo della Knowledge Base

Utilizza CreateKnowledgeArticleTranslation Action (API web) o CreateKnowledgeArticleTranslationRequest (servizio di organizzazione) per creare una traduzione del record di un articolo della Knowledge Base. È possibile tradurre l'articolo della Knowledge Base in più di 150 lingue e le informazioni su queste lingue supportate sono disponibili nella nuova LanguageLocale entità.

Altre informazioni: Tabella LanguageLocale.

L'uso di CreateKnowledgeArticleTranslation Action (Web API) o CreateKnowledgeArticleTranslationRequest (servizio organizzazione) crea un nuovo record dell'articolo della Knowledge Base con il titolo, il contenuto, la descrizione e le parole chiave copiati dal record di origine al nuovo record e imposta la lingua del nuovo record su quella specificata nella richiesta. È inoltre necessario specificare se il nuovo record sarà una versione principale o secondaria. Il nuovo record utilizza il KnowledgeArticle. ParentArticleContentId per gestire l'associazione al record dell'articolo della Knowledge Base primario.

Dopo aver eseguito il messaggio e ricevuto una risposta, recuperare il record dell'articolo della Knowledge Base dall'oggetto risposta e aggiornare il titolo, il contenuto, la descrizione e le parole chiave per aggiungere il contenuto tradotto.

Il codice di esempio seguente illustra come creare una traduzione di un articolo della Knowledge Base usando CreateKnowledgeArticleTranslationRequest:

CreateKnowledgeArticleTranslationRequest translationRequest = new CreateKnowledgeArticleTranslationRequest  
{  
   Source = new EntityReference(KnowledgeArticle.EntityLogicalName, knowledgeArticleId),  
   Language = new EntityReference(LanguageLocale.EntityLogicalName, languageLocaleId), //languageLocaleId = GUID of the Primary Key of LanguageLocale record  
   IsMajor = true    // Creating a major version   
};  
CreateKnowledgeArticleTranslationResponse translationResponse = (CreateKnowledgeArticleTranslationResponse)_serviceProxy.Execute(translationRequest);  
  
// Retrieve the new knowledge article record  
KnowledgeArticle respObject = (KnowledgeArticle)_serviceProxy.Retrieve(KnowledgeArticle.EntityLogicalName,   
      translationResponse.CreateKnowledgeArticleTranslation.Id, new ColumnSet(true));  

Nota

Il valore GUID della chiave primaria (LanguageLocaleId) per ogni record linguistico nell'entità LanguageLocale è lo stesso in tutte le organizzazioni Dynamics 365 Customer Service.

Ciclo di vita dell'articolo della Knowledge Base: modificare lo stato di un articolo della Knowledge Base

Durante il ciclo di vita, un articolo della Knowledge Base può trovarsi negli stati seguenti:

  • 0: Bozza (dopo la creazione dell'articolo della Knowledge Base)

  • 1: Approvato (dopo l'approvazione di un articolo della Knowledge Base)

  • 2: Pianificato (dopo la pianificazione della pubblicazione di un articolo della Knowledge Base)

  • 3: Pubblicato (dopo la pubblicazione dell'articolo della Knowledge Base)

  • 4: Scaduto (dopo la scadenza di un articolo della Knowledge Base secondo la data di scadenza specificata al momento della pubblicazione)

  • 5: Archiviato (dopo l'archiviazione di un articolo della Knowledge Base)

  • 6: Rimosso (dopo la rimozione di un articolo della Knowledge Base)

Per modificare lo stato dell'articolo, usare il messaggio nel record dell'articolo di conoscenza Update per aggiornare l'attributo KnowledgeArticle.StateCode. Per i tipi con associazione anticipata, utilizzare l'enumerazione KnowledgeArticleState per impostare gli stati possibili. Altre informazioni: Eseguire operazioni specializzate tramite Update.

Il seguente codice di esempio illustra come pubblicare un record dell'articolo della Knowledge Base.

// Retrieve the knowledge article record  
KnowledgeArticle myKnowledgeArticle = (KnowledgeArticle)_serviceProxy.Retrieve(  
        KnowledgeArticle.EntityLogicalName, knowledgeArticleId, new ColumnSet("statecode"));  
  
// Update the knowledge article record  
myKnowledgeArticle.StateCode = KnowledgeArticleState.Published;  
UpdateRequest updateKnowledgeArticle = new UpdateRequest  
{  
    Target = myKnowledgeArticle  
};  
_serviceProxy.Execute(updateKnowledgeArticle);  
  

Associare un record dell'articolo della Knowledge Base a un'istanza di entità di Dynamics 365 Customer Service

Quando abiliti la ricerca nella Knowledge Base incorporata per un'entità in Dynamics 365 Customer Service utilizzando il client Web, viene automaticamente creata una relazione molti-a-molti, msdyn_<Entity_Name>_knowledgearticle. È possibile usare questa relazione per associare o collegare a livello di codice un'istanza di KnowledgeArticle a un'istanza di entità Dynamics 365 Customer Service. Quando si associa un'istanza a un'istanza KnowledgeArticle di entità, viene creato un record per la relazione in un'entità interseca denominata msdyn_<Entity_Name>_knowledgearticle. Ad esempio, quando si associa un'istanza a un'istanza KnowledgeArticleAccount per la prima volta, viene creata un'entità di intersecazione denominata msdyn_account_knowledgearticle e viene creato un record con il mapping di associazione in questa entità interseca. Per impostazione predefinita, l'entità Incident (Case) è abilitata per la ricerca delle informazioni incorporata e quando si collega un KnowledgeArticle record a un Incident record, viene creato un record di associazione nell'entità interseca KnowledgeArticleIncident .

Il codice di esempio seguente illustra come associare un'istanza KnowledgeArticle a un'istanza Account di :

// Associate the knowledge article record with an account record  
  
// Step 1: Create a collection of knowledge article records that will be   
// associated to the account. In this case, we have only a single  
// knowledge article record to be associated.  
EntityReferenceCollection relatedEntities = new EntityReferenceCollection();  
relatedEntities.Add(new EntityReference(KnowledgeArticle.EntityLogicalName, knowledgeArticleId));  
  
// Step 2: Create an object that defines the relationship between knowledge article record and account record.  
// Use the many-to-many relationship name (msdyn_account_knowledgearticle) between knowledge article  
// record and account record.  
Relationship newRelationship = new Relationship("msdyn_account_knowledgearticle");  
  
// Step 3: Associate the knowledge article record with the account record.  
_serviceProxy.Associate(Account.EntityLogicalName, accountId, newRelationship, relatedEntities);  
  

Incrementare il numero visualizzazioni dell'articolo della Knowledge Base

Usare il IncrementKnowledgeArticleViewCountRequest messaggio per incrementare il numero di visualizzazioni di un record di un articolo della Knowledge Base per un determinato giorno nell'entità KnowledgeArticleViews . Se un record non esiste per un articolo della Knowledge Base per un giorno specificato, verrà creato un record e quindi verrà impostato il valore del numero visualizzazioni specificato nell'attributo KnowledgeArticleViews. AttributoKnowledgeArticleView. Se esiste già un record per un articolo della Knowledge Base per il giorno specificato, incrementerà solo il conteggio delle visualizzazioni in KnowledgeArticleViews. attributo KnowledgeArticleView del record esistente.

Gli articoli della Knowledge Base in Dynamics 365 Customer Service, incluse le versioni e le traduzioni, sono indicizzati full-text e supportano la ricerca full-text di SQL Server. Altre informazioni sulla ricerca full-text, in SQL Server: Ricerca full-text.

Utilizzare il messaggio FullTextSearchKnowledgeArticleRequest per cercare l'articolo della Knowledge Base dalle applicazioni per trovare le informazioni cercate. Il messaggio FullTextSearchKnowledgeArticleRequest consente di utilizzare la corrispondenza dell'origine delle inflessioni (consente la sostituzione di un tempo o un'inflessione differente per il testo di ricerca) e specificare i criteri di query (utilizzando FetchXML o QueryExpression per specificare filtro, ordine, ordinamento e paging) per cercare articoli della Knowledge Base con un testo specificato. È inoltre possibile scegliere di rimuovere più versioni degli stessi articoli nei risultati della ricerca e filtrare in base allo stato dell'articolo della Knowledge Base durante la ricerca di un testo.

Entità della Knowledge Base deprecate

Le entità legacy seguenti sono state deprecate. Maggiori informazioni: Entità della Knowledge Base obsolete

Le entità della Knowledge Base legacy non sono accessibili a partire dal 1° dicembre 2020. È consigliabile effettuare il passaggio all'entità KnowledgeArticle. Per altre informazioni, vedere Creare e gestire gli articoli della Knowledge Base.  

Utilizza quanto segue per assistenza con la migrazione:

  • Usare SDK, WebAPI o Microsoft Power Automate a seconda degli scenari.
  • Usare lo strumento di migrazione open source con licenza MIT.

Importante

  • Lo strumento di migrazione open source non è supportato da Microsoft e potrebbe essere necessario modificarlo in base agli scenari in uso.
  • Esegui sempre un ambiente di test prima di utilizzarlo in produzione.
  • Leggi la licenza e il file Leggimi prima di utilizzare lo strumento.