Événements à Salesforce

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

Vous pouvez configurer l'intégration pour déclencher ou écouter des événements dans la console Salesforce dans Salesforce Classic ou dans toutes les versions de Lightning Experience (avec l'API postMessage ou Lightning Message Service). Les types d’événements et la manière dont vous les déclenchez ou les écoutez dépendent de l’interface Salesforce l’utilisateur utilisé.

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

Important : Genesys recommande que les nouveaux développements pour Lightning Experience utilisent Lightning Message Service (LMS), et non l'API postMessage. Salesforce prévoit de publier le LMS dans la version Summer '20. Genesys finira par déprécier l'utilisation de l'API Web postMessage.

Grâce au modèle d’événement de la boîte à outils d’intégration de Salesforce Console, l’intégration est déclenchée et à l’écoute des événements générés autour des éléments suivants :

  • Changements d’état (tels que Disponible, Occupé, Absent, Absent et En file d’attente)
  • Activités d’appel (connecté, déconnecté, ACW requis, ACW terminé)
  • Changements d'état d'interaction (ramassage, déconnexion, sourdine, attente, pause sécurisée, blindTransfer, consultTransfer, conclureTransfer, secureSession)

Les développeurs peuvent créer des pages Visualforce qui utilisent ces événements. Pour un exemple de code, voir Événements dans l’application console Salesforce Classic ( GitHub ).

Pour plus d’informations sur Salesforce console, voir Personnaliser une console avec des composants personnalisés dans Salesforce Classic dans la documentation Salesforce.

Pour plus d’informations sur l’utilisation du modèle d’événement, voir la Boîte à outils d’intégration de la console Salesforce pour Salesforce Classic dans la documentation Salesforce.

L’intégration peut déclencher les événements suivants et les envoyer à Salesforce.

Remarque :  Ces noms d'événement commencent par inin.salesforce.constants.consoleevent.pc., suivi du nom dans la liste, par exemple, inin.salesforce.constants.consoleevent.pc.UPDATE_STATUS.

ACW_TERMINÉ

ACW terminé.

Paramètres

Nom Type de données Description Notes
Motif Chaîne Le type d'événement.
ID interaction Chaîne Type de l'interaction

Exemple

{
    "reason": "acw_completed",
    "interactionId": "44560c74-5e84-4062-94b6-5680cdeb54d5" 
}

ACW_REQUIS

ACW requis.

Paramètres

Nom Type de données Description Notes
Motif Chaîne Le type d'événement.
ID interaction Chaîne Type de l'interaction

Exemple

{ 
    "reason": "acw_required",
    "interactionId": "44560c74-5e84-4062-94b6-5680cdeb54d5"
}

CLIENT_EVENT

Événement client.

Paramètres

Nom Type de données Description Notes
Motif Chaîne Le type d'événement.
Données Objet Voir objet params.

objet de données

Définit l'action.

Paramètres

Nom Type de données Description Notes
catégorie Chaîne Le type d'événement.

Pour plus d’informations, consultez Événements par type d’abonnement ( Genesys Cloud Developer Center) dans la documentation Genesys Cloud Embeddable Framework.

Données Objet

Exemple

{
    "reason": "client",
    "data": {
        "type": "Notification",
        "category": "interactionSelection",
	"data": { }
    }
}

 

INTERACTION_EVENT

Changement d’état d’interaction.

Paramètres

Nom Type de données Description Notes
Motif Chaîne Le type d'action.
Données Objet Voir objet params.

objet de données

Définit l'action.

Paramètres

Nom Type de données Description Notes
catégorie Chaîne Le type d'événement. Valeurs valides : changer, ajouter.
Données Objet

Exemple

{
    "reason": "interaction",
    "data": {
	"category": "change",
	"data": { }
    }
}

INTERACTION_CONNECTÉE

Interaction connectée.

Paramètres

Nom Type de données Description Notes
Motif Chaîne Le type d'événement.
ID interaction Chaîne Type de l'interaction

Exemple

{
    "reason": "connected",
    "interactionId": “44560c74-5e84-4062-94b6-5680cdeb54d5″
}

INTERACTION_DÉCONNECTÉE

Interaction déconnectée.

Paramètres

Nom Type de données Description Notes
Motif Chaîne Le type d'événement.
ID interaction Chaîne Type de l'interaction

Exemple

{
    "reason": "disconnected",
    "interactionId": “44560c74-5e84-4062-94b6-5680cdeb54d5″
}

DÉCONNECTÉ

Utilisateur déconnecté.

Paramètres

Nom Type de données Description Notes
Motif Chaîne Le type d'événement.

Exemple

{
    "reason": "logged_out"
}

ÉTAT DE MISE À JOUR

Utilisateur déconnecté.

