CRM personnalisé

La solution CRM personnalisée permet aux entreprises de profiter du portail Contact Center AI Platform (CCAI Platform) lorsqu'elles utilisent un CRM qui n'est pas actuellement intégré à CCAI Platform. La configuration de CRM personnalisés fonctionne lorsque vous utilisez un CRM maison ou tout CRM non standard.

Les agents gèrent les appels et les chats, et les superviseurs peuvent surveiller et générer des rapports à l'aide du portail CCAI Platform. Tous les détails de la session d'appel ou de chat sont stockés dans un fichier de métadonnées de session. Ce fichier peut contenir plus de 20 points de données, y compris des informations sur les sessions, les transferts, la durée de la conversation, les participants, des informations de diagnostic et bien plus encore. Le fichier de métadonnées de la session peut être analysé et utilisé pour l'analyse et le suivi post-session.

Les métadonnées de session et les fichiers multimédias importés par les consommateurs sont transférés vers un service de stockage externe. Les agents peuvent voir les fichiers multimédias importés par les consommateurs directement dans l'adaptateur d'agent pendant la session.

Une solution CRM personnalisée est implémentée avec une combinaison des composants suivants. Certains composants peuvent s'appliquer ou non à votre configuration :

  • Générer le fichier de métadonnées de session pour chaque session d'appel et de chat

  • Transférer des métadonnées et des fichiers multimédias vers un service de stockage externe

  • Intégration d'API générique

  • URL de recherche personnalisée

  • Mise à jour d'une fiche CRM par e-mail

  • Recherche de compte ou de demande à partir de l'adaptateur d'agent

Prérequis

Pour utiliser la fonctionnalité de CRM personnalisé, vous devez d'abord configurer le stockage externe. Pour en savoir plus, consultez Stockage externe pour les solutions CRM personnalisées.

Métadonnées de session

Le fichier de métadonnées de la session contient des informations détaillées sur la session. Il est envoyé 15 minutes après la fin de la session. Pour en savoir plus, consultez Fichier de métadonnées de session.

Méthodes d'interaction et d'intégration de CRM personnalisés

API générique URL personnalisée
Recherche de compte Oui Oui
Recherche de demandes Oui
Mise à jour de la demande Oui Non

API générique

La méthode d'intégration d'API générique permet d'utiliser l'API de votre CRM personnalisé pour établir une connexion bidirectionnelle avec CCAI Platform. Cette méthode fluide est identique à l'expérience d'intégration CRM prête à l'emploi. L'agent n'a pas besoin d'effectuer une action pour créer un enregistrement CRM pour les sessions d'appel ou de chat, en fonction de la configuration unique de l'API. Il peut permettre une recherche et une mise à jour fluides des enregistrements.

URL personnalisée

L'option "Lien personnalisé" permet à vos agents d'interagir avec votre CRM à l'aide d'un lien personnalisé créé pour chaque session. Contrairement à l'intégration CRM standard et à l'expérience d'API générique, l'agent doit effectuer une action pour qu'un enregistrement CRM soit créé. Dans certains cas, il peut s'agir simplement de lancer un onglet avec le lien personnalisé de la session. Dans d'autres cas, l'agent peut avoir besoin de créer manuellement l'enregistrement.

Détails et configuration des URL de recherche personnalisées

La fonctionnalité de base de l'URL consiste à effectuer une recherche CRM, mais selon votre CRM, des processus plus complexes peuvent être déclenchés en fonction du contenu de l'URL personnalisée. L'URL du CRM personnalisé peut être configurée avec des variables contenant des informations de session. Elle est accessible dans l'adaptateur d'agent pendant la session. Une fois l'URL consultée, le CRM personnalisé effectuera une recherche. Cette recherche CRM permet aux agents d'utiliser une "fenêtre pop-up de demande" pour la session d'appel ou de chat active. Le processus de lien personnalisé repose uniquement sur la capacité du CRM personnalisé à traiter ce lien et à le modifier ou le réécrire si nécessaire.

Les métadonnées de session, les enregistrements d'appels et les autres fichiers stockés en externe ne seront pas associés à l'enregistrement CRM, sauf si la méthode de mise à jour par e-mail listée est également utilisée.

Dans cette configuration, l'agent se connecte au portail de la plate-forme CCAI et à son CRM dans des onglets distincts. Les appels et les chats seront traités dans l'onglet "Plate-forme CCAI", et les détails des demandes seront accessibles dans un onglet CRM.

Pour que cette configuration fonctionne :

  • L'agent doit être connecté à son CRM dans son navigateur.

  • L'agent doit être connecté au portail de la plate-forme CCAI dans son navigateur.

  • L'URL de recherche personnalisée doit être préconfigurée.

  • Votre CRM doit gérer l'URL personnalisée pour afficher l'enregistrement CRM pertinent.

Comportement des URL de recherche personnalisées

  • La plate-forme CCAI n'inclut dans l'URL que les paramètres qui ne sont pas vides.

  • Une fois la session terminée, CCAI Platform ne stocke pas l'URL générée contenant l'ANI/l'UID/l'adresse e-mail dans la base de données CCAI Platform.

Configurer une URL de recherche personnalisée

En raison des différences entre les identifiants uniques, les capacités et les comportements des CRM, vous devrez créer deux URL distinctes : une pour les sessions IVR/RTSP/SMS et une pour les sessions SDK Web et mobile. Les sessions IVR/PSTN/SMS utiliseront l'ANI comme identifiant unique, tandis que le SDK Web et mobile utilisera probablement le CUID et l'adresse e-mail.

Les variables suivantes peuvent être utilisées pour configurer une URL de recherche :

Variable Valeurs
{CUSTOMER_PHONE_NUMBER} Numéro de téléphone de l'utilisateur final
{ANI} Numéro de téléphone de l'utilisateur final. Conservé pour la rétrocompatibilité.
{CUID} ID utilisateur personnalisé
{EMAIL} Adresse e-mail de l'utilisateur final
{MENU_PATH} Chemin d'accès complet au menu de la file d'attente.
Par exemple, "Orders/Order confirmation/Order info" (Commandes/Confirmation de commande/Informations sur la commande).
{MENU_ID} ID du menu
{CHANNEL}

Canal de la session. Valeurs possibles :

  • chat
  • voice_call
{TYPE}

Type de session.

Valeurs possibles pour les appels :

  • Incoming_Call_(app)
  • Scheduled_Call_(app)
  • Incoming_Call_(web)
  • Scheduled_Call_(web)
  • Outbound_Call
  • Outbound_Call_(api)
  • Incoming_Call_(api)
  • IVR_Call
  • IVR_Call_(app)
  • Messagerie vocale

Valeurs possibles pour les discussions :

  • Mobile
  • Web
  • SMS
{SUPPORT_PHONE_NUMBER} Numéro de téléphone du centre d'assistance que l'utilisateur final appelle.
{OUTBOUND_NUMBER} Numéro de téléphone utilisé par un agent pour un appel sortant.
{SESSION_ID}

ID de la session. Valeurs possibles :

  • ID de l'appel
  • ID du chat
  • ID d'adresse e-mail
{CUSTOM_AGENT_ID} Champ d'ID d'agent facultatif dans l'objet user. L'ID de l'agent ne peut être obtenu qu'une fois la session établie et un agent attribué. Pour cette raison, configurez votre instance afin de retarder la création des enregistrements d'appels ou de chats pour laisser le temps à cette variable d'être définie. Vous pouvez retarder la création d'enregistrements d'appels ou de discussions en accédant à Paramètres> Gestion des opérations> Détails de la création d'enregistrements CRM. Pour en savoir plus, consultez Détails sur la création d'enregistrements CRM.

Configuration du portail CCAI Platform

  1. Connectez-vous au portail de la plate-forme CCAI à l'aide d'un compte auquel le rôle d'administrateur est attribué.

  2. Accédez à Paramètres > Paramètres du développeur.

  3. Dans la section "CRM", sélectionnez CRM personnalisé.

  4. Sous Recherche CRM, saisissez vos URL personnalisées.

  5. Sélectionnez le format du numéro de téléphone à utiliser dans les demandes CRM.

  6. Cliquez sur Enregistrer les modifications.

  7. Si vous ne l'avez pas déjà fait, configurez votre service de stockage externe. Pour en savoir plus, consultez la section "Stockage externe".

Mise à jour d'une fiche CRM par e-mail

Dans les configurations telles que l'URL de recherche personnalisée, une fois la session terminée, les métadonnées de la session doivent être mises à jour dans le CRM. Grâce à cette fonctionnalité, CCAI Platform peut envoyer automatiquement des données de session par e-mail. Environ 15 minutes après la fin d'une session, un e-mail est envoyé à un emplacement configuré. Le contenu de l'e-mail est utilisé pour mettre à jour un enregistrement dans votre CRM. Cette fonctionnalité peut être configurée au niveau global et par file d'attente. Une fois l'e-mail reçu, votre CRM peut être configuré pour mettre à jour ou créer un enregistrement CRM pour la session.

Détails de l'adresse e-mail

  • Envoyé par no-reply@ccaiplatform.com

  • Contient :

    • Subject line

    • Corps avec les métadonnées de session en syntaxe JSON

    • Pièce jointe au format TXT contenant la transcription de la discussion, le cas échéant

  • La plate-forme CCAI attend 15 minutes après la fin de la session, puis envoie l'e-mail.

  • Les e-mails ne sont envoyés que pour les sessions qui se sont terminées avec succès. Il n'est pas envoyé pour les sessions ayant échoué ou abandonnées.

Configuration globale

  1. Connectez-vous au portail de la plate-forme CCAI à l'aide d'un compte auquel le rôle d'administrateur est attribué.

  2. Accédez à Paramètres > Paramètres du développeur.

  3. Dans la section "CRM", assurez-vous que l'option CRM personnalisé est sélectionnée.

  4. Activez l'option Envoyer le résultat de la session par e-mail.

  5. Saisissez l'adresse e-mail à laquelle vous souhaitez que l'e-mail soit envoyé.

  6. Cliquez sur Enregistrer les modifications.

Configuration par file d'attente

  1. Connectez-vous au portail de la plate-forme CCAI à l'aide d'un compte auquel le rôle d'administrateur est attribué.

  2. Accédez à Paramètres > File d'attente, puis sélectionnez une sous-file d'attente.

  3. Activez l'option Envoyer le résultat de la session par e-mail.

  4. Saisissez l'adresse e-mail à laquelle vous souhaitez que l'e-mail soit envoyé.

    Affichage de la configuration de l'e-mail

  5. Cliquez sur Enregistrer le paramètre CRM personnalisé.

Héritage et remplacement des paramètres

