Condividi tramite


Utilizzare gli articoli della Knowledge Base

La nuova esperienza della Knowledge Base in Dynamics 365 Customer Service consente di creare articoli dettagliati oltre a offrire supporto per il controllo delle versioni e la traduzione. La nuova esperienza della Knowledge Base utilizza l'entità KnowledgeArticle per archiviare e gestire la Knowledge Base 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à. Devi utilizzare l'entità KnowledgeArticle più recente per la gestione delle informazioni in Dynamics 365 Customer Service. Per ulteriori informazioni, vedi la sezione Entità della Knowledge Base deprecate alla fine dell'argomento.

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à di 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. Puoi specificare il tuo valore per KnowledgeArticle. ArticlePublicNumberquando 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. ArticlePublicNumberarchivia l'ID esposto ai clienti, ai partner e ad altri utenti esterni per fare riferimento e cercare articoli della Knowledge Base e rimane lo stesso per tutte le versioni e le traduzioni dell'articolo.

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. Utilizza il messaggio CreateKnowledgeArticleVersion (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. RootArticleIdl'attributo per gestire l'associazione al record radice dell'articolo della Knowledge Base.

  • KnowledgeArticle. PreviousArticleContentIdl'attributo per indicare 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 entità LanguageLocale.

Altre informazioni: Entità LanguageLocale.

L'utilizzo di CreateKnowledgeArticleTranslation Action (API Web) o CreateKnowledgeArticleTranslationRequest (servizio di organizzazione) crea un nuovo record dell'articolo della Knowledge Base con il titolo, il contenuto, la descrizione e le parole chiave copiate dal record di origine nel nuovo record e la lingua del nuovo record impostata su quella specificata nella richiesta. È inoltre necessario specificare se il nuovo record sarà una versione principale o secondaria. Il nuovo record utilizza l'attributo KnowledgeArticle. ParentArticleContentIdper 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 seguente codice di esempio illustra come creare una traduzione dell'articolo della Knowledge Base utilizzando 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 Lingua nell'entità LanguageLocale è la stessa tra 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, utilizzare il messaggio Update nel record dell'articolo della Knowledge Base per aggiornare l'attributo KnowledgeArticle.StateCode. Per tipi con associazione anticipata, utilizzare l'enumerazione KnowledgeArticleState per impostare gli stati possibili. Altre informazioni: Eseguire operazioni specifiche con 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_<Nome_Entità>_knowledgearticle. Puoi utilizzare tale relazione per associare o collegare a livello di programmazione un'istanza dell'KnowledgeArticle a un'istanza di entità di Dynamics 365 Customer Service. Quando si associa un'istanza di KnowledgeArticle a un'istanza di entità, viene creato un record per la relazione in un'entità intersecata chiamata msdyn_<Nome_Entità>_knowledgearticle. Ad esempio, quando si associa per la prima volta un'istanza di KnowledgeArticle a un'istanza di Account, viene creata un'entità intersecata chiamata msdyn_account_knowledgearticle e un record con il mapping di associazione nell'entità intersecata. Per impostazione predefinita, l'entità Incident (Caso) è abilitata per la ricerca nella Knowledge Base incorporata e quando si collega un record KnowledgeArticle a un record Incident, viene creato un record di associazione nell'entità intersecata KnowledgeArticleIncident.

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

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

Utilizzare il messaggio IncrementKnowledgeArticleViewCountRequest per incrementare il numero visualizzazioni di un record dell'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. attributo KnowledgeArticleView. Se esiste già un record per un articolo della Knowledge Base per il giorno specificato, verrà semplicemente incrementato il numero visualizzazioni nell'attributo KnowledgeArticleViews. attributo KnowledgeArticleView del record esistente.

Gli articoli della Knowledge Base in Dynamics 365 Customer Service, incluse le rispettive versioni e traduzioni, sono indicizzati full-text e supportano la ricerca full-text di SQL Server. Per ulteriori informazioni sulla ricerca full-text, vedere 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 sulla creazione di un articolo della Knowledge base in Unified Interface, vedi Creare e gestire gli articoli della Knowledge Base.  

Utilizza quanto segue per assistenza con la migrazione:

  • Utilizza SDK, WebAPI o Microsoft Power Automate a seconda dei tuoi scenari.
  • Utilizza 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 per adattarlo agli scenari.
  • Esegui sempre un ambiente di test prima di utilizzarlo in produzione.
  • Leggi la licenza e il file Leggimi prima di utilizzare lo strumento.

Vedi anche