Paramètres

Nom Type de données Description Notes
Motif Chaîne Le type d'événement.
statut Chaîne Statut/État de l'agent
identifiant Chaîne ID de l'état sélectionné (primaire ou secondaire).
sous_statut Chaîne Le statut secondaire de l'agent. Si vous utilisez des statuts secondaires, réponse inclut des informations secondaires sur statut.

Exemple

{
    "reason": "status_updated",
    "status": "AVAILABLE",
    "id": "44560c74-5e84-4062-94b6-5680cdeb54d5",
    "sub_status":"Available Work At Home"
}

L’intégration expose les actions suivantes concernant les changements de statut et les changements de statut un agent.

Remarque :  Ces actions commencent par inin.salesforce.constants.consoleevent., suivi du nom dans la liste, par exemple, inin.salesforce.constants.consoleevent.changestatus.

addAssociation

Ajoute un nouveau contact ou une nouvelle association de relations aux journaux d'interactions.

Paramètres

Nom Type de données Description Notes
Données Objet Voir objet params.

objet de données

Définit l'action.

Paramètres

Nom Type de données Description Notes
type Chaîne Type d'association.

Valeurs : le contact et la relation.

La valeur du contact alimente le menu Name et la valeur de la relation alimente le menu Related To dans la vue du journal des interactions de l'interface client intégrée.

Note: Ensure that you associate contact value with WhoId and relation value with WhatId of the Task record in Salesforce. If you associate with incompatible record fields, then any requests to save call logs fail. For more information about Task record fields, see Salesforce documentation.

identifiant Chaîne ID de l'association.
texte Chaîne Nom affiché de l'association.
sélectionnez Booléen
  • vrai : L'intégration sélectionne automatiquement l'association pour toutes les interactions actives.
  • faux : L'intégration ne sélectionne pas automatiquement l'association pour toutes les interactions actives.
ID interaction Chaîne ID de l'interaction devant recevoir l'association.  If select is set to true, the integration adds the association only to the interaction with this ID.

Exemples

Dans cet exemple, l'intégration ajoute une nouvelle association de contact avec l'ID 1234 et le nom affiché John Smith à une interaction.

{ 
  "type": "PureCloud.addAssociation",  
  "data": { 
      "type": "contact", 
      "id": "1234", 
      "text": "John Smith"
   } 
}

Ajouter un attribut personnalisé

Ajoute des attributs personnalisés aux interactions.

Paramètres

Nom Type de données Description Notes
Données Objet Voir objet params.

objet de données

Définit les actions.

Paramètres

Nom Type de données Description Notes
identifiant Chaîne Type de l'interaction
attributs Objet Paires clé-valeur d'attributs d'interaction personnalisés.

Exemple

{ 
    "data": {
        "id": "1234-1234-1234-1234",
        "attributes": {
            "record_url": "/0000413456"
        }
    }
}

changestate

Met à jour l'état d'une interaction.

Paramètres

Nom Type de données Description Notes
Données Objet Voir objet params.

objet de données

Définit l'action.

Paramètres

Nom Type de données Description Notes
Action Chaîne —État actuel de l’interaction.

Valeurs : ramasser, déconnecter, maintenir, mettre en sourdine, securePause, blindTransfer, consulterTransfer, conclureTransfer, secureSession. 

Seule utilisation conclureTransfert pour consulter les transferts et session sécurisée pour des flux IVR sécurisés.

identifiant Chaîne Type de l'interaction
participantContexte Objet Voir objet participantContext. Seule utilisation participantContexte quand action est réglé sur transfert aveugle ou consulterTransfert.
SecureSessionContext Objet Objet secureSessionContext Seule utilisation SecureSessionContext lorsque action est réglé sur session sécurisée.

objet participantContext

Définit l'entité recevant le transfert.

Paramètres

Nom Type de données Description Notes
Cible du transfert Chaîne ID d'un agent ou d'une file d'attente, nom de flux, ID de flux ou numéro de téléphone pour un transfert externe.

Préfixez le nom du flux ou l'ID du flux avec sip :, par exemple, sip:AuditorSecureFlow.

Encodez les caractères spéciaux avec le encodeURIComponent() méthode.

transferTypeTarget Chaîne Type d'entité de transfert.

Valeurs : userId, queueId, adresse.

Utilisation adresse avec un nom de flux, un identifiant de flux ou un numéro de téléphone pour un transfert externe en transferTarget.

Objet secureSessionContext

Définit l'entité recevant le transfert.

Paramètres

Nom Type de données Obligatoire / facultatif Description Notes
flowId Chaîne Requis ID du flux sécurisé pour recevoir l’interaction transférée.
données d’utilisateur Chaîne Requis Données fournies par le client.