Paramètres Comportement
Global = NON activé
Queue = NON activé
Ne pas envoyer pour toutes les files d'attente.
Global = NON activé
File d'attente = Activée
Le paramètre de file d'attente (c'est-à-dire l'état activé/désactivé) remplace le paramètre global.
Un e-mail est envoyé depuis une file d'attente donnée à une adresse e-mail définie dans le paramètre de file d'attente.
Global = Activé
File d'attente = NON activée
Le paramètre de file d'attente (adresse e-mail, état activé/désactivé) hérite du paramètre global.
Les e-mails sont envoyés depuis une file d'attente donnée vers une adresse e-mail définie dans le paramètre global.
Global = Activé
Queue = Activé
Le paramètre de file d'attente (adresse e-mail) remplace le paramètre global.
L'e-mail est envoyé depuis une file d'attente donnée vers une adresse e-mail définie dans le paramètre de file d'attente.
Si l'adresse e-mail est vide, l'e-mail n'est pas envoyé.

Expérience de l'agent

Recherche d'enregistrements CRM

  1. Connectez-vous au portail de la plate-forme CCAI à l'aide d'un compte auquel le rôle "Agent" est attribué.

  2. Ouvrez l'adaptateur pour les appels ou les chats.

  3. Utilisez le bouton Ouvrir dans une nouvelle fenêtre du navigateur pour déclencher la recherche.

  4. Utilisez le bouton Copier le lien pour copier l'URL de recherche dans le presse-papiers.

Affichage de l'agent

Stockage externe pour les solutions CRM personnalisées

Le stockage externe pour les solutions personnalisées permet d'utiliser un service de stockage externe pour stocker et récupérer les métadonnées de session de la plate-forme CCAI, les enregistrements d'appels, les transcriptions de chat et les fichiers multimédias importés par les consommateurs. Les fichiers sont stockés en dehors d'un CRM.

Pour configurer le stockage externe, vous devez disposer des éléments suivants :

  • Un compte CCAI Platform valide avec les rôles "Administrateur" et "Agent" attribués pour la configuration et les tests

  • Un service de stockage externe

Structure des dossiers

La structure de dossiers suivante sera organisée dans votre stockage externe sous Chemin d'accès au dossier :

  • ujet-chat-transcripts

  • ujet-media

  • ujet-metadata

  • ujet-voice-recordings

  • ujet-voicemails

Formats de fichiers et conventions de dénomination

Les types de fichiers suivants peuvent être transférés vers le service de stockage externe. Les fichiers sont chiffrés lors de leur transfert à l'aide du protocole HTTPS :

Fichier Nom
Enregistrements d'appels - call-{id}.mp3
- call-{id}.wav
Fichiers multimédias - call-{id}-photo-{photo-id}.jpg
- call-{id}-video-{video-id}.mp4
- chat-{id}-photo-{photo-id}.jpg
- chat-{id}-video-{video-id}.mp4
Transcriptions de chat - chat-{id}.txt
Métadonnées de session - call-{id}.json
- chat-{id}.json

Expérience des agents et des superviseurs

Pendant la session d'appel ou de chat, les photos et vidéos mises en ligne par le client à l'aide des actions intelligentes s'affichent dans l'adaptateur de l'agent.

Si vous utilisez l'interaction CRM avec URL personnalisée combinée à la méthode de mise à jour par e-mail du fichier de métadonnées de session, les agents et les superviseurs peuvent accéder aux informations de session à l'aide de votre serveur externe.

Configurer le service de stockage externe

Pour configurer votre espace de stockage externe, procédez comme suit :

  1. Connectez-vous au portail de la plate-forme CCAI à l'aide d'un compte auquel le rôle d'administrateur est attribué.

  2. Accédez à Paramètres > Paramètres du développeur.

  3. Sur la page "Paramètres pour les développeurs", accédez à la section Stockage externe.

  4. Activez le stockage des informations en dehors des serveurs CRM en activant l'option Activé, puis sélectionnez les types de fichiers à stocker.

  5. Dans la section "Configuration du serveur", sélectionnez votre type de stockage et suivez les étapes de configuration : serveur SFTP, bucket Google Cloud .

Serveur SFTP

  1. Saisissez l'hôte SFTP (URL ou adresse IP).

  2. Saisissez le numéro de port.

  3. Saisissez l'ID de connexion SFTP.

  4. Si le serveur SFTP requiert un mot de passe pour l'authentification, saisissez-le dans le champ Mot de passe.

  5. Si le serveur SFTP nécessite une clé privée pour l'authentification, cochez la case Clé privée SSH.

  6. Saisissez (copiez et collez) la clé privée SSH.

  7. Saisissez la phrase secrète de la clé privée. Si les informations de session doivent être stockées dans un dossier spécifique sur le serveur SFTP, cochez la case Chemin d'accès au dossier et saisissez le chemin d'accès au dossier SFTP.

  8. Cliquez sur Enregistrer les modifications.

Cloud Storage

  1. Saisissez le nom du bucket de destination. Google Cloud

  2. Saisissez l'ID client Google Cloud .

  3. Saisissez le Google Cloud code secret du client.

  4. Si les informations de session doivent être stockées dans un dossier spécifique du bucket Google Cloud , cochez la case Chemin d'accès au dossier et saisissez le chemin d'accès au dossierGoogle Cloud .

  5. Cliquez sur Associer et enregistrer.

Tester la configuration du stockage externe

Pour les CRM avec une intégration standard existante :

  1. Connectez-vous à votre CRM.

  2. Connectez-vous à la plate-forme CCAI dans le CRM à l'aide des identifiants de la plate-forme CCAI avec un rôle d'agent attribué.

  3. Passez un appel ou lancez une discussion. L'enregistrement CRM associé à la session s'affiche.

  4. Une fois la session terminée, le fichier de transcription doit être importé en quelques secondes.

  5. Accédez directement au dossier de stockage du serveur externe et vérifiez que le fichier est disponible.

Envoyer des fichiers de session au CRM

Lorsque le stockage externe est activé, les paramètres développeur "URL de stockage CRM" et "URL de stockage externe" permettent d'envoyer des fichiers de session et de choisir la source à utiliser pour afficher les fichiers dans l'adaptateur d'agent.

Pour afficher ces paramètres, le stockage externe doit être activé dans Paramètres > Paramètres développeur > Stockage externe. Activez l'option Activer le stockage des informations en dehors des serveurs CRM.

