openFrameAPI : client

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 41 minutes de lecture
  • openFrameAPI fournit des méthodes qui interagissent avec OpenFrame. OpenFrame est un cadre omniprésent que les partenaires de communication peuvent utiliser pour intégrer leurs systèmes dans la ServiceNow plateforme.

    L’une des exigences fondamentales est la capacité de connecter et de servir du code à partir de différents domaines qui peuvent se connecter de manière transparente avec les sous-systèmes partenaires. Cette connexion interdomaine est nécessaire pour maintenir les connexions et les rappels enregistrés dans les systèmes de communication sans aucun problème interdomaine.

    OpenFrame comporte deux parties importantes. L’un se trouve dans l’application ServiceNow (appelée TopFrame) et cette API provient de l’application partenaire. Cette API dispose des méthodes nécessaires pour communiquer avec TopFrame et contrôler les fonctionnalités visuelles d’OpenFrame.
    Remarque :
    Pour rester à jour vis-à-vis de la bibliothèque OpenFrame, utilisez la ressource URI suivante : https://[instance servicenow]/scripts/openframe/latest/openFrameAPI.min.js.

    openFrameAPI : getAWAAgentPresence(réussite de la chaîne, échec de la chaîne)

    Renvoie l’état de présence actuel de l’agent connecté.

    Tableau 1. Paramètres
    Nom Type Description
    réussite Chaîne Si la méthode réussit, nom de la fonction de rappel à invoquer.
    échec Chaîne En cas d’échec de la méthode, nom de la fonction de rappel à invoquer.
    Tableau 2. Renvoie
    Type Description
    Présence Résultats transmis à la fonction de rappel de réussite par l’infrastructure openFrame.

    Type de données : objet

    "presence": {  
      "available": Boolean, 
      "channels": [Array],
      "name": "String", 
      "sys_id": "String"
    }
    Présence.Disponible Marqueur indiquant si l’agent associé est disponible.
    Valeurs valides :
    • vrai : l’agent est disponible.
    • faux : l’agent n’est pas disponible.

    Type de données : booléennes

    présence.canaux Liste des canaux de communication disponibles avec l’agent.

    Type de données : tableau d’objets

    "channels": [
      { 
        "available": Boolean,
        "name": "String",
        "restrict_update": Boolean,
        "service_channel_type": "String",
        "sys_id": "String"
      }
    ]
    présence.canaux.disponibles Marqueur indiquant si le canal est disponible.
    Valeurs valides :
    • vrai : le canal est disponible.
    • faux : le canal n’est pas disponible.

    Type de données Booléen

    presence.channels.name Nom du canal, tel que Messagerie instantanée ou Téléphone.

    Type de données : chaîne

    presence.channels.restrict_update Marqueur indiquant si l’utilisateur peut restreindre les mises à jour du canal.
    Valeurs valides :
    • vrai : l’utilisateur peut restreindre les mises à jour du canal.
    • faux : l’utilisateur ne peut pas restreindre les mises à jour du canal.

    Type de données Booléen

    presence.channels.service_channel_type Type du canal de service.

    Type de données : chaîne

    presence.channels.sys_id Sys_id de l’enregistrement du canal.

    Type de données : chaîne

    Table : canaux de service [awa_service_channel]

    presence.name Nom de l’état de présence de l’agent.

    Type de données : chaîne

    presence.sys_id Sys_id de l’enregistrement de l’état de présence.

    Type de données : chaîne

    Table : États de présence [awa_presence_state]

    L’exemple de code suivant montre comment appeler cette méthode.

    function failure(data)
    {
      console.log("failure: " + JSON.stringify(data));
    }
     
    function success(data)
    {
      console.log("success: " + JSON.stringify(data));
    }
     
    openFrameAPI.getAWAAgentPresence(success, failure)

    Fonction de rappel de réponse à la réussite :

    success: { 
      "presence": { 
        "name": "Available", 
        "sys_id": "0b10223c57a313005baaaa65ef94f970", 
        "available": true, 
        "channels": [ 
          { 
            "name": "Chat", 
            "available": true, 
            "sys_id": "27f675e3739713004a905ee515f6a7c3", 
            "restrict_update": false, 
            "service_channel_type": "chat" 
          } 
        ] 
      } 
    }

    openFrameAPI : hide()

    Masque OpenFrame dans le TopFrame.

    Tableau 3. Paramètres
    Nom Type Description
    Néant
    Tableau 4. Renvoie
    Type Description
    nul
    openFrameAPI.hide()

    openFrameAPI : init(Configuration de l’objet, fonction successCallback, fonction failureCallback)

    Initialise OpenFrame. Il doit s’agir de la première méthode que vous appelez.

    Cette méthode initialise la communication avec TopFrame et initialise tous les éléments visuels transmis dans le config paramètre.

    Tableau 5. Paramètres
    Nom Type Description
    config Objet Paires nom-valeur à utiliser pendant le processus d’initialisation.
    Clés possibles :
    • hauteur
    • subTitle
    • Titre
    • Icône de titre
    • largeur
    Toutes les clés sont facultatives. Transmettez un objet vide si vous ne souhaitez pas définir ces paires clé-valeur.
    Rappel de réussite function Nom de la fonction de rappel à utiliser si la méthode init réussit. La configuration OpenFrame stockée dans le système est transmise en tant que paramètre à la fonction de rappel.
    failureCallback function Nom de la fonction de rappel à utiliser en cas d’échec de la méthode init .
    Tableau 6. Renvoie
    Type Description
    nul
    var config = {
    height: 300,
    width: 200
    }
    function handleCommunicationEvent(context) {
    console.log("Communication from Topframe", context);
    }
    function initSuccess(snConfig) {
    console.log("openframe configuration", snConfig);
    //register for communication event from TopFrame
    openFrameAPI.subscribe(openFrameAPI.EVENTS.COMMUNICATION_EVENT,
    handleCommunicationEvent);
    }
    function initFailure(error) {
    console.log("OpenFrame init failed...", error);
    }
    openFrameAPI.init(config, initSuccess, initFailure);

    openFrameAPI - isVisible(rappel de fonction)

    Vérifie si OpenFrame est visible dans TopFrame.

    Tableau 7. Paramètres
    Nom Type Description
    rappel function La fonction de rappel reçoit un paramètre avec une valeur vrai ou faux. Vrai si OpenFrame est visible et faux si ce n’est pas visible.
    Tableau 8. Renvoie
    Type Description
    nul
    function callback(isVisible) {
    console.log(isVisible)
    }
    openFrameAPI.isVisible(callback)

    openFrameAPI : openCustomURL(détails de chaîne)

    Ouvre une URL personnalisée dans l’interface UI16.

    Tableau 9. Paramètres
    Nom Type Description
    URL Chaîne Texte de l’URL personnalisée.

    Taille maximale : 2083 caractères

    Tableau 10. Renvoie
    Type Description
    nul
    openFrameAPI.openCustomURL('10_cool_things.do');
    

    openFrameAPI : openServiceNowForm (détails de l’objet)

    Ouvre une URL de formulaire.

    Lorsqu’un agent reçoit un appel entrant, la fenêtre OpenFrame affiche des informations telles que le compte, le contact ou le consommateur. Cliquez sur un lien dans la fenêtre OpenFrame pour afficher l’enregistrement correspondant.
    • Dans l’interface de la plateforme, cette API ouvre une URL de formulaire dans TopFrame.
    • Pour Espace de travail d'agent, cette API prend en charge la gestion des onglets d’interaction. Dans Espace de travail d'agent, un enregistrement d’interaction s’ouvre dans un onglet parent et l’enregistrement d’entité spécifié s’ouvre dans un onglet enfant sous l’onglet d’interaction.
    Tableau 11. Paramètres
    Nom Type Description
    Détails Objet Paires clé-valeur qui identifient l’URL de formulaire à ouvrir.
    "details": {
      "entity": "String";
      "interaction_sys_id": "String";
      "query": "String"
    }
    détails.entité Chaîne Nom de la table ou de l’entité.
    details.interaction_sys_id Chaîne Facultatif. Sys_id de l’enregistrement d’interaction à ouvrir en tant qu’onglet parent dans Espace de travail d'agent.
    Remarque :
    Dans l’interface de la plateforme, la interaction_sys_id est ignorée.
    requête.détails Chaîne Requête pour identifier l’enregistrement à ouvrir, telle que : query :'sys_id=<record_sys_id>'.
    Tableau 12. Renvoie
    Type Description
    nul

    L’exemple suivant montre l’utilisation de base dans la plateforme :

    openFrameAPI.openServiceNowForm({entity:'customer_account', 
    query:'sys_id=447832786f0331003b3c498f5d3ee452', 'interaction_sys_id':'3be092313b711300758ce9b534efc4dd'});

    L’exemple suivant montre comment utiliser le query paramètre pour créer un nouvel enregistrement avec des données fournies dans le formulaire à l’aide de sysparm_query et d’une requête codée pour renseigner les champs de prénom et de nom dans l’espace de travail :

    openFrameAPI.openServiceNowForm({ entity: 'sys_user',
    query: 'sys_id=-1&sysparm_query=first_name=Ivan^last_name=Greggor' });

    openFrameAPI : openServiceNowFormwithChildTab()

    Ouvre un ServiceNow formulaire avec un onglet enfant s’il est invoqué dans un espace de travail ou ouvre une entité s’il est invoqué dans l’interface UI16.

    Tableau 13. Paramètres
    Nom Type Description
    openServiceNowFormwithChildTab Objet Définit si l’API ouvre un ServiceNow formulaire avec un onglet enfant si elle est invoquée dans un espace de travail ou ouvre une entité si elle est invoquée dans l’interface UI16.
    openFrameAPI.openServiceNowFormwithChildTab({
      entity: "String",
      sys_id: String", 	
      parent_entity: "String",	
      parent_entity_sys_id: "String"
    })
    openServiceNowFormwithChildTab.entity Chaîne Nom de la table qui contient l’enregistrement à ouvrir.
    openServiceNowFormwithChildTab.sys_id Chaîne Sys_id de l’enregistrement à ouvrir.
    openServiceNowFormwithChildTab.parent_entity Chaîne Nom de la table à ouvrir en tant qu’onglet parent.
    openServiceNowFormwithChildTab.parent_entity_sys_id Chaîne Sys_id de l’enregistrement parent à ouvrir.
    Tableau 14. Renvoie
    Type Description
    Néant

    L’exemple suivant ouvre l’entité parente en tant qu’onglet parent sur un espace de travail configuré, ou ouvre uniquement l’entité si elle est invoquée dans UI16.

    openFrameAPI.openServiceNowFormwithChildTab({
      entity: "customer_account", 
      sys_id: "447832786f0331003b3c498f5d3ee452", 	
      parent_entity: "interaction", 
      parent_entity_sys_id: "3be092313b711300758ce9b534efc4dd"
    });

    openFrameAPI : openServiceNowList(détails de l’objet)

    Ouvre une URL de liste dans l’interface UI16.

    Tableau 15. Paramètres
    Nom Type Description
    Détails Objet Paires de valeurs clés qui décrivent le contenu à utiliser lors de l’ouverture de l’URL de liste.

    Valeurs valides :

    Tableau 16. Renvoie
    Type Description
    nul
    openFrameAPI.openServiceNowList({entity:'case', query:'active=true'});

    openFrameAPI : setFrameMode(mode)

    Définit le mode OpenFrame.

    Mode transmis dans cette API :
    • Définit l’icône appropriée dans l’en-tête : réduire ou développer
    • Soulève l’événement pertinent pour CTI :
      • openFrameAPI.EVENTS.COLLAPSE
      • openFrameAPI.EVENTS.EXPAND
    Tableau 17. Paramètres
    Nom Type Description
    Mode Chaîne Définissez le mode OpenFrame. Options énumérées :
    1. openFrameAPI.FRAME_MODE. RÉDUIRE
    2. openFrameAPI.FRAME_MODE. DÉVELOPPER
    Tableau 18. Renvoie
    Type Description
    nul
    openFrameAPI.setFrameMode(openFrameAPI.FRAME_MODE.COLLAPSE);
    

    openFrameAPI : setHeight(height)

    Définit la hauteur OpenFrame.

    Tableau 19. Paramètres
    Nom Type Description
    Hauteur Numéro Hauteur en pixels
    Tableau 20. Renvoie
    Type Description
    nul
    openFrameAPI.setHeight(100);

    openFrameAPI : setICContext(Type de chaîne, objet <contexte>)

    Définit les données contextuelles associées aux contrôles d’interaction sur le client. Utilisez ces données contextuelles pour déterminer l’interface utilisateur du client à afficher dans OpenFrame.

    Pour plus d’informations sur les commandes interactives, reportez-vous à la section Interaction Controls Component (ICC) for voice calls.

    Pour plus d’informations sur les enregistrements d’interaction, reportez-vous à la section CSM voice interaction record page.

    Tableau 21. Paramètres
    Nom Type Description
    <Contexte> Objet Données de contexte à définir. Chaque type de données de contexte est un ensemble unique de données d’entrée.
    Objets de données valides Context :
    • activeCall
    • idleState
    • offerContext
    • searchTargetList
    activeCall Tableau d'objets Détails contextuels d’un appel actif. Chaque objet représente un appel actif en cours.
    "activeCall": [
      { 
        "callbackContext": {Object},
        "currentParticipant": {Object},
        "customPayload: {Object},
        "direction": "String",
        "externalId": "String",
        "nowRecordId": "String",
        "nowRecordTable": "String",
        "participants": [Array],
        "type": "String"
      }
    ]
    activeCall.callbackContext Objet Utilisé uniquement si la activeCall.type propriété est un rappel. Informations de contexte de rappel pour le composant de rappel en cours.
    "callbackContext": {
      "callAttemptedByAgent": Boolean,
      "callbackNumbers": [Array],
      "closeInEndTime": "String",
      "customerName": "String",
      "dialInEndTime": "String"
    }
    activeCall. callbackContext. callAttemptedByAgent Booléen Marqueur indiquant si le rappel a été tenté par un agent de service clientèle.
    Valeurs valides :
    • vrai : le rappel a été tenté par un agent du service clientèle. Si la valeur est Vrai, définissez closeInEndTime.
    • false : le rappel n’a pas été tenté par un agent du service client. Si la valeur est fausse, définissez la valeur dialInEndTime.

    Valeur par défaut : faux

    activeCall. callbackContext. Numéros de rappel Tableau Liste des numéros de téléphone fournis sous forme de chaînes.
    activeCall. callbackContext. closeInEndTime Chaîne Définir uniquement si callAttemptedByAgent a la valeur vrai. Heure de fin du rappel au format UTC.
    activeCall. callbackContext. nom du client Chaîne Nom du client.
    activeCall. callbackContext. dialInEndTime Chaîne Définissez uniquement si la callAttemptedByAgent valeur est faux et le type de rappel est composé automatiquement. Heure de fin d’appel entrant pour le rappel au format UTC.
    activeCall.currentParticipant Objet Requis. Détails sur les options d’appel du participant actuel et l’état de l’appel.
    "currentParticipant": {
      "actor": "String",
      "callStartTime": "String",
      "capabilities": {Object},
      "connectedTime": "String",
      "custom-capability-state-1": Boolean,
      "flagged": Boolean,
      "held": Boolean,
      "id": "String",
      "muted": Boolean,
      "name": "String",
      "paused": Boolean,
      "recording": "String",
      "state": "String",
      "wrapUP": {Object}
    }
    activeCall.currentParticipant.actor Chaîne Type de participant à l’appel.
    Valeurs valides :
    • agent
    Remarque :
    Autres types de participants à ajouter à l’avenir.
    activeCall.currentParticipant.callStartTime Chaîne Date et heure de début de l’appel.

    Heure standard : UTC

    Format : RSS - « <jour de la semaine>, jj mmm aaaa hh :MM :ss GMT ». Par exemple : « Wed, 17 Dec 2024 05:23:41 GMT »

    activeCall.currentParticipant.capabilities Objet Détails sur les options que le participant actuel (agent) peut effectuer pendant un appel. Les icônes associées apparaissent dans le composant Appel actif pour les options activées.

    Capture d’écran du composant d’appel actif avec icônes d’options
    "capabilities": {
      "callbackTransferStatus": "String",
      "cancelCallbackTransferEligible": Boolean,
      "closeCallback": Boolean,
      "dtmf": Boolean,
      "endCall": Boolean,
      "flag": Boolean,
      "hold": Boolean,
      "initiateCall": Boolean,
      "leaveAndTransfer": Boolean,
      "mergeCall": Boolean,
      "mute": Boolean,
      "resumeRecording": Boolean,
      "pauseRecording": Boolean,
      "startRecording": Boolean,
      "stopRecording": Boolean,
      "transfer": Boolean
    }
    activeCall.currentParticipant.capabilities.callbackTransferStatus Chaîne Statut de transfert de rappel CCaaS (Contact Center as a Service).

    Valeurs possibles :

    • Échoué
    • Chaîne vide (par défaut)
    activeCall.currentParticipant.capabilities.cancelCallbackTransferEligible Booléen Marqueur indiquant si l’option Annuler le transfert de rappel est activée.
    Valeurs valides :
    • vrai : l’option Annuler le transfert de rappel est activée.
    • false : l’option Annuler le transfert de rappel est désactivée.

    Valeur par défaut : false

    activeCall.currentParticipant.capabilities.closeCallback Booléen Marqueur indiquant si le bouton Fermer le rappel est activé.
    Valeurs valides :
    • vrai : le bouton Fermer le rappel est activé.
    • faux : le bouton Fermer le rappel est désactivé.

    Valeur par défaut : false

    activeCall.currentParticipant.capabilities.Dtmf Booléen Marqueur indiquant si l’agent dispose de l’option multifréquence à double tonalité (DTMF) pour l’appel en cours.
    Valeurs valides :
    • vrai : le participant dispose de l’aptitude DTMF.
    • faux : le participant ne dispose pas de l’aptitude DTMF.

    Valeur par défaut : false

    activeCall.currentParticipant.capabilities.endCall Booléen Marqueur indiquant si le participant associé peut mettre fin à l’appel.
    Valeurs valides :
    • vrai : le participant peut mettre fin à l’appel. Le bouton Mettre fin à l’appel est activé dans l’interface utilisateur.
    • faux : le participant ne peut pas mettre fin à l’appel. Le bouton Mettre fin à l’appel est désactivé dans l’interface utilisateur.

    Valeur par défaut : false

    activeCall.currentParticipant.capabilities.drapeau Booléen Marqueur indiquant si le participant peut signaler l’appel pour des problèmes de qualité, tels que des problèmes de qualité vocale.
    Valeurs valides :
    • vrai : le participant peut marquer les appels de problème.
    • faux : le participant ne peut pas marquer les appels de problème.

    Valeur par défaut : false

    activeCall.currentParticipant.capabilities.tenir Booléen Marqueur indiquant si le participant peut mettre l’appel en attente.
    Valeurs valides :
    • vrai : le participant peut mettre l’appel en attente. Le bouton de maintien est activé dans l’interface utilisateur.
    • false : le participant ne peut pas mettre l’appel en attente. Le bouton de maintien est désactivé dans l’interface utilisateur.

    Valeur par défaut : false

    activeCall.currentParticipant.capabilities.initiateCall Booléen Marqueur indiquant si le participant associé peut démarrer l’appel.
    Valeurs valides :
    • vrai : le participant peut démarrer l’appel. Le bouton Lancer un appel est activé dans l’interface utilisateur.
    • faux : le participant ne peut pas démarrer l’appel. Le bouton Lancer un appel est désactivé dans l’interface utilisateur.

    Valeur par défaut : false

    activeCall.currentParticipant.capabilities.leaveAndTransfer Booléen Marqueur indiquant si le participant peut transférer l’appel à un autre agent, puis abandonner l’appel. Activez cette aptitude pour des actions telles que les transferts de consultation, lorsque l’utilisateur consulté n’est pas le propriétaire de l’appel.
    Valeurs valides :
    • vrai : le participant peut transférer et abandonner l’appel.
    • faux : le participant ne peut pas transférer et abandonner l’appel.

    Valeur par défaut : false

    activeCall.currentParticipant.capabilities.mergeCall Booléen Marqueur indiquant si le participant peut fusionner l’appel. Utilisez cette aptitude lorsque les segments d’appel du participant peuvent fusionner.
    Valeurs valides :
    • vrai : le participant peut fusionner l’appel. Le bouton Fusionner est activé dans l’interface utilisateur.
    • faux : le participant ne peut pas fusionner l’appel. Le bouton de fusion est désactivé dans l’interface utilisateur.

    Valeur par défaut : false

    activeCall.currentParticipant.capabilities.Muet Booléen Marqueur indiquant si le participant peut désactiver le son de l’appel.
    Valeurs valides :
    • vrai : le participant peut couper le son de l’appel. Le bouton Muet est activé dans l’interface utilisateur.
    • faux : le participant ne peut pas couper le son de l’appel. Le bouton de désactivation est désactivé dans l’interface utilisateur.

    Valeur par défaut : false

    activeCall.currentParticipant.capabilities.pauseEnregistrement Booléen Marqueur indiquant si le participant peut mettre en pause l’enregistrement de l’appel.
    Valeurs valides :
    • vrai : le participant peut mettre en pause l’enregistrement de l’appel. Le bouton Mettre en pause l’enregistrement est activé dans l’interface utilisateur.
    • faux : le participant ne peut pas mettre en pause l’enregistrement de l’appel. Le bouton Mettre en pause l’enregistrement est désactivé dans l’interface utilisateur.

    Valeur par défaut : false

    activeCall.currentParticipant.capabilities.resumeEnregistrement Booléen Marqueur indiquant si le participant peut reprendre l’enregistrement de l’appel.
    Valeurs valides :
    • vrai : le participant peut reprendre l’enregistrement de l’appel. Le bouton Mettre en pause l’enregistrement est activé dans l’interface utilisateur.
    • faux : le participant ne peut pas reprendre l’enregistrement de l’appel. Le bouton Mettre en pause l’enregistrement est désactivé dans l’interface utilisateur.

    Valeur par défaut : false

    activeCall.currentParticipant.capabilities.startRecording Booléen Marqueur indiquant si le participant peut commencer à enregistrer l’appel.
    Valeurs valides :
    • vrai : le participant peut commencer à enregistrer l’appel. Le bouton d’enregistrement est activé dans l’interface utilisateur.
    • faux : le participant ne peut pas commencer à enregistrer l’appel. Le bouton d’enregistrement est désactivé dans l’interface utilisateur.

    Valeur par défaut : false

    activeCall.currentParticipant.capabilities.stopRecording Booléen Marqueur indiquant si le participant peut arrêter l’enregistrement de l’appel.
    Valeurs valides :
    • vrai : le participant peut arrêter l’enregistrement de l’appel. Le bouton Arrêter l’enregistrement est activé dans l’interface utilisateur.
    • faux : le participant ne peut pas arrêter l’enregistrement de l’appel. Le bouton Arrêter l’enregistrement est désactivé dans l’interface utilisateur.

    Valeur par défaut : false

    activeCall.currentParticipant.capabilities.transfert Booléen Marqueur indiquant si le participant peut transférer l’appel.
    Valeurs valides :
    • vrai : le participant peut transférer l’appel. Le bouton de transfert est activé dans l’interface utilisateur.
    • faux : le participant ne peut pas transférer l’appel. Le bouton de transfert est désactivé dans l’interface utilisateur.

    Valeur par défaut : false

    activeCall.currentParticipant.connectedTime Chaîne Date et heure auxquelles l’appel s’est connecté initialement.

    Base horaire : UTC

    Format : RSS - « <jour de la semaine>, jj mmm aaaa hh :MM :ss GMT ». Par exemple : « Wed, 17 Dec 2024 05:23:41 GMT »

    activeCall.currentParticipant.custom-capability-state-1 Booléen Marqueur indiquant s’il y a des participants actuels à l’appel.
    Valeurs valides :
    • vrai : participants actuels à l’appel.
    • faux : aucun participant actuel à l’appel.

    Valeur par défaut : false

    activeCall.currentParticipant.flagged Booléen Marqueur indiquant si l’appel est marqué pour un problème, tel qu’un problème de qualité vocale.
    Valeurs valides :
    • vrai : l’appel a été marqué pour un problème.
    • faux : l’appel n’a pas été marqué pour un problème.

    Valeur par défaut : false

    activeCall.currentParticipant.held Booléen Marqueur indiquant l’état de maintien du participant.
    Valeurs valides :
    • vrai : le participant est en suspens.
    • faux : le participant n’est pas en suspens.

    Valeur par défaut : false

    activeCall.currentParticipant.id Chaîne Requis. Sys_id de l’enregistrement de participant associé, tel que le sys_id de l’agent.

    Table : Utilisateur [sys_user]

    activeCall.currentParticipant.muted Booléen Marqueur indiquant l’état désactivé du participant.
    Valeurs valides :
    • vrai : le micro du participant est coupé.
    • faux : le micro du participant n’est pas coupé.

    Valeur par défaut : false

    activeCall.currentParticipant.name Chaîne Nom du participant.
    activeCall.currentParticipant.Paused Booléen Marqueur indiquant l’état de pause du participant.
    Valeurs valides :
    • vrai : le participant est en pause.
    • faux : le participant n’est pas en pause.

    Valeur par défaut : false

    activeCall.currentParticipant.recording Chaîne État d’enregistrement actuel de l’appel.
    Valeurs valides :
    • in_progress
    • aucun
    activeCall.currentParticipant.wrapUP Objet Utilisation future.
    activeCall.customPayload Objet Charge utile personnalisée à transmettre à OpenFrame dans le cadre des événements OpenFrame. Il s’agit d’un objet de forme libre qui peut contenir toutes les données nécessaires à la personnalisation du composant d’appel actif, telles que l’ajout de boutons ou de texte.
    activeCall.direction Chaîne Orientation de l’appel pour le participant associé.
    Valeurs valides :
    • Entrant
    • sortant
    activeCall.externalId Requis. Valeur unique qui identifie l’appel actif actuel sur le système externe associé.
    activeCall.nowRecordId Chaîne Requis. Sys_id de l’enregistrement de l’appel actif.

    Table : interaction [interaction] Option prise en charge uniquement pour le système de base.

    activeCall.nowRecordTable Chaîne Requis. Table à laquelle l’appel actif appartient.

    Table : interaction [interaction] Option prise en charge uniquement pour le système de base.

    activeCall.Participants Tableau d'objets Requis. Liste des participants supplémentaires à l’appel. Un participant peut être un agent, un client, une personne externe qui n’est ni un agent ni un client, ou une file d’attente.
    "participants": [
      {
        "actor": "String",
        "ani": "String",
        "address": "String",
        "capabilities": {Object},
        "callStartTime" "String",
        "connectedTime": "String",
        "customPayload": {Object},
        "dnis": "String",
        "held": Boolean,
        "heldAtTime": "String",
        "id": "String",
        "muted": Boolean,
        "name": "String",
        "requestACW": Boolean,
        "requireWrapup": Boolean,
        "state": "String"
      }
    ]
    activeCall.Participants.acteur Chaîne Type d’acteur pour le participant associé.
    Par exemple :
    • agent
    • customer
    • externe
    • queue
    activeCall.Participants.adresse Chaîne Numéro de téléphone du participant.
    activeCall.Participants.Ani Identification automatique du numéro. Numéro de téléphone à afficher au destinataire de l’appel téléphonique.
    activeCall.Participants.Capacités Objet Détails sur le type d’options dont dispose le participant pour l’appel associé.
    "capabilities": {
      "endCall": Boolean,
      "hold": Boolean,
      "mute": Boolean
    }
    activeCall.Participants.Capacités.endCall Booléen Marqueur indiquant si le participant associé peut mettre fin à l’appel.
    Valeurs valides :
    • vrai : le participant peut mettre fin à l’appel. Le bouton Mettre fin à l’appel est activé dans l’interface utilisateur.
    • faux : le participant ne peut pas mettre fin à l’appel. Le bouton Mettre fin à l’appel est désactivé dans l’interface utilisateur.

    Valeur par défaut : false

    activeCall.Participants.Capacités.tenir Booléen Marqueur indiquant si le participant peut mettre l’appel en attente.
    Valeurs valides :
    • vrai : le participant peut mettre l’appel en attente. Le bouton de maintien est activé dans l’interface utilisateur.
    • false : le participant ne peut pas mettre l’appel en attente. Le bouton de maintien est désactivé dans l’interface utilisateur.

    Valeur par défaut : false

    activeCall.Participants.Capacités.Muet Booléen Marqueur indiquant si le participant peut désactiver le son de l’appel.
    Valeurs valides :
    • vrai : le participant peut couper le son de l’appel. Le bouton Muet est activé dans l’interface utilisateur.
    • faux : le participant ne peut pas couper le son de l’appel. Le bouton de désactivation est désactivé dans l’interface utilisateur.

    Valeur par défaut : false

    activeCall.Participants.Heure connectée Chaîne Requis. Date et heure auxquelles le participant s’est initialement connecté à l’appel.

    Heure standard : UTC

    Format : RSS - « <jour de la semaine>, jj mmm aaaa hh :MM :ss GMT ». Par exemple : « Wed, 17 Dec 2024 05:23:41 GMT »

    activeCall.Participants.charge utile personnalisée Objet Charge utile personnalisée à transmettre à OpenFrame dans le cadre des événements personnalisés Open Frame. Il s’agit d’un objet de forme libre qui peut contenir toutes les données nécessaires à la personnalisation du composant d’appel actif, telles que l’ajout de boutons ou de texte.
    activeCall.Participants.Noms d’enfant Chaîne Service d’identification des numéros composés. Numéro de téléphone composé par le participant.
    activeCall.Participants.tenu Booléen Marqueur indiquant l’état de maintien du participant.
    Valeurs valides :
    • vrai : le participant est en suspens.
    • faux : le participant n’est pas en suspens.

    Valeur par défaut : false

    activeCall.Participants.heldAtTime Chaîne Date et heure auxquelles la connexion du participant à l’appel a été mise en attente.

    Base horaire : UTC

    Format : RSS - « <jour de la semaine>, jj mmm aaaa hh :MM :ss GMT ». Par exemple : « Wed, 17 Dec 2024 05:23:41 GMT »

    activeCall.Participants.id Chaîne Requis. ID unique du participant issu du système Contact Center as a Service (CCaaS).
    activeCall.Participants.assourdi Booléen Marqueur indiquant l’état de sourdine du participant.
    Valeurs valides :
    • vrai : le micro du participant est coupé.
    • faux : le micro du participant n’est pas coupé.

    Valeur par défaut : false

    activeCall.Participants.nom Chaîne Nom du participant.
    activeCall.Participants.requestACW Booléen Pour le cas d’utilisation d’agent uniquement : valide uniquement lorsqu’il s’agit d' activeCall.currentParticipant.actor « agent ».

    Marqueur indiquant si le participant doit assurer le suivi auprès du client.

    Valeurs valides :
    • true : suivi requis.
    • faux : aucun suivi requis.

    Valeur par défaut : false

    activeCall.Participants.requireWrapup Booléen Pour le cas d’utilisation d’agent uniquement : valide uniquement lorsqu’il s’agit d' activeCall.currentParticipant.actor « agent ».

    Marqueur indiquant s’il faut afficher le composant Récapitulatif une fois l’appel terminé.


    Capture d’écran du composant de récapitulatif
    Valeurs valides :
    • true : affiche le composant Récapitulatif à la fin de l’appel .
    • false : n’affiche pas le composant Récapitulatif à la fin de l’appel.

    Valeur par défaut : false

    activeCall.Participants.état Chaîne État de la jambe d’appel du participant. Apparaît sous le numéro de téléphone dans le composant Appel actif .
    Fenêtre d’appel actif affichant l’état
    Il peut s’agir de n’importe quel texte significatif, tel que :
    • Alerte
    • Connecté
    • Sonnerie
    activeCall.type Chaîne Type d’appel.
    Valeurs valides :
    • Appel
    • rappel
      Remarque :
      Si activé, vous devez inclure les détails de l’objet activeCall.callbackContext .
    • Messagerie vocale
    idleState Objet Décrit le contexte de l’état d’inactivité de l’agent. Ces données de contexte déterminent les informations qui apparaissent sur le pavé de numérotion lorsqu’un agent est en attente d’un appel et les options dont il dispose via ce pavé de numérotation.
    idleState {
     "capability": {Object},
     "currentInboundId": "String",
     "dialpadInfoMessage": {Object},
     "enableState": {Object}
    }
    idleState.capability Objet Description des options de l’état d’inactivité de l’utilisateur actuel.
    "capability": {
      "globalContactSearch": Boolean,
      "logOut": Boolean,
      "outBoundCall": Boolean
    }
    idleState.capability.globalContactSerarch Booléen Marqueur indiquant s’il faut afficher la liste de contacts globale lorsqu’elle est à l’état inactif.
    Valeurs valides :
    • vrai : affiche la liste de contacts globale.
    • faux : n’affiche pas la liste de contacts globale.

    Valeur par défaut : false

    idleState.capability.logOut Booléen Marqueur indiquant si l’utilisateur peut se déconnecter lorsqu’il est dans l’état inactif.
    Valeurs valides :
    • vrai : l’utilisateur peut se déconnecter lorsque l’appel est inactif. Le bouton de déconnexion apparaît sur le pavé de numérotation.
    • faux : l’utilisateur ne peut pas se déconnecter lorsque l’appel est inactif.

    Valeur par défaut : false

    idleState.capability.outBoundCall Booléen Marqueur indiquant si l’utilisateur peut passer un appel sortant lorsqu’il est à l’état inactif.
    Valeurs valides :
    • vrai : l’utilisateur peut passer un appel sortant lorsque l’appel est inactif.
    • faux : l’utilisateur ne peut pas passer d’appel sortant lorsque l’appel est inactif.

    Valeur par défaut : false

    idleState.currentInboundId Chaîne Identificateur entrant de l’application du fournisseur utilisé pour créer l’interaction de l’appel sortant.

    Table : située dans le champ ID de la table Identités des canaux des fournisseurs [sys_cs_provider_application].

    Par défaut : application du fournisseur du système de base

    idleState.dialpadInfoMessage Objet Détails sur le message d’information à afficher sur le pavé de numérotation de l’utilisateur, comme la file d’attente actuellement sélectionnée.
    "dialpadInfoMessage": {
       "label": "String",
       "value": "String"
     }

    Dans l’exemple suivant, le est File d’attentelabel sélectionnée : et le value est Demandes des clients. Vous pouvez également utiliser simplement le label ou le paramètre avec File valued’attente sélectionnée : demandes des clients.


    Capture d’écran du pavé de numérotation avec le message d’information
    idleState.dialpadInfoMessage.d’étiquette Chaîne Étiquette de forme libre à afficher sur le pavé de numérotation.
    idleState.dialpadInfoMessage.value (valeur) Chaîne Texte de message de forme libre à afficher après l’étiquette sur le pavé de numérotation.
    idleState.enableState Objet Détails sur l’état d’activation des boutons sur le pavé de numérotation.
    "enableState": {
       "logOut": Boolean,
       "outBoundCall": Boolean
     }
    idleState.enableState.Déconnexion Booléen Marqueur indiquant s’il faut activer le bouton de déconnexion dans l’interface utilisateur lors de l’état inactif.
    Valeurs valides :
    • vrai : affiche le bouton de déconnexion lorsqu’il est à l’état inactif.
    • faux : n’affiche pas le bouton de déconnexion lorsqu’il est à l’état inactif.

    Valeur par défaut : false

    idleState.enableState.outBoundCall Booléen Marqueur indiquant s’il faut activer le bouton d’appel sortant dans l’interface utilisateur lorsqu’il est à l’état inactif.
    Valeurs valides :
    • vrai : affiche le bouton d’appel sortant lorsqu’il est à l’état inactif.
    • faux : n’affiche pas le bouton d’appel sortant lorsqu’il est à l’état Inactif.

    Valeur par défaut : false

    offerContext Objet Détails sur le contexte d’offre du participant actuel pour la résilience.
    {
      "assignment": {Object},
      "creationTime": "String",
      "description": "String",
      "displayContent": {Object},
      "externalId": "String",
      "externalSegmentId": "String",
      "isResilient": Boolean,
      "metadata": {Object},
      "nowRecordId": "String",
      "nowRecordTable": "String",
      "providerAppInboundId": "String",
      "queueId": "String",
      "requesterId": "String",
      "transferContent": {Object},
      "type": "String"
    }
    offreContexte.affectation Objet Détails sur l’affectation de l’agent.
    "assignment": {
      "allowedToDecline": Boolean,
      "enableAutoAssign": Boolean,
      "offeredOn": "String",
      "timeout": "String"
    }
    offerContext.assignment. allowedToDecline Booléen Requis. Marqueur indiquant si l’agent est autorisé à refuser l’affectation.
    Valeurs valides :
    • vrai : l’agent est autorisé à refuser l’affectation.
    • faux : l’agent n’est pas autorisé à refuser l’affectation.

    Valeur par défaut : false

    offerContext.assignment. enableAutoAssign Booléen Requis. Marqueur indiquant si un agent reçoit automatiquement l’affectation.
    Valeurs valides :
    • vrai : un agent peut recevoir l’affectation automatiquement.
    • faux : un agent ne peut pas recevoir l’affectation automatiquement.

    Valeur par défaut : false

    offerContext.assignment. offerOn Chaîne Date à laquelle l’offre a été faite au format UTC (Www, jj Mmm aaaa HH :mm :ss GMT).
    offerContext.assignment. délai d’expiration Chaîne Délai en millisecondes à affecter à un agent avant le délai d’expiration.
    offerContext.creationTime Chaîne Facultatif. Date et heure de création de l’appel au format UTC (AAAA-MM-JJTHH :MM :SS).
    offerContext.description Chaîne Facultatif. Description de l’offre.
    offerContext.displayContent Objet Facultatif. Valeurs de charge utile JSON uniques représentant les valeurs affichées à l’écran.
    offerContext.externalId Chaîne Valeur unique qui identifie l’appel actif actuel sur le système externe associé.
    offerContext.isResilient Booléen Facultatif. Marqueur indiquant si le contexte de l’offre est résilient.
    Valeurs valides :
    • vrai : le contexte de l’offre est résilient.
    • false : le contexte de l’offre n’est pas résilient.

    Par défaut : true

    offreContexte.métadonnées Objet Facultatif. Valeurs de charge utile JSON personnalisées de forme libre.
    offerContext.nowRecordId Chaîne Requis. Sys_id de l’enregistrement de l’appel actif.

    Table : interaction [interaction] Option prise en charge uniquement pour le système de base.

    offerContext.nowRecordTable Chaîne Facultatif. Utilisez cette propriété pour définir l’élément de travail et le segment pour les transferts.
    offerContext. providerAppInboundId Chaîne Facultatif. ID unique du fournisseur tiers entrant.
    offerContext.ID de file d’attente Chaîne Requis pour les affectations régulières (sans transfert). ID unique représentant la file d’attente d’affectation. Utilisez la propriété pour les transferContent.targetId affectations de transfert.
    offerContext.requesterId Chaîne Requis. ID unique du demandeur de l’offre. Pour les fonctions vocales, cette valeur peut être le numéro de téléphone de l’utilisateur.
    offerContext.transferContent Objet Détails requis pour les affectations de transfert.
    "transferContent": {
      "sourceQueueId": "String",
      "targetId": "String",
      "targetType": "String",
      "transferType": "String"
    }
    offerContext.transferContent. sourceQueueId Chaîne ID sys_id ou externe de la file d’attente d’affectation.
    offerContext.transferContent. targetId Chaîne ID sys_id ou externe du transfert de file d’attente.
    offerContext.transferContent. targetType Chaîne Type de cible de transfert.
    Valeurs valides :
    • agent
    • queue
    offerContext.transferContent. transferType Chaîne Type de transfert.
    Valeurs valides :
    • aveugle
    • Consulter
    offerContext.type Chaîne Type d’appel.
    Valeurs valides :
    • Appel
    • Demande de rappel
    • Messagerie vocale
    searchTargetList Tableau d'objets Détails contextuels des données associées au transfert pour une ServiceNow table.
    "searchTargetList": [
      {
        "externalId": "String",
        "nowRecordId": "String",
        "nowRecordTable": "String",
        "participantID": "String",
        "quickStats": [Array],
        "targets": [Array],
        "targetTypes": [Array]
      }
    ]
    searchTargetList.ID externe Chaîne Identificateur unique de l’appel associé sur le système CCaaS.
    searchTargetList.nowRecordId Chaîne Requis. Sys_id de l’enregistrement auquel searchTargetList appartient.
    Remarque :
    Seuls les enregistrements de la table Interaction [interaction] sont actuellement pris en charge.
    searchTargetList.nowRecordTable Chaîne Requis. ServiceNow table à laquelle searchTargetList appartient.

    Table : seule valeur valide : « interaction »

    searchTargetList.ID du participant Chaîne Identificateur unique pour le participant à partir du système CCaaS.
    searchTargetList.quickStats Tableau d'objets Facultatif. S’applique uniquement aux entrées de l’agent. Liste des descripteurs d’état affichés en ligne dans la ligne de l’agent pour fournir des informations sur l’état de l’agent.
    "quickStats": [
      {
        "label": "String",
        "value": "String"
      }
    ]

    Exemple de rendu : Disponible | Astreinte 1

    searchTargetList.quickStats.label Chaîne Étiquette d’état affichée dans la ligne de l’agent.
    searchTargetList.quickStats.value Chaîne Valeur facultative ajoutée à l’étiquette.
    searchTargetList.Cibles Tableau d'objets Détails sur les agents, les utilisateurs externes et/ou les files d’attente vers lesquels l’appel peut être transféré.
    "targets": [
      {
        "payload": {Object},
        "transferSubtypes": [Array],
        "type": "String"
      }
    ]
    searchTargetList.Cibles.charge utile Objet Détails sur les informations à afficher dans le contrôle de transfert d’appel.

    Voici un exemple de contrôle d’appel de transfert qui contient une liste d’agents auxquels l’appel peut être transféré. La capture d’écran montre les éléments de l’interface utilisateur contrôlés par chaque paramètre dans le list.payload cadre.


    Capture d’écran de la fenêtre Transférer l’appel affichant l’association de paramètres
    "payload": {
      "list": [Array]
    }

    Cet exemple montre la charge utile d’un agent (« searchTargetList.targets.type » : « agent »).

    "payload": {
      "list": [
        {
          "name": "Alice Anderson",
          "id": "agent1Id",
          "hasStats": true,
          "presence": "available",
          "moreInfo": [
            {
              "label": "Skill",
              "value": "CRM certified"
            }
          ]
        }
      ]
    }

    L’exemple suivant montre un exemple de charge utile de file d’attente (« searchTargetList.targets.type » : « queue »).

    "payload": {
      "list": [
        {
          "name": "Product Support Queue",
          "id": "queue1Id",
          "hasStats": true,
          "moreInfo": [
            {
              "label": "Skill",
              "value": "10sec"
            },
            {
              "label": "Queue Skill",
              "value": "German"
            }
          ]
        },
        {
          "name": "Billing Queue",
          "id": "queue2Id",
          "hasStats": true,
          "moreInfo": [
            {
               "label": "Skill",
               "value": "10sec"
            }
          ]
        }
      ]
    }
    searchTargetList.Cibles.charge utile.liste Tableau d'objets Détails sur la charge utile pour chaque type de cible.
    "list": [
      {
        "hasStats": Boolean,
        "id": "String",
        "moreInfo": [Array],
        "name": "String",
        "presence": "String"
      }
    ]
    searchTargetList.Cibles.charge utile.liste.hasStats Booléen Marqueur indiquant si la cible associée possède des statistiques supplémentaires telles qu’un temps d’attente dans une file d’attente.
    Valeurs valides :
    • true : Target a des statistiques supplémentaires. Une icône d’information apparaît en regard du nom de l’agent ou de la file d’attente.
    • faux : Target n’a pas de statistiques supplémentaires.

    Valeur par défaut : false

    searchTargetList.Cibles.charge utile.liste.id Chaîne Identificateur unique de l’agent ou de la file d’attente dans le système CCaaS.
    searchTargetList.Cibles.charge utile.liste.moreInfo Tableau d'objets Requis si searchTargetList.targets.payload.list.hasStats est défini sur « vrai ». Liste des compétences dont dispose l’agent ou la file d’attente. Ces informations apparaissent dans une fenêtre contextuelle lorsque l’utilisateur sélectionne l’icône d’informations à la fin du nom de l’entité.
    "moreInfo": [
      {
        "label": "String",
        "value": "String"
      }
    ]
    searchTargetList.Cibles.charge utile.liste.plus d’informations.étiquette Chaîne Étiquette de forme libre pour les informations à afficher dans la fenêtre contextuelle, telles qu’une compétence ou une langue.
    searchTargetList.Cibles.charge utile.liste.plus d’informations.valeur Chaîne Texte à afficher dans la fenêtre contextuelle après l’étiquette, tel que Certifié CRM ou Allemand.
    searchTargetList.Cibles.charge utile.liste.nom Chaîne Nom de l’agent, de l’utilisateur externe ou de la file d’attente. Situé dans le système CCaaS.
    searchTargetList.Cibles.charge utile.liste.présence Chaîne État de présence de l’agent associé. Ce paramètre n’est valide que pour un searchTargetList.targets.typede « agent ».
    Valeurs valides :
    • Disponible
    • away
    • busy
    • offline
    searchTargetList.Cibles.transferSubtypes Tableau d'objets Détails sur le type de transfert pris en charge pour le searchTargetList.targets.typespécifié.

    Ces informations s’affichent lorsque l’utilisateur clique sur le point de suspension en regard du nom de la cible dans l’interface utilisateur.


    Composant d’appel de transfert affichant les types de transfert

    Par exemple, si seul un type de consultation est pris en charge pour le type cible actuel, par exemple file d’attente, ce tableau contiendra un objet pour indiquer le type de consultation du transfert.

    "transferSubtypes": [
      {
        "id": "String",
        "label": "String"
      }
    ]
    searchTargetList.Cibles.transferSubtypes.id Chaîne Identificateur du sous-type de transfert.
    Valeurs valides :
    • blind : l’agent transfère directement l’appel du client à un autre agent ou une autre file d’attente sans parler d’abord à l’agent.
    • consult : l’agent contacte l’agent qu’il souhaite consulter, puis fusionne le client dans l’appel avec l’agent consultant.

    Cela doit correspondre à la valeur de searchTargetList.targets.transferSubtypes.label.

    searchTargetList.Cibles.transferSubtypes.étiquette Chaîne Étiquette du sous-type de transfert. Si vous ne transmettez pas d’étiquette, rien n’apparaît dans l’interface utilisateur pour le sous-type de transfert.
    Valeurs valides :
    • Aveugle
    • Consulter

    Cela doit correspondre à la valeur de searchTargetList.targets.transferSubtypes.id.

    searchTargetList.Cibles.type Chaîne Type de cible.
    Valeurs valides :
    • agent
    • externe
    • queue
    searchTargetList.targetTypes Tableau de chaînes Facultatif. Spécifie les onglets à afficher dans le composant Répertoire téléphonique en fonction de l’interaction donnée.
    targetTypes: ["String", "String", "String"]
    Valeurs acceptées :
    • agent
    • queue
    • externe

    Par défaut : les trois onglets sont affichés.

    Type Chaîne Type de données de contexte à définir.
    Valeurs valides :
    • activeCall : définit le contexte du composant d’appel actif en cours. Lorsque vous transmettez ce type de contexte, vous devez également transmettre le paramètre activeCall[].Context
    • idleState : définit les options d’état d’inactivité pour l’utilisateur actuel. Lorsque ce type est défini, l’interface utilisateur de l’état d’inactivité (pavé de numérotation) apparaît dans OpenFrame. Lorsque vous transmettez ce type de contexte, vous devez également transmettre le JSON <idleState>{} en tant que Context paramètre.
    • offerContext : définit le contexte d’offre du participant actuel pour la résilience. Lorsque vous transmettez ce type de contexte, vous devez également transmettre le JSON offerContext{} en tant que Context paramètre.
    • searchTargetList : définit le contexte de l’annuaire téléphonique. Lorsque ce type est défini, il active Transférer l’appel dans le composant Appel actif. Lorsque vous transmettez ce type de contexte, vous devez également transmettre le JSON searchTargetList[] en tant que Context paramètre.
    Tableau 22. Renvoie
    Type Description
    Néant
    Erreur (offerContext) Messages d’erreur associés à l’objet utilisé pour la offerContext résilience. Pour afficher ces messages, utilisez la méthode subscribe() pour vous abonner à l’événement openframe_awa_client_offer .
    Les valeurs de contexte sont représentées comme suit :
    1. réussite
    2. erreur
    3. Réussite partielle
    AWA_EXTUSER_ROLE_CHECK_FAILED
    Message : L’utilisateur ne dispose pas du rôle awa_external_user.
    Cet événement indique que le rôle requis « awa_external_user » ou « administrateur » n’est pas présent pour l’agent.
    AWA_AGENT_NOT_AVAILABLE
    Message : l’agent n’est pas disponible pour recevoir du travail.
    Cet événement indique que l’agent sélectionné n’est pas disponible.
    AWA_OFFER_ASSIGNMENT_PAYLOAD_MISSING
    Message : la charge utile d’affectation est vide ou non définie dans offerContext.
    Cet événement indique que la charge utile est vide ou non définie dans l’objet offerContext .
    AWA_OFFER_QUEUEID_MISSING
    Message : L’ID de file d’attente de la source de transfert est manquant dans offerContext.
    Cet événement indique que l’ID de file d’attente de transfert requis (transferContent.targetId) est manquant dans l’objet offerContext .
    AWA_ASSIGNMENT_OFFEREDON_FUTURE
    Message : OfferedOn time est dans le futur.
    Cet événement indique que la valeur de la assignment.offeredOn propriété est une date future et non valide. La date doit être présente ou antérieure.
    AWA_ASSIGNMENT_OFFEREDON_INVALID_FORMAT
    Message : Le format de date OfferedOn n’est pas valide, veuillez l’envoyer au format UTC « Www, jj Mmm aaaa HH :mm :ss GMT ».
    Cet événement indique que la valeur fournie pour la offerContext.assignment.offeredOn propriété n’est pas au format de date et d’heure approprié.
    AWA_OFFER_EXTERNALID_MISSING
    Message : ExternalId est manquant dans offerContext.
    Cet événement indique que la propriété externalId requise n’a pas été fournie pour l’offre. Cette valeur identifie l’appel actif sur le système externe associé.

    L’exemple de code suivant montre comment définir le contexte de l’état actif.

    openFrameAPI.setICContext("activeCall", {
      "activeCall": [
        { 
          "nowRecordTable": "interaction",
          "nowRecordId": "12345675678903456",
          "externalId": "1234567890",
          "type": "call",
          "direction": "inbound",
          "currentParticipant": {
            "id": "participant1",
            "name": "John 1",
            "actor": "agent",
            "state": "connected",
            "connectedTime": "Fri, 12 Jul 2024 05:23:41 GMT",
            "callStartTime": "Fri, 12 Jul 2024 04:20:22 GMT",
            "muted": false,
            "held": true,
            "paused": true,
            "flagged": true,
            "recording": "in_progress",
            "capabilities": {
              "hold": false,
              "mute": true,
              "endCall": true,
              "startRecording": true,
              "pauseRecording": true,
              "stopRecording": true,
              "resumeRecording": true,
              "transfer": true,
              "mergeCall": true,
              "leaveAndTransfer": true,
              "dtmf": true,
              "flag": true
            }
          },
          "participants": [
            {
              "id": "customer1",
              "name": "Gilly 1",
              "actor": "customer",
              "address": "+18582359874",
              "ani": "+16193287356", 
              "dnis": "+18004346258",
              "state": "connected",
              "connectedTime": "Fri, 12 Jul 2024 00:23:41 GMT",
              "callStartTime": "Fri, 12 Jul 2024 20:55:04 GMT",
              "muted": false,
              "held": false,
              "heldAtTime": "Fri, 12 Jul 2024 20:55:04 GMT", 
              "capabilities": {
                "mute": true,
                "hold": true,
                "endCall": true
              }
            },
            {
              "id": "agent2",
              "name": "Ned",
              "actor": "agent",
              "address": "+3134787324",
              "ani": "+13134787324", 
              "dnis": "+14773286943",
              "state": "Ringing...",
              "requireWrapup": true,
              "requestACW": true,
              "connectedTime": "Fri, 12 Jul 2024 20:24:41 GMT",
              "callStartTime": "Fri, 12 Jul 2024 20:56:34 GMT",
              "muted": true,
              "held": true,
              "heldAtTime": "Fri, 12 Jul 2024 20:55:41 GMT",
              "capabilities": {
                "mute": true,
                "endCall": true,
                "hold": true 
              }
            }
          ]
        },
        {
          "nowRecordTable": "interaction",
          "nowRecordId": "12345yhedfh534576u5",
          "externalId": "1234567890",
          "type": "call",
          "direction": "inbound",
          "currentParticipant": {
            "id": "participant1",
            "name": "John 1",
            "actor": "agent",
            "state": "connected",
            "muted": true,
            "held": false,
            "recording": "in_progress",
            "paused": true,
            "flagged": true,
            "capabilities": {
              "hold": false,
              "mute": true,
              "endCall": true,
              "record": true,
              "startRecording": true,
              "stopRecording": true,
              "transfer": true,
              },
              "mergeCall": false,
              "dtmf": true,
              "flag": true
            }
          },
          "participants": [
            {
              "id": "customer1",
              "name": "Gilly 2",
              "actor": "customer",
              "address": "+123456789",
              "state": "connected",
              "connectedTime": "Wed, 04 Dec 2024 00:23:41 GMT",
              "muted": true,
              "held": false,
              "heldAtTime": "Fri, 12 Jul 2024 20:24:41 GMT”,
              "capabilities": {
                "mute": true,
                "hold": true,
                "endCall": true
              }
            },
            {
              "id": "agent2",
              "name": "Ned 2",
              "actor": "agent",
              "address": "+123456789",
              "state": "Ringing...",
              "connectedTime": "Fri, 12 Jul 2024 20:24:41 GMT",
              "muted": true,
              "held": true,
              "heldAtTime": "Fri, 12 Jul 2024 20:24:41 GMT”,
              "capabilities": {
                "mute": true,
                "endCall": true,
                "hold": true
              }
            }
          ]
         }
        ]
      }
    );
    

    L’exemple suivant montre comment définir le contexte de l’état d’inactivité.

    openFrameAPI.setICContext("idleState", {
      "capability": {
        "outBoundCall": true,
        "logOut": true 
      },
      "enableState": {
        "outBoundCall": true,
        "logOut": true
      },
      "dialpadInfoMessage": {
        "label": "Info Message Label",
        "value": "Info Message Value"
      },
      "currentInboundId": "1234"
    });

    L’exemple suivant montre comment définir le contexte de la liste cible de recherche.

    openFrameAPI.setICContext("searchTargetList",
      {
        "searchTargetList": [
          {
            "nowRecordTable": "interaction",
            "nowRecordId": "1234",
            "externalId": "5678",
            "participantID": "participant1”,
            “targetTypes”: [“agent”, “queue”],
            "targets": [
              {
                "type": "agent",
                "transferSubtypes": [
                  {
                    "id": "consult",
                    "label": "Consult"
                  },
                  {
                    "id": "blind",
                    "label": "Blind"
                  }
                ],
                "payload": {
                  "list": [
                    {
                      "name": "John Jason",
                      "id": "agent1Id",
                      "hasStats": true,
                      "presence": "away",
                      "moreInfo": [
                        {
                          "label": "Skill",
                          "value": "10sec"
                        }
                      ]
                    }
                  ]
                }
              },
              {
                "type": "queue",
                "transferSubtypes": [
                  {
                    "id": "consult",
                    "label": "Consult"
                  },
                  {
                    "id": "blind",
                    "label": "Blind"
                  }
                ],
                "payload": {
                  "list": [
                    {
                      "name": "Product Support Queue",
                      "id": "queue1Id",
                      "hasStats": true,
                      "moreInfo": [
                        {
                          "label": "Skill",
                          "value": "10sec"
                        },
                        {
                          "label": "Queue Skill",
                          "value": "German"
                        }
                      ]
                    },
                    {
                      "name": "Billing Queue",
                      "id": "queue2Id",
                      "hasStats": true,
                      "moreInfo": [
                        {
                          "label": "Skill",
                          "value": "10sec"
                        }
                      ]
                    }
                  ]
                }
              }
            ],
            "customPayload": {}
          }
        ],
        "customPayload": {}
      });
    L’exemple suivant suggère comment définir le contexte de rappel et les paramètres des options connexes.
    openFrameAPI.setICContext('activeCall', callbackContext);
    
    var callbackContext = {
      "activeCall": [
        {
          "nowRecordTable": "Customer interaction",
          "nowRecordId": "12345yhedfh534576u5",
          "externalId": "1234567890",
          "type": "callback",
          "currentParticipant": {
            "id": "agent1",
            "capabilities": {
              "initiateCall": true,
              "closeCallback": true,
              "transfer": true,
              "cancelCallbackTransferEligible": false,
              "callbackTransferStatus": ""
            }
          },
          "callbackContext": {
            "customerName": "Fred Luddy",
            "callbackNumbers": [
              "8665551234"
            ],
            "callAttemptedByAgent": true,
            "closeInEndTime": "Mon, 05 Dec 2024 09:25:08 GMT",
            "dialInEndTime": ""
          }
        }
      ]
    }

    L’exemple suivant montre comment définir les détails de réponse à l’appel de résilience à l’aide de la propriété offerContext.

    // Set offerContext
    openFrameAPI.setICContext('offerContext', offerContext);
    
    var offerContext = {
      "offerContext": [
        {
          "nowRecordTable": "interaction",
          "type": "phone",
          "externalId": "1234567890",
          "externalSegmentId": "12345yhedfh534576u5",
          "queueId": "10111ad087063250df52fe66cebb3520",
          "creationTime": "19-12-2025 11:23:45",
          "requesterId": "4085018550",
          "assignment": {
            "offeredOn": "Fri, 19-12-2025  13:07:59",
            "timeout": "4000",
            "allowedToDecline": true,
            "enableAutoAssign": true
          },
          "displayContent": {
            "title": "Phone",
            "displayContent1": "Abel Tuter",
            "displayContent2": "Priority - 4-Low",
            "displayContent3": "category - Product Issue"
          }
        }
      ]
    };

    openFrameAPI : setIcons(icônes de tableau)

    Définit les icônes dans l’en-tête OpenFrame qui sont placées à côté de l’icône de fermeture.

    Tableau 23. Paramètres
    Nom Type Description
    icônes Tableau d’objets Liste des configurations d’icônes, où chaque configuration d’icône est un objet avec des valeurs imageURLclés, imageTitleet tout autre contexte nécessaire.

    Taille maximale : les icônes peuvent être d’un maximum de 16x16 pixels. Les images plus grandes sont automatiquement ajustées à ce maximum.

    Tableau 24. Renvoie
    Type Description
    nul
    openFrameAPI.setIcons([{imageURL:'https://mydomian.com/image/mute.png',
    imageTitle:'mute', id:101}, {imageURL:'https://mydomian.com/image/hold.png',
    imageTitle:'hold', id:102}]);

    openFrameAPI : setPresenceIndicator(présence)

    Définit l’indicateur de présence pour afficher la disponibilité de l’agent dans un espace de travail.

    Pour plus d’informations sur la configuration d’OpenFrame, consultez Créer une configuration OpenFrame

    Tableau 25. Paramètres
    Nom Type Description
    État Chaîne État de présence de l’agent.

    États par défaut :

    • Filtres disponibles
    • Absent
    • Hors ligne

    Vous pouvez également spécifier des états personnalisés.

    couleur Chaîne Couleur de l’indicateur de présence sur l’espace de travail.

    Couleurs prises en charge :

    • rouge
    • orange
    • gris
    • vert
    Tableau 26. Renvoie
    Type Description
    nul
    openframeAPI.setPresenceIndicator('Available', 'green');

    openFrameAPI : setSize (largeur du nombre, hauteur du nombre)

    Définit la taille OpenFrame.

    Tableau 27. Paramètres
    Nom Type Description
    largeur Numéro Doit être supérieur à zéro.
    hauteur Numéro Doit être supérieur à zéro.
    Tableau 28. Renvoie
    Type Description
    nul
    openFrameAPI.setSize(300, 370);

    openFrameAPI : setSubtitle(String subTitle)

    Définit le sous-titre OpenFrame.

    Tableau 29. Paramètres
    Nom Type Description
    subTitle Chaîne Une chaîne de 256 caractères ou moins.
    Tableau 30. Renvoie
    Type Description
    nul
    openFrameAPI.setSubtitle('+18888888888');

    openFrameAPI : setTitle(Titre de chaîne)

    Définit le titre OpenFrame.

    Tableau 31. Paramètres
    Nom Type Description
    Titre Chaîne Une chaîne de 256 caractères ou moins.
    Tableau 32. Renvoie
    Type Description
    nul
    openFrameAPI.setTitle('Incoming Call');

    openFrameAPI : setTitleIcon(icône d’objet)

    Définit l’icône de titre d’OpenFrame.

    Tableau 33. Paramètres
    Nom Type Description
    icône Objet Objet des paires clé-valeur. Les clés incluent imageURL, imageTitleet tout autre contexte nécessaire.

    Taille maximale : les icônes peuvent être d’un maximum de 16x16 pixels. Les images plus grandes sont automatiquement ajustées à ce maximum.

    Tableau 34. Renvoie
    Type Description
    nul
    openFrameAPI.setTitleIcon({imageURL:'/my/image/path.png', imageTitle:'mute', id:101});
    openFrameAPI.setTitleIcon({imageURL:'https://mydomian.com/image/path.png',
    imageTitle:'mute', id:101});

    openFrameAPI : toastMessage(Message de chaîne, Type de chaîne, Durée du numéro)

    Affiche un message d’alerte.

    Tableau 35. Paramètres
    Nom Type Description
    message Chaîne Message à afficher dans l’alerte.
    type Chaîne Type de message.
    Valeurs possibles :
    • infos
    • avertissement
    • erreur
    durée Numéro Facultatif. Durée d’affichage du message avant qu’il ne soit automatiquement rejeté.

    Unités : millisecondes

    Par défaut : le message s’affiche jusqu’à ce qu’il soit fermé manuellement.

    Tableau 36. Renvoie
    Type Description
    Néant

    Cet exemple affiche les messages d’information, d’avertissement et d’erreur.

    openFrameAPI.toastMessage("Testing info message", "info", 10000); //display for 10 seconds
    openFrameAPI.toastMessage("Testing warning message", "warning"); //display until manually closed
    openFrameAPI.toastMessage("Testing error message", "error");

    openFrameAPI : setWidth(largeur)

    Définit la largeur OpenFrame.

    Tableau 37. Paramètres
    Nom Type Description
    Largeur Numéro Largeur en pixels
    Tableau 38. Renvoie
    Type Description
    nul
    openFrameAPI.setWidth(100);

    openFrameAPI : show()

    Rend l’OpenFrame visible dans le TopFrame.

    Tableau 39. Paramètres
    Nom Type Description
    Néant
    Tableau 40. Renvoie
    Type Description
    nul
    openFrameAPI.show()

    openFrameAPI - subscribe(événement openFrameAPIEVENT, fonction eventCallback)

    S’abonne à un événement spécifié.

    Tableau 41. Paramètres
    Nom Type Description
    event openFrameAPIEVENT L’événement auquel souscrire :
    • interaction_control_action : reçoit les mises à jour de l’événement de cycle de vie de l’interaction ou du contrôle des appels depuis OpenFrame et met à jour l’interface utilisateur en conséquence. Les exemples de mise à jour du contrôle d’appel incluent les demandes d’appel initié, désactivé, en attente, terminée et de transfert.
    • openframe_agent_off_interaction : indique la présence d’un agent sur la messagerie instantanée comme étant désactivée ou disponible.
    • openframe_awa_agent_presence : dans Affectation de travail avancée (AWA), cet événement se produit en cas de changement de l’état de présence de l’agent. Les développeurs de couplage téléphonie-informatique (CTI) peuvent s’abonner à cet événement pour recevoir les changements d’état de présence.
    • openframe_awa_client_offer : Se produit lorsqu’une offre ou un transfert est effectué sur une offre liée à la résilience.
    • openframe_awa_workitem_accepted : se produit lorsqu’un élément de travail est accepté par un agent.
    • openframe_awa_workitem_offered : se produit lorsqu’un élément de travail est proposé à un agent.
    • openframe_awa_workitem_rejected : se produit lorsqu’un élément de travail est rejeté par un agent.
    • openframe_before_destroy : Se produit avant le déchargement du TopFrame.
    • openframe_collapse : se produit lorsque l’icône Réduire est sélectionnée dans l’en-tête OpenFrame.
    • openframe_communication : spécifique à l’application et personnalisable.
    • openframe_communication_failure : se produit lorsque la communication avec TopFrame échoue.
    • openframe_expand : se produit lorsque l’icône de développement est sélectionnée dans l’en-tête OpenFrame.
    • openframe_heart_beat : se produit lorsque la session utilisateur est prolongée ou déconnectée.
    • openframe_header_icon_clicked : déconseillé. Utilisez plutôt openframe_icon_clicked ou openframe_title_icon_clicked.
    • openframe_hidden : se produit lorsque OpenFrame est masqué.
    • openframe_icon_clicked : se produit lorsqu’une icône autre que l’icône de fermeture est sélectionnée dans le pied de page OpenFrame. Le rappel reçoit l’objet icône en tant que paramètre.
    • openframe_shown : se produit lorsque l’OpenFrame est affiché.
    • openframe_title_icon_clicked : se produit lorsque l’icône de titre est sélectionnée sur OpenFrame. Le rappel reçoit l’objet titleIcon en tant que paramètre.
    • openframe_wrap_up_submitted : se produit lorsque les périodes de récapitulatif se terminent sur la boîte de dialogue non modale de récapitulatif. L’événement n’est déclenché que lorsque le récapitulatif est externe.
    eventCallback function Fonction à appeler lorsque l’événement spécifié se produit.
    Tableau 42. Renvoie
    Type Description
    résultats La plupart des abonnements à des événements n’ont aucune valeur de retour. Les abonnements à l’événement qui renvoient des valeurs sont décrits dans les entrées de table suivantes.
    openframe_awa_agent_presence Dans AWA, l’événement openframe_awa_agent_presencerenvoie l’objet presence :
    "presence":{
      "available": Boolean,
      "channels":[
        {
          "available": Boolean,
          "name": "String",
          "restrict_update": Boolean,
          "sys_id": "String"
        }
      ],
      "name": "String",
      "sys_id": "String"
    }
    presence : Informations sur la présence actuelle, l’état et le canal d’un agent.
    • presence.available : Marqueur indiquant si l’agent est disponible.
    • presence.channels : Liste d’objets qui décrivent les canaux de communication disponibles avec l’agent.
      • presence.channels.available : Marqueur indiquant si le canal est disponible.
      • presence.channels.name : Nom du canal, tel que Messagerie instantanée ou Téléphone.
      • presence.channels.restrict_update : Marqueur indiquant si l’utilisateur peut restreindre les mises à jour.
      • presence.channels.sys_id : sys_id de canal.
    • presence.name : Nom de l’état de présence de l’agent.
    • presence.sys_id : État de présence sys_id.
    openframe_awa_workitem_accepted et openframe_awa_workitem_offered Dans AWA, les openframe_awa_workitem_accepted événements et openframe_awa_workitem_offered renvoient l’objet workItem :
    "workItem": {
      "document": {
        "sys_id": "String",
        "table": "String"
      },
      "isAutoAccepted": Boolean,
      "isQueueTransferred": Boolean,
      "previousWorkItem": "String",
      "serviceChannel": {
        "name": "String",
        "sys_id": "String"
      },
      "size": Number,
      "sys_id": "String"
    }

    workItem: informations sur l’élément de travail associé à l’événement.

    • workItem.document: liste des documents associés à la tâche de l’élément de travail.
      • workItem.document.sys_id: Sys_id du document affecté à la tâche d’élément de travail.
      • workItem.document.table: nom de la table de documents affectée à la tâche.
    • workItem.isAutoAccepted: marqueur indiquant si l’élément de travail a été automatiquement accepté par le système. Défini sur vrai si l’élément de travail a été accepté automatiquement.
    • workItem.isQueueTransferred: marqueur indiquant si l’élément de travail est transféré en file d’attente. Définissez sur vrai si l’élément de travail est transféré en file d’attente, sur faux dans le cas contraire.
    • workItem.previousWorkItem: Sys_id de l’élément de travail précédent pour le même ID de document. Cette valeur est vide pour les éléments de travail sans transfert.
    • workItem.serviceChannel: liste des canaux de service associés à la tâche de l’élément de travail.
      • workItem.serviceChannel.name: nom du canal de service, tel que Chat ou Phone.
      • workItem.serviceChannel.sys_id: Sys_id du canal de service.
    • workItem.size: capacité de l’agent utilisée lorsque cet élément de travail est affecté à l’agent.
    • workItem.sys_id: Sys_id de l’élément de travail qui a été accepté ou proposé.
    openframe_awa_workitem_rejected Dans AWA, l’événement openframe_awa_workitem_rejected renvoie l’objet workItem :
    "workItem": {
      "document": {
        "sys_id": "String",
        "table": "String"
      },
      "isQueueTransferred": Boolean,
      "previousWorkItem": "String",
      "rejection": {
        "reason": "String",
        "sys_id": "String"
      },
      "serviceChannel": {
        "name": "String",
        "sys_id": "String"
      },
      "size": Number,
      "sys_id": "String"
    }

    workItem: informations sur l’élément de travail associé à l’événement.

    • workItem.document: liste des documents associés à la tâche de l’élément de travail.
      • workItem.document.sys_id: Sys_id du document affecté à la tâche d’élément de travail.
      • workItem.document.table: nom de la table de documents affectée à la tâche.
    • workItem.isQueueTransferred: marqueur indiquant si l’élément de travail est transféré en file d’attente. Définissez sur vrai si l’élément de travail est transféré en file d’attente, sur faux dans le cas contraire.
    • workItem.previousWorkItem: Sys_id de l’élément de travail précédent pour le même ID de document. Cette valeur est vide pour les éléments de travail sans transfert.
    • workItem.rejection: liste des motifs du rejet de l’élément de travail.
      • workItem.rejection.reason: nom du motif du rejet des éléments de travail.
      • workItem.rejection.sys_id: Sys_id du motif du rejet.

        Table : Motifs du rejet [awa_reject_reason]

    • workItem.serviceChannel: liste des canaux de service associés à la tâche de l’élément de travail.
      • workItem.serviceChannel.name: nom du canal de service, tel que Chat ou Phone.
      • workItem.serviceChannel.sys_id: Sys_id du canal de service.
    • workItem.size: capacité de l’agent utilisée lorsque cet élément de travail est affecté à l’agent.
    • workItem.sys_id: Sys_id de l’élément de travail qui a été accepté ou proposé.
    openframe_heart_beat L’événement openframe_heart_beat renvoie l’objet suivant :
    {
      "lastUiActivity": "String",
      "sessionLoggedIn": Boolean
    }
    • lastUiActivity: Facultatif. Horodatage de la dernière activité d’interface utilisateur qui a prolongé la session utilisateur.
    • sessionLoggedIn Marqueur indiquant si l’utilisateur est connecté.
      • vrai : l’utilisateur est connecté.
      • faux : l’utilisateur n’est pas connecté.
    openframe_wrap_up_submitted L’événement openframe_wrap_up_submitted renvoie l’objet suivant :
    { 
      "wrapUp": {
        "external": Boolean,
        "externalSegmentId": "String", 
        "recordId": "String",
        "recordTable": "String",
        "wrapUpCode": "String",
        "wrapUpNotes": "String",
        "wrapUpSegmentId": "String"
      }
    }
    • external: marqueur indiquant si le récapitulatif est géré en interne par l’instance ServiceNow ou géré en dehors de l’instance ServiceNow par un autre système d’appel.
      • true : le récapitulatif est géré par un système d’appel externe.
      • false : le récapitulatif est géré par l’instance ServiceNow .
    • externalSegmentId: identificateur unique de l’objet de données externe qui a déclenché le récapitulatif externe.
    • recordId: Sys_id de l’enregistrement d’interaction en cours de récapitulatif.
    • recordTable: nom de la table contenant l’enregistrement. Toujours défini comme « interaction ».
    • wrapUpCode: code sélectionné par l’utilisateur pendant le récapitulatif qui indique comment l’interaction a été résolue.
    • wrapUpNotes: texte au format libre saisi par l’utilisateur pendant le récapitulatif qui décrit la façon dont l’interaction a été résolue.
    • wrapUpSegmentId: Sys_id de l’enregistrement du segment de récapitulatif de l’interaction associé à l’interaction. Situé dans la table Segment de récapitulatif [interaction_wrap_up_segment]. Contient les données récapitulatives.

    L’exemple de code suivant montre comment appeler cette méthode pour un événement openframe_awa_agent_presence .

    function handleIconClick(context) {
    console.log("Icon was clicked", context);
    }
    openFrameAPI.subscribe(openFrameAPI.events.openframe_awa_agent_presence, handleIconClick);

    Sortie :

    // Sample presence object output
    // openframe_awa_agent_presence event only
    
    {
      "result":{
        "presence":{
          "name":"Available",
          "sys_id":"27f675e3739713004a905ee515f6a7c3",
          "available":true,
          "channels":[
            {
              "name":"Chat",
              "available":true,
              "sys_id":"36f675e4239713124a905fe515f6a832",
              "restrict_update":false
            },
            {
              "name":"Phone",
              "available":true,
              "sys_id":"9378a530a1820610f809018efd9bc01e",
              "restrict_update":false
            }
          ]
        }
      }
    }

    L’exemple de code suivant montre comment appeler cette méthode pour un événement openframe_awa_workitem_accepted .

    function handleIconClick(context) {
    console.log("Icon was clicked", context);
    }
    openFrameAPI.subscribe(openFrameAPI.events.openframe_awa_workitem_accepted, handleIconClick);

    Sortie :

    // Sample workItem object output
    // openframe_awa_workitem_accepted event only
    {
      "result": {
        "workItem": {
          "sys_id": "14c86c40a1650610f87701807d9bc0be",
          "size": 1,
          "serviceChannel": {
            "name": "Chat",
            "sys_id": "27f675e3739713004a905ee515f6a7c3"
          },
          "document": {
            "sys_id": "aa582040a1650610f87701807d9bc076",
            "table": "interaction"
          },
          "previousWorkItem": "7c78a440a1650610f87701807d9bc02b",
          "isQueueTransferred": true,
          "isAutoAccepted": true
        }
      }
    }

    L’exemple de code suivant montre comment appeler cette méthode pour un événement openframe_awa_workitem_rejected .

    function handleIconClick(context) {
    console.log("Icon was clicked", context);
    }
    openFrameAPI.subscribe(openFrameAPI.events.openframe_awa_workitem_rejected, handleIconClick);

    Sortie :

    // Sample workItem object output
    // openframe_awa_workitem_rejected event only
    {
      "payload": {
        "workItem": {
          "sys_id": "2c3bdc4824250610f8775e73b116f8de",
          "size": "1",
          "serviceChannel": {
            "name": "Chat",
            "sysID": "27f675e3739713004a905ee515f6a7c3"
          },
          "document": {
            "sys_id": "cf0a180824250610f8775e73b116f80c",
            "table": "interaction"
          },
          "rejection": {
            "reason": "Busy",
            "sys_id": "4e93fa29b38023002e7b6e5f26a8dc20"
          },
          "previousWorkItem": "831b9c4824250610f8775e73b116f841",
          "isQueueTransferred": true
        }
      }
    }

    L’exemple suivant montre comment s’abonner à l’événement interaction_control_action .

    openFrameAPI.subscribe("interaction_control_action", function(action) {
        // Can perform the action based on the name
        if (action.name == "mute") {
            mute();
            openFrameAPI.setICContext("activeCall", context); // Update context representing the change
        } else if (action.name == "getSearchTarget") {
            action.payload.searchType == "queue" ? fetchQueueTransferList(action.payload.searchTerm) : fetchAgentTransferList(action.payload.searchTerm);
            openFrameAPI.setICContext("searchTargetList", context); // Call context will have the transfer list
        } else if (action.name == "logout") {
            logout();
            openFrameAPI.showIframe(); // Show iframe api
        }
    });

    openFrameAPI : version()

    Renvoie la version de l’API OpenFrame.

    Tableau 43. Paramètres
    Nom Type Description
    Néant
    Tableau 44. Renvoie
    Type Description
    Chaîne Version de l’API OpenFrame
    var version = openFrameAPI.version();
    
    console.log("API version " + version);