Compartilhar via


Trabalhar com artigos de conhecimento

A nova experiência de conhecimento do Dynamics 365 Customer Service permitem criar artigos de conhecimento avançados junto com o suporte para o controle de versão e tradução. A nova experiência de conhecimento usa a entidade KnowledgeArticle para armazenar e gerenciar conhecimento nativamente no Dynamics 365 Customer Service.

Nota

As entidades KBArticle, KBArticleTemplate e KBArticleComment agora estão obsoletas. Isso significa que não esperamos que você use mais essas entidades. Você deve usar a entidade mais recente de KnowledgeArticle para gerenciamento de conhecimento no Dynamics 365 Customer Service. Para obter mais informações, consulte a seção Entidades de conhecimento obsoletas no final deste tópico.

Criar um artigo de conhecimento

Quando você cria um registro de artigo de conhecimento, o Dynamics 365 Customer Service cria internamente um artigo raiz do registro. O artigo raiz atua como um contêiner do artigo primário de conhecimento criado por você em conjunto com as versões e traduções de artigos que podem ser criados no futuro. O diagrama a seguir ilustra o módulo de entidade para a entidade KnowledgeArticle.

Módulo de entidade KnowledgeArticle.

Quando você cria um registro de artigo de conhecimento, ele é criado no estado Draft. Usando a nova entidade KnowledgeArticle, você pode criar um artigo especificando seu conteúdo e formatação no formato HTML. Você pode especificar seu próprio valor para o KnowledgeArticle. O atributo ArticlePublicNumber ao criar um registro de artigo de conhecimento de forma programática; caso contrário, o valor será gerado automaticamente com base no formato especificado na área Configurações no Dynamics 365 Customer Service do cliente Web. O KnowledgeArticle. O atributo ArticlePublicNumber armazena o ID exposto aos clientes, parceiros e outros usuários externos para fazer referência e procurar artigos de conhecimento e manter as mesmas versões do artigo de conhecimento e traduções.

O código de amostra a seguir mostra como criar um registro do artigo de conhecimento.

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

Crie uma versão principal e secundária do artigo de conhecimento

Quando você cria um registro de artigo de conhecimento, a versão principal é automaticamente definida como 1 e 0 para a versão secundária. Use a mensagem CreateKnowledgeArticleVersion (CreateKnowledgeArticleVersion Action ou CreateKnowledgeArticleVersionRequest) para criar uma versão principal ou secundária de um artigo de conhecimento. Na mensagem de solicitação, defina IsMajor como true para criar uma versão principal; defina-a como false para criar uma versão secundária. O registro da nova versão criada usa:

  • KnowledgeArticle. O atributo RootArticleId para manter a associação ao registro de artigo de conhecimento raiz.

  • KnowledgeArticle. O atributo PreviousArticleContentId para apontar para a versão anterior do registro.

O código de exemplo a seguir mostra como criar uma versão principal de um registro do artigo de conhecimento usando CreateKnowledgeArticleVersionRequest.

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

Criar uma tradução do artigo de conhecimento

Use CreateKnowledgeArticleTranslation Action (API Web) ou CreateKnowledgeArticleTranslationRequest (serviço da organização) para criar uma tradução de um registro do artigo de conhecimento. Você pode traduzir o artigo de conhecimento em mais de 150 idiomas, e as informações sobre os idiomas suportados está disponível na nova entidade LanguageLocale.

Mais informações: LanguageLocale Entity.

Usar CreateKnowledgeArticleTranslation Action (API Web) ou CreateKnowledgeArticleTranslationRequest (serviço da organização) cria um novo registro do artigo de conhecimento com o título, conteúdo, descrição e palavras-chaves copiados do registro de origem para o novo registro e o idioma do novo conjunto de registro para o outro especificado na solicitação. Também é necessário especificar se o novo registro será de uma versão principal ou secundária. O novo registro usa o atributo KnowledgeArticle. O atributo ParentArticleContentId para manter a associação ao registro de artigo de conhecimento principal.

Após executar esta mensagem e receber uma resposta, recupere o registro do artigo de conhecimento do objeto de resposta e atualize o título, o conteúdo, a descrição e as palavras-chaves para adicionar ao conteúdo traduzido.

O código de exemplo a seguir mostra como criar uma tradução do artigo de conhecimento usando 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 de chave primária (LanguageLocaleId) para cada registro de idioma na entidade LanguageLocale é o mesmo em todas as organizações do Dynamics 365 Customer Service,

