Travailler avec le tableau KnowledgeArticle

S’applique à : Service Client Dynamics 365 et Centre de Contact Dynamics 365 — uniquement autonome

Utilisez ce KnowledgeArticle tableau pour intégrer des capacités de gestion des connaissances dans vos solutions Dynamics 365 Customer Service. Cet article décrit comment créer des articles, gérer les versions et traductions, publier du contenu et intégrer des articles de connaissance avec d’autres entités de service client.

Prerequisites

Assurez-vous d’avoir les rôles et privilèges requis.

Créer un article de la Base de connaissances

Lorsque vous créez un enregistrement d’article de connaissances, Dynamics 365 Customer Service crée en interne un article racine pour l’enregistrement. L’article racine sert de conteneur pour l’article de données principal que vous créez, ainsi que pour toutes les versions et traductions que vous pourriez créer à l’avenir. Le diagramme suivant illustre le modèle de table de la table KnowledgeArticle.

Modèle d’entité KnowledgeArticle.

Lorsque vous créez un enregistrement d’article de la base de connaissances, vous le créez à l’état Draft. En utilisant le nouveau KnowledgeArticle tableau, vous pouvez créer un article en spécifiant son contenu et sa mise en forme au format HTML. Vous pouvez spécifier votre propre valeur pour l’attribut KnowledgeArticle. ArticlePublicNumber attribut lors de la création d’un enregistrement d’article de la base de connaissances par programmation. Sinon, la valeur est automatiquement générée selon le format que vous avez spécifié dans la zone de paramètres de Dynamics 365 Customer Service du client web. L’attribut KnowledgeArticle. ArticlePublicNumber l’attribut stocke l’ID exposé aux clients, partenaires et autres utilisateurs externes pour référencer et rechercher des articles de la base de connaissances. Cela reste le même dans les versions et traductions des articles de connaissance.

L’exemple de code suivant montre comment créer un enregistrement d’article de la Base de connaissances.

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

Créer les versions principale et secondaire d’un article de la Base de connaissances

Lorsque vous créez un enregistrement d’article de connaissance, la version majeure est automatiquement fixée à 1 et la version mineure à 0. Utilisez le message CreateKnowledgeArticleVersion (Action CreateKnowledgeArticleVersion ou CreateKnowledgeArticleVersionRequest) pour créer une version principale ou secondaire d’un article de la Base de connaissances. Dans le message de requête, définissez IsMajor sur true afin de créer une version majeure, ou sur false afin de créer une version mineure. La nouvelle version utilise les attributs suivants :

  • KnowledgeArticle. RootArticleId pour maintenir l’association avec l’enregistrement d’article de la Base de connaissances racine.

  • KnowledgeArticle. PreviousArticleContentId pour pointer vers la version d’enregistrement précédente.

L’exemple de code suivant montre comment créer une version majeure d’un enregistrement d’article de la base de connaissances à l’aide de CreateKnowledgeArticleVersionRequest.

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

Créer une traduction de l’article de la Base de connaissances

Utilisez CreateKnowledgeArticleTranslation Action (API web) ou CreateKnowledgeArticleTranslationRequest (service d’organisation) pour créer une traduction d’un enregistrement d’article de la Base de connaissances. Vous pouvez traduire votre article de connaissances en plus de 150 langues. Les informations sur ces langages pris en charge sont disponibles dans le nouveau LanguageLocale tableau.

Pour en savoir plus, consultez le tableau LanguageLocale.

En utilisant CreateKnowledgeArticleTranslation Action (Web API) ou CreateKnowledgeArticleTranslationRequest (service d’organisation), vous créez un nouvel enregistrement d’article de connaissance avec le titre, le contenu, la description et les mots-clés copiés de l’enregistrement source vers le nouvel enregistrement. Vous définissez la langue du nouvel enregistrement à celle que vous spécifiez dans la demande. Vous devez aussi préciser si le nouveau disque est une version majeure ou mineure. Le nouvel enregistrement utilise l’attribut KnowledgeArticle. ParentArticleContentId pour maintenir l’association avec l’enregistrement principal de l’article de la Base de connaissances.

Après avoir exécuté ce message et obtenu une réponse, récupérez l’enregistrement d’article de la Base de connaissances à partir de l’objet de réponse, puis mettez à jour le titre, le contenu, la description et les mots clés pour ajouter le contenu traduit.

Le code d’exemple suivant montre comment créer une traduction d’un article de connaissance en utilisant 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));  

Note

La valeur GUID de la clé primaire (LanguageLocaleId) pour chaque enregistrement de langue dans l’entité LanguageLocale est identique dans toutes les organisations Dynamics 365 Customer Service.

Cycle de vie d’un article de la Base de connaissances : Modifier le statut d’un article de la Base de connaissances

