Crear clic para marcar en páginas personalizadas de Visualforce
La integración permite la funcionalidad de hacer clic para marcar en las páginas predeterminadas de Salesforce, como las páginas de contactos o cuentas. Cuando un agente hace clic en un número de teléfono en las páginas predeterminadas de Salesforce, el cliente marca automáticamente el número de teléfono o completa automáticamente el cuadro Nombre o Número. (El comportamiento de hacer clic para marcar depende de la selección del agente en Configuración de cola. Para más información, ver Configurar clic para marcar.) El cliente completa los cuadros Nombre y Relacionado con con los objetos relevantes de estas páginas de Salesforce.
También puede proporcionar la funcionalidad de clic para marcar en páginas personalizadas de Visualforce agregando el componente de clic para marcar a estas páginas.
El siguiente es un ejemplo que usa el componente de clic para marcar en una página de Visualforce y extrae datos de Salesforce usando un controlador Apex. Para más información, ver soporte: clickToDial y Introducción a Apex JSON en la documentación de Salesforce.
Componente de clic para marcar
El componente de clic para marcar agrega la funcionalidad de clic para marcar a una página personalizada de Visualforce y le permite asignar valores para la entityId y params atributos. Estos dos atributos extraen datos del controlador Apex para completar los cuadros Nombre y Relacionado con en el cliente. los entityId y params Los atributos también asocian automáticamente los cuadros Nombre y Relacionado con con una actividad en una página de Salesforce.
Atributo | Requerido / opcional | Descripción | Notas |
---|---|---|---|
número | Requerido | Número a marcar. | |
entityId | Opcional | ID de un objeto relevante, como un contacto o una cuenta, para asociarlo automáticamente con una actividad. | los entityId El atributo es solo para un único registro. Para agregar registros adicionales a Nombre y Relacionado con en los registros de interacción, use el asociaciones propiedad en el objeto params. |
params | Opcional | Cadena JSON para datos adicionales para hacer clic para marcar. Ver objeto params. |
<apex:page standardController="Account" extensions="CustomClickToDialController" showHeader="true">
<support:clickToDial number="3172222222" entityId="{!id}" params="{!json}"/>
</apex:page>
objeto params
Utilice el siguiente formato para params objeto. La API Salesforce JSON.serialize utiliza este formato para asociaciones para serializar objetos como contacto y cuenta.
{
autoPlace: true,
callerId: '317-555-0123',
callerIdName: 'Some Name Here',
interactionAttributes: {
CustomAttribute: 'Data here'
},
interactionType: 'call',
queueId: 'Queue id GUID',
associations: [
{
Id: '00000000000',
Name: 'AccountName',
attributes: {
type: 'Account'
}
},
{
Id: '11111111111',
Name: 'John Smith',
attributes: {
type: 'Contact'
}
}
]
}
Para obtener más información sobre este componente, consulte soporte: clickToDial en la documentación de Salesforce.
Controlador Apex
El controlador Apex realiza las siguientes acciones:
- Recupera datos de backend de Salesforce.
- Genera cadenas JSON utilizando Salesforce JSON.serialize API.
- Agrega estos datos como valores para los atributos entityId y params en el componente de clic para marcar en las páginas personalizadas de Visualforce.
- Devuelve quién / qué registros.
public class CustomClickToDialController {
public CustomClickToDialController(ApexPages.StandardController stdController){}
// Returns an ID of a Who/What record (for the entityId attribute).
public String getId(){
Contact contact = [SELECT id, name FROM Contact LIMIT 1];
return contact.id;
}
// Returns a JSON string representation of Who/What record(s) (for the params attribute).
// It could be a single Who/What record or a list of Who/What records.
public String getJson(){
List accountList = [Select id, name FROM Account LIMIT 1];
String accounts = JSON.serialize(accountList);
JSONGenerator gen = JSON.createGenerator(false);
gen.writeStartObject();
gen.writeStringField('associations', accounts);
gen.writeStringField('callerId', '317-555-0123');
gen.writeStringField('callerIdName', 'Some Name Here');
gen.writeStringField('interactionType', 'call');
gen.writeBooleanField('autoPlace', true);
gen.writeStringField('queueId', 'Queue id GUID);
gen.writeFieldName('interactionAttributes');
gen.writeStartObject();
gen.writeStringField('CustomAttribute', 'Data here');
gen.writeEndObject();
gen.writeEndObject();
return gen.getAsString();
}
}
Todos los registros de Quién devueltos aparecen en la lista Nombre en el registro de interacción. Si solo se devuelve un registro de Quién, el registro se asocia automáticamente con el cuadro Nombre en el registro de interacción.
Todos devolvieron Qué registros aparecen en la lista Relacionados con en el registro de interacción. Si solo se devuelve un registro Qué, el registro se asocia automáticamente con el cuadro Relacionado con en el registro de interacción.
Para más información, ver Clic para marcar y Configurar clic para marcar.
Para obtener más información sobre la integración, consulte Acerca de Genesys Cloud para Salesforce.