Ciclo de vida de artigos de conhecimento: Alterar o estado de um artigo de conhecimento

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

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

  • 1: Aprovado (depois que o artigo de conhecimento é aprovado)

  • 2: Programado (depois que um artigo de conhecimento é agendado para ser publicado)

  • 3. Publicado (depois que um artigo de conhecimento é publicado)

  • 4: Expirado (depois que um artigo de conhecimento expira, conforme a data de validade especificada durante a publicação)

  • 5: Arquivado (depois que o artigo de conhecimento é arquivado)

  • 6: Descartado (depois que o artigo de conhecimento é descartado)

Para alterar o estado do artigo, use a mensagem Update no registro do artigo de conhecimento para atualizar o atributo KnowledgeArticle.StateCode. Para tipos de associação precoce, use a enumeração KnowledgeArticleState para definir os possíveis estados. Mais informações: Executar operações especializadas usando Atualizar.

O código de exemplo a seguir mostra como publicar um registro do artigo de conhecimento.

// 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 registro do artigo de conhecimento a uma instância de entidade do Dynamics 365 Customer Service

Quando você habilita a pesquisa de conhecimento incorporada de uma entidade no Dynamics 365 Customer Service usando o cliente Web, um relacionamento muitos para muitos, msdyn_<Entity_Name>_knowledgearticle, é criado automaticamente. Você pode usar esse relacionamento para associar ou vincular programaticamente uma instância de KnowledgeArticle a uma instância de entidade do Dynamics 365 Customer Service. Ao associar uma instância de KnowledgeArticle a uma instância de entidade, será criado um registro para o relacionamento em uma entidade de interseção chamado: msdyn_<Entity_Name>_knowledgearticle. Por exemplo, ao associar uma instância KnowledgeArticle a uma instância Account pela primeira vez, uma entidade de interseção msdyn_account_knowledgearticle é criada, e é criado um registro com o mapeamento de associação nessa entidade de interseção. Por padrão, a entidade Incident (Caso) é habilitada para a pesquisa de conhecimento incorporada e quando você vincula um KnowledgeArticle record to an Incident registro, um registro de associação é criado na entidade de intersecção KnowledgeArticleIncident.

O código de exemplo a seguir demonstra como associar uma instância KnowledgeArticle a uma instância 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);  
  

Contagem de exibição do artigo de conhecimento do incremento

Use a mensagem IncrementKnowledgeArticleViewCountRequest para incrementar a contagem de visualizações de um registro do artigo de conhecimento de um determinado dia na entidade KnowledgeArticleViews. Se não houver um registro de um artigo de conhecimento para determinado dia, ele criará um registro e definirá o valor de contagem de visualizações especificado no atributo KnowledgeArticleViews. Atributo KnowledgeArticleView. Se já existir um registro de um artigo de conhecimento para determinado dia, ele apenar incrementará a contagem de visualizações no atributo KnowledgeArticleViews. O atributo KnowledgeArticleView do registro existente.

Artigos de conhecimento no Dynamics 365 Customer Service, incluindo as versões e traduções são indexados ao texto completo e suportam 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 conhecimento em seus aplicativos para localizar as informações que você está procurando. A mensagem FullTextSearchKnowledgeArticleRequest permite a você usar a correspondência de radical flexivo (possibilita a substituição de um tempo diferente ou uma inflexão pelo texto da pesquisa) e especifique os critérios de consulta (usando FetchXML ou QueryExpression para especificar filtragem, ordenação, classificação e paginação) para encontrar artigos de conhecimento com texto especificado. Você também pode optar por remover várias versões dos mesmos artigos nos resultados de pesquisa e o filtro no estado do artigo de conhecimento ao procurar um texto.

Entidades de conhecimento descontinuadas

As seguintes entidades herdadas foram preteridas. Mais Informações: Entidades de conhecimento preteridas

As entidades de conhecimento herdadas não estão acessíveis desde 1º de dezembro de 2020. Recomendamos que você vá para a entidade KnowledgeArticle. Para obter mais informações sobre como criar um artigo de conhecimento na Interface Unificada, consulte Criar e gerenciar artigos de conhecimento.  

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

  • Use SDK, WebAPI ou Microsoft Power Automate, dependendo de seus cenários.
  • Use 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 talvez precise ser modificada para se adequar aos seus cenários.
  • Sempre execute um ambiente de teste antes de usar na produção.
  • Verifique a licença e o leia-me antes de usar a ferramenta.

Consulte também