Pendant son cycle de vie, un article de la Base de connaissances peut avoir l’un des états suivants :

  • 0 : Brouillon (après avoir créé un article de connaissance)

  • 1 : Approuvé (après avoir approuvé un article de connaissance)

  • 2 : Programmé (après avoir programmé la publication d’un article de connaissance)

  • 3 : Publié (après avoir publié un article de connaissance)

  • 4 : Expiré (après qu’un article de connaissance expire selon la date d’expiration spécifiée lors de la publication)

  • 5 : Archivé (après avoir archivé un article de connaissance)

  • 6 : Supprimé (après la suppression d’un article de la base de connaissances)

Pour modifier l’état de l’article, utilisez le message Update dans l’enregistrement d’article de la Base de connaissances pour mettre à jour l’attribut KnowledgeArticle.StateCode. Pour les types à liaison anticipée, utilisez l’énumération KnowledgeArticleState pour définir les états possibles. En savoir plus sur Effectuer des opérations spécialisées avec Update.

L’exemple de code suivant montre comment publier un enregistrement d’article de la Base de connaissances.

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

Note

statecode des valeurs telles que Brouillon (0) indiquent le stade du cycle de vie de l’article, et non la confidentialité ou la visibilité. Les utilisateurs disposant des privilèges appropriés de Lecture et Écriture peuvent accéder aux articles brouillons.

Associer un article de la base de connaissances à une instance d’entité Dynamics 365 Customer Service

Lorsque vous activez la recherche de connaissances intégrée pour une table dans Dynamics 365 Customer Service en utilisant le client web, le système crée automatiquement une relation plusieurs-à-plusieurs nommée msdyn_<Entity_Name>_knowledgearticle. Utilisez cette relation pour associer ou lier programmatiquement une KnowledgeArticle instance à une instance de table Dynamics 365 Customer Service. Lorsque vous associez une KnowledgeArticle instance à une instance de table, vous créez un enregistrement pour la relation dans une table d’intersecte appelée msdyn_<Entity_Name>_knowledgearticle. Par exemple, lorsque vous associez une KnowledgeArticle instance à une Account instance pour la première fois, vous créez une table d’intersecte appelée msdyn_account_knowledgearticle, et vous créez un enregistrement avec la correspondance d’association dans cette table d’intersecte. Par défaut, la Incident table (Case) est activée pour la recherche de connaissances intégrées. Lorsque vous liez un enregistrement KnowledgeArticle à un enregistrement Incident, vous créez un enregistrement d’association dans la table d’intersection KnowledgeArticleIncident.

L’exemple de code suivant montre comment associer une instance KnowledgeArticle à une instance 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);  
  

Incrémenter le nombre de vues des articles de la Base de connaissances

Utilisez le IncrementKnowledgeArticleViewCountRequest message pour augmenter le nombre de vues d’un enregistrement d’article de connaissance pour un jour donné dans le KnowledgeArticleViews tableau. Si un enregistrement n’existe pas pour un article de connaissance pour un jour spécifié, l’opération crée un enregistrement et fixe la valeur du nombre de vues spécifiée dans le KnowledgeArticleViewsfichier . Attribut KnowledgeArticleView. Si un enregistrement existe déjà pour un article de connaissance pour la journée spécifiée, l’opération augmente le nombre de vues dans le KnowledgeArticleViews. KnowledgeArticleView de l’enregistrement existant.

Les articles de connaissances dans Dynamics 365 Customer Service, y compris leurs versions et traductions, sont indexés en texte intégral et prennent en charge la recherche en texte intégral de SQL Server. En savoir plus sur la recherche en texte intégral, dans SQL Server : Recherche en texte intégral.

Utilisez le FullTextSearchKnowledgeArticleRequest message pour rechercher des articles de connaissances dans vos applications afin de trouver les informations que vous recherchez. Le FullTextSearchKnowledgeArticleRequest message vous permet d’utiliser la correspondance de tige flexionnelle (qui permet de substituer un temps ou une inflexion différent au texte de recherche) et de spécifier des critères de requête (en utilisant FetchXML ou QueryExpression pour spécifier le filtrage, l’ordre, le tri et la pagination) afin de trouver des articles de connaissance avec un texte spécifié. Vous pouvez également choisir de supprimer plusieurs versions d’un même article dans les résultats de recherche et de filtrer sur l’état de l’article de la Base de connaissances lors de la recherche d’un texte.

Entités de gestion des connaissances déconseillées

Les entités héritées suivantes sont obsolètes. En savoir plus sur les entités de connaissances dépréciées.

Depuis le 1er décembre 2020, vous ne pouvez plus accéder aux entités de connaissance héritées. Accédez à la table KnowledgeArticle. En savoir plus dans Créer et gérer des articles de connaissances.    

Pour obtenir de l’aide lors de la migration, utilisez les ressources suivantes :

  • Utilisez le Kit de développement logiciel (SDK), WebAPI ou Microsoft Power Automate en fonction de vos scénarios.
  • Utilisez l’outil de migration open source avec la licence MIT.

Important

  • Microsoft ne prend pas en charge l'outil de migration open source. Vous devrez peut-être l’adapter à votre situation.
  • Exécutez toujours un environnement de test avant de l’utiliser en production.
  • Vérifiez la licence et le fichier Lisez-moi avant d’utiliser l’outil.