Share via


Werken met kennisartikelen

De nieuwe kenniservaring in Dynamics 365 Customer Service stelt u in staat om uitgebreide kennisartikelen te maken met versiebeheer en vertaalondersteuning. De nieuwe kenniservaring maakt gebruik van de entiteit KnowledgeArticle om kennis native op te slaan en te beheren in Dynamics 365 Customer Service.

Opmerking

De entiteiten KBArticle, KBArticleTemplate en KBArticleComment zijn nu afgeschaft. Dit betekent dat we niet van u verwachten dat u deze entiteiten nog gebruikt. U moet gebruikmaken van de nieuwere entiteit KnowledgeArticle voor kennisbeheer in Dynamics 365 Customer Service. Zie de sectie Afgeschafte kennisentiteiten aan het eind van dit onderwerp voor meer informatie.

Een kennisartikel maken

Wanneer u een record voor een kennisartikel maakt, maakt Dynamics 365 Customer Service intern een hoofdartikel voor de record aan. Het hoofdartikel doet dienst als container voor het hoofdkennisartikel dat u samen hebt gemaakt met alle artikelversies en -vertalingen die u mogelijk in de toekomst maakt. Het volgende diagram laat het entiteitsmodel voor de entiteit KnowledgeArticle zien.

KnowledgeArticle-entiteitsmodel.

Wanneer u een record voor een kennisartikel maakt, wordt deze gemaakt met de status Draft. Door gebruik te maken van de nieuwe entiteit KnowledgeArticle kunt u een artikel maken door de inhoud en opmaak in HTML-indeling op te geven. U kunt uw eigen waarde opgeven voor het kenmerk KnowledgeArticle.ArticlePublicNumber terwijl u via programmering een kennisartikel maakt. Anders wordt de waarde automatisch gegenereerd op basis van de indeling die u in het instellingengebied van Dynamics 365 Customer Service in de webclient hebt opgegeven. De KnowledgeArticle.ArticlePublicNumber slaat de id op waar deze zichtbaar is voor klanten, partners en andere externe gebruikers zodat deze kennisartikelen kunnen raadplegen en zoeken. De versies en vertalingen van de kennisartikelen blijven behouden.

De volgende voorbeeldcode toont hoe u een record voor een kennisartikel kunt maken.

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

Een primaire en een secundaire versie van een kennisartikel maken

Wanneer u een Knowledge Base-artikelrecord maakt, wordt de hoofdversie automatisch ingesteld op 1 en de secundaire versie op 0. Gebruik het bericht CreateKnowledgeArticleVersion (Actie CreateKnowledgeArticleVersion of CreateKnowledgeArticleVersionRequest) om een hoofdversie of secundaire versie van een kennisartikel te maken. Stel in het aanvraagbericht IsMajor in op true om een primaire versie te maken; gebruik de instelling false om een secundaire versie te maken. De nieuwe versierecord die wordt gemaakt gebruikt het kenmerk

  • KnowledgeArticle.RootArticleId om de koppeling met de record van het hoofdkennisartikel te behouden.

  • KnowledgeArticle.PreviousArticleContentId-kenmerk om naar de eerdere versie van de record te verwijzen.

De volgende voorbeeldcode toont hoe u een primaire versie van een kennisartikel kunt maken met behulp van CreateKnowledgeArticleVersionRequest.

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

Een vertaling van een kennisartikel maken

Gebruik Actie CreateKnowledgeArticleTranslation (Web API) of CreateKnowledgeArticleTranslationRequest (organisatieservice) om een vertaling voor een record voor een kennisartikel te maken. U kunt uw kennisartikel in meer dan 150 talen vertalen, en informatie over de ondersteunde talen is beschikbaar in de nieuwe entiteit LanguageLocale.

Meer informatie: Entiteit LanguageLocale.

Door Actie CreateKnowledgeArticleTranslation (Web API) of CreateKnowledgeArticleTranslationRequest (organisatieservice) te gebruiken, wordt een nieuwe record voor een kennisartikel gemaakt met de titel, inhoud, beschrijving en trefwoorden die van de bronrecord naar de nieuwe record worden gekopieerd, terwijl de taal van de nieuwe record wordt ingesteld op de taal die u hebt opgegeven in de aanvraag. U moet ook opgeven of een nieuwe record een primaire dan wel een secundaire versie is. De nieuwe record gebruikt het kenmerk KnowledgeArticle.ParentArticleContentId om de koppeling met de record van het hoofdkennisartikel te behouden.

Als u dit bericht uitvoert en een respons krijgt, haalt u het kennisartikel op uit het responsobject, en werk vervolgens de titel, het onderwerp, de beschrijving en de trefwoorden bij om de vertaalde inhoud toe te voegen.

De volgende voorbeeldcode toont hoe u een vertaling van een kennisartikel kunt maken met behulp van 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));  

Opmerking

De GUID-waarde van de primaire sleutel (LanguageLocaleId) voor elke taalrecord in de entiteit LanguageLocale is hetzelfde voor alle Dynamics 365 Customer Service-organisaties.

Levenscyclus van een kennisartikel: De status van een kennisartikel wijzigen

