Partilhar via


Trabalhar com artigos de conhecimentos

A nova experiência de conhecimento no Dynamics 365 Customer Service permite-lhe criar artigos de conhecimento ricos juntamente com a versão e suporte de tradução. A nova experiência de conhecimento utiliza a entidade KnowledgeArticle para armazenar e gerir o conhecimento de forma nativa no Dynamics 365 Customer Service.

Nota

As entidades KBArticle, KBArticleTemplate e KBArticleComment estão agora preteridas. Isto significa que não esperamos que use mais estas entidades. Tem de utilizar a nova entidade KnowledgeArticle para a gestão de conhecimento no Dynamics 365 Customer Service. Para mais informações, consulte a secção Entidades de conhecimento Preteridas no final deste tópico.

Criar um artigo da base de dados de conhecimento

Quando cria um registo de artigo de conhecimentos, o Dynamics 365 Customer Service cria internamente um artigo de raiz para o registo. O artigo de raiz funciona como um recipiente para o artigo de conhecimentos primário criado por si juntamente com todas as versões e traduções de artigos que poderá criar no futuro. O diagrama seguinte retrata o modelo de entidade para a entidade KnowledgeArticle.

Modelo da entidade KnowledgeArticle.

Quando se cria um registo de artigos de conhecimento, é criado no estado Draft. Utilizando a nova entidade KnowledgeArticle, pode criar um artigo especificando o seu conteúdo e formando em formato HTML. Pode especificar o seu próprio valor para KnowledgeArticle. Atributo ArticlePublicNumber ao mesmo tempo que cria programaticamente um registo de artigo de conhecimentos; caso contrário, o valor é gerado automaticamente com base no formato especificado na área de definições do Dynamics 365 Customer Service no cliente Web. O KnowledgeArticle. O atributo ArticlePublicNumber armazena o ID exposto a clientes, parceiros e outros utilizadores externos para referenciar e procurar artigos de conhecimentos, e permanece o mesmo em versões e traduções de artigos de conhecimentos.

O seguinte código de exemplo mostra como pode criar um registo de artigo de conhecimentos.

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

Criar versões principal e secundária de um artigo de conhecimentos

Quando cria um registo de artigo de conhecimentos, a versão principal é automaticamente definida para 1 e versão secundária para 0. Utilize a mensagem CreateKnowledgeArticleVersion (Ação CreateKnowledgeArticleVersion ou CreateKnowledgeArticleVersionRequest) para criar uma versão principal ou secundária de um artigo do conhecimento. Na mensagem de pedido, defina IsMajor para true criar uma versão principal; defina-a para false para criar uma versão secundária. O novo registo de versão que é criado utiliza:

  • KnowledgeArticle. Atributo RootArticleId para manter a associação com o registo do artigo do conhecimento de raiz.

  • KnowledgeArticle. Atributo PreviousArticleContentId para apontar para a versão anterior do registo.

O seguinte código de exemplo mostra como pode criar uma versão principa de um registo de artigo de conhecimentos com o CreateKnowledgeArticleVersionRequest.

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

Criar uma tradução de um artigo de conhecimentos

Utilize Ação CreateKnowledgeArticleTranslation (Web API) ou CreateKnowledgeArticleTranslationRequest (serviço da organização) para criar uma tradução para um registo de artigo do conhecimento. Pode traduzir o seu artigo de conhecimentos em mais de 150 idiomas, e a informação sobre estas línguas apoiadas está disponível na nova entidade LanguageLocale.

Mais informações: Entidade LanguageLocale.

Utilizar Ação CreateKnowledgeArticleTranslation (Web API) ou CreateKnowledgeArticleTranslationRequest (serviço da organização) cria um novo registo de artigo de conhecimento com o título, conteúdo, descrição e palavras-chave copiadas do registo de origem para o novo registo, e a linguagem do novo registo definido para o que especificou no pedido. Também precisa de especificar se o novo registo será uma versão principal ou secundária. O novo registo utiliza o atributo KnowledgeArticle. Atributo ParentArticleContentId para manter a associação com o registo do artigo do conhecimento principal.

Depois de executar esta mensagem e obter uma resposta, obtenha o registo do artigo de conhecimentos do objeto de resposta e, em seguida, atualize o título, conteúdo, descrição e palavras-chave para adicionar o conteúdo traduzido.

O seguinte código de exemplo mostra como criar uma tradução de registo de artigo de conhecimentos com o 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

O valor GUID da chave primária (LanguageLocaleId) para cada registo de linguagem na entidade LanguageLocale é o mesmo em todas as organizações do Dynamics 365 Customer Service.

Ciclo de vida do artigo de conhecimentos: Alterar o estado de um artigo de conhecimentos

