Loading
Servicio
Ejemplo de Apex para enviar artículos desde casos

Ejemplo de Apex para enviar artículos desde casos

Si su organización permite a los representantes del servicio de atención al cliente crear artículos de Salesforce Knowledge mientras cierra un caso, puede utilizar Apex para rellenar previamente campos en artículos borrador. Para ello, cree una clase de Apex y asígnela al tipo de artículo de caso utilizando el ejemplo siguiente como guía.

Ediciones necesarias

Disponible en Salesforce Classic y Lightning Experience. Vea las ediciones admitidas.
Permisos de usuario necesarios
Para modificar la configuración de Salesforce Knowledge: Personalizar aplicación
Para crear una clase de Apex: Apex de autor

Para obtener más información sobre la sintaxis y el uso de Apex, consulte la Guía del desarrollador del código Apex de Lightning Platform.

Configure el ejemplo creando el siguiente tipo, campo y categorías de datos del artículo. No modifique el valor de API Name predeterminado asignado a cada nuevo objeto.

  1. Cree un tipo de artículo denominado FAQ.
  2. Cree un campo personalizado de texto denominado Detalles.
  3. Cree un grupo de categoría denominado Geografía y asígnelo a una categoría denominada EE.UU..
  4. Cree un grupo de categorías denominado Temas y asígnelo a una categoría denominada Mantenimiento.
    Ahora, cree y asigne la clase de Apex.
  5. En Configuración, ingrese Clases de Apex en el cuadro Búsqueda rápida y, a continuación, seleccione Clases de Apex y haga clic en Nueva.
  6. Para especificar la versión de Apex y la API empleada con esta clase, haga clic en Configuración de versión.
    Si su organización tiene paquetes gestionados instalados de AppExchange, también puede especificar qué versión de cada paquete gestionado debe utilizarse con esta clase. Utilice los valores predeterminados para todas las versiones. Esto asocia la clase con la versión más reciente de Apex y la API, así como cada paquete gestionado. Puede especificar una versión anterior de un paquete gestionado si desea acceder a componentes o funciones diferentes a los de la versión más reciente del paquete. Puede especificar una versión anterior de Apex y la API para mantener un comportamiento específico.
  7. En el cuadro de texto Apex Class ingrese la siguiente secuencia de comandos y haga clic en Guardar:
    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');                        
        }
    
  8. Desde Configuración, ingrese Configuración de Knowledge en el cuadro Búsqueda rápida y, a continuación, seleccione Configuración de Knowledge y haga clic en Modificar.
  9. Compruebe la configuración de casos; utilizando nuestro ejemplo; el tipo de artículo predeterminado debe ser FAQ.
  10. En el menú Utilizar personalización de APEX, seleccione AgentContributionArticleController y haga clic en Guardar.

Como resultado de este ejemplo, cuando los representantes del servicio de atención al cliente crean un artículo desde la pantalla de cierre de casos:

  • Los datos del campo Description del caso aparecen en el campo Details del artículo.
  • El título del artículo contiene Desde caso: y el asunto del caso.
  • El artículo se asigna automáticamente a las categorías de datos USA y Maintenance.
 
Cargando
Salesforce Help | Article