Trabajar con la tabla de KnowledgeArticle

Se aplica a: Dynamics 365 Customer Service y Dynamics 365 Contact Center—únicamente en la versión independiente

Utiliza la KnowledgeArticle tabla para incorporar capacidades de gestión del conocimiento en tus soluciones de Dynamics 365 Customer Service. Este artículo describe cómo crear artículos, gestionar versiones y traducciones, publicar contenido e integrar artículos de conocimiento con otras entidades de atención al cliente.

Prerequisites

Asegúrate de tener los roles y privilegios necesarios.

Crear un artículo de conocimientos

Al crear un registro de artículo de conocimiento, Dynamics 365 Customer Service crea internamente un artículo raíz para el registro. El artículo raíz actúa como contenedor para el primer artículo de conocimiento que crees, junto con todas las versiones y traducciones del artículo que puedas crear en el futuro. El siguiente diagrama muestra el modelo de la tabla para la KnowledgeArticle tabla.

Modelo de entidad de KnowledgeArticle.

Cuando creas un registro de artículo de conocimiento, lo creas en estado Draft. Utilizando la nueva KnowledgeArticle tabla, puedes crear un artículo especificando su contenido y su formato en formato HTML. Puede especificar sus propios valores de KnowledgeArticle. ArticlePublicNumber atributo al crear un registro de artículo de conocimiento mediante programación. De lo contrario, el valor se genera automáticamente según el formato que especificaste en el área de configuración de Dynamics 365 Customer Service en el cliente web. El KnowledgeArticle. ArticlePublicNumber El atributo almacena el ID que se muestra a clientes, socios y otros usuarios externos para consultar y localizar artículos de la base de conocimientos. Se mantiene igual en las versiones y traducciones de los artículos de información.

El siguiente código de ejemplo muestra cómo puede crear un registro de artículo de conocimientos.

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

Crear versiones principal y secundaria de un artículo de conocimientos

Cuando creas un registro de artículo de conocimiento, la versión principal se establece automáticamente en 1 y la versión menor en 0. Utilice el mensaje CreateKnowledgeArticleVersion (Acción CreateKnowledgeArticleVersion o CreateKnowledgeArticleVersionRequest) para crear una versión mayor o menor de un artículo de conocimiento. En el mensaje de la solicitud, establece IsMajor en true para crear una versión principal, o establécelo en false para crear una versión secundaria. El nuevo registro de versión utiliza los siguientes atributos:

  • KnowledgeArticle. Atributo RootArticleId para mantener la asociación con el registro del artículo de conocimientos raíz.

  • KnowledgeArticle. Atributo PreviousArticleContentId para señalar a la versión anterior del registro.

El siguiente código de ejemplo muestra cómo crear una versión principal de un registro de artículo de conocimiento usando CreateKnowledgeArticleVersionRequest.

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

Crear una traducción del artículo de conocimientos

Use Acción CreateKnowledgeArticleTranslation (API web) o CreateKnowledgeArticleTranslationRequest (servicio de la organización) para crear una traducción para un registro de artículo de conocimientos. Puedes traducir tu artículo de conocimiento a más de 150 idiomas. La información sobre estos lenguajes soportados está disponible en la nueva LanguageLocale tabla.

Más información en la tabla de LanguageLocale.

Al usar CreateKnowledgeArticleTranslation Action (Web API) o CreateKnowledgeArticleTranslationRequest (servicio de organización), creas un nuevo registro de artículo de conocimiento con el título, contenido, descripción y palabras clave copiados del registro fuente al nuevo registro. Configuras el idioma del nuevo registro al que especificas en la solicitud. También necesitas especificar si el nuevo disco es una versión mayor o menor. El nuevo registro utiliza KnowledgeArticle. Atributo ParentArticleContentId para mantener la asociación con el registro del artículo de conocimiento raíz.

Después de ejecutar este mensaje y obtener una respuesta, recupere el registro de artículo de conocimientos desde el objeto de respuesta, y después actualice el título, el contenido, la descripción, y las palabras clave para agregar el contenido traducido.

El siguiente código de ejemplo muestra cómo crear una traducción de un artículo de conocimiento utilizando 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:

El valor GUID de la clave principal (LanguageLocaleId) para cada registro de idioma en la entidad LanguageLocale es el mismo en todas las organizaciones de Dynamics 365 Customer Service.

Ciclo de vida del artículo de conocimientos: Cambie el estado de un artículo de conocimientos

Durante su ciclo de vida, un artículo de conocimientos puede estar en los siguientes estados:

  • 0: Borrador (después de crear un artículo de conocimiento)

  • 1: Aprobado (después de que apruebes un artículo de conocimiento)

  • 2: Programado (después de programar la publicación de un artículo de conocimiento)

  • 3: Publicado (después de publicar un artículo de conocimiento)

  • 4: Caducado (después de que un artículo de conocimiento expire según la fecha de caducidad especificada durante la publicación)

  • 5: Archivado (después de archivar un artículo de conocimiento)

  • 6: Descartado (después de descartar un artículo de conocimiento)

Para cambiar el estado del artículo, use el mensaje Update en el registro de artículo de conocimientos para actualizar el atributo KnowledgeArticle.StateCode. Si usa tipos enlazados en tiempo de compilación, utilice la enumeración de KnowledgeArticleState para establecer los estados posibles. Más información en Realizar operaciones especializadas usando Update.

El siguiente código de ejemplo muestra cómo puede publicar un registro de artículo de conocimientos.

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

Nota:

statecode valores como Borrador (0) indican la etapa del ciclo de vida del artículo, y no la confidencialidad o la visibilidad. Los usuarios con los privilegios apropiados de Lectura y Escritura pueden acceder a los borradores de artículos.

Asociar un registro de artículo de conocimientos con una instancia de entidad de Dynamics 365 Customer Service

Cuando activas la búsqueda de conocimiento incrustada para una tabla en Dynamics 365 Customer Service usando el cliente web, el sistema crea automáticamente una relación de muchos a muchos llamada msdyn_<Entity_Name>_knowledgearticle. Utiliza esta relación para asociar o vincular programáticamente una KnowledgeArticle instancia con una instancia de la tabla de Dynamics 365 Customer Service. Cuando asocias una KnowledgeArticle instancia con una instancia de tabla, creas un registro para la relación en una tabla de intersección llamada msdyn_<Entity_Name>_knowledgearticle. Por ejemplo, cuando asocias una KnowledgeArticle instancia con otra Account por primera vez, creas una tabla de intersección llamada msdyn_account_knowledgearticle, y creas un registro con el mapeo de asociación en esta tabla de intersección. Por defecto, la tabla Incident (Case) está habilitada para la búsqueda de conocimiento integrada. Cuando vinculas un KnowledgeArticle registro a otro Incident , creas un registro de asociación en la KnowledgeArticleIncident tabla de intersección.

El siguiente código de ejemplo demuestra cómo asociar una instancia de KnowledgeArticle con una instancia de 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);  
  

Incrementar el recuento de vistas de artículos de conocimientos

Utiliza el mensaje IncrementKnowledgeArticleViewCountRequest para aumentar el número de visualizaciones de un registro de un artículo de la base de conocimientos correspondiente a un día determinado en la tabla KnowledgeArticleViews. Si no existe un registro para un artículo de la base de conocimiento para un día especificado, la operación crea un registro y establece el valor especificado del número de visualizaciones en el KnowledgeArticleViews. KnowledgeArticleViewatributo. Si ya existe un registro para un artículo de conocimiento para el día especificado, la operación incrementa el recuento de vistas en el KnowledgeArticleViews. Atributo KnowledgeArticleView del registro existente.

Los artículos de conocimientos de Dynamics 365 Customer Service, incluidas sus versiones y traducciones, se indexan como texto completo y admiten la búsqueda de texto completo de SQL Server. Obtenga más información sobre la búsqueda de texto completo, en SQL Server: Búsqueda de texto completo.

Utiliza el FullTextSearchKnowledgeArticleRequest mensaje para buscar artículos de conocimiento de tus aplicaciones y encontrar la información que buscas. El mensaje FullTextSearchKnowledgeArticleRequest permite usar la coincidencia de raíces flexivas (que permite que el texto de búsqueda se sustituya por una flexión o un tiempo verbal diferente) y especificar criterios de consulta (mediante FetchXML o QueryExpression para especificar filtrado, ordenación, clasificación y paginación) para encontrar artículos de la base de conocimiento que contengan el texto especificado. También puede optar por quitar versiones múltiples de los mismos artículos en los resultados de la búsqueda y filtrar el estado del artículo de conocimientos mientras busca un texto.

Entidades de conocimiento obsoletas

Las siguientes entidades heredadas quedan obsoletas. Obtenga más información en Entidades de conocimiento en desuso.

A fecha de 1 de diciembre de 2020, no puedes acceder a entidades de conocimiento heredadas. Ir a la tabla KnowledgeArticle. Más información en Crear y administrar artículos de conocimientos.    

Para ayuda con la migración, utiliza los siguientes recursos:

  • Use SDK, WebAPI o Microsoft Power Automate en función de sus escenarios.
  • Use la herramienta de migración de código abierto con licencia MIT.

Importante

  • Microsoft no soporta la herramienta de migración código abierto. Puede que necesites adaptarlo a tus situaciones.
  • Ejecute siempre un entorno de prueba antes de usarlo en producción.
  • Verifique la licencia y el archivo Léame antes de usar la herramienta.