Cartes de la Flow.InvocationData variable dans le flux sécurisé.

Avertissement : avertissement: N’utilisez pas de données sécurisées ou PCI avec données d’utilisateur.

déconnecter Booléen Facultatif Déconnecte l’interaction après la création de la session sécurisée (true) ou ne déconnecte pas l’interaction après la création de la session sécurisée (false).

Exemples

L'exemple suivant montre une interaction transférée à un agent ou à une file d'attente sans consultation.

{
    "data": {
        "action": "blindTransfer",
        "id": "1234-1234-1234-1234",
        "participantContext": {
            "transferTarget": "3175550123",
            "transferTargetType": "address"
        }
    }
}

L'exemple suivant montre une interaction transférée vers un flux IVR sécurisé.

{
    "data": {
        "action": "secureSession",
        "id": "1234-1234-1234-1234",
        "secureSessionContext": {
            "flowId": "741f4f39-7a94-470d-a1dd-dd68d01e0dd8",
            "userData": "hello",
            "disconnect": false
        }
    }
}

changerstatut

Mises à jour utilisateur statut.

Paramètres

Nom Type de données Description Notes
Données Objet Voir objet params.

objet de données

Définit l'action.

Paramètres

Nom Type de données Description Notes
identifiant Chaîne Type de l'interaction

Exemple 

{
    "data": {
        "id": "1234-1234-1234-1234"
    }
}

créer une conférence

Crée une conférence à partir de plusieurs interactions.

Paramètres

Nom Type de données Description Notes
Données Objet Voir objet params.

 

objet de données

Définit l'action.

Paramètres

Nom Type de données Description Notes
interactionIds Tableau Liste des ID d'interactions ajoutés à la conférence.

Exemple 

{
    "data": {
        "interactionIds": [ 
            "9641cedc-4cc2-48e1-84f7-fc4xxxx513e8", 
            "5eafbfc4-6ff4-40e4-a2d7-dxxxxxxxx809", 
            "363ba2ca-xxxx-405e-bebe-fc59b1ae517b"  
         ]
    }
}

s'abonner

S'abonner aux événements des clients.

Paramètres

Nom Type de données Description Notes
Données Objet Voir objet params.

 

objet de données

Définit l'action.

Paramètres

Nom Type de données Description Notes
type Chaîne Type d'événement auquel vous souhaitez vous abonner. Valeurs : Interaction, Notification, Action de l'utilisateur.
Catégories Tableau de chaînes de caractères Catégories individuelles pour lesquelles vous souhaitez recevoir des notifications. Valeurs : Voir Événements par type d'abonnement.

Événements par type d'abonnement

Événement Catégorie Données
Interaction Type de données : Chaîne Valeurs possibles : ajouter, modifier, connecter, déconnecter, acw, désallouer, callbackPlaced, callbackCallEnded, blindTransfer, consultTransfer ou completeConsultTransfer. Type de données : ID de l'objet ou de l'interaction
Notification Type de données : Corde Valeurs possibles: interactionSelection, chatUpdate, interactionWindow, conversationTranscription.
UserAction Type de données : Corde Valeurs possibles: login, logout, station, statut, modal, routingStatus ou view. Type de données : Routage d’objet

Exemple

{
    "data": {
        "type": "Notification",
        "categories": ["interactionSelection", "chatUpdate", "interactionWindow", "conversationTranscription"]
    }
}

Voir CLIENT_EVENT dans Événements pour plus de détails sur la façon dont vous recevez le message pour les événements clients souscrits.

Grâce aux API Web postMessage, l’intégration peut déclencher et écouter les événements statut modifications de statut , les changements d’état d’interaction et les abonnements aux événements Interaction, Notification ou UserActions.

Pour un exemple de code, voir Événements dans l’application Salesforce Lightning ( GitHub ).

Nom de l'événement Description
Poignée de main Si Activer les événements client est sélectionné dans les paramètres du centre d’appels, l’intégration déclenche un événement de prise de contact chaque fois que le client se charge. L’événement de prise de contact fournit le contexte dont les composants Lightning ont besoin pour pouvoir déclencher des événements sur le client Genesys Cloud for Salesforce.
Interaction

Déclenche les changements d’état d’interaction.

Valeurs possibles : ajouter, modifier, connecter, déconnecter, acw, désallouer, callbackPlaced, callbackCallEnded, blindTransfer, consultTransfer ou completeConsultTransfer.

Notification

Déclenche les changements d’état de notification.

Valeurs possibles : interactionSelection, chatUpdate, interactionWindow, conversationTranscription, messageUpdate.

UserAction

Déclenche les changements d’état de l’action utilisateurYYZZY. 

Valeurs possibles : login, logout, station, statut, modal, routingStatus ou view.

