Vous pouvez utiliser les points d’extension pour personnaliser la sauvegarde des journaux d’interaction dans...

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.SaveLog interface. Définissez la classe Apex comme globale afin que le code puisse être appelé par l'intégration.

Interface purecloud.CTIExtension.SaveLog

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.SaveLog pour définir le fonctionnement de la sauvegarde des journaux.

méthode onSaveLog

Utilisé pour enregistrer les informations du journal des interactions.

Cette méthode est appelée chaque fois que l'intégration détecte une modification dans le journal des interactions lors de certaines interactions ou événements utilisateur. Le procédé reçoit des données de journal d'interaction non enregistrées pour un enregistrement de tâche.

Si la méthode enregistre les données avec succès, retournez l'ID de l'enregistrement. Si la méthode ne sauvegarde pas les données, elle renvoie une chaîne vide.

Remarque :  La méthode onSaveLog ne permet pas de renvoyer une valeur nulle.

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
Nom de l'événement Chaîne Représente l'état qui a déclenché onSaveLog Valeurs : interactionChanged, interactionDisconnected, interactionChangedAfterDisconnect, interactionACWCompleted, interactionRemoved, openCallLog, appDisconnected.
interaction Objet —État actuel de l’interaction. Pour plus d'informations, voir le format de l'objet de données dans Condensed conversation information.
journal d'appel Objet Données du journal d'interaction avec des valeurs modifiées pour les champs d'activité définis dans Salesforce. Fournit uniquement des parties du journal d'intégration qui ont changé.

Paramètres de sortie

Nom Type de données Description Notes
{valeur de retour} Chaîne ID du journal des interactions qui a été enregistré ou mis à jour.  

Pour plus d'informations, consultez Journaux des interactions et Afficher et modifier les journaux d'interaction.

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.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; 
    }
}

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.