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
.
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 atributoRootArticleId
para manter a associação ao registro de artigo de conhecimento raiz.KnowledgeArticle
. O atributoPreviousArticleContentId
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.
Pesquisar artigos de conhecimento usando a pesquisa de texto completo
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.