Durante o seu ciclo de vida, um artigo de conhecimentos pode estar nos seguintes estados:

  • 0: Rascunho (após a criação de um artigo de conhecimentos)

  • 1: Aprovado (após a aprovação de um artigo de conhecimentos)

  • 2: Agendado (após a publicação de um artigo de conhecimentos)

  • 3: Publicado (após a publicação de um artigo de conhecimentos)

  • 4: Expirado (após a expiração de um artigo de conhecimentos de acordo com a data de expiração especificada durante a publicação)

  • 5: Arquivado (após o arquivamento de um artigo de conhecimentos)

  • 6: Eliminado (após a eliminação de um artigo de conhecimentos)

Para alterar o estado do artigo, utilize a mensagem Update no registo do artigo de conhecimentos para atualizar o atributo KnowledgeArticle.StateCode. Para os tipos dependentes iniciais, utilize a enumeração KnowledgeArticleState para definir os estados possíveis. Mais informações: Realizar operações especializadas com Atualização.

O seguinte código de exemplo mostra como publicar um registo de artigo de conhecimentos.

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

Associar um registo de artigo de conhecimentos com uma instância de entidade do Dynamics 365 Customer Service

Quando ativa a pesquisa de conhecimentos incorporada para uma entidade no Dynamics 365 Customer Service usando o cliente Web, uma relação de muitos-para-muitos, msdyn_<Nome_Entidade>_knowledgearticle, é automaticamente criada. Pode utilizar esta relação para associar programaticamente ou ligar uma instância KnowledgeArticle a uma instância do Dynamics 365 Customer Service. Quando associa uma instância do KnowledgeArticle a uma instância de entidade, um registo para a relação é criado numa entidade interseção chamada msdyn_<Nome_Entidade>_knowledgearticle. Por exemplo, quando associa uma instância do KnowledgeArticle a uma instância do Account pela primeira vez, é criada uma entidade intersecção chamada msdyn_account_knowledgearticle e um registo com o mapeamento da associação é criado nesta entidade interseção. Por predefinição, a entidade Incident (Incidente) está ativada para a pesquisa de conhecimentos incorporada, e quando liga um registo KnowledgeArticle a um registo Incident, é criado um registo de associação na entidade de interseção KnowledgeArticleIncident.

O seguinte código de exemplo demonstra como associar uma instância de KnowledgeArticle a uma instância 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 contagem de visualização de artigo de conhecimentos

Utilize a mensagem IncrementKnowledgeArticleViewCountRequest para incrementar a contagem de visualizações de um registo de artigo de conhecimentos para um determinado dia na entidade KnowledgeArticleViews. Se não existir um registo para um artigo de conhecimentos durante um dia determinado, criará um registo e, em seguida, definirá o valor de contagem de visualização especificado no atributo KnowledgeArticleViews. Atributo KnowledgeArticleView. Se já existir um registo para um artigo de conhecimentos para o dia especificado, apenas irá incrementar a contagem de visualização no atributo KnowledgeArticleViews. Atributo KnowledgeArticleView do registo existente.

Os artigos de conhecimentos no Dynamics 365 Customer Service, incluindo as suas versões e traduções, são indexadss em texto completo e suportam a pesquisa de texto completo do SQL Server. Para obter mais informações sobre a pesquisa de texto completo, consulte SQL Server: Pesquisa de texto completo.

Use a mensagem FullTextSearchKnowledgeArticleRequest para pesquisar o artigo de conhecimentos das suas aplicações para encontrar a informação que procura. A FullTextSearchKnowledgeArticleRequest mensagem permite que você use a correspondência de tronco flexional (permite que um tempo ou inflexão diferente seja substituído pelo texto de pesquisa) e especifique critérios de consulta (usando FetchXML ou QueryExpression para especificar filtragem, ordenação, classificação e paginação) para localizar artigos de conhecimento com texto especificado. Também pode optar por remover várias versões dos mesmos artigos nos resultados da pesquisa e filtrar o estado do artigo de conhecimentos enquanto procura um texto.

Entidades de conhecimentos preteridas

As seguintes entidades legadas foram preteridas. Mais informações: Entidades de conhecimentos preteridas

As entidades de conhecimentos antigas não estão acessíveis a partir de 1 de dezembro de 2020. Recomendamos vivamente que mova para entidade KnowledgeArticle. Para obter mais informações sobre a criação de um artigo de conhecimentos na Interface Unificada, consulte Criar e gerir artigos de conhecimentos.  

Utilize o seguinte para obter ajuda com a migração:

  • Utilize SDK, WebAPI ou Microsoft Power Automate, dependendo dos seus cenários.
  • Utilize a ferramenta de migração de código aberto com licença MIT.

Importante

  • A ferramenta de migração de código aberto não é suportada pela Microsoft e pode ter de ser modificada de acordo com os seus cenários.
  • Faça sempre um ambiente de teste antes de o utilizar na produção.
  • Verifique a licença e leia-me antes de utilizar a ferramenta.

Consulte também