Pour plus d’informations, consultez Événements par type d’abonnement ( Genesys Cloud Developer Center) dans la documentation Genesys Cloud Embeddable Framework.

Remarque :  Remarque: Tous les paramètres de rappel décrits dans la documentation de Genesys Cloud Embeddable Framework sont disponibles dans la charge de données postMessage avec le type de racine ajouté. Voir le Communicate avec Genesys Cloud for Salesforce section.

Les administrateurs configurent les paramètres du centre d’appels pour que l’intégration soit déclenchée et à l’écoute des événements.

  1. Dans Salesforce, cliquez sur Installer.
  2. Rechercher Paquets installés.
  3. Sous Construire, cliquez sur Paquets installés.
  4. Sur le Packages installés page, cliquez surConfigurer à côté du package Genesys Cloud for Salesforce.
  5. Sous Paramètres d'événement client, configurez les éléments suivants pour Messages d'événement client:
  6. Pour Type de message d'événement client, sélectionnez API Window.postMessage.

    Ce paramètre force l’intégration à déclencher un événement de prise de contact à chaque chargement du client. 

  7. (Facultatif) Sous Types d’événement client, sélectionnez d’autres événements (Interaction, Notification et UserAction) auxquels vous souhaitez vous abonner. Cliquez sur flèche  pour les ajouter sous Choisi.
  8. (Facultatif) Sélectionnez Développer Notification de chat pour recevoir une charge utile étendue pour les événements de notification de discussion.
  9. Cliquez sur sauvegarder. 

Remarque :  Si vous ajoutez un composant d’éclairage en tant qu’utilitaire à votre application Lightning, assurez-vous de sélectionner Démarrer automatiquement. Pour plus d’informations, voir Ajouter une barre d’outils aux applications d’éclairage dans la documentation Salesforce.

Pour plus d’informations, voir Configurer les paramètres du centre d’appels.

Le client Genesys Cloud for Salesforce expose les actions suivantes déclenchées via les API Web postMessage.

addAssociation

Ajoute un nouveau contact ou une nouvelle association de relations aux journaux d'interactions.

Paramètres

Nom Type de données Description Notes
Données Objet Voir objet params.

objet de données

Définit l'action.

Paramètres

Nom Type de données Description Notes
type Chaîne Type d'association.

Valeurs : le contact et la relation.

La valeur du contact alimente le menu Name et la valeur de la relation alimente le menu Related To dans la vue du journal des interactions de l'interface client intégrée.

Note: Ensure that you associate contact value with WhoId and relation value with WhatId of the Task record in Salesforce. If you associate with incompatible record fields, then any requests to save call logs fail. For more information about Task record fields, see Salesforce documentation.

identifiant Chaîne ID de l'association.
texte Chaîne Nom affiché de l'association.
sélectionnez Booléen
  • vrai : L'intégration sélectionne automatiquement l'association pour toutes les interactions actives.
  • faux : L'intégration ne sélectionne pas automatiquement l'association pour toutes les interactions actives.
ID interaction Chaîne ID de l'interaction devant recevoir l'association.  If select is set to true, the integration adds the association only to the interaction with this ID.

Exemples

Dans cet exemple, l'intégration ajoute une nouvelle association de contact avec l'ID 1234 et le nom affiché John Smith à une interaction.

{ 
  "type": "PureCloud.addAssociation",  
  "data": { 
      "type": "contact", 
      "id": "1234", 
      "text": "John Smith"
   } 
}

Interaction.addCustomAttributes

Ajoute des attributs personnalisés aux interactions.

Paramètres

Nom Type de données Description Notes
type Chaîne Le type d'action. PureCloud + le nom de l'action.
Données Objet Voir objet params.

objet de données

Définit l'action.

Paramètres

Nom Type de données Description Notes
identifiant Chaîne Type de l'interaction
attributs Objet Paires clé-valeur d'attributs d'interaction personnalisés.

Exemple

{
    "type": "PureCloud.Interaction.addCustomAttributes", 
    "data": {
        "id": "1234-1234-1234-1234",
        "attributes": {
            "record_url": "/0000413456"
        }
    }
}

Interaction.createConference

Crée une conférence à partir de plusieurs interactions.

Paramètres

Nom Type de données Description Notes
type Chaîne Le type d'action. PureCloud + le nom de l'action.
Données Objet Voir objet params.

objet de données

Définit l'action.

Paramètres

Nom Type de données Description Notes
interactionIds Tableau Liste des ID d'interactions ajoutés à la conférence.

Exemple

{
    "type": "PureCloud.Interaction.createConference", 
    "data": {
        "interactionIds": [
            "9641cedc-4cc2-48e1-84f7-fc4xxxx513e8",
            "5eafbfc4-6ff4-40e4-a2d7-dxxxxxxxx809", 
            "363ba2ca-xxxx-405e-bebe-fc59b1ae517b"
         ]
    }
}

