Utilice los puntos de extensión para personalizar el clic para marcar

Nota: Este artículo se aplica a Genesys Cloud para Salesforce. Este artículo de personalización avanzada está dirigido a desarrolladores familiarizados con Salesforce.

Puede utilizar los puntos de extensión para personalizar el comportamiento de hacer clic para marcar 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.ClickToDial interfaz. Defina la clase Apex como global para que la integración pueda llamar al código.

interfaz purecloud.CTIExtension.ClickToDial

Contiene una firma de método que puede definir para personalizar la funcionalidad de clic para marcar en Genesys Cloud para Salesforce.

Uso

Para definir cómo funciona la funcionalidad de clic para marcar, utilice la firma del método en la interfaz purecloud.CTIExtension.ClickToDial.

método onClickToDial

Inicia una llamada telefónica o un mensaje SMS. 

Cuando Salesforce alerta al cliente sobre un evento de clic para marcar, el cliente realiza el evento de clic para marcar según los parámetros de su código Apex. El método puede devolver datos que cambian el comportamiento de clic para marcar predeterminado.

Si el código Apex desencadena una excepción, la integración realiza el comportamiento predeterminado de clic para marcar. Si no se devuelve ningún valor, la integración suprime el comportamiento de hacer clic para marcar.

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
número Cuerda Número de teléfono al que llama la integración.
objeto Cuerda Tipo de objeto, como un contacto o una cuenta en Salesforce.
objectId Cuerda ID de un objeto relevante, como un contacto o una cuenta, para asociarlo automáticamente con una actividad. objectId es solo para un solo registro. 
nombre del objeto Cuerda Nombre del registro en Salesforce.

Propiedades de salida

Las siguientes propiedades son compatibles con los datos JSON devueltos por el método.

Nombre Tipo de datos Descripción Notas
número Cuerda Ver Propiedades de entrada mesa.
objeto Cuerda Ver Propiedades de entrada mesa.
objectId Cuerda Ver Propiedades de entrada mesa.
nombre del objeto Cuerda Ver Propiedades de entrada mesa.
atributos Objeto Pares de atributos clave-valor para agregar a la interacción.
queueId Cuerda ID de la cola para realizar una llamada en nombre de.
autoPlace Booleano La integración realiza una llamada automáticamente (verdadero), o la integración completa el cuadro Nombre o Número con el número de teléfono (falso).
escribe Cuerda Tipo de interacción.

Valores válidos: llamar, sms. 

Si no escribe se proporciona, el valor predeterminado es llamar. 

callerIdName Cuerda Nombre que se muestra a los destinatarios de sus llamadas telefónicas.
identificador de llamadas Cuerda Número de teléfono que se muestra a los destinatarios de sus llamadas telefónicas.
asociaciones Formación Lista de registros de Salesforce para agregar al cuadro Nombre o Relacionado con en el cliente.
utilizationLabelId Cuerda Categoriza la conversación. Los ajustes de utilización máxima pueden configurarse a nivel de etiqueta. El agente debe estar en cola o el campo queueId debe estar rellenado para que se muestre la etiqueta.

Para más información, ver Clic para marcar, Configurar clic para marcar, y Crear clic para marcar en páginas personalizadas de Visualforce

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.ClickToDial {
public String onClickToDial(String data) {
// Example: Specify On Behalf of Queue, Caller ID, Utilization Label, and Name for click-to-dial.
Map<String, Object> clickToDialData = (Map<String, Object>) JSON.deserializeUntyped(data);
clickToDialData.put('queueId', '04a183b6-de9e-4c01-9e88-eabxxxxxad0d');
clickToDialData.put('callerIdName', 'John Smith');
clickToDialData.put('callerId', '+13175550123');
clickToDialData.put('utilizationLabelId', '62f1e0d5-cb8e-4cf7-9049-53dfb00d1983');
return JSON.serialize(clickToDialData);
    }
}

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.