Compartir a través de


Trabajar con artículos de conocimientos

Nota

La información sobre la disponibilidad de funciones es la siguiente.

Dynamics 365 Contact Center - insertado Dynamics 365 Contact Center—independiente Dynamics 365 Customer Service
No

La nueva experiencia de conocimiento le permiten crear artículos de conocimientos enriquecidos junto con compatibilidad para versiones y traducciones. La nueva experiencia de conocimiento utiliza la entidad KnowledgeArticle para almacenar y administrar conocimiento de forma nativa en Dynamics 365 Customer Service.

Nota

Las entidades KBArticle, KBArticleTemplate y KBArticleComment ahora están en desuso. Esto significa que ya no esperamos que use estas entidades. Debe usar la entidad más reciente de KnowledgeArticle para la administración del conocimiento en Dynamics 365 Customer Service. Para obtener más información, consulte la sección Entidades de conocimientos en desuso al final de este tema.

Crear un artículo de conocimientos

Cuando crea un registro de artículo de conocimientos, Dynamics 365 Customer Service crea internamente un artículo de raíz para el registro. El artículo de raíz actúa como contenedor para el artículo principal de conocimientos creado por usted junto con todas las versiones y traducciones del artículo que puede realizar en el futuro. En el siguiente diagrama se ilustra el modelo de entidad para la entidad KnowledgeArticle.

Modelo de entidad de KnowledgeArticle.

Cuando se crea un registro de artículo de conocimientos, se crea en el estado Draft. Usando la nueva entidad KnowledgeArticle, puede crear un artículo especificando su contenido y formateando en formato HTML. Puede especificar sus propios valores de KnowledgeArticle. Puede especificar su propio atributo ArticlePublicNumber mientras crea un registro de artículo de información mediante programación; de lo contrario, el valor se genera automáticamente en función del formato que ha especificado en el área de configuración de Dynamics 365 Customer Service en el cliente web. El KnowledgeArticle. El atributo ArticlePublicNumber almacena el Id. expuesto a clientes, asociados, y otros usuarios externos para hacer referencia y para buscar los artículos de conocimiento, y permanece igual a través de versiones y de traducciones del artículo de conocimientos.

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 se crea un registro de artículos de conocimientos, la versión principal se configura automáticamente a 1 y la versión de menor importancia a 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 solicitud, establezca IsMajor como true para crear una versión principal; establézcalo como false para crear una versión secundaria. El registro de la nueva versión que se crea utiliza el:

  • 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 puede crear una versión principal de un registro de artículo de conocimientos utilizando 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. Puede traducir el artículo de conocimientos a más de 150 idiomas, y la información sobre estos idiomas compatibles está disponible en la nueva entidad LanguageLocale.

Más información: Entidad LanguageLocale.

El uso de Acción CreateKnowledgeArticleTranslation (API web) o CreateKnowledgeArticleTranslationRequest (servicio de la organización) crea un nuevo registro de artículo de conocimientos con el título, el contenido, descripción y las palabras clave copiadas del registro de origen en el nuevo registro, y el idioma del nuevo registro establecido con el que especificó en la solicitud. También debe especificar si el registro nuevo será una versión principal o secundaria. 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 conocimientos 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 de GUID de la clave principal (LanguageLocaleId) para cada registro de idioma en la entidad LanguageLocale es igual 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 que se crea un artículo de conocimientos)

  • 1: Aprobado (después de que se aprueba un artículo de conocimientos)

  • 2: Programado (cuando un artículo de conocimientos se programa para publicar)

  • 3: Publicado (después de que se publica un artículo de conocimientos)

  • 4: Caducado (cuando un artículo de conocimientos expira según la fecha de vencimiento especificada mientras se publica)

  • 5: Archivado (después de que se archiva un artículo de conocimientos)

  • 6: Descartado (después de que se descarta un artículo de conocimientos)

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: Realizar operaciones especializadas con Actualizar.

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

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

Cuando habilita la búsqueda de conocimientos incrustada para una entidad de Dynamics 365 Customer Service utilizando el cliente web, una relación many-to-many msdyn_<Entity_Name>_knowledgearticle, se crea automáticamente. Puede usar esta relación para asociar o vincular mediante programación una instancia de KnowledgeArticle con una instancia de entidad de Dynamics 365 Customer Service. Cuando asocia una instancia de KnowledgeArticle con una instancia de entidad, se crea un registro para la relación en una entidad de intersección denominada msdyn_<Entity_Name>_knowledgearticle. Por ejemplo, cuando asocia una instancia de KnowledgeArticle con una instancia de Account por primera vez, se creará una entidad de intersección denominada msdyn_account_knowledgearticle, y se creará un registro con la asignación de asociación en esta entidad de intersección. De forma predeterminada, la entidad Incident (Caso) está habilitada para la búsqueda de conocimiento incrustada, y cuando vincula un registro de KnowledgeArticle con un registro de Incident, se crea un registro de asociación en la entidad de intersección de KnowledgeArticleIncident.

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

Use el mensaje IncrementKnowledgeArticleViewCountRequest para aumentar el recuento de vistas de un registro de artículo de conocimientos para un determinado día en la entidad KnowledgeArticleViews. Si un registro no existe por un artículo de conocimiento para un día específico, creará un registro y después establecerá el valor de recuento de vistas especificado en KnowledgeArticleViews. Atributo KnowledgeArticleView. Si ya existe un registro para un artículo de conocimientos para el día específico, solo incrementará el recuento de vistas en KnowledgeArticleViews. Atributo KnowledgeArticleView del registro existente.

Los artículos de conocimientos en Dynamics 365 Customer Service, incluidas las versiones y traducciones, se indexan con texto completo y admiten búsquedas de texto completo de SQL Server. Para obtener más información acerca de búsquedas de texto completo, consulte SQL Server: búsqueda de texto completo.

Use el mensaje FullTextSearchKnowledgeArticleRequest para buscar artículos de conocimientos desde las aplicaciones para encontrar la información que busca. El mensaje FullTextSearchKnowledgeArticleRequest permite usar la coincidencia de recursos de inflexión (permite sustituir un tiempo verbal o una inflexión diferentes para el texto de búsqueda) y especificar criterios de búsqueda (mediante el FetchXML o QueryExpression para especificar filtrado, organizar, ordenar y paginación) y para encontrar artículos de conocimientos con 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

A continuación se describen las entidades heredadas que están en desuso. Más información: Entidades de conocimiento en desuso

Las entidades de conocimiento heredadas no son accesibles a partir del 1 de diciembre de 2020. Se recomienda encarecidamente pasarse a la entidad KnowledgeArticle. Para obtener más información sobre cómo crear un artículo de conocimiento en Interfaz unificada, vea Crear y administrar artículos de conocimiento.  

Use lo siguiente para obtener ayuda con la migración:

  • Utilice SDK, WebAPI o Microsoft Power Automate dependiendo de sus escenarios.
  • Utilice la herramienta de migración de código abierto con Licencia MIT.

Importante

  • La herramienta de migración de código abierto no es compatible con Microsoft y es posible que deba modificarse para adaptarse a sus escenarios.
  • 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.

Consultar también