Interaction.updateState

Met à jour l'état d'une interaction.

Paramètres

Nom Type de données Description Notes
type Chaîne Le type d'action. PureCloud + le nom de l'action.
Données Objet Voir objet params.

objet de données

Définit l'action.

Paramètres

Nom Type de données Description Notes
Action Chaîne —État actuel de l’interaction.

Valeurs : ramasser, déconnecter, maintenir, mettre en sourdine, securePause, blindTransfer, consulterTransfer, conclureTransfer, secureSession. 

Seule utilisation conclureTransfert pour consulter les transferts et session sécurisée pour des flux IVR sécurisés.

identifiant Chaîne Type de l'interaction
participantContexte Objet Voir objet participantContext. Seule utilisation participantContexte quand action est réglé sur transfert aveugle ou consulterTransfert.
SecureSessionContext Objet Objet secureSessionContext Seule utilisation SecureSessionContext lorsque action est réglé sur session sécurisée.

objet participantContext

Définit l'entité recevant le transfert.

Paramètres

Nom Type de données Description Notes
Cible du transfert Chaîne ID d'un agent ou d'une file d'attente, nom de flux, ID de flux ou numéro de téléphone pour un transfert externe.

Préfixez le nom du flux ou l'ID du flux avec sip :, par exemple, sip:AuditorSecureFlow.

Encodez les caractères spéciaux avec le encodeURIComponent() méthode.

transferTypeTarget Chaîne Type d'entité de transfert.

Valeurs : userId, queueId, adresse.

Utilisation adresse avec un nom de flux, un identifiant de flux ou un numéro de téléphone pour un transfert externe en transferTarget.

Objet secureSessionContext

Définit l'entité recevant le transfert.

Paramètres

Nom Type de données Obligatoire / facultatif Description Notes
flowId Chaîne Requis ID du flux sécurisé pour recevoir l’interaction transférée.
données d’utilisateur Chaîne Requis Données fournies par le client.

Cartes de la Flow.InvocationData variable dans le flux sécurisé.

Avertissement : avertissement: N’utilisez pas de données sécurisées ou PCI avec données d’utilisateur.

déconnecter Booléen Facultatif Déconnecte l’interaction après la création de la session sécurisée (true) ou ne déconnecte pas l’interaction après la création de la session sécurisée (false).

Exemples

L'exemple suivant montre une interaction transférée à un agent ou à une file d'attente sans consultation.

{
    "type": "PureCloud.Interaction.updateState", 
    "data": {
        "action": "blindTransfer",
        "id": "1234-1234-1234-1234",
        "participantContext": {
            "transferTarget": "3175550123",
            "transferTargetType": "address"
        }
    }
}

L'exemple suivant montre une interaction transférée vers un flux IVR sécurisé.

{
    "type": "PureCloud.Interaction.updateState", 
    "data": {
        "action": "secureSession",
        "id": "1234-1234-1234-1234",
        "secureSessionContext": {
            "flowId": "741f4f39-7a94-470d-a1dd-dd68d01e0dd8",
            "userData": "hello",
            "disconnect": false,
        }
    }
}

User.updateStatus

Mises à jour utilisateur statut.

Paramètres

Nom Type de données Description Notes
type Chaîne Le type d'action. PureCloud + le nom de l'action.
Données Objet Voir objet params.

objet de données

Définit l'action.

Paramètres

Nom Type de données Description Notes
identifiant Chaîne Type de l'interaction

Exemple

{
    "type": "PureCloud.User.updateStatus", 
    "data": {
        "id": "1234-1234-1234-1234"
    }
} 

s'abonner

S'abonner aux événements des clients.

Paramètres

Nom Type de données Description Notes
type Chaîne Le type d'action. PureCloud + le nom de l'action.
Données Objet Voir objet params.

objet de données

Définit l'action.

Paramètres

Nom Type de données Description Notes
type Chaîne Type d'événement auquel vous souhaitez vous abonner. Valeurs : Interaction, Notification, Action de l'utilisateur.
Catégories Tableau de chaînes de caractères Catégories individuelles pour lesquelles vous souhaitez recevoir des notifications. Valeurs : Voir Événements par type d'abonnement.

 

Événements par type d'abonnement

Événement Catégorie Données
Interaction Type de données : Chaîne
Valeurs possibles : ajouter, modifier, connecter, déconnecter, acw, désallouer, callbackPlaced, callbackCallEnded, blindTransfer, consultTransfer ou completeConsultTransfer.
Type de données : ID de l'objet ou de l'interaction
Notification Type de données : Chaîne
Valeurs possibles : interactionSelection, chatUpdate, interactionWindow, conversationTranscription.
UserAction Type de données : Chaîne
Valeurs possibles : login, logout, station, statut, modal, routingStatus ou view.
Type de données : Routage d’objet

