Utilice los puntos de extensión para personalizar los registros de interacción guardados
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.
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.
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
- 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.