Você está aqui:
Exemplo do Apex para envio de artigos a partir de casos
Se a sua organização permitir que os representantes de suporte ao cliente criem artigos do Salesforce Knowledge enquanto fecham um caso, você poderá usar o Apex para preencher previamente os campos em artigos de rascunho. Para isso, crie uma classe do Apex e atribua-a ao tipo de artigo de caso usando o exemplo a seguir como referência.
Edições obrigatórias
| Disponível no Salesforce Classic e no Lightning Experience. Exibir edições com suporte. |
| Permissões necessárias ao usuário | |
|---|---|
| Para editar as configurações do Salesforce Knowledge: | Personalizar aplicativo |
| Parar criar uma classe do Apex: | Criar Apex |
Para obter mais informações sobre a sintaxe e o uso do Apex, consulte o Guia do desenvolvedor do Apex code da Plataforma do Lightning.
Configure o exemplo ao criar o tipo de artigo, campo e categorias de dados a seguir. Não altere o Nome da API padrão atribuído a cada novo objeto.
- Crie um tipo de artigo chamado Perguntas frequentes.
- Crie um campo de texto personalizado chamado Detalhes.
- Crie um grupo de categorias chamado Geografia e atribua-o a uma categoria chamada EUA.
-
Crie um grupo de categorias chamado Tópicos e atribua-o a uma categoria chamada Manutenção.
Agora, crie e atribua a classe do Apex.
- Em Configuração, insira Classes do Apex na caixa Busca rápida, selecione Classes do Apex e clique em Novo.
-
Para especificar a versão do Apex e a API usada com esta classe, clique em Configurações da versão.
Se a sua organização tiver instalado pacotes gerenciados do AppExchange, você também poderá especificar qual versão de cada pacote gerenciado deverá ser utilizada com essa classe. Use os valores padrão para todas as versões. Isso associa a classe com a versão mais recente do Apex e da API, bem como de cada pacote gerenciado. Você pode especificar uma versão mais antiga de um pacote gerenciado caso queira acessar os componentes ou funcionalidades diferentes da versão do pacote mais recente. Você pode especificar uma versão mais antiga do Apex e da API para manter um comportamento específico.
-
Na caixa de texto Classe do Apex, insira o script a seguir e clique em Salvar:
public class AgentContributionArticleController { // The constructor must take a ApexPages.KnowledgeArticleVersionStandardController as an argument public AgentContributionArticleController(ApexPages.KnowledgeArticleVersionStandardController ctl) { SObject article = ctl.getRecord(); //this is the SObject for the new article. //It can optionally be cast to the proper article type, e.g. FAQ__kav article = (FAQ__kav) ctl.getRecord(); String sourceId = ctl.getSourceId(); //this returns the id of the case that was closed. Case c = [select subject, description from Case where id=:sourceId]; article.put('title', 'From Case: '+c.subject); //this overrides the default behavior of pre-filling the title of the article with the subject of the closed case. article.put('Details__c',c.description); ctl.selectDataCategory('Geography','USA'); //Only one category per category group can be specified. ctl.selectDataCategory('Topics','Maintenance'); } - Em Configuração, insira Configurações do Knowledge na caixa Busca rápida, selecione Configurações do Knowledge e clique em Editar.
- Verifique as configurações do caso; usando nosso exemplo, o Tipo de artigo padrão deve ser Perguntas frequentes.
- No menu Usar personalização do Apex, selecione AgentContributionArticleController e clique em Salvar.
Como resultado desse exemplo, quando os representantes de suporte criam um artigo na tela de fechamento de caso:
- Os dados do campo Descrição no caso são exibidos no campo Detalhes do artigo.
- O título do artigo contém Do caso: e o assunto do caso.
- O artigo é atribuído automaticamente à categoria de dados EUA e à categoria de dados Manutenção.
Este artigo resolveu seu problema?
Diga-nos para podermos melhorar!
