Créer cliquez pour appeler sur des pages Visualforce personnalisées

Remarque :  Cet article s’applique à Genesys Cloud for Salesforce.

L’intégration cliquez pour appeler par défaut permet fonctionnalité sur Salesforce les pages, telles que les pages de contact ou de compte. Lorsqu’un agent clique sur par défaut un numéro de téléphone sur Salesforce les pages, le client compose automatiquement le numéro de téléphone ou remplit automatiquement la boîte de nom ou de numéro. (Le cliquez pour appeler comportement dépend de la sélection de l’agent sous les paramètres de file d’attente. Pour plus d’informations, voir configurercliquez pour appeler.) Le client remplit le Nom et les boîtes Salesforce liées avec les objets pertinents de ces pages. 

Vous pouvez cliquez pour appeler également fournir fonctionnalité sur les cliquez pour appeler pages Visualforce personnalisées en ajoutant le composant à ces pages. 

Astuce :   Si vous créez des pages Visualforce en mode développement, après avoir créé les pages, quittez le mode développement. Les événements Click-to-Dial ne fonctionnent pas avec le mode de développement activé.

Ce qui suit est cliquez pour appeler un exemple qui utilise le composant Salesforce sur une page Visualforce et tire les données de l’utilisation d’un contrôleur Apex. Pour plus d’informations, consultez soutien : clickToDial et Premiers pas avec Apex JSON dans la documentation Salesforce.

Composant Click-to-dial

Le composant cliquez pour appeler ajoute la page cliquez pour appeler fonctionnalité au formatYYZ à une page Visualforce personnalisée et vous permet d’affecter des valeurs au entityId et params les attributs. Ces deux attributs tirent les données du contrôleur Apex pour remplir le nom et les boîtes liées aux boîtes dans le client. le entityId et params Les attributs associent également automatiquement les zones Nom et Associé à à une activité sur une page Salesforce. 

Attribut Obligatoire / facultatif Description Notes
numéro Requis Numéro à composer.
entityId Facultatif ID d’un objet pertinent, tel qu’un contact ou un compte, à associer automatiquement à une activité.  le entityId attribut ne concerne qu’un seul enregistrement. Pour ajouter des enregistrements supplémentaires à Nom et lié à dans les journaux d’interaction, utilisez la commande les associations propriété dans l’objet params.
params Facultatif Chaîne JSON pour des données supplémentaires pour cliquez pour appeler. Voir objet params.
<apex:page standardController="Account" extensions="CustomClickToDialController" showHeader="true">
   <support:clickToDial number="3172222222" entityId="{!id}" params="{!json}"/>
</apex:page>

objet params

Propriété Type de données Description Notes
autoPlace Booléen Si la valeur est true ou non définie, l’intégration passe automatiquement un appel. Si la valeur est false, l’intégration remplit la zone Nom ou numéro avec le numéro de téléphone.
identification de l’appelant Chaîne Numéro de téléphone affiché aux destinataires de vos appels téléphoniques. Support téléphonique pour identification de l’appelant varie
callerIdName Chaîne Nom affiché aux destinataires de vos appels téléphoniques. Support téléphonique pour callerIdName varie
interactionAttributs Objet Paires d’attributs clé-valeur à ajouter à l’interaction.
type d’interaction Chaîne Type d’interaction.

Valeurs : appelez, sms.

Sinon type d’interaction est fourni, appeler par défaut.

queueId Chaîne Identifiant de la file pour passer un appel ou envoyer un SMS au nom de.
les associations Objet Un seul objet ou un tableau d’objets à associer automatiquement à une activité.

Utilisez le format suivant pour le params objet. L’API Salesforce JSON.serialize utilise ce format pour les associations pour sérialiser des objets tels que contact et compte.

{
    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'
            }
        }
    ]
}

Pour plus d’informations sur ce composant, voir support :clickToDial dans Salesforce la documentation.

Contrôleur Apex

Le contrôleur Apex effectue les actions suivantes :

  • Récupère les données Salesforce backend de.
  • Génére des chaînes Salesforce JSON à l’aide de l’API JSON.serialize.
  • Ajoute ces données comme les valeurs pour l’entitéId cliquez pour appeler et params attributs dans le composant sur les pages Visualforce personnalisées.
  • Renvoie les enregistrements Who / What.
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();
    }
}

Tous les enregistrements qui sont retournés apparaissent dans la liste de noms dans le journal d’interaction. Si un seul enregistrement est retourné, l’enregistrement est auto-associé à la boîte De nom dans le journal d’interaction.

Tous les documents retournés Quels enregistrements apparaissent dans la liste Relative à la liste dans le journal d’interaction. Si un seul Quel enregistrement est retourné, l’enregistrement est auto-associé à la boîte Related To dans le journal d’interaction.

Associations automobiles en nom et liées aux boîtes

Pour plus d’informations, voir Cliquer sur le cadran et configurercliquez pour appeler.

Pour plus d’informations sur l’intégration, consultezÀ propos de Genesys Cloud for Salesforce.