Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: Dynamics 365 Customer Service e Dynamics 365 Contact Center—somente na versão autónoma
Use a KnowledgeArticle tabela para integrar capacidades de gestão de conhecimento nas suas soluções Dynamics 365 Customer Service. Este artigo descreve como criar artigos, gerir versões e traduções, publicar conteúdos e integrar artigos de conhecimento com outras entidades de apoio ao cliente.
Pré-requisitos
Certifica-te de que tens os papéis e privilégios necessários.
Criar um artigo de conhecimento
Quando cria um registo de artigo da base de dados de conhecimentos, o Dynamics 365 Customer Service cria internamente um artigo de raiz para o registo. O artigo raiz funciona como um recipiente para o artigo de informação principal que cria, juntamente com todas as versões e traduções do artigo que possa criar no futuro. O diagrama seguinte representa o modelo da tabela para a KnowledgeArticle tabela.
Quando cria um registo de artigo da base de conhecimento, cria-o no estado Draft. Ao usar a nova KnowledgeArticle tabela, pode criar um artigo especificando o seu conteúdo e formatação em formato HTML. Pode especificar o seu próprio valor para KnowledgeArticle.
ArticlePublicNumber atributo ao criar programaticamente um registo de artigo da base de conhecimento. Caso contrário, o valor é gerado automaticamente com base no formato que especificou na área de definições do Dynamics 365 Customer Service no cliente web. O KnowledgeArticle.
ArticlePublicNumber O atributo armazena o ID disponibilizado a clientes, parceiros e outros utilizadores externos para referenciar e procurar artigos da base de conhecimento. Permanece o mesmo nas versões dos artigos da base de conhecimento e nas traduções.
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 conhecimento, a versão principal é automaticamente definida para 1 e a 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 de conhecimentos. Na mensagem de pedido, defina IsMajor para true criar uma versão maior, ou defina para false criar uma versão menor. O novo registo de versão utiliza os seguintes atributos:
KnowledgeArticle. AtributoRootArticleIdpara manter a associação com o registo de artigos de conhecimentos raiz.KnowledgeArticle. AtributoPreviousArticleContentIdpara apontar para a versão anterior do registo.
O seguinte código de exemplo mostra como criar uma versão principal de um registo de 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 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 de conhecimentos. Pode traduzir o seu artigo de conhecimento para mais de 150 línguas. Informações sobre estas linguagens suportadas estão disponíveis na nova LanguageLocale tabela.
Saiba mais na tabela LanguageLocale.
Ao usar CreateKnowledgeArticleTranslation Action (Web API) ou CreateKnowledgeArticleTranslationRequest (serviço de organização), cria um novo registo de artigo de conhecimento com o título, conteúdo, descrição e palavras-chave copiados do registo fonte para o novo registo. Define a linguagem do novo registo para aquela que especifica no pedido. Também precisa de especificar se o novo disco é uma versão maior ou menor. O novo registo utiliza o atributo KnowledgeArticle. Atributo ParentArticleContentId para manter a associação com o registo de artigos de conhecimentos 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 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));
Observação
O valor GUID da chave primária (LanguageLocaleId) para cada registo linguístico na entidade LanguageLocale é o mesmo em todas as organizações 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 (depois de criar um artigo de conhecimento)
1: Aprovado (depois de aprovar um artigo de conhecimento)
2: Agendado (depois de agendar a publicação de um artigo de conhecimento)
3: Publicado (depois de publicar um artigo de conhecimento)
4: Expirado (após expiração de um artigo de conhecimento, conforme a data de expiração especificada durante a publicação)
5: Arquivado (depois de arquivar um artigo de conhecimento)
6: Eliminado (depois de eliminar um artigo da base de conhecimento)
Para alterar o estado do artigo, utilize a mensagem Update no registo de artigos de conhecimentos para atualizar o atributo KnowledgeArticle.StateCode. Para os tipos dependentes iniciais, utilize a enumeração KnowledgeArticleState para definir os estados possíveis. Saiba mais em Realizar operações especializadas usando Update.
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);
Observação
statecode valores como Rascunho (0) indicam a fase do ciclo de vida do artigo, e não a confidencialidade ou a visibilidade. Os utilizadores com os privilégios de Leitura e Escrita apropriados podem aceder a artigos preliminares.
Associar um registo de artigos da base de dados de conhecimentos com uma instância de entidade do Dynamics 365 Customer Service
Quando ativa a pesquisa de conhecimento embutida para uma tabela em Dynamics 365 Customer Service usando o cliente web, o sistema cria automaticamente uma relação muitos-para-muitos chamada msdyn_<Entity_Name>_knowledgearticle. Use esta relação para associar ou ligar programaticamente uma KnowledgeArticle instância a uma instância de tabela do Dynamics 365 Customer Service. Quando associas uma KnowledgeArticle instância a uma instância de tabela, crias um registo para a relação numa tabela de interseto chamada msdyn_<Entity_Name>_knowledgearticle. Por exemplo, quando associa uma KnowledgeArticle instância a uma Account instância pela primeira vez, cria uma tabela de interseto chamada msdyn_account_knowledgearticle, e cria um registo com o mapeamento de associação nessa tabela de interseto. Por predefinição, a tabela Incident (Case) está ativada para a pesquisa incorporada na base de conhecimento. Quando associa um registo KnowledgeArticle a um registo Incident, cria um registo de associação na tabela 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 vistas do artigo de conhecimentos
Utilize a mensagem IncrementKnowledgeArticleViewCountRequest para aumentar o número de visualizações de um registo de artigo da base de conhecimento num determinado dia na tabela KnowledgeArticleViews. Se um registo não existir para um artigo de conhecimento para um dia especificado, a operação cria um registo e define o valor especificado da contagem de visualizações no KnowledgeArticleViews.Atributo KnowledgeArticleView. Se já existir um registo para um artigo de conhecimento para o dia especificado, a operação incrementa a contagem de visualizações no KnowledgeArticleViews. Atributo KnowledgeArticleView do registo existente.
Pesquisar artigos de conhecimentos utilizando a pesquisa de texto completo
Os artigos de conhecimento no Dynamics 365 Customer Service, incluindo as suas versões e traduções, são indexados em texto integral e suportam pesquisa em texto completo no SQL Server. Saiba mais sobre a pesquisa de texto completo em SQL Server: Pesquisa de texto completo.
Use a FullTextSearchKnowledgeArticleRequest mensagem para pesquisar artigos de conhecimento das suas candidaturas e encontrar a informação que procura. A mensagem FullTextSearchKnowledgeArticleRequest permite-lhe utilizar correspondência por radicais flexionais (o que permite substituir o texto de pesquisa por uma flexão ou um tempo verbal diferentes) e especificar critérios de consulta (utilizando FetchXML ou QueryExpression para especificar filtragem, definição da ordem, ordenação e paginação) para encontrar artigos da base de conhecimento com o 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 estão obsoletas. Saiba mais em Entidades de conhecimento preteridas.
A partir de 1 de dezembro de 2020, não é possível aceder a entidades de conhecimento legadas. Avance para a tabela KnowledgeArticle. Saiba mais em Criar e gerenciar artigos de conhecimento.
Para ajuda com a migração, utilize os seguintes recursos:
- Usa SDK, WebAPI ou Microsoft Power Automate dependendo dos teus cenários.
- Usa a ferramenta de migração open source com a licença MIT.
Important
- A Microsoft não suporta a ferramenta de migração open source. Pode ser necessário adaptá-lo para se adequar às suas situações.
- 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.