Nota: Este artículo se aplica a Genesys Cloud para Salesforce.

Puede utilizar los puntos de extensión para personalizar los registros de interacción guardados en Genesys Cloud para Salesforce. Los puntos de extensión utilizan el lenguaje de programación Salesforce Apex.

Nota: Este artículo de personalización avanzada está destinado a desarrolladores que estén familiarizados con Salesforce.

Prerrequisitos

  • Una versión del paquete administrado que incluye la sección Configuración de punto de extensión. Para más información, ver Configurar puntos de extensión.

En Salesforce, cree un solo archivo Apex con una clase Apex que implemente la purecloud.CTIExtension.SaveLog interfaz. Defina la clase Apex como global para que la integración pueda llamar al código.

interfaz purecloud.CTIExtension.SaveLog

Contiene una firma de método que puede definir para personalizar los registros de guardado en Genesys Cloud para Salesforce.

Uso

Utilice la firma del método en el purecloud.CTIExtension.SaveLog interfaz para definir cómo funciona el guardado de registros.

método onSaveLog

Se utiliza para guardar la información del registro de interacciones.

Este método se llama siempre que la integración detecta un cambio en el registro de interacción en determinadas interacciones o eventos de usuario. El método recibe datos de registro de interacción no guardados para un registro de tarea.

Si el método guarda los datos correctamente, devuelva el ID del registro. Si el método no guarda los datos, devuelve una cadena vacía.

Nota: El método onSaveLog no admite la devolución de un valor nulo.

Propiedades de entrada

Las siguientes propiedades se incluyen en los datos JSON que se pasan al método.

Nombre Tipo de datos Descripción Notas
nombre del evento Cuerda Representa el estado que desencadenó onSaveLog Valores: InteracciónCambiado, InteracciónDisconnected, InteracciónChangedAfterDisconnect, InteracciónACWCompleted, integrationRemoved, openCallLog, appDisconnected.
Interacción Objeto Representa el estado de la interacción. Para obtener más información, consulte el formato del objeto de datos en Información de conversación condensada.
callLog Objeto Datos de registro de interacción con valores modificados para los campos de actividad definidos en Salesforce. Solo proporciona partes del registro de integración que cambiaron.

Parámetros de salida

Nombre Tipo de datos Descripción Notas
{valor de retorno} Cuerda ID del registro de interacción que se guardó o actualizó.  

Para más información, ver Registros de interacción y Ver y editar registros de interacción.

Ejemplo

Importante:
  • Defina la clase Apex como global para que la integración pueda llamar al código.
  • Si implementa más de un punto de extensión (o interfaz), colóquelos todos en el mismo archivo Apex.
global class MyCTIExtensions implements purecloud.CTIExtension.SaveLog {
    public String onSaveLog(String data) {
        // Example: Save interaction log as Task record after interaction is disconnected.
        Map<String, Object> saveLogData = (Map<String, Object>) JSON.deserializeUntyped(data);
        Map<String, Object> interaction = ( Map<String, Object>) saveLogData.get('interaction');
        Map<String, Object> callLog = ( Map<String, Object>) saveLogData.get('callLog');
        Boolean isDisconnected = (Boolean) interaction.get('isDisconnected');
        String callLogId = '';
        if (isDisconnected) {
            Task t = (Task) JSON.deserialize(JSON.serialize(callLog), Task.class);
            upsert t;
            callLogId = t.Id;
        }
        return callLogId; 
    }
}

Para más información, ver Puntos de extensión en Genesys Cloud para Salesforce.

Para obtener más información sobre la integración, consulte Acerca de Genesys Cloud para Salesforce.