Exemple

{
 "type": "PureCloud.subscribe",
 "data": {
     "type": "Notification",
     "categories": ["interactionSelection", "chatUpdate", "interactionWindow", "conversationTranscription"]
  }
}

Créez un composant d’éclairage afin que Salesforce puisse écouter et déclencher les événements sélectionnés dans les paramètres du centre d’appels. 

  1. Ajoutez des fichiers Apex, de composant et JavaScript à la console développeur dans Salesforce.

    Vous pouvez télécharger des exemples de fichiers à partir du PureCloud pour Salesforce Einstein Exemple référentiel dans GitHub.

    Pour plus d’informations, voir Menu Fichier de la console développeur dans la documentation Salesforce.

  2. Met le type et identifiant pour la source dans le fichier JavaScript.

    Ce paramètre vous permet de modifier les statuts du client.

    source.postMessage({
        type: 'PureCloud.User.updateStatus',
        data: { id: status },
    }
  3. Si votre administrateur a configuré l’intégration pour déclencher des événements Interaction, Notification ou UserActions, abonnez-vous à ces événements dans le fichier JavaScript.

    Pour plus d’informations, consultez le souscrire méthode dans le Framework intégrable dans le Genesys Cloud documentation ( Genesys Cloud Developer Center).

Grâce aux API Web postMessage, l’intégration peut déclencher et écouter les événements statut modifications de statut , les changements d’état d’interaction et les abonnements aux événements Interaction, Notification ou UserActions.

Pour un exemple de code, voir Événements dans l’application Salesforce Lightning ( GitHub ).


Nom de l'événement Description
InitialSetup

Indique que le client Genesys Cloud for Salesforce est prêt à traiter les demandes. L'événement indique que les composants Lightning peuvent s'abonner aux événements du client.

Interaction

Déclenche les changements d’état d’interaction.

Valeurs possibles : ajouter, modifier, connecter, déconnecter, acw, désallouer, callbackPlaced, callbackCallEnded, blindTransfer, consultTransfer ou completeConsultTransfer.

Notification

Déclenche les changements d’état de notification.

Valeurs possibles : interactionSelection, chatUpdate, interactionWindow, conversationTranscription, messageUpdate.

UserAction

Déclenche les changements d’état de l’action utilisateurYYZZY. 

Valeurs possibles : login, logout, station, statut, modal, routingStatus ou view.

Pour plus d’informations, consultez Événements par type d’abonnement ( Genesys Cloud Developer Center) dans la documentation Genesys Cloud Embeddable Framework.

Remarque :  Remarque: Tous les paramètres de rappel décrits dans la documentation de Genesys Cloud Embeddable Framework sont disponibles dans la charge de données Lightning Message Service avec le type de racine ajouté. Voir le Communicate avec Genesys Cloud for Salesforce section.

Les administrateurs configurent les paramètres du centre d’appels pour que l’intégration soit déclenchée et à l’écoute des événements.

  1. Dans Salesforce, cliquez sur Installer.
  2. Rechercher Paquets installés.
  3. Sous Construire, cliquez sur Paquets installés.
  4. Sur le Packages installés page, cliquez surConfigurer à côté du package Genesys Cloud for Salesforce.
  5. Sous Paramètres d'événement client, configurez les éléments suivants pour Messages d'événement client:
  6. Pour Type de message d'événement client, sélectionnez Canal de message éclair

    Ce paramètre permet à l'intégration d'envoyer des messages sur le canal de message. 

  7. (Facultatif) Sous Types d’événement client, sélectionnez d’autres événements (Interaction, Notification et UserAction) auxquels vous souhaitez vous abonner. Cliquez sur flèche  pour les ajouter sous Choisi.
  8. (Facultatif) Sélectionnez Développer Notification de chat pour recevoir une charge utile étendue pour les événements de notification de discussion.
  9. Cliquez sur sauvegarder. 

Remarque :  Si vous ajoutez un composant d’éclairage en tant qu’utilitaire à votre application Lightning, assurez-vous de sélectionner Démarrer automatiquement. Pour plus d’informations, voir Ajouter une barre d’outils aux applications d’éclairage dans la documentation Salesforce.

Pour plus d’informations, voir Configurer les paramètres du centre d’appels.

Le client Genesys Cloud for Salesforce expose les actions suivantes déclenchées via Lightning Message Service.

addAssociation

Ajoute un nouveau contact ou une nouvelle association de relations aux journaux d'interactions.

Paramètres

Nom Type de données Description Notes
Données Objet Voir objet params.

objet de données

Définit l'action.

Paramètres

Nom Type de données Description Notes
type Chaîne Type d'association.

Valeurs : le contact et la relation.

La valeur du contact alimente le menu Name et la valeur de la relation alimente le menu Related To dans la vue du journal des interactions de l'interface client intégrée.

Note: Ensure that you associate contact value with WhoId and relation value with WhatId of the Task record in Salesforce. If you associate with incompatible record fields, then any requests to save call logs fail. For more information about Task record fields, see Salesforce documentation.

identifiant Chaîne ID de l'association.
texte Chaîne Nom affiché de l'association.
sélectionnez Booléen
  • vrai : L'intégration sélectionne automatiquement l'association pour toutes les interactions actives.
  • faux : L'intégration ne sélectionne pas automatiquement l'association pour toutes les interactions actives.
ID interaction Chaîne ID de l'interaction devant recevoir l'association.  If select is set to true, the integration adds the association only to the interaction with this ID.

Exemples

Dans cet exemple, l'intégration ajoute une nouvelle association de contact avec l'ID 1234 et le nom affiché John Smith à une interaction.

{ 
  "type": "PureCloud.addAssociation",  
  "data": { 
      "type": "contact", 
      "id": "1234", 
      "text": "John Smith"
   } 
}

Interaction.addCustomAttributes

Ajoute des attributs personnalisés aux interactions.

Paramètres

Nom Type de données Description Notes
type Chaîne Le type d'action. PureCloud + le nom de l'action.
Données Objet Voir objet params.

objet de données

Définit l'action.

Paramètres

Nom Type de données Description Notes
identifiant Chaîne Type de l'interaction
attributs Objet Paires clé-valeur d'attributs d'interaction personnalisés.

Exemple

{
    "type": "PureCloud.Interaction.addCustomAttributes",
    "data": {
        "id": "1234-1234-1234-1234",
        "attributes": {
            "record_url": "/0000413456"
        }
    }
}

Interaction.createConference

Crée une conférence à partir de plusieurs interactions.

Paramètres

Nom Type de données Description Notes
type Chaîne Le type d'action. PureCloud + le nom de l'action.
Données Objet Voir objet params.

objet de données

Définit l'action.

Paramètres

Nom Type de données Description Notes
interactionIds Tableau Liste des ID d'interactions ajoutés à la conférence.

Exemple

{
    "type": "PureCloud.Interaction.createConference", 
    "data": {
        "interactionIds": [
            "9641xxxx-4bb2-xxxx-84f7-xxxxxx8513e8",
            "5eafbfc4-6ff4-xxxx-a2d7-d23c1abbd809", 
            "363ba2ca-xxxx-405e-bebe-fc59xxxxx17b"
         ]
    }
}

Interaction.updateState

Met à jour l'état d'une interaction.

Paramètres

Nom Type de données Description Notes
type Chaîne Le type d'action. PureCloud + le nom de l'action.
Données Objet Voir objet params.

objet de données

Définit l'action.

Paramètres

Nom Type de données Description Notes
Action Chaîne —État actuel de l’interaction.

Valeurs : ramasser, déconnecter, maintenir, mettre en sourdine, securePause, blindTransfer, consulterTransfer, conclureTransfer, secureSession. 

Seule utilisation conclureTransfert pour consulter les transferts et session sécurisée pour des flux IVR sécurisés.

identifiant Chaîne Type de l'interaction
participantContexte Objet Voir objet participantContext. Seule utilisation participantContexte quand action est réglé sur transfert aveugle ou consulterTransfert.
SecureSessionContext Objet Objet secureSessionContext Seule utilisation SecureSessionContext lorsque action est réglé sur session sécurisée.

objet participantContext

Définit l'entité recevant le transfert.

Paramètres

Nom Type de données Description Notes
Cible du transfert Chaîne ID d'un agent ou d'une file d'attente, nom de flux, ID de flux ou numéro de téléphone pour un transfert externe.

Préfixez le nom du flux ou l'ID du flux avec sip :, par exemple, sip:AuditorSecureFlow.

Encodez les caractères spéciaux avec le encodeURIComponent() méthode.

transferTypeTarget Chaîne Type d'entité de transfert.

Valeurs : userId, queueId, adresse.

Utilisation adresse avec un nom de flux, un identifiant de flux ou un numéro de téléphone pour un transfert externe en transferTarget.

Objet secureSessionContext

Définit l'entité recevant le transfert.

Paramètres

Nom Type de données Obligatoire / facultatif Description Notes
flowId Chaîne Requis ID du flux sécurisé pour recevoir l’interaction transférée.
données d’utilisateur Chaîne Requis Données fournies par le client.

Cartes de la Flow.InvocationData variable dans le flux sécurisé.

Avertissement : avertissement: N’utilisez pas de données sécurisées ou PCI avec données d’utilisateur.

déconnecter Booléen Facultatif Déconnecte l’interaction après la création de la session sécurisée (true) ou ne déconnecte pas l’interaction après la création de la session sécurisée (false).

Exemples

L'exemple suivant montre une interaction transférée à un agent ou à une file d'attente sans consultation.

{
    "type": "PureCloud.Interaction.updateState", 
    "data": {
        "action": "blindTransfer",
        "id": "1234-1234-1234-1234",
        "participantContext": {
            "transferTarget": "3175550123",
            "transferTargetType": "address"
        }
    }
}

L'exemple suivant montre une interaction transférée vers un flux IVR sécurisé.

{
    "type": "PureCloud.interaction.updateState", 
    "data": {
        "action": "secureSession",
        "id": "1234-1234-1234-1234",
        "secureSessionContext": {
            "flowId": "741f4f39-7a94-470d-a1dd-dd68d01e0dd8",
            "userData": "hello",
            "disconnect": false,
        }
    }
}

User.updateStatus

Mises à jour utilisateur statut.

Paramètres

Nom Type de données Description Notes
type Chaîne Le type d'action. PureCloud + le nom de l'action.
Données Objet Voir objet params.

objet de données

Définit l'action.

Paramètres

Nom Type de données Description Notes
identifiant Chaîne Identifiant du statut.

Exemple

{
    "type": "PureCloud.User.updateStatus",
    "data": {
        "id": "1234-1234-1234-1234"
    }
} 

s'abonner

S'abonner aux événements des clients.

Paramètres

Nom Type de données Description Notes
type Chaîne Le type d'action. PureCloud + le nom de l'action.
Données Objet Voir objet params.

objet de données

Définit l'action.

Paramètres

Nom Type de données Description Notes
type Chaîne Type d'événement auquel vous souhaitez vous abonner. Valeurs : Interaction, Notification, Action de l'utilisateur.
Catégories Tableau de chaînes de caractères Catégories individuelles pour lesquelles vous souhaitez recevoir des notifications. Valeurs : Voir Événements par type d'abonnement.

 

Événements par type d'abonnement

Événement Catégorie Données
Interaction Type de données : Chaîne
Valeurs possibles : ajouter, modifier, connecter, déconnecter, acw, désallouer, callbackPlaced, callbackCallEnded, blindTransfer, consultTransfer ou completeConsultTransfer.
Type de données : ID de l'objet ou de l'interaction
Notification Type de données : Chaîne
Valeurs possibles : interactionSelection, chatUpdate, interactionWindow, conversationTranscription.
UserAction Type de données : Chaîne
Valeurs possibles : login, logout, station, statut, modal, routingStatus ou view.
Type de données : Routage d’objet

Exemple

{
 "type": "PureCloud.subscribe",
 "data": {
     "type": "Notification",
     "categories": ["interactionSelection", "chatUpdate", "interactionWindow", "conversationTranscription"]
  }
}

Pour vous abonner au canal de messages, installez la version 3.12 ou version ultérieure du package géré PureCloud pour Salesforce. Ces versions de le package géré comprend le purecloud__ClientEvent__c canal qui reçoit tous les messages. Après vous être abonné à purecloud__ClientEvent__c, Salesforce peut écouter et déclencher les événements sélectionnés dans les paramètres du centre d'appels. 

La méthode de mise en œuvre varie en fonction des composants que vous utilisez. L'exemple de code suivant montre comment utiliser LMS avec un composant Lightning Aura.

Abonnez-vous aux messages Lightning sur le purecloud__ClientEvent__c canal pour un composant Aura.

<lightning:messageChannel type="purecloud__ClientEvent__c" aura:id="clientEventMessageChannel" onMessage="{!c.onClientEvent}" scope="APPLICATION"/>

Pour recevoir des messages Lightning, créez un onClientEvent.

({
    onClientEvent: function (component, message, helper) {
        var eventData = message.getParams();
        if (eventData) {
            if(eventData.type === 'Interaction' && eventData.data.id) {
		console.log(‘Interaction ID: ‘ + eventData.data.id);
            }
        }
    }
})

Pour envoyer des messages Lightning, publiez les événements que le client Genesys Cloud for Salesforce écoute. Pour une liste des événements, consultez le Communicate avec Genesys Cloud for Salesforce section.

component.find('clientEventMessageChannel').publish({
    type: 'PureCloud.User.updateStatus',
    data: { id: status }
});

Pour d'autres exemples, voir Service de messagerie Lightning [Aperçu développeur] dans le blog des développeurs Salesforce.

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