Stockage CRM

  1. Accédez à Paramètres > Paramètres du développeur > Stockage externe > Stockage CRM.

  2. Cochez la case Envoyer également les fichiers de session au CRM pour envoyer les fichiers de session (enregistrements d'appels ou transcriptions de chat, par exemple) à votre CRM et au stockage externe configuré.

  3. Cliquez sur Enregistrer les modifications.

Si la case est cochée, les enregistrements seront stockés à la fois dans le CRM et dans l'espace de stockage externe.

URL de stockage externe

L'URL de stockage externe est utilisée à deux endroits :

  • Adaptateur d'agent.

  • Rapports : l'URL du contenu multimédia s'affiche dans le rapport ainsi que dans les menus tels que "Paramètres", "Appels" et "Terminés".

  1. Accédez à Paramètres > Paramètres développeur > Stockage externe > URL de stockage externe.

  2. Sélectionnez la source URL de CRM ou URL de stockage externe pour afficher les fichiers dans l'adaptateur d'agent.

  3. Cliquez sur Enregistrer les modifications.

Stockage CRM

  • Si la case de stockage dans le CRM n'est pas cochée, les enregistrements ne seront stockés que dans le stockage externe et un lien vers le CRM sera utilisé.

  • Si la case est cochée, les enregistrements seront stockés à la fois dans le CRM et dans le stockage externe.

URL de stockage externe

L'URL est utilisée à deux endroits :

  • L'une montre le contenu multimédia dans l'adaptateur CCAI Platform. Le stockage externe ou le CRM.

  • L'autre se trouve dans le rapport. Nous indiquons l'URL du média dans les rapports, ainsi que dans les menus tels que "Paramètres", "Appels" et "Terminés".

Afficher un CRM personnalisé dans le portail CCAI Platform

Lorsque vous utilisez l'intégration CRM personnalisée avec votre propre CRM personnalisé, vous pouvez charger votre CRM sur une page dédiée du portail CCAI Platform. Une fois l'intégration activée, l'onglet "CRM" du portail de la plate-forme CCAI se charge et affiche votre page CRM personnalisée. Vous pouvez configurer cette option dans Paramètres pour les développeurs > CRM.

Cette fonctionnalité permet aux agents de gérer les sessions d'assistance en direct à l'aide des adaptateurs d'appel et de chat de la plate-forme CCAI tout en travaillant dans votre CRM personnalisé. Cela inclut l'examen des détails du compte et de l'enregistrement qui s'ouvrent automatiquement, ainsi que des fichiers et des données spécifiques à la session transmis depuis votre application mobile ou par les consommateurs, le tout à l'aide du portail de la plate-forme CCAI.

Configurer une page CRM personnalisée

Pour configurer une page CRM personnalisée, procédez comme suit :

  1. Dans le portail CCAI Platform, cliquez sur Settings > Developer Settings (Paramètres > Paramètres pour les développeurs). Si le menu Paramètres ne s'affiche pas, cliquez sur  Menu.

  2. Dans le volet CRM, cliquez sur CRM personnalisé.

  3. Activez l'option Afficher le CRM dans le portail CCAI Platform.

  4. Sous URL à afficher, saisissez l'URL de votre page CRM personnalisée, puis cliquez sur Enregistrer.

Ouvrir un écran pop-up avec une URL personnalisée

Utilisez Ouvrir une URL personnalisée pour afficher un pop-up d'URL personnalisée lorsqu'un contact n'est pas trouvé dans le système. Créez un enregistrement CRM avec un ID de compte temporaire et déclenchez un lien personnalisé avec des paramètres basés sur la configuration au niveau de la file d'attente.

Activer le pop-up d'écran pour chaque file d'attente

  1. Accédez à Paramètres > File d'attente > SVI, puis cliquez sur une file d'attente pour la modifier.

  2. Accédez à Ouvrir une URL personnalisée dans le panneau.

  3. Saisissez une URL pour afficher un pop-up.

Incluez les paramètres de variable {ACCOUNT_ID} et {PHONE_NUMBER} dans l'URL.

Un exemple est fourni.

  1. Cliquez sur Enregistrer.

Intégration d'une API générique pour un CRM personnalisé

La méthode d'intégration d'API générique permet d'utiliser l'API de votre CRM pour établir une connexion bidirectionnelle avec la plate-forme CCAI. Cette méthode fluide est identique à l'expérience d'intégration CRM prête à l'emploi.

L'agent n'a aucune action à effectuer pour créer un enregistrement CRM pour les sessions d'appel ou de chat. En fonction de la configuration unique de l'API, elle peut permettre une recherche et une mise à jour fluides des enregistrements.

Terminologie

Durée de validité

Description

Compte

Il est utilisé pour faire référence à l'entité Compte/Contact/Client/Prospect dans le CRM. Votre CRM peut utiliser un autre nom pour cette entité.

Les comptes contiennent des enregistrements.

Enregistrer

Il est utilisé pour désigner l'entité Demande/Ticket/Conversation/Incident dans le CRM. Votre CRM peut utiliser un autre nom pour cette entité.

Les enregistrements appartiennent aux comptes.

Commentaire

Il est utilisé pour faire référence à l'entité "Commentaire/Note" dans le CRM. Votre CRM peut utiliser un autre nom pour cette entité.

Les commentaires appartiennent aux enregistrements.

Paramètres de l'API

Cette section décrit les paramètres spécifiques aux paramètres de l'API CRM personnalisée.

Méthode d'authentification

CCAI Platform est compatible avec trois méthodes d'authentification pour votre CRM :

  • Authentification de base : configurez les identifiants d'authentification, y compris le nom d'utilisateur et le mot de passe.

  • En-tête personnalisé : configurez les paires clé-valeur des en-têtes personnalisés (Clé du champ et Valeur du champ). Saisissez autant de paires que nécessaire.

  • OAuth : la plate-forme CCAI est compatible avec le protocole OAuth 2.0, qui est la norme du secteur pour l'autorisation. Spécifiez les informations OAuth si vous devez activer l'option Inclure l'URL de redirection dans l'URL d'autorisation et l'URL du jeton.

    Configurez les valeurs suivantes :

    • URL d'autorisation (obligatoire)

    • URL du jeton (obligatoire)

    • ID client (obligatoire)

    • Code secret du client (obligatoire)

    • Champ d'application

    • État

    • Type d'accès

Format du numéro de téléphone

Sélectionnez le format de numéro de téléphone à utiliser dans les requêtes CRM :

  • Automatique : Créer : +1 222 333 4444, Rechercher : *222*333*4444

  • E.164 : +12223334444

  • États-Unis (numéro local) : 2223334444

  • Format local standard aux États-Unis : (111) 222-3333

  • International : +1 222 333 4444

Délai avant expiration de la requête API

Configurez le délai avant expiration de la requête API entre 1 et 10 secondes à l'aide du menu déroulant. Ce délai s'appliquera à tous les points de terminaison que vous configurez.

URL de recherche de CRM

Spécifiez les URL de recherche qui seront utilisées pour associer un agent au compte et à l'enregistrement actuels.

Saisissez les URL de recherche telles qu'elles apparaissent dans votre CRM lorsque vous avez ouvert une page de compte ou d'enregistrement dans votre navigateur.

Vous pouvez également utiliser des URL de recherche CRM avec le SDK Web et les SDK mobiles. Vous pouvez configurer les SDK pour rechercher le compte CRM et enregistrer les informations à afficher dans l'adaptateur d'agent. Pour obtenir la liste complète des URL de recherche CRM, consultez Paramètres d'URL de la requête.

URL de recherche de compte

Utilisez la variable {ACCOUNT_ID} pour insérer l'ID de compte réel.

Exemple :

https://www.example.com/contact/{ACCOUNT_ID}

URL de recherche de l'enregistrement

Utilisez la variable {RECORD_ID} pour insérer l'ID d'enregistrement réel.

Exemple :

https://www.example.com/record/{RECORD_ID}

points de terminaison de l'API

Il s'agit de la configuration la plus importante pour l'API générique.

  1. Pour que vos agents puissent rechercher des comptes, vous devez configurer les points de terminaison Find an account (Trouver un compte) et Create an account (Créer un compte).

  2. Vous pouvez également configurer les points de terminaison Find a record (Trouver un enregistrement) et Create a record (Créer un enregistrement) pour permettre à vos agents de rechercher ou de créer des enregistrements. Pour cela, vous devez avoir configuré votre compte à l'étape précédente.

  3. Enfin, si vous saisissez les points de terminaison Update a record (Mettre à jour un enregistrement), Upload a file (Importer un fichier) et Comment (Commentaire), les mises à jour des enregistrements seront activées. Pour cela, vous devez avoir configuré l'enregistrement à l'étape précédente.

Configuration du point de terminaison

Configurez les paramètres suivants :

  1. URL de la requête : URL du point de terminaison de l'API.

  2. Choisissez la méthode de requête parmi POST, GET, PUT ou PATCH.

  3. Spécifiez les paramètres de la requête. Vous pouvez utiliser les variables définies par la plate-forme CCAI pour transmettre les informations requises (voir le tableau ci-dessous). Vous pouvez également saisir du texte brut ou des nombres comme valeurs de paramètres. Vous pouvez ajouter autant de paramètres que nécessaire.

  4. Si le point de terminaison est POST/PUT/PATCH, la plate-forme CCAI offre des contrôles plus précis sur la façon dont la requête est créée. Sélectionnez Demander le format des données dans Propriété ou Conteneur. Il spécifie le format du fichier JSON de la requête.

    • Property. Cela indique que l'objet de requête est une carte de propriétés de base lorsque CCAI Platform crée le corps de la requête à partir des paramètres.

    • Cela indique que les données de l'objet de requête à envoyer doivent être imbriquées dans une structure. Choisissez Type de conteneur dans Map ou Array. Saisissez le nom du conteneur. Il est utilisé comme nom d'objet parent lors de la création du corps de la requête à partir des paramètres.

      • Exemple : Map: { container_name : { ...parameters } }

      • Exemple : Tableau : {container_name : [ { ...parameters } ] }

  5. Saisissez l'emplacement des données de réponse. Il permet de localiser l'objet de réponse cible dans la réponse JSON.

Paramètres d'URL de la requête

Paramètre Variable Commentaire
ID de l'agent {AGENT_ID} ID interne de l'agent.
ID personnalisé de l'agent {AGENT_CUSTOM_ID} Champ facultatif du profil de l'utilisateur.
Adresse e-mail de l'agent {AGENT_EMAIL} Adresse e-mail de l'agent ayant répondu, le cas échéant.
Nom de l'utilisateur final {NAME}
Prénom de l'utilisateur final {FIRST_NAME} Extrait de Name
Nom de famille de l'utilisateur final {LAST_NAME} Tiré de Name, la valeur par défaut est "--" si elle est manquante.
ID externe {UJET_ID} ID utilisateur final CCAI Platform
E-mail {EMAIL}
Type d'appel/Type de session {SESSION_TYPE}
Numéro de téléphone de l'utilisateur final {PHONE_NUMBER} Mise en forme selon le paramètre choisi
ID de l'appel {Call_ID} ID d'appel CCAI Platform.
ID du chat {Chat_ID} ID de chat CCAI Platform.
Langue {LANG}
UID personnalisé {CUSTOM_USER_ID} Pour les appareils mobiles : il s'agit de la partie gauche de l'e-mail. Par exemple, test.user3 à partir de test.user3@test.co
ID de compte {ACCOUNT_ID} Trouvé en appelant le point de terminaison Find/Create contact.
ID d'enregistrement {RECORD_ID} Trouvé en appelant le point de terminaison Find/Create record.
ID de session {SESSION_ID} ID de session CCAI Platform
Chemin d'accès au menu {MENU_PATH}
Numéro de téléphone sortant {OUTBOUND_PHONE_NUMBER} Mise en forme selon le paramètre choisi
Nom de la file d'attente {QUEUE_NAME}
ID de la file d'attente {QUEUE_ID} ID interne de la file d'attente.
Nom du SDK {SDK_NAME} Nom de l'utilisateur final tel qu'indiqué dans le SDK Web ou le SDK mobile.
Adresse e-mail du SDK {SDK_EMAIL} Adresse e-mail de l'utilisateur final, telle qu'indiquée dans le SDK Web ou le SDK mobile.
SDK Phone {SDK_PHONE} Numéro de téléphone de l'utilisateur final, tel qu'indiqué dans le SDK Web ou le SDK mobile.
Identifiant du SDK {SDK_IDENTIFIER} Identifie un utilisateur final ou un compte de SDK Web ou mobile. N'incluez pas d'informations permettant d'identifier personnellement l'utilisateur dans cette propriété. Lors de la création d'un compte, cet identifiant est requis dans la demande.
ID de session SmartAction {SMART_ACTION_SESSION_ID}
SmartAction : validation (Bientôt disponible)
SmartAction : saisie de texte (Bientôt disponible)
Note {RATING} Uniquement disponible si un utilisateur l'a quitté
Message de commentaires {FEEDBACK} Uniquement disponible si un utilisateur l'a quitté
Durée de l'appel {CALL_DURATION} Au format mm:ss
Durée de retenue {HOLD_TIME} Au format mm:ss
Temps d'attente {WAIT_TIME} Au format mm:ss
Durée du travail après appel (Bientôt disponible)
Type d'appareil {DEVICE_TYPE}
Déconnecté par {DISCONNECTED_BY}
Canal {CHANNEL}
Objet de l'enregistrement {TICKET_SUBJECT} Utilisé comme titre de l'enregistrement
Description de l'enregistrement {TICKET_DESCRIPTION}
Description de l'enregistrement HTML {TICKET_DESCRIPTION_HTML} Identique à la description, mais au format HTML
Corps du commentaire {COMMENT_BODY} Uniquement disponible dans la situation "Ajouter un commentaire" (enregistrer la note, mettre fin à l'appel/au chat, appel/chat commencé)
Données de fichiers {FILE_DATA} Disponible uniquement dans le point de terminaison d'importation de fichier, mais contient le base64 ou les données pour le formulaire multipart.

Fonctions de paramètre d'URL de requête

Des fonctions sont fournies pour vous aider à gérer les variables dynamiques de CCAI Platform. Ces fonctions ne peuvent être utilisées que dans la section Paramètre de requête des paramètres de point de terminaison.

La valeur résultante créée à partir d'une fonction sera une chaîne. Si aucune valeur n'est renvoyée par la fonction, le paramètre est supprimé de la liste des paramètres de la requête avant l'exécution.

Fonction Syntaxe de la fonction Description
Valeur par défaut =DEFAULT_VALUE(val1, val2) La valeur utilisera val1, sauf si elle est nulle ou vide, et reviendra par défaut à val2.
Concaténation Or =CONCAT_OR(val1, val2, val3) Concaténation de plusieurs valeurs avec or. Exemple : "val1 or val2 or val3"
Concaténation And =CONCAT_AND(val1, val2, val3) Concaténation de plusieurs valeurs avec and. Exemple : "val1 and val2 and val3"

Exemples

Voici quelques exemples d'utilisation de la fonction de paramètre d'URL de requête.

Par défaut

L'exemple suivant utilise DEFAULT_VALUE dans Create a Record Endpoint. La clé et la valeur de la configuration de l'agent utilisent la fonction par défaut pour avoir une solution de secours en cas de valeur vide pour l'adresse e-mail d'un agent. L'adresse e-mail de l'agent peut être vide lors de la création de l'enregistrement pour plusieurs raisons : un client peut avoir mis fin à l'appel SVI avant qu'un agent attribué ne réponde à l'appel entrant, ou dans le cas des discussions, un enregistrement sera créé avant qu'un agent ne réponde. De cette façon, les paramètres requis peuvent être définis par défaut sur des valeurs sûres jusqu'à ce que des mises à jour ultérieures soient effectuées ou définis en cas d'appels abandonnés.

Modifier le champ

Concaténation

L'exemple suivant utilise CONCAT_OR dans le point de terminaison Find an Account by Query. Cet exemple est spécifique à Zoho CRM, mais montre comment utiliser CONCAT_OR. CONCAT_AND suit les mêmes règles, mais relie les valeurs avec and au lieu de or. Consultez les cas suivants pour connaître les valeurs présentes dans le point de terminaison au moment de l'exécution et la valeur résultante transmise en tant que paramètre de requête.

Clés présentes Valeur obtenue
ACCOUNT_ID (Id:equals:<uuid>)
ACCOUNT_ID, EMAIL (Id:equals:<uuid>) ou (Email:equals:kim@example)
PHONE_NUMBER, EMAIL (Phone:equals:+12223334444) ou (Email:equals:kim@example)

Compte d'API

Les points de terminaison du compte d'API permettent l'intégration aux comptes du CRM.

Les appels aux points de terminaison qui renvoient une erreur 400 sont relancés. Les appels qui renvoient d'autres erreurs ne sont pas relancés. Les nouvelles tentatives se poursuivent pendant une semaine, en diminuant avec une diminution exponentielle. Pour en savoir plus sur les flux d'API, consultez API générique de CRM personnalisé : flux.

Point de terminaison "Find an account by query" (anciennement "Find an account")

Ce point de terminaison permet de trouver un compte à l'aide d'un numéro de téléphone, d'une adresse e-mail ou d'un ID CRM interne. Il s'agit du point de terminaison par défaut utilisé pour trouver un compte.

Exemple de réponse :

{
  "id": 123,
  "name": "Kim",
  "phone": "11234567890",
  "email": "Kim@agents.co"
}

Point de terminaison "Find an account by ID" (Trouver un compte par ID)

Ce point de terminaison permet de trouver un compte par ID. En général, cet ID fait partie de l'URL. La validation de l'URL tiendra également compte du fait que l'URL n'est pas formée avec l'ID. Dans ce cas, ce point de terminaison ne sera pas utilisé. Cela suivra les normes REST. Si une erreur 404 est renvoyée lors d'une recherche infructueuse, la méthode "find by query" est utilisée.

Exemple de réponse :

{
  "id": 123,
  "name": "Kim",
  "phone": "11234567890",
  "email": "Kim@agents.co"
}

Créer un point de terminaison de compte

Ce point de terminaison permet de créer un compte si nous n'en avons pas trouvé. La plupart des CRM exigent que les enregistrements soient associés à des comptes. Pour créer un flux unifié, nous appliquons cette exigence à tous les CRM.

Enregistrement de l'API

Les points de terminaison d'enregistrement de l'API permettent de s'intégrer aux enregistrements ou aux demandes dans votre CRM.

Rechercher un enregistrement par requête (anciennement le point de terminaison "Rechercher un enregistrement")

Ce point de terminaison permet de trouver un enregistrement selon un critère. En règle générale, cette option permet de trouver les enregistrements associés à un compte. Si la plate-forme CCAI est configurée pour réutiliser les enregistrements existants, l'enregistrement trouvé sera utilisé. Il s'agit du point de terminaison par défaut utilisé pour trouver un enregistrement.

Exemple de réponse :

{
  "id": 456,
  "subject": "Record title",
  "status": "open", // enumerated status open/closed, or 1,2,3
  "contactId": 123, // contact attached to ticket
  "phone": "11234567890", // contact phone
}

Créer un point de terminaison d'enregistrement

Ce point de terminaison permet de créer un enregistrement. Un enregistrement est créé si aucun enregistrement n'est trouvé dans la demande Find a record ou si CCAI Platform est configuré pour ne pas réutiliser les enregistrements existants.

Exemple de requête :

{
  "id": 123,
  "subject": "Record title", 
  "description": "A longer description of the record, can be formatted in html",
  "phone": "11234567890", // can be saved in multiple formats
  "contactId": 123,
  "sourceType": "PHONE", // PHONE/CHAT
  "menu": "queue1",
  "direction": "outgoing",
  "rating": 5, // 1-5 scale
  "feedback": "the agent was great!" // description of rating
}

Mettre à jour un point de terminaison d'enregistrement

Ce point de terminaison permet de mettre à jour un enregistrement. Il met à jour le titre et la description de l'enregistrement. Ce point de terminaison permet également de mettre à jour l'enregistrement en fonction des événements de la plate-forme CCAI, tels que les événements d'enregistrement de la note de satisfaction client, de fin d'appel ou de chat, de sélection de files d'attente, de validation des utilisateurs, etc.

Point de terminaison d'importation de fichier

Ce point de terminaison est utilisé pour importer une pièce jointe.

Choisissez le type de votre point de terminaison d'importation.

  • Formulaire encodé en base64

  • Formulaire multipart

Sélectionner les fichiers à joindre

  • Enregistrements d'appels

  • Transcriptions de chat

  • Messages vocaux

  • Google Photos

  • Vidéos

  • Fichier de métadonnées de session

Choisissez Attachment Type (Type de pièce jointe) dans ID et Attachment URL (URL de la pièce jointe). Il spécifie le format du JSON de réponse.

  • ID

  • ID de la pièce jointe : Saisissez l'emplacement d'un paramètre dans la réponse JSON pour l'ID de la pièce jointe. Il sera disponible pour l'URL du générateur de pièces jointes sous la forme {ATTACHMENT_ID}.

  • URL de l'outil de création de pièces jointes Saisissez l'URL pour télécharger la pièce jointe. Les variables RECORD_ID et ATTACHMENT_ID sont disponibles.

    Exemple : https://www.example.com/Accounts/{RECORD_ID}/Attachments/{ATTACHMENT_ID}

  • URL de la pièce jointe

    Saisissez l'emplacement d'un paramètre dans la réponse JSON pour l'URL de téléchargement du fichier.

Cochez la case Ajouter un commentaire à l'enregistrement du CRM si vous souhaitez que la plate-forme CCAI ajoute un commentaire à un enregistrement lorsqu'un fichier a été importé. Le paramètre "Format du texte" du point de terminaison des commentaires sera respecté pour ces commentaires.

L'exemple suivant est un exemple de formulaire multipartie utilisant POST/PUT/PATCH :

{
  "file": <file data>
  "id": 123, // optional, this can also just be part of the URL;
             // for example https://example-customer.com/upload/record/{RECORD_ID}
}

Exemple de réponse :

Exemple A : Une URL de téléchargement existe

{
  "id": 123,
  "url": "https://some-hosted-url.com"
}

Exemple B

Dans ce cas, il n'existe pas d'URL de téléchargement, mais il existe un point de terminaison de pièce jointe de téléchargement qui utilise cet ID. Par exemple, https://www.customer-api.com/record/{RECORD_ID}/Attachments/{ATTACHMENT_ID}.

{
  "id": 123
}
Point de terminaison des commentaires

Ce point de terminaison permet d'ajouter un commentaire à un enregistrement. Si le point de terminaison est configuré, CCAI Platform ajoute des commentaires aux enregistrements avec les événements suivants :

  • début d'un appel ou d'un chat

  • fin d'un appel ou d'une discussion ;

  • Note et commentaire CSAT

  • package de données personnalisées

  • transférer des commentaires

  • code et notes de disposition.

  • Questions et réponses de l'enquête

Choisissez Format du texte pour les commentaires. Si la case Convertir le texte en HTML est cochée, le texte sera au format HTML. Sinon, il sera au format texte brut.

Exemple de requête, POST/PUT/PATCH :

{
  "comment": "Some text",
 // string can also be formatted on ujet side as html
  "id": 123,
 // optional, this can also just be part of the URL;
 // for example https://example-customer.com/comment/record/{RECORD_ID}
}

API générique de CRM personnalisé : flux

Cette section fournit des organigrammes pour les flux d'API génériques de CRM personnalisé.

Organigrammes de base

Organigramme de base

Parcours "Trouver ou créer un compte"

Parcours &quot;Trouver ou créer un compte&quot;

Rechercher ou créer un flux d'enregistrement

Rechercher ou créer un flux d&#39;enregistrement

Flux des actions après un appel ou un chat

Flux des actions après un appel ou un chat

Mettre à jour le flux d'enregistrement

Mettre à jour le flux d&#39;enregistrement

Flux de commentaires

Flux de commentaires

Processus d'importation de fichiers

Processus d&#39;importation de fichiers

Adaptateurs pour les agents

Un CRM personnalisé offre une méthode générique pour intégrer des adaptateurs (widgets d'interface utilisateur) dans les systèmes CRM. Le système CRM doit être en mesure de gérer la façon dont les adaptateurs sont activés et déclenchés.

Pour intégrer des adaptateurs d'interface utilisateur, un logiciel ou une application CRM est généralement nécessaire. Nous proposons déjà cette fonctionnalité pour plusieurs logiciels CRM tels que Salesforce, Kustomer, Zendesk et d'autres.

iFrame

Les adaptateurs d'agent peuvent être intégrés de manière transparente à un CRM ou à tout autre outil à l'aide d'une balise iFrame. Pour en savoir plus sur le tag iFrame HTML, consultez Tag iFrame HTML.

Toutefois, le CRM doit gérer la façon dont les adaptateurs sont présentés à l'utilisateur. Par exemple, il peut comporter des boutons d'interface utilisateur permettant d'afficher et de masquer les adaptateurs. De plus, les adaptateurs peuvent être conçus pour être déplaçables, ce qui permet à l'agent de les repositionner sur l'écran à sa convenance. Les exemples suivants illustrent le format des URL.

Adaptateur d'appel : https://tenant.loc.ccaiplatform.com/agent/?type=call&from=custom

Adaptateur de chat : https://tenant.loc.ccaiplatform.com/agent/?type=chat&from=custom

Modèle iFrame

Adaptateur d'appel : html <iframe src="https://tenant.loc.CCAI Platformlatform.com/agent/?type=call&from=custom" allow="microphone; camera; geolocation" width="290" height="600"></iframe>

Adaptateur de chat : html <iframe src="https://tenant.loc.CCAI Platformlatform.com/agent/?type=chat&from=custom" allow="microphone; camera; geolocation" width="450" height="590"></iframe>

Paramètres d'URL

Les paramètres d'URL peuvent être utilisés pour fournir des informations supplémentaires au logiciel, comme le type d'interaction (appel ou chat), la source de l'interaction (personnalisée) et d'autres détails pertinents.

Si le paramètre CRM du locataire n'est pas disponible dans les listes, le paramètre De doit toujours être défini sur Personnalisé.

Type

  • Appel
  • Chat

De

  • Personnalisé (doit correspondre au paramètre CRM du locataire). Il doit toujours être défini sur custom (personnalisé) pour tout CRM ne figurant pas dans les listes. Si aucun CRM n'est configuré, vous pouvez ignorer ce paramètre.

Événements dans les adaptateurs d'agent

Les adaptateurs d'agent publient des événements auxquels le système CRM peut se connecter, puis traitent les mises à jour du CRM. Pour ce faire, le CRM doit écouter les messages de la fenêtre parente et lire les données des messages. En fonction des données, il peut déclencher des actions telles que l'ouverture d'un onglet de ticket pour un ID de session spécifique.

Les adaptateurs d'appel et de chat disposent d'événements spécifiques qui peuvent être utilisés pour améliorer les fonctionnalités du CRM.

Adaptateur d'appel

  • Nouvel appel
  • La rédaction de l'appel a commencé
  • La rédaction de l'appel est terminée
  • Mettre fin à l'appel

Adaptateur pour les chats

  • Nouveau chat
  • Discussion active
  • Message entrant dans Chat
  • Message sortant Chat
  • Arrêter le chat
  • Discussion fermée

Les deux adaptateurs

  • Connexion de l'agent
  • Session de partage d'écran démarrée
  • La télécommande de la session de partage d'écran a été modifiée
  • L'appareil complet de la session de partage d'écran a été modifié
  • Session de partage d'écran terminée
  • Transfert
  • Vous avez été ajouté à un groupe
  • L'agent se connecte à la session
  • Déconnexion de l'agent
  • Agent Assist ajouté

Données pour les événements

  • call_id : identifiant d'un appel vocal entrant avec RVI (réponse vocale interactive).

  • chat_id : identifiant d'un appel entrant de messagerie (chat Web ou mobile).

  • cobrowse_session_id : identifiant d'une session de partage d'écran. Une session de partage d'écran peut être lancée lors d'un appel ou d'une session de chat.

  • session_type : type de session (voix, chat ou messagerie, par exemple).

  • va_data_parameters : toutes les variables configurées dans la file d'attente à envoyer à l'agent virtuel. Cette information n'est requise que pour les événements impliquant l'agent virtuel. Facultatif.

  • session_variable : toutes les variables de l'agent virtuel qui sont envoyées à CCAI Platform dans la charge utile. Facultatif.

  • custom_sip_headers : permet aux en-têtes SIP personnalisés des appels SIP entrants d'apparaître dans le journal des événements POST. Il n'est requis que si des en-têtes SIP personnalisés sont utilisés. Facultatif.

  • custom_data_secured : contient des données personnalisées signées provenant de votre serveur. Facultatif.

  • custom_data_not_secured : contient des données personnalisées non signées provenant de votre page Web. Pour en savoir plus, consultez Données personnalisées non signées pour le chat. Facultatif.

ID d'agent

  • agent_id : identifiant d'un agent.
  • from_agent_id : utilisé lors du transfert d'appels ou de chats d'un agent à un autre, pour indiquer l'agent d'origine.
  • to_agent_id : utilisé lors du transfert d'appels ou de discussions d'un agent à un autre, pour indiquer l'agent de destination.
  • agent_custom_id : ID d'agent du profil utilisateur, s'il a été saisi dans le profil. Facultatif.
  • from_agent_custom_id : utilisé lors du transfert d'appels ou de chats d'un agent à un autre, pour indiquer l'agent d'origine.
  • to_agent_custom_id : utilisé lors du transfert d'appels ou de discussions d'un agent à un autre, pour indiquer l'agent de destination.
  • agent_email : adresse e-mail de l'agent.
  • from_agent_email : utilisé lors du transfert d'appels ou de chats d'un agent à un autre, pour indiquer l'agent d'origine.
  • to_agent_email : utilisé lors du transfert d'appels ou de discussions d'un agent à un autre, pour indiquer l'agent de destination.

ID d'agent virtuel

  • virtual_agent_id : il s'agit du numéro d'ID attribué à un agent virtuel spécifique.

ID de file d'attente

  • queue_id : identifiant d'une file d'attente CCAI Platform. Il n'existe que lorsque l'appel provient d'une file d'attente.
  • from_queue_id : utilisé lors du routage des appels ou des discussions d'une file d'attente à une autre, pour indiquer la file d'attente d'origine.
  • to_queue_id : utilisé lors du routage des appels ou des chats d'une file d'attente vers une autre, pour indiquer la file d'attente de destination.
  • queue_path : il s'agit du chemin d'accès à une file d'attente CCAI Platform. Il n'existe que lorsque l'appel provient d'une file d'attente.
  • from_queue_path : utilisé lors du routage des appels ou des discussions d'une file d'attente à une autre, pour indiquer la file d'attente d'origine.
  • to_queue_path : utilisé lors du routage des appels ou des chats d'une file d'attente vers une autre, pour indiquer la file d'attente de destination.

Campaign ID

  • campaign_id : ID de campagne CCAI Platform. Elles ne sont incluses que si le type d'appel est un appel de campagne.
  • campaign_name : nom d'une campagne CCAI Platform. Elles ne sont incluses que si le type d'appel est un appel de campagne.

Message

  • message : événement indiquant qu'un nouveau message de consommateur a été reçu, ainsi que le contenu du message.

Types de sessions

  • session_type : type de session CCAI Platform.
  • cobrowse_session_remote_control : indique l'état d'une session de partage d'écran à distance demandée. Valeurs : off, requested, rejected, on.
  • cobrowse_session_full_device : indique l'état d'une session de partage d'écran complet de l'appareil. Valeurs : off, requested, rejected, on.

Participants

  • type : type de participant : end_user, agent (à partir de participants.type de la réponse /api/v1/calls ou /api/v1/chats).

  • cobrowse_session_requested_by : indique qui a lancé une session de partage d'écran. Les valeurs possibles sont agent ou end_user.

  • cobrowse_session_ended_by : indique qui a mis fin à une session de partage d'écran. Les valeurs possibles sont agent, end_user ou api.

  • end_user_id : participants.end_user_id de la réponse /api/v1/calls ou /api/v1/chats. Ce champ n'est présent que si le type est end_user.

Types d'interaction / de session

Types d'appels

  • Appels vocaux entrants : appels RTCP standards.
  • Appels vocaux entrants (SVI utilisant le mobile) : appels RTCP de secours passés depuis le SDK Mobile.
  • Voix entrante (mobile) : placée par les consommateurs à l'aide d'un SDK mobile installé.
  • Rappel vocal (Web) : initié à partir du SDK Web.
  • Voix entrante (API) : initiée à l'aide de l'API.
  • Voix programmée (mobile) : programmée à l'aide d'un SDK mobile installé.
  • Voix planifiée (Web) : planifiée à l'aide d'un SDK Web installé.
  • Sortant vocal : appel initié par un agent en composant un numéro.
  • Sortant vocal (API) : initié à l'aide de l'API.
  • Campagne vocale : campagne lancée à l'aide d'un système d'appel sortant.

Types de discussions

  • Messagerie (WhatsApp) : initiée à l'aide de WhatsApp.
  • Messages entrants (SMS)
  • Messagerie sortante (SMS)
  • Messagerie sortante (SMS via l'API)
  • Messagerie (Web) : initiée à l'aide d'un SDK Web installé.
  • Messagerie (mobile) : initiée à l'aide d'un SDK mobile installé.

Type d'appel ou de chat

  • Session de partage d'écran : lancée par un agent ou un utilisateur final pendant un appel ou une discussion.

Types d'événement

Voici les types d'événements publiés par l'adaptateur d'agent :

Connexion de l'agent

Un événement de connexion d'agent se produit lorsque l'agent se connecte à l'adaptateur.

Voici un exemple d'événement Agent_Login :

{
  "type": "Agent_Login",
    "data": {
    "agent_id": 1,
    "agent_custom_id": "007",
    "agent_email": "Kim@example.com",
  }
}

Voici la description des champs de données d'événement :

  • agent_id : identifiant de l'agent

  • Facultatif : agent_custom_id : identifiant personnalisé de l'agent, s'il a été saisi dans son profil.

  • agent_email : adresse e-mail associée au compte de l'agent.

Nouvel appel

Un événement d'appel se produit lorsqu'un agent répond à un appel. Cet événement contient des informations telles que la date et l'heure de début de l'appel, l'agent qui l'a traité et l'origine de l'appel.

Voici un exemple d'événement New_Call :

{
  "type": "New_Call",
  "data": {
    "agent_id": 1,
    "agent_custom_id": "007",
    "agent_email": "Kim@example.com",
    "queue_id": 8469,
    "queue_path": "Developers / Kim",
    "campaign_id": 1432,
    "campaign_name": "Survey Movie",
    "call_id": 103646,
    "session_type": "Voice Campaign (UJET)"
  }
}

Voici la description des champs de données d'événement :

  • agent_id : identifiant de l'agent

  • agent_custom_id : identifiant personnalisé de l'agent, s'il a été saisi dans son profil. Facultatif.

  • agent_email : adresse e-mail associée au compte de l'agent

  • queue_id : identifiant de la file d'attente d'où provient l'appel. Ce champ est inclus lorsque l'appel provient d'une file d'attente. Facultatif.

  • queue_path : chemin d'accès de la file d'attente à partir de laquelle l'appel a été effectué. Ce champ est inclus lorsque l'appel provient d'une file d'attente. Facultatif.

  • campaign_id : identifiant de la campagne. Ce champ est inclus pour un appel de campagne. Facultatif.

  • campaign_name : nom de la campagne. Ce champ est inclus pour un appel de campagne. Facultatif.

  • call_id : identifiant de l'appel

  • session_type : type de session

  • virtual_agent_id : identifiant de l'agent virtuel. Ce champ est inclus pour les événements impliquant l'agent virtuel. Facultatif.

  • va_data_parameters : variables configurées dans la file d'attente à envoyer à l'agent virtuel. Ce champ est inclus pour les événements impliquant l'agent virtuel. Facultatif.

  • session_variable : toutes les variables de l'agent virtuel envoyées à Contact Center AI Platform. Facultatif.

  • custom_sip_headers : permet aux en-têtes SIP (Session Initiation Protocol) personnalisés des appels SIP entrants d'apparaître dans le journal des événements POST. Ce champ est inclus si des en-têtes SIP personnalisés sont utilisés. Facultatif.

  • custom_data_secured : contient des données personnalisées signées provenant de votre serveur. Facultatif.

  • custom_data_not_secured : contient des données personnalisées non signées provenant de votre page Web. Pour en savoir plus, consultez Chatter des données personnalisées non signées. Facultatif.

La rédaction de l'appel a commencé

Un événement "Rédaction d'un appel commencée" se produit lorsqu'une rédaction d'appel a commencé et n'est pas en cours d'enregistrement. Les données d'événement se composent de l'ID de l'agent qui a traité l'appel et de l'ID de l'appel.

  • agent_id : ID de l'agent qui a traité l'appel
  • call_id : ID de l'appel

Voici un exemple d'événement "La rédaction d'un appel a commencé" :

{
  "agent_id": 2896,
  "call_id": 97939
}

La rédaction d'appels a été interrompue

L'événement "Arrêt de la suppression des données sensibles de l'appel" se produit lorsqu'une suppression des données sensibles d'un appel est terminée et que l'enregistrement a repris. Cet événement se compose de l'ID de l'agent qui a traité l'appel et de l'call ID.

  • agent_id : ID de l'agent qui a traité l'appel
  • call_id : ID de l'appel

Voici un exemple de données d'événement d'arrêt de la rédaction d'un appel :

{
  "agent_id": 2896,
  "call_id": 97939
}

Mettre fin à l'appel

Un événement de fin d'appel se produit lorsqu'un appel se termine. Cet événement contient des informations telles que la date et l'heure de fin de l'appel, l'agent qui l'a traité et l'origine de l'appel.

Voici un exemple d'événement End_Call :

{
  "type": "End_Call",
  "data": {
    "agent_id": 1,
    "agent_custom_id": "007",
    "agent_email": "Kim@example.com",
    "queue_id": 8469,
    "queue_path": "Developers / Kim",
    "campaign_id": 1432,
    "campaign_name": "Survey Movie",
    "call_id": 103646,
    "session_type": "Voice Campaign (UJET)"
  }
}

Voici la description des champs de données d'événement :

  • agent_id : identifiant de l'agent

  • agent_custom_id : identifiant personnalisé de l'agent, s'il a été saisi dans son profil. Facultatif.

  • agent_email : adresse e-mail associée au compte de l'agent

  • queue_id : identifiant de la file d'attente d'où provient l'appel. Ce champ est inclus lorsque l'appel provient d'une file d'attente. Facultatif.

  • queue_path : chemin d'accès de la file d'attente à partir de laquelle l'appel a été effectué. Ce champ est inclus lorsque l'appel provient d'une file d'attente. Facultatif.

  • campaign_id : identifiant de la campagne. Ce champ est inclus pour un appel de campagne. Facultatif.

  • campaign_name : nom de la campagne. Ce champ est inclus pour un appel de campagne. Facultatif.

  • call_id : identifiant de l'appel

  • session_type : type de session

  • virtual_agent_id : identifiant de l'agent virtuel. Ce champ est inclus pour les événements impliquant l'agent virtuel. Facultatif.

  • va_data_parameters : variables configurées dans la file d'attente à envoyer à l'agent virtuel. Ce champ est inclus pour les événements impliquant l'agent virtuel. Facultatif.

  • session_variable : toutes les variables de l'agent virtuel envoyées à Contact Center AI Platform. Facultatif.

  • custom_sip_headers : permet aux en-têtes SIP (Session Initiation Protocol) personnalisés des appels SIP entrants d'apparaître dans le journal des événements POST. Ce champ est inclus si des en-têtes SIP personnalisés sont utilisés. Facultatif.

  • custom_data_secured : contient des données personnalisées signées provenant de votre serveur. Facultatif.

  • custom_data_not_secured : contient des données personnalisées non signées provenant de votre page Web. Pour en savoir plus, consultez Données personnalisées non signées du chat (facultatif). Facultatif.

Nouveau chat

Un nouvel événement de chat se produit lorsqu'un agent prend en charge une session de chat. Cet événement indique le début du chat et contient des informations telles que l'agent qui a traité le chat et l'origine du chat.

Voici un exemple d'événement New_chat :

{
  "type": "New_Chat",
  "data": {
    "chat_id": 73522,
    "session_type": "messaging inbound (web chat)",
    "agent_id": 1,
    "agent_email": "ariel@example.com",
    "queue_id": 7678,
    "queue_path": "HB TEAM / Ariel"
  }
}

Voici la description des champs de données d'événement :

  • chat_id : identifiant du chat

  • session_type : type de session

  • agent_id : identifiant de l'agent

  • agent_custom_id : identifiant personnalisé de l'agent, s'il a été saisi dans son profil. Facultatif.

  • agent_email : adresse e-mail associée au compte de l'agent.

  • queue_id : identifiant de la file d'attente d'où provient l'appel. Ce champ est inclus lorsque l'appel provient d'une file d'attente. Facultatif.

  • queue_path : chemin d'accès de la file d'attente à partir de laquelle l'appel a été effectué. Ce champ est inclus lorsque l'appel provient d'une file d'attente. Facultatif.

  • custom_data_secured : contient des données personnalisées signées provenant de votre serveur. Facultatif.

  • custom_data_not_secured : contient des données personnalisées non signées provenant de votre page Web. Pour en savoir plus, consultez Données personnalisées non signées du chat (facultatif). Facultatif.

Arrêter le chat

Un événement de fin de chat se produit lorsqu'une session de chat se termine. Cet événement indique la fin du chat et contient des informations telles que l'agent qui a traité le chat et l'origine du chat.

Voici un exemple d'événement End_Chat :

{
  "type": "End_Chat",
  "data": {
    "chat_id": 73522,
    "session_type": "Messaging Inbound (Web Chat)",
    "agent_id": 1,
    "agent_email": "ariel@example.com",
    "queue_id": null,
    "queue_path": null,
    "agent_custom_id": null
  }
}

Voici la description des champs de données d'événement :

  • chat_id : identifiant du chat.

  • session_type : type de session.

  • agent_id : identifiant de l'agent.

  • agent_custom_id : identifiant personnalisé de l'agent, s'il a été saisi dans son profil. Facultatif.

  • agent_email : adresse e-mail associée au compte de l'agent.

  • queue_id : identifiant de la file d'attente d'où provient l'appel. Ce champ est inclus lorsque l'appel provient d'une file d'attente. Facultatif.

  • queue_path : chemin d'accès de la file d'attente à partir de laquelle l'appel a été effectué. Ce champ est inclus lorsque l'appel provient d'une file d'attente. Facultatif.

  • custom_data_secured : contient des données personnalisées signées provenant de votre serveur. Facultatif.

  • custom_data_not_secured : contient des données personnalisées non signées provenant de votre page Web. Pour en savoir plus, consultez Données personnalisées non signées du chat (facultatif). Facultatif.

Discussion active

Un événement de chat actif se produit lorsque l'agent passe à un onglet de chat dans l'adaptateur de chat.

Voici un exemple d'événement Active_Chat :

{
  "type": "Active_Chat",
  "data": {
    "chat_id": 73521,
    "session_type": "messaging inbound (web chat)",
    "agent_id": 1,
    "agent_email": "ariel@example.com",
    "queue_id": 7678,
    "queue_path": "HB TEAM / Ariel"
  }
}

Voici la description des champs de données d'événement :

  • chat_id : identifiant du chat

  • session_type : type de session

  • agent_id : identifiant de l'agent

  • agent_custom_id : identifiant personnalisé de l'agent, s'il a été saisi dans son profil. Facultatif.

  • agent_email : adresse e-mail associée au compte de l'agent.

  • queue_id : identifiant de la file d'attente d'où provient l'appel. Ce champ est inclus lorsque l'appel provient d'une file d'attente. Facultatif.

  • queue_path : chemin d'accès de la file d'attente à partir de laquelle l'appel a été effectué. Ce champ est inclus lorsque l'appel provient d'une file d'attente. Facultatif.

  • custom_data_secured : contient des données personnalisées signées provenant de votre serveur. Facultatif.

  • custom_data_not_secured : contient des données personnalisées non signées provenant de votre page Web. Pour en savoir plus, consultez Données personnalisées non signées du chat (facultatif). Facultatif.

Message entrant dans le chat

Un événement de message entrant dans le chat indique qu'un nouveau message client a été reçu. Il inclut le contenu du message.

Les données des champs suivants sont signalées pour un événement de message entrant dans le chat :

  • chat_id : identifie la session de chat

  • session_type : indique le type de session en cours de création, par exemple les messages entrants via le chat Web.

  • agent_id : identifie l'agent qui gère la session de chat.

  • agent_custom_id : ce champ n'existe que si le profil de l'agent inclut un ID personnalisé. Facultatif.

  • agent_email : adresse e-mail de l'agent qui gère la session de chat. Ce champ n'est inclus que lorsque le chat provient d'une file d'attente. Facultatif.

  • queue_id : ID de la file d'attente à partir de laquelle la session de chat a été lancée. Ce champ n'est inclus que lorsque le chat provient d'une file d'attente.

  • queue_path : chemin d'accès de la file d'attente à partir de laquelle la session de chat a été lancée. Ce champ n'est inclus que lorsque le chat provient d'une file d'attente.

  • message : événement indiquant qu'un nouveau message de consommateur a été reçu, ainsi que le contenu du message

  • custom_data_secured : permet la transmission de données personnalisées sécurisées du SDK. Facultatif.

  • custom_data_not_secured : permet la transmission de données personnalisées non sécurisées du SDK. Facultatif.

Voici un exemple d'événement Chat_Inbound_Message :

{
  "type": "Chat_Inbound_Message",
  "data": {
    "chat_id": 73522,
    "session_type": "messaging inbound (web chat)",
    "agent_id": 1,
    "agent_email": "ariel@example.com",
    "queue_id": 7678,
    "queue_path": "HB TEAM / Ariel",
    "message" : "Can you help me with my order tracking number?"
  }
}

Message sortant de chat

Un événement de message sortant de chat se produit lorsqu'un nouveau message de consommateur est reçu. Il inclut le contenu du message.

Les données des champs suivants sont signalées pour un événement de message sortant de chat :

  • chat_id : identifie la session de chat

  • session_type : indique le type de session en cours de création, par exemple les messages entrants via le chat Web.

  • agent_id : identifie l'agent qui gère la session de chat.

  • agent_custom_id : ce champ n'est inclus que si le profil de l'agent possède un ID personnalisé. Facultatif.

  • agent_email : adresse e-mail de l'agent qui gère la session de chat. Ce champ n'est inclus que lorsque le chat provient d'une file d'attente. Facultatif.

  • queue_id : ID de la file d'attente à partir de laquelle la session de chat a été lancée. Ce champ n'est inclus que lorsque le chat provient d'une file d'attente.

  • queue_path : chemin d'accès de la file d'attente à partir de laquelle la session de chat a été lancée. Ce champ n'est inclus que lorsque le chat provient d'une file d'attente.

  • message : l'événement indique qu'un nouveau message de consommateur a été reçu, ainsi que le contenu du message.

  • custom_data_secured : permet la transmission de données personnalisées sécurisées du SDK. Facultatif.

  • custom_data_not_secured : permet la transmission de données personnalisées non sécurisées du SDK. Facultatif.

Voici un exemple d'événement Chat_Outbound_Message :

{
  "type": "Chat_Outbound_Message",
  "data": {
    "chat_id": 73522,
    "session_type": "messaging inbound (web chat)",
    "agent_id": 1,
    "agent_email": "ariel@example.com",
    "queue_id": 7678,
    "queue_path": "HB TEAM / Ariel",
    "message" : "Please give me a moment to look up your account information"
  }
}

Discussion fermée

Un événement de chat ignoré se produit lorsque l'agent ferme l'onglet de chat dans l'adaptateur de chat.

Voici un exemple d'événement Dismissed_Chat :

{
  "type":"Dismissed_Chat",
  "data":{"chat_id":73522,
    "session_type":"Messaging Inbound (Web Chat)",
    "agent_id":1,
    "agent_email":"ariel@example.com"
  }
}

Voici la description des champs de données d'événement :

  • chat_id : identifiant du chat

  • session_type : type de session

  • agent_id : identifiant de l'agent

  • agent_custom_id : identifiant personnalisé de l'agent, s'il a été saisi dans son profil. Facultatif.

  • agent_email : adresse e-mail associée au compte de l'agent

  • queue_id : identifiant de la file d'attente d'où provient l'appel. Ce champ est inclus lorsque l'appel provient d'une file d'attente. Facultatif.

  • queue_path : chemin d'accès de la file d'attente à partir de laquelle l'appel a été effectué. Ce champ est inclus lorsque l'appel provient d'une file d'attente. Facultatif.

  • custom_data_secured : contient des données personnalisées signées provenant de votre serveur. Facultatif.

  • custom_data_not_secured : contient des données personnalisées non signées provenant de votre page Web. Pour en savoir plus, consultez Données personnalisées non signées du chat (facultatif). Facultatif.

Session de partage d'écran démarrée

Un événement Session de partage d'écran démarrée se produit lorsqu'un agent ou un utilisateur final démarre une session de partage d'écran. Vous pouvez démarrer une session de partage d'écran pendant un appel ou une discussion. Pour en savoir plus, consultez Partage d'écran.

Voici un exemple d'objet JSON pour un événement de début de session de partage d'écran :

{
  "type": "Cobrowse_Session_Started",
  "data": {
    "agent_id": 5,
    "chat_id": 791,
    "cobrowse_session_id": "Y1zYY6XIYX4oapqpEz3qHw",
    "cobrowse_session_requested_by": "agent",
    "cobrowse_session_remote_control": "off",
    "cobrowse_session_full_device": "off"
  }
}

Voici la description des champs de données d'événement :

  • agent_id : identifiant de l'agent.

  • call_id : identifiant d'un appel entrant sur le canal IVR (réponse vocale interactive). Ce champ est inclus si la session de partage d'écran a été démarrée pendant un appel.

  • chat_id : identifiant d'un chat entrant sur le canal Web ou mobile. Ce champ est inclus si la session de partage d'écran a été démarrée pendant une discussion.

  • cobrowse_session_id : identifiant d'une session de partage d'écran.

  • cobrowse_session_requested_by : indique qui a lancé une session de partage d'écran. Les valeurs sont agent et end-user.

  • cobrowse_session_remote_control : indique l'état d'une session de partage d'écran avec contrôle à distance. Les valeurs sont on, rejected, requested et off.

  • cobrowse_session_full_device : indique l'état d'une session de partage d'écran complet de l'appareil. Les valeurs sont on, rejected, requested et off.

  • custom_data_secured : contient des données personnalisées signées provenant de votre serveur. Facultatif.

  • custom_data_not_secured : contient des données personnalisées non signées provenant de votre page Web. Pour en savoir plus, consultez Données personnalisées non signées du chat (facultatif). Facultatif.

La télécommande de la session de partage d'écran a été modifiée

Un événement de modification de la télécommande d'une session de partage d'écran se produit lorsque l'état d'une session de partage d'écran avec télécommande change. Cet événement indique l'état de la session de partage d'écran avec la télécommande. Pour en savoir plus, consultez Partage d'écran.

Voici un exemple d'objet JSON pour un événement Cobrowse_Session_Remote_Control_Changed :

{
  "type": "Cobrowse_Session_Remote_Control_Changed",
  "data": {
    "agent_id": 5,
    "chat_id": 791,
    "cobrowse_session_id": "Y1zYY6XIYX4oapqpEz3qHw",
    "cobrowse_session_remote_control": "requested"
  }
}

Voici la description des champs de données d'événement :

  • agent_id : identifiant de l'agent.

  • call_id : identifiant d'un appel entrant sur le canal IVR (réponse vocale interactive). Ce champ est inclus si la session de partage d'écran a été démarrée pendant un appel.

  • chat_id : identifiant d'un chat entrant sur le canal Web ou mobile. Ce champ est inclus si la session de partage d'écran a été lancée lors d'une discussion.

  • cobrowse_session_id : identifiant d'une session de partage d'écran.

  • cobrowse_session_remote_control : indique l'état d'une session de partage d'écran avec contrôle à distance. Les valeurs sont on, rejected, requested et off.

  • custom_data_secured : contient des données personnalisées signées provenant de votre serveur. Facultatif.

  • custom_data_not_secured : contient des données personnalisées non signées provenant de votre page Web. Pour en savoir plus, consultez Données personnalisées non signées du chat (facultatif). Facultatif.

L'appareil complet de la session de partage d'écran a été modifié

Un événement de changement d'état de session de partage d'écran sur l'ensemble de l'appareil se produit lorsque l'état d'une session de partage d'écran sur l'ensemble de l'appareil change. Cet événement indique l'état de la session de partage d'écran complète de l'appareil. Pour en savoir plus, consultez Partage d'écran.

Voici un exemple d'événement Cobrowse_Session_Full_Device_Changed :

{
  "type": "Cobrowse_Session_Full_Device_Changed",
  "data": {
    "agent_id": 5,
    "cobrowse_session_id": "9-Kshrag-gn6ZSuIxoMtWQ",
    "cobrowse_session_full_device": "rejected"
  }
}

Voici la description des champs de données d'événement :

  • agent_id : identifiant de l'agent.

  • call_id : identifiant d'un appel entrant sur le canal IVR (réponse vocale interactive). Ce champ est inclus si la session de partage d'écran a été démarrée pendant un appel.

  • chat_id : identifiant d'un chat entrant sur le canal Web ou mobile. Ce champ est inclus si la session de partage d'écran a été démarrée pendant une discussion.

  • Cobrowse_session_id : identifiant d'une session de partage d'écran.

  • Cobrowse_session_full_device : indique l'état d'une session de partage d'écran complet de l'appareil. Les valeurs sont on, rejected, requested et off.

  • custom_data_secured : contient des données personnalisées signées provenant de votre serveur. Facultatif.

  • custom_data_not_secured : contient des données personnalisées non signées provenant de votre page Web. Pour en savoir plus, consultez Données personnalisées non signées du chat (facultatif). Facultatif.

Session de partage d'écran terminée

Un événement de début de session de partage d'écran se produit lorsqu'une session de partage d'écran est terminée par un agent, un utilisateur final ou l'API. Pour en savoir plus, consultez Configurer le partage d'écran.

Voici un exemple d'événement Cobrowse_Session_Ended :

{
  "type": "Cobrowse_Session_Ended",
  "data": {
    "agent_id": 5,
    "cobrowse_session_id": "9-Kshrag-gn6ZSuIxoMtWQ",
    "cobrowse_session_requested_by": "end_user",
    "cobrowse_session_ended_by": "agent",
    "cobrowse_session_remote_control": "on",
    "cobrowse_session_full_device": "rejected"
  }
}

Voici la description des champs de données d'événement :

  • agent_id : identifiant de l'agent.

  • call_id : identifiant d'un appel entrant sur le canal IVR (réponse vocale interactive). Ce champ est inclus si la session de partage d'écran a été démarrée pendant un appel.

  • chat_id : identifiant d'un chat entrant sur le canal Web ou mobile. Ce champ est inclus si la session de partage d'écran a été démarrée pendant une discussion.

  • cobrowse_session_id : identifiant d'une session de partage d'écran.

  • cobrowse_session_ended_by : indique qui a mis fin à la session de partage d'écran. Les valeurs sont agent, end-user et api.

  • cobrowse_session_remote_control : indique l'état d'une session de partage d'écran avec contrôle à distance. Les valeurs sont on, rejected, requested et off.

  • cobrowse_session_full_device : indique l'état d'une session de partage d'écran complet de l'appareil. Les valeurs sont on, rejected, requested et off.

  • custom_data_secured : contient des données personnalisées signées provenant de votre serveur. Facultatif.

  • custom_data_not_secured : contient des données personnalisées non signées provenant de votre page Web. Pour en savoir plus, consultez Données personnalisées non signées du chat (facultatif). Facultatif.

Transfert

Un événement de transfert se produit lorsqu'un appel ou une discussion sont transférés. Il peut s'agir d'un transfert annoncé ou non annoncé.

Les champs d'événement suivants font partie d'un événement de transfert.

  • chat_id ou call_id : identifie la session d'appel ou de chat.

  • session_type : indique le type de session en cours de création, par exemple un message entrant via le chat Web.

  • campaign_id : ID de la campagne. Ce champ n'est présent que si le type d'appel est un appel de campagne. Facultatif.

  • campaign_name : nom de la campagne. Ce champ n'est présent que si le type d'appel est un appel de campagne. Facultatif.

  • from_agent_id : utilisé lors du transfert d'appels ou de discussions d'un agent à un autre, pour indiquer l'agent d'origine

  • from_agent_custom_id : utilisé lors du transfert d'appels ou de chats d'un agent à un autre, pour indiquer l'agent d'origine. Facultatif.

  • from_agent_email : utilisé lors du transfert d'appels ou de chats d'un agent à un autre, pour indiquer l'agent d'origine

  • to_agent_id : utilisé lors du transfert d'appels ou de chats d'un agent à un autre, pour indiquer l'agent de destination

  • to_agent_custom_id : utilisé lors du transfert d'appels ou de chats d'un agent à un autre, pour indiquer l'agent de destination. Facultatif.

  • to_agent_email : utilisé lors du transfert d'appels ou de discussions d'un agent à un autre, pour indiquer l'agent de destination.

  • from_queue_id : utilisé lors du routage des appels ou des chats d'une file d'attente à une autre, pour indiquer la file d'attente d'origine

  • from_queue_path : utilisé lors du routage des appels ou des chats d'une file d'attente à une autre, pour indiquer la file d'attente d'origine

  • to_queue_id : utilisé lors du routage d'appels ou de discussions d'une file d'attente à une autre pour indiquer la file d'attente de destination

  • to_queue_path : utilisé lors du routage d'appels ou de discussions d'une file d'attente à une autre pour indiquer la file d'attente de destination.

  • virtual_agent_id : ID attribué à un agent virtuel. Facultatif.

  • va_data_parameters : toutes les variables configurées dans la file d'attente à envoyer à l'agent virtuel. Cette information n'est requise que pour les événements impliquant l'agent virtuel. Facultatif.

  • (session_variable : toutes les variables de l'agent virtuel qui sont envoyées à CCAI Platform dans la charge utile. Facultatif.

  • custom_sip_headers : permet aux en-têtes SIP personnalisés des appels SIP entrants d'apparaître dans le journal des événements POST. Il n'est requis que si des en-têtes SIP personnalisés sont utilisés. Facultatif.

  • custom_data_secured : permet la transmission de données personnalisées sécurisées du SDK. Facultatif.

  • custom_data_not_secured : permet la transmission de données personnalisées non sécurisées du SDK. Facultatif.

Voici un exemple d'événement de transfert :

{
  "type": "Transfer_Chat",
  "data": {
    "chat_id": 103646,
    "session_type": "Messaging Inbound (SMS)",
    "campaign_id": 1432,
    "campaign_name": "Survey Movie",
    "from_agent_id": 1,
    "from_agent_custom_id": "007",
    "from_agent_email": "Ira@example.com",
    "to_agent_id" : 5
    "to_agent_custom_id": "100"
    "to_agent_email" : "ariel@example.com"
    "from_queue_id": 8469,
    "from_queue_path": "Developers / Ariel",
    "to_queue_id" : 1234,
    "to_queue_path" : "Schemes / Auric"
  }
}

Vous avez été ajouté à un groupe

Un événement "Partie ajoutée" fait référence à tout transfert. Il peut s'agir d'un transfert d'appel ou de discussion.

Un événement "Partie ajoutée" contient les données suivantes :

  • chat_id ou call_id : identifie la session d'appel ou de chat.

  • session_type : indique le type de session en cours de création, par exemple un message entrant via le chat Web.

  • agent_custom_id : ce champ n'existe que si le profil de l'agent inclut un ID personnalisé. Facultatif.

  • agent_email : adresse e-mail de l'agent qui gère la session d'appel ou de chat.

  • queue_id : ID de la file d'attente à partir de laquelle la session de chat a été lancée. Ce champ n'est inclus que lorsque le chat provient d'une file d'attente. Facultatif.

  • queue_path : chemin d'accès de la file d'attente à partir de laquelle la session de chat a été lancée. Ce champ n'est inclus que lorsque le chat provient d'une file d'attente. Facultatif.

  • campaign_id : ID de la campagne. Ce champ n'est inclus que lorsque le type d'appel est un appel de campagne. Facultatif.

  • campaign_name : nom de la campagne. Ce champ n'est inclus que lorsque le type d'appel est un appel de campagne. Facultatif.

  • type : type de participant (par exemple, "end_user" ou "agent"). Ce champ est renvoyé dans le type participants de la réponse /api/v1/calls ou /api/v1/chats.

  • end_user_id : end_user_id. Ce champ est renvoyé dans la réponse /api/v1/calls ou /api/v1/chats. Ce champ n'est présent que pour les appels ou chats des utilisateurs finaux qui sont transférés d'un agent à un autre, afin d'indiquer l'agent destinataire. Facultatif.

  • virtual_agent_id : identifiant attribué à un agent virtuel. Facultatif.

  • va_data_parameters : toutes les variables configurées dans la file d'attente à envoyer à l'agent virtuel. Cette information n'est requise que pour les événements impliquant l'agent virtuel. Facultatif.

  • session_variable : toutes les variables de l'agent virtuel qui sont envoyées à la plate-forme CCAI dans la charge utile. Facultatif.

  • custom_sip_headers : permet aux en-têtes SIP personnalisés des appels SIP entrants d'apparaître dans le journal des événements POST. Il n'est requis que si des en-têtes SIP personnalisés sont utilisés. Facultatif.

  • custom_data_secured : permet la transmission de données personnalisées sécurisées du SDK. Facultatif.

  • custom_data_not_secured : permet la transmission de données personnalisées non sécurisées du SDK. Facultatif.

Voici un exemple d'événement Party_Added.

{
  "type": "Party_Added",
  "data": {
    "chat_id": 103646,
    "session_type": "Messaging Inbound (SMS)",
    "campaign_id": 1432,
    "campaign_name": "Survey Movie",
    "agent_id": 1,
    "agent_custom_id": "007",
    "agent_email": "ariel@example.com",
    "queue_id": 8469,
    "queue_path": "Developers / Ariel",
    "type" : "agent"
  }
}

L'agent se connecte à la session

Un événement "L'agent se connecte à la session" se produit lorsqu'un agent se connecte à une session. Il existe deux types d'événements : Le type est déterminé par le fait qu'il s'agisse d'un appel ou d'un chat.

Les champs d'événement suivants font partie d'un événement de connexion d'un agent à une session.

  • agent_id : identifie l'agent qui gère la session d'appel ou de chat.

  • agent_email : adresse e-mail de l'agent qui gère la session d'appel ou de chat.

  • agent_custom_id : ce champ n'existe que si le profil de l'agent inclut un ID personnalisé. Facultatif.

  • chat_id ou call_id : identifie la session d'appel ou de chat.

  • virtual_agent_id : ID attribué à un agent virtuel spécifique. Facultatif.

  • campaign_id : ID de la campagne. Ce champ n'est inclus que lorsque le type d'appel est un appel de campagne. Facultatif.

  • campaign_name : nom de la campagne. Ce champ n'est inclus que lorsque le type d'appel est un appel de campagne. Facultatif.

  • queue_id : ID de la file d'attente à partir de laquelle la session de chat a été lancée. Ce champ n'est inclus que lorsque le chat provient d'une file d'attente. Facultatif.

  • queue_path : chemin d'accès de la file d'attente à partir de laquelle la session de chat a été lancée. Ce champ n'est inclus que lorsque le chat provient d'une file d'attente. Facultatif.

  • session_type : indique le type de session en cours de création, par exemple un message entrant via le chat Web.

  • virtual_agent_id : ID attribué à un agent virtuel. Facultatif.

  • va_data_parameters : toutes les variables configurées dans la file d'attente à envoyer à l'agent virtuel. Cette information n'est requise que pour les événements impliquant l'agent virtuel. Facultatif.

  • session_variable : toutes les variables de l'agent virtuel qui sont envoyées à UJET dans la charge utile. Facultatif.

  • custom_sip_headers : permet aux en-têtes SIP personnalisés des appels SIP entrants d'apparaître dans le journal des événements POST. Il n'est requis que si des en-têtes SIP personnalisés sont utilisés. Facultatif.

  • custom_data_secured : permet la transmission de données personnalisées sécurisées du SDK. Facultatif.

  • custom_data_not_secured : permet la transmission de données personnalisées non sécurisées du SDK. Facultatif.

Voici un exemple de données d'événement Agent_Joined_Chat :

{
  "type": "Agent_Joined_Chat",
  "data": {
    "chat_id": 103646,
    "campaign_id": 1432,
    "campaign_name": "Survey Movie",
    "agent_id": 1,
    "agent_custom_id": "007",
    "agent_email": "ariel@example.com",
    "queue_id": 8469,
    "queue_path": "Developers / Ariel",
    "session_type": "Messaging Inbound (SMS)",
  }
}

Déconnexion de l'agent

Un événement de déconnexion d'agent se produit lorsqu'un agent se déconnecte de l'adaptateur d'agent.

Les champs d'événement suivants font partie d'un événement Agent_Logout.

  • agent_id : identifiant de l'agent qui s'est connecté

  • agent_email : adresse e-mail associée au compte de l'agent

  • agent_custom_id : ID personnalisé de l'agent, s'il a été saisi dans le profil de l'agent. Facultatif.

Voici un exemple d'événement Agent_Logout :

{
  "type": "Agent_Logout",
  "data": {
    "agent_id": 1,
    "agent_custom_id": "007",
    "agent_email": "ariel@example.com",
  }
}

Agent Assist a démarré

Un événement de démarrage d'Agent Assist se produit lorsqu'un agent active Agent Assist lors d'une session d'appel ou de chat.

Voici un exemple d'événement Agent_Assist_Started :

{
  "type": "Agent_Assist_Started",
  "data": {
    "conversation_id": "12345",
    "queue_id": "65",
    "agent_id": "1",
    "session_id": "78534G4RT4284",
    "queue_language_id": "en",
    "timestamp": "12:45:15"
  }
}

Voici les champs d'événement :

  • conversation_id : identifiant de la conversation

  • queue_id : identifiant de la file d'attente

  • agent_id : identifiant de l'agent

  • session_id : identifiant de la session

  • queue_language_id : langue de la file d'attente

  • timestamp : code temporel

Pop-up d'écran en arrière-plan

La fonctionnalité de pop-up d'écran permet aux agents d'afficher un pop-up d'écran CRM en arrière-plan. Cela signifie que les informations client s'affichent sur l'écran de l'agent sans qu'il ait besoin d'effectuer une action. Cela permet d'offrir une expérience plus fluide aux consommateurs et de réduire le temps de traitement pour les agents.

Pop-up d'enregistrement CRM

L'événement CRM_Record_Pop est un événement côté serveur qui se déclenche lorsqu'un ticket doit être retiré. Cet événement inclut un paramètre appelé recordUrl qui contient l'URL de l'enregistrement CRM. Il vous permet d'effectuer un screen pop en vous abonnant aux événements POST si vous utilisez des adaptateurs intégrés.

Pour ce faire, l'exemple suivant montre comment ajouter un écouteur d'événements qui écoute les messages envoyés depuis un autre frame ou une autre fenêtre. Cet extrait de code est conçu pour permettre la communication entre différents frames ou fenêtres, et pour permettre des mises à jour dynamiques du contenu affiché dans l'iframe en fonction des messages reçus.

// name is the html property of the iframe
const iframeTarget = document.querySelector('iframe[name="target_iframe_adapter"]')

// example usage of add event listener
// https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
window.addEventListener('message', (e) => {
  try {
    const data = JSON.parse(e.data)
    const type = data.type
    console.log('EventListener: ', JSON.stringify(data))

    if (type === 'CRM_Record_Pop') {
      const recordUrl = data.data.recordUrl
      if (!recordUrl) {
        return
      }
      console.log(`Opening <strong>recordUrl</strong> in iframe <strong>${iframeTarget.getAttribute('name')}</strong>`)

      // changing an iframe target to the record URL pop 
      iframeTarget.src = recordUrl
    } else if (type === 'New_Chat') {
      console.log(`<strong>Chat started...</strong>`)

      // handling here for new_chat events
    } else if (type === 'End_Chat') {
      console.log(`<strong>Chat ended...</strong>`)
      // handling here for end_chat events
    } if (.... //other event types) {
      // code handling for other types
    }else {
      console.log(JSON.stringify(data))
    }
  } catch (e) {
    log(e, true)
  }
}, false)