Tijdens de levenscyclus kan een kennisartikel zich in de volgende statussen bevinden:

  • 0: Concept (nadat een kennisartikel is gemaakt)

  • 1: Goedgekeurd (nadat een kennisartikel is goedgekeurd)

  • 2: Gepland (nadat een kennisartikel is gepland om te worden gepubliceerd)

  • 3: Gepubliceerd (nadat een kennisartikel is gepubliceerd)

  • 4: Verlopen (nadat een kennisartikel is verlopen op de einddatum die tijdens het publiceren is opgegeven)

  • 5: Gearchiveerd (nadat een kennisartikel is gearchiveerd)

  • 6: Verwijderd (nadat een kennisartikel is verwijderd)

Om de status van het artikel te wijzigen, moet u het bericht Update in de record voor het kennisartikel gebruiken om het kenmerk KnowledgeArticle.StateCode bij te werken. Voor u eerder gebonden typen gebruikt u de opsomming KnowledgeArticleState om de mogelijk statussen in te stellen. Meer informatie: Gespecialiseerde bewerkingen uitvoeren met behulp van Update.

De volgende voorbeeldcode toont hoe u een record voor een kennisartikel kunt publiceren.

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

Een record voor een kennisartikel aan een exemplaar van een Dynamics 365 Customer Service-entiteit koppelen

Als u met de webclient zoeken in ingesloten kennisartikelen inschakelt voor een entiteit in Dynamics 365 Customer Service, wordt automatisch een veel-op-veelrelatie, msdyn_<Entiteitsnaam>_knowledgearticle, gemaakt. U kunt deze relatie gebruiken om via programmering een exemplaar van KnowledgeArticle te associëren met of te koppelen aan een exemplaar van een Dynamics 365 Customer Service-entiteit. Als u een exemplaar van een KnowledgeArticle-exemplaar koppelt aan een exemplaar van een entiteit, wordt een record voor de relatie gemaakt in een doorsnedenentiteit genaamd msdyn_<Entiteitnaam>_knowledgearticle. Als u bijvoorbeeld voor het eerst een exemplaar van een KnowledgeArticle koppelt aan een exemplaar van Account, wordt een doorsnedenentiteit gemaakt genaamd msdyn_account_knowledgearticle en wordt een record met de koppelingstoewijzing gemaakt in deze doorsnedenentiteit. Standaard is de entiteit Incident (Aanvraag) ingeschakeld voor zoeken in embedded Knowledge, en als u een KnowledgeArticle-record koppelt aan een Incident-record, wordt een gekoppelde record gemaakt in de doorsnedenentiteit KnowledgeArticleIncident.

In de volgende voorbeeldcode ziet u hoe u een exemplaar van KnowledgeArticle kunt koppelen aan een exemplaar van 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);  
  

De weergavetelling van het kennisartikel verhogen

Gebruik het bericht IncrementKnowledgeArticleViewCountRequest om de weergavetelling van een kennisartikel voor een bepaalde dag in de entiteit KnowledgeArticleViews te verhogen. Als er geen record bestaat voor een kennisartikel voor een specifieke dag, wordt er een record gemaakt en wordt vervolgens de opgegeven waarde voor de weergavetelling ingesteld in het kenmerk KnowledgeArticleViews.KnowledgeArticleView kenmerk. Als er al een record bestaat voor een kennisartikel voor die specifieke dag, wordt alleen de weergavetelling in het kenmerk KnowledgeArticleViews.KnowledgeArticleView van de bestaande record verhoogd.

Van kennisartikelen in Dynamics 365 Customer Service, met inbegrip van hun versies en vertalingen, is de volledige tekst geïndexeerd en wordt zoeken in volledige tekst van SQL Server ondersteund. Voor meer informatie over zoeken in volledige tekst, zie SQL Server: Zoekactie in volledige tekst.

Gebruik het bericht FullTextSearchKnowledgeArticleRequest om te zoeken naar een kennisartikel vanuit uw toepassingen voor het vinden van de informatie waar u naar op zoek bent. Met het FullTextSearchKnowledgeArticleRequest bericht kunt u verbuigingsstammatching gebruiken (hiermee kunt u de zoektekst vervangen door een andere tijd of verbuiging) en zoekcriteria opgeven (met FetchXML of QueryExpression om filtering op te geven, ordenen, sorteren en paging) om kennisartikelen met opgegeven tekst te vinden. U kunt ook besluiten meerdere versies van dezelfde artikelen in de zoekresultaten te verwijderen, en te filteren op de status van het kennisartikel terwijl u naar een tekst zoekt.

Afgeschafte kennisentiteiten

De volgende oudere entiteiten zijn afgeschaft. Meer informatie: Afgeschafte kennisentiteiten

Oudere kennisentiteiten zijn sinds 1 december 2020 niet meer toegankelijk. We raden u dringend aan om baar de entiteit KnowledgeArticle over te stappen. Zie Kennisartikelen maken en beheren voor meer informatie over het maken van een kennisartikel in Unified Interface.  

Gebruik het volgende voor hulp bij de migratie:

  • Gebruik SDK, WebAPI of Microsoft Power Automate afhankelijk van uw scenario's.
  • Gebruik de open source migratietool met MIT-licentie.

Belangrijk

  • De open source-migratietool wordt niet ondersteund door Microsoft en moet mogelijk worden aangepast aan uw scenario's.
  • Voer altijd een testomgeving uit voordat u deze in productie neemt.
  • Controleer de licentie en leesmij voordat u de tool gebruikt.

Zie ook