Utilisez les points d'extension pour personnaliser l'affichage de l'écran

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

Vous pouvez utiliser les points d’extension pour personnaliser le comportement de la fenêtre contextuelle dans Genesys Cloud for Salesforce. Les points d'extension utilisent le langage de programmation Salesforce Apex. 

Remarque :  Cet article de personnalisation avancée est destiné aux développeurs familiarisés avec Salesforce.

Conditions préalables

  • Une version du package géré qui inclut la section Paramètres du point d’extension. Pour plus d’informations, voir Configurer la journalisation des interactions.

Dans Salesforce, créez un seul fichier Apex avec une classe Apex qui implémente le purecloud.CTIExtension.ScreenPop interface. Définissez la classe Apex comme globale afin que le code puisse être appelé par l'intégration.

Interface purecloud.CTIExtension.ScreenPop

Contient une signature de méthode que vous pouvez définir pour personnaliser la fonctionnalité fenêtre contextuelle dans Genesys Cloud for Salesforce.

Utilisation

Utilisez la signature de méthode dans le purecloud.CTIExtension.ScreenPop pour définir le fonctionnement de la fonctionnalité d'affichage de l'écran.

méthode onScreenPop

Utilisé pour piloter la logique de pop d'écran.

Cette méthode est appelée pour une interaction d'alerte entrante. onScreenPop n'est appelé qu'une seule fois pour chaque agent pour chaque interaction d'alerte. La méthode peut renvoyer des données qui modifient le comportement par défaut de l'affichage de l'écran.

Si le code Apex déclenche une exception, l'intégration exécute le comportement de survol d'écran par défaut. Si aucune valeur n'est renvoyée, l'intégration supprime le comportement de surgissement de l'écran.

Propriété d’entrée

Les propriétés suivantes sont incluses dans les données JSON transmises à la méthode.

Nom Type de données Description Notes
searchValue Chaîne Valeur de recherche. Exemples de règles : adresse e-mail (pour les interactions par chat et e-mail), numéro de téléphone (pour les interactions vocales et SMS).
interaction Objet Objet de données qui représente les données d'interaction. Pour plus d'informations, voir le format de l'objet de données dans Condensed conversation information.

Propriété de sortie

Important : Utilisez uniquement l'une des propriétés suivantes dans les données JSON renvoyées par le onScreenPop méthode.
Nom Type de données Description Notes
url Chaîne URL d'une page dans Salesforce.  Il fenêtre contextuelle peut s’agit peut-être d’une page standard, Salesforce d’une Architect page Visualforce ou d’une nouvelle page d’enregistrement avec des données pré-remplies d’un flux.
searchValue Chaîne Valeur recherchée dans les enregistrements Salesforce. 

Il peut s'agir d'un numéro de dossier, d'un numéro de téléphone, d'un nom de contact ou d'autres éléments. 

Pour plus d’informations, consultez la section Paramètres de disposition du téléphone logiciel dans Écran contextuel dans Genesys Cloud for Salesforce.

defaultScreenPop Booléen Effectue un affichage d'écran par défaut (true) ou n'exécute pas d'affichage d'écran par défaut (faux).

Pour plus d’informations, consultez la section Comportement par défaut de la fenêtre contextuelle dans Écran contextuel dans Genesys Cloud for Salesforce.

Pour plus d’informations, voir Pop écran PureCloud pourSalesforce.

Exemple

Important :
  • Définissez la classe Apex comme globale afin que le code puisse être appelé par l'intégration.
  • Si vous implémentez plusieurs points d'extension (ou interfaces), placez-les tous dans le même fichier Apex.
global class MyCTIExtensions implements purecloud.CTIExtension.ScreenPop {
    public String onScreenPop(String data) {
        // Example: Find a recent Case record by phone number. if not found, fall back to default screen pop behavior.
        Map<String, Object> screenPopData = (Map<String, Object>) JSON.deserializeUntyped(data);
        Map<String, Object> dataToReturn = new Map<String, Object>();
        String phoneNumber = (String) screenPopData.get('searchValue');
        if (String.isNotBlank(phoneNumber)) {
            List cases = [SELECT Id FROM Case WHERE ContactPhone =: phoneNumber ORDER BY LastModifiedDate DESC LIMIT 1];
            if (cases.size() > 0) {
                dataToReturn.put('url', cases.get(0).Id);
                return JSON.serialize(dataToReturn);
            }
        }
        dataToReturn.put('defaultScreenPop', true);
        return JSON.serialize(dataToReturn);
    }
}

Pour plus d’informations, consultez Points d’extension dans Genesys Cloud for Salesforce.

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