Dela via


Arbeta med kunskapsartiklar

Obs

Du kan se tillgänglighetsinformationen för funktionen enligt följande.

Dynamics 365 Contact Center – inbäddad Dynamics 365 Contact Center – fristående Dynamics 365 Customer Service
Nej. Ja Ja

Den nya kunskapsupplevelsen gör att du kan skapa omfattande kunskapsbasartiklar tillsammans med versions- och översättningsstöd. Den nya kunskapsprocessen använder entiteten KnowledgeArticle för att lagra och hantera kunskap internt i Dynamics 365 Customer Service.

Kommentar

Entiteterna KBArticle, KBArticleTemplate och KBArticleComment är nu inaktuella. Detta innebär att du inte förväntas använda de här entiteterna längre. Du måste använda den nyare KnowledgeArticle-entiteten för kunskapshantering i Dynamics 365 Customer Service. Mer information finns i avsnittet Inaktuella kunskapsentiteter i slutet av detta ämne.

Skapa en kunskapsbasartikel

När du skapar en post för kunskapsbasartiklar skapar Dynamics 365 Customer Service en rotartikel för posten internt. Rotartikeln fungerar som en behållare för den primära kunskapsbasartikeln som skapades av dig, tillsammans med alla artikelversioner och översättningar som du kan skapa i framtiden. Följande diagram illustrerar entitetsmodellen för KnowledgeArticle-entiteten.

Entitetsmodell för kunskapsbasartikel.

När du skapar en post för kunskapsbasartiklar skapas denna i tillståndet Draft. Med den nya KnowledgeArticle-entiteten kan du skapa en artikel genom att ange dess innehåll och format i HTML-format. Du kan ange ett eget värde för KnowledgeArticle. ArticlePublicNumber attributet medan en post för kunskapsbasartikel skapas programmatiskt; i annat fall genereras värdet automatiskt utifrån det format du angav i området för Dynamics 365 Customer Service-inställningar i webbklienten. KnowledgeArticle. ArticlePublicNumber attributet lagrar ID:t som visas för kunder, partners och andra externa användare för att referera till och söka efter kunskapsbasartiklar, och de förblir desamma i alla kunskapsbasartikelversioner och översättningar.

Följande exempelkod visar hur du kan skapa en post för kunskapsbasartiklar.

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

Skapa primära och sekundära versioner av kunskapsbasartiklar

När du skapar en post för kunskapsbasartiklar får den primära versionen automatiskt värdet 1 och den sekundära versionen värdet 0. Använd CreateKnowledgeArticleVersion meddelandet (CreateKnowledgeArticleVersion Action eller CreateKnowledgeArticleVersionRequest) om du vill skapa en primär eller sekundär version av en kunskapsbasartikel. I förfråganmeddelandet anger du IsMajor som true om du vill skapa en primär version. Ange den som false om du vill skapa en sekundär version. Den nya versionsposten som skapas använder:

  • KnowledgeArticle. RootArticleId-attributet för att upprätthålla kopplingen till posten för rotkunskapsbasartikeln.

  • KnowledgeArticle. PreviousArticleContentId-attribut som pekar mot den tidigare versionen av posten.

Följande exempelkod visar hur du kan skapa en primär version av en kunskapsbasartikelpost med hjälp av CreateKnowledgeArticleVersionRequest.

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

Skapa en översättning av kunskapsbasartikeln

Använd CreateKnowledgeArticleTranslation Action (Webb-API) eller CreateKnowledgeArticleTranslationRequest (organisationstjänst) om du vill skapa en översättning för en post i kunskapsbasartikeln. Du kan översätta kunskapsbasartiklar till mer än 150 språk, och information om dessa språk som stöds finns i den nya LanguageLocale-entiteten.

Mer information: entiteten LanguageLocale.

Om du använder CreateKnowledgeArticleTranslation Action (Webb-API) eller CreateKnowledgeArticleTranslationRequest (organisationstjänst) skapas en ny post för kunskapsbasartikeln med rubrik, innehåll, beskrivning och nyckelord som kopierats från källposten till den nya posten, och det språk som används för den nya posten är det som du angav i förfrågan. Du måste också ange om den nya posten ska vara en primär eller sekundär version. Den nya posten använder KnowledgeArticle. ParentArticleContentId-attributet för att upprätthålla kopplingen till den primära posten för rotkunskapsbasartikeln.

När du har kört meddelandet och får svar hämtar du kunskapsbasartikelposten från svarsobjektet och uppdaterar sedan rubrik, innehåll, beskrivning och nyckelord för att lägga till det översatta innehållet.

Följande exempelkod visar hur du kan skapa en post för kunskapsbasartiklar med hjälp av 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));  

Kommentar

GUID-värdet för primär nyckel (LanguageLocaleId) för respektive språkpost i entiteten LanguageLocale är densamma i alla Dynamics 365 Customer Service-organisationer.

Livscykel för kunskapsbasartikel: Ändra tillstånd för en kunskapsbasartikel

Under sin livscykel kan en kunskapsbasartikel ha följande status:

  • 0: utkast (när en kunskapsbasartikel har skapats)

  • 1: godkänd (när en kunskapsbasartikel har godkänts)

  • 2: schemalagd (när en kunskapsbasartikel har schemalagts för publicering)

  • 3: publicerad (när en kunskapsbasartikel har publicerats)

  • 4: förfaller (när en kunskapsbasartikel förfaller i enlighet med det förfallodatum som angavs i samband med publicering)

  • 5: arkiverad (när en kunskapsbasartikel har arkiverats)

  • 6: förkasta (när en kunskapsbasartikel har förkastats)

Om du vill ändra tillståndet på artikeln använder du meddelandet Update för kunskapsbasartikelposten för att uppdatera KnowledgeArticle.StateCode-attributet. För tidigt bundna typer använder du KnowledgeArticleState-uppräkningen för att ange möjliga tillstånd. Mer information: Utföra specialiserade åtgärder med hjälp av Uppdatera.

Följande exempelkod visar hur du kan publicera en post för kunskapsbasartiklar.

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

Associera en post för kunskapsbasartiklar med en entitetsinstans för Dynamics 365 Customer Service

När du aktiverar inbäddad kunskapssökning för en entitet i Dynamics 365 Customer Service med hjälp av webbklienten skapas en n:n-relation msdyn_<Entitetsnamn>_knowledgearticle automatiskt. Du kan använda den här relationen för att programmässigt associera eller länka en KnowledgeArticle-instans med en Dynamics 365 Customer Service-entitetsinstans. När du associerar en KnowledgeArticle-instans med en entitetsinstans skapas en post för relationen i en snitt-entitet som kallas msdyn_<Entitetsnamn>_knowledgearticle. Om du till exempel associerar en KnowledgeArticle-instans med en Account-instans för första gången skapas en överlappande entitet som heter msdyn_account_knowledgearticle, och en post med associationsmappningen skapas i denna överlappande entitet. Som standard aktiveras entiteten Incident (Ärende) för den inbäddade kunskapsbassökningen, och när du länkar en KnowledgeArticle-post till en Incident-post skapas en associationspost i den överlappande KnowledgeArticleIncident-entiteten.

Följande exempelkod visar hur du associerar en KnowledgeArticle-instans med en Account-instans:

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

Antal visningar för kunskapsbasartikel om förbättringar

Använd meddelandet IncrementKnowledgeArticleViewCountRequest om du vill öka antalet visningar av en kunskapsbasartikelpost för en viss dag i entiteten KnowledgeArticleViews. Om det inte finns någon post för en kunskapsbasartikel för en angiven dag skapas en post, varefter angivet värdet för antal visningar anges i KnowledgeArticleViews . KnowledgeArticleView attribut. Om det redan finns en post för en kunskapsbasartikel för den angivna dagen kommer den bara att öka antalet visningar i KnowledgeArticleViews. KnowledgeArticleView-attribut för den befintliga posten.

Kunskapsbasartiklar i Dynamics 365 Customer Service, inklusive dessas versioner och översättningar, är fulltextindexerade och stöder fulltextsökning i SQL Server. Mer information om fulltextsökning finns i SQL Server: Fulltextsökning.

Använd FullTextSearchKnowledgeArticleRequest-meddelandet för att söka bland kunskapsbasartiklar i dina program för att finna den information du söker. Med FullTextSearchKnowledgeArticleRequest-meddelandet kan du använda matchning med olika ändelser (tillåter olika tempus eller ändelser i söktexten) och ange frågevillkor (med FetchXML eller QueryExpression för att ange filtrering, ordningsföljd, sortering och sidindelning) för att hitta kunskapsbasartiklar med angiven text. Du kan även välja att ta bort flera versioner av samma artiklar i sökresultaten och filtrera på kunskapsbasartikeltillståndet när du söker efter en text.

Inaktuella kunskapsentiteter

Följande äldre entiteter är inaktuella. Mer information: Inaktuella kunskapsentiteter

Äldre kunskapsentiteter är inte tillgängliga från den 1 december 2020. Vi rekommenderar starkt att du flyttar till entiteten KnowledgeArticle. Mer information om hur du skapar en kunskapsbasartikel i enhetligt gränssnitt finns i Skapa och hantera kunskapsbasartiklar.  

Använd följande om du vill ha hjälp med migrering:

  • Använd SDK, WebAPI eller Microsoft Power Automate beroende på dina scenarier.
  • Använd migreringsverktyget med öppen källkod med MIT-licens.

Viktigt!

  • Migreringsverktyget med öppen källkod stöds inte av Microsoft och kan behöva ändras för att passa dina scenarier.
  • Kör alltid en testmiljö före användning i tillverkningen.
  • Kontrollera licens och Viktigt-fil innan du använder verktyget.

Se även