openFrameAPI : client

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 33 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’un des besoins de base est la capacité de connecter et de fournir du code provenant de différents domaines et pouvant se connecter de manière fluide aux sous-systèmes partenaires. Cette connexion inter-domaine est nécessaire pour maintenir les connexions et les rappels inscrits dans les systèmes de communication sans aucun problème inter-domaine.

    OpenFrame comporte deux parties importantes. L’un vit 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 de l’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
    presence 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"
    }
    presence.available 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

    presence.channels 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"
      }
    ]
    presence.channels.available Marqueur indiquant si le canal est disponible.
    Valeurs valides :
    • vrai : le canal est disponible.
    • false : 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 au canal.
    Valeurs valides :
    • vrai : l’utilisateur peut restreindre les mises à jour au canal.
    • faux : l’utilisateur ne peut pas restreindre les mises à jour au 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 l’OpenFrame dans le TopFrame.

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

    openFrameAPI - init(configuration d’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
    configuration 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.
    successCallback 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(fonction de rappel)

    Vérifie si l’OpenFrame est visible dans le 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 elle n’est pas visible.
    Tableau 8. Renvoie
    Type Description
    nul
    function callback(isVisible) {
    console.log(isVisible)
    }
    openFrameAPI.isVisible(callback)

    openFrameAPI - openCustomURL(détails de la 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 : 2 083 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. Cliquer sur un lien dans la fenêtre OpenFrame affiche 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 de l’onglet 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 de valeurs clés qui identifient l’URL de formulaire à ouvrir.
    "details": {
      "entity": "String";
      "interaction_sys_id": "String";
      "query": "String"
    }
    details.entity 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, le interaction_sys_id est ignoré.
    details.query 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 les 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 de famille 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
    Aucun

    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 de l’OpenFrame.

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

    openFrameAPI - setHeight(hauteur)

    Définit la hauteur de l’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 de contexte relatives aux contrôles d’interaction sur le client. Utilisez ces données de contexte 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.

    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
    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 JSON activeCall[] comme Context paramètre.

      Composant d’appel actif

    • idleState : définit les options d’état d’inactivité pour l’utilisateur actuel. Lorsque cette option est définie, 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.

      Composant de clavier

    • searchTargetList : définit le contexte de l’annuaire téléphonique. Lorsque cette option est définie, elle active Transférer l’appel sur le composant d’appel actif. Lorsque vous transmettez ce type de Context contexte, vous devez également transmettre le JSON searchTargetList[] comme paramètre.

      Transférer le composant d’appel
    <Contexte> Objet Données de contexte à définir. Chaque type de données de contexte a un ensemble différent de données d’entrée possibles.
    Objets de données valides Context :
    • activeCall
    • <idleState>
    • searchTargetList
    activeCall Tableau d'objets Détails sur un appel actif. Chaque objet représente un appel actif en cours.
    "activeCall": [
      { 
        "currentParticipant": {Object},
        "customPayload: {Object},
        "direction": "String",
        "externalId": "String",
        "nowRecordId": "String",
        "nowRecordTable": "String",
        "participants": [Array],
        "type": "String"
      }
    ]
    activeCall.currentParticipant Objet Requis. Détails sur les options d’appel du participant actuel et son état.
    "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 :
    D’autres types de participants seront ajoutés à 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 les icônes d’options
    "capabilities": {
      "dtmf": Boolean,
      "endCall": Boolean,
      "flag": Boolean,
      "hold": Boolean,
      "leaveAndTransfer": Boolean,
      "mergeCall": Boolean,
      "mute": Boolean,
      "resumeRecording": Boolean,
      "pauseRecording": Boolean,
      "startRecording": Boolean,
      "stopRecording": Boolean,
      "transfer": Boolean
    }
    activeCall.currentParticipant.capabilities.Dtmf Booléen Marqueur indiquant si l’agent dispose de l’option multifréquence à double tonalité (DTMF) pour l’appel actuel.
    Valeurs valides :
    • vrai : le participant dispose de la capacité 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 : un 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 mise en attente est activé dans l’interface utilisateur.
    • faux : le participant ne peut pas mettre l’appel en attente. Le bouton de mise en attente 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, où 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 sont capables de fusionner.
    Valeurs valides :
    • vrai : le participant peut fusionner l’appel. Le bouton de fusion 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 désactiver le son de l’appel. Le bouton de sourdine est activé dans l’interface utilisateur.
    • faux : le participant ne peut pas couper le son de l’appel. Le bouton de sourdine 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 de pause de l’enregistrement est activé dans l’interface utilisateur.
    • faux : le participant ne peut pas reprendre l’enregistrement de l’appel. Le bouton de pause de l’enregistrement 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 de pause de l’enregistrement est activé dans l’interface utilisateur.
    • faux : le participant ne peut pas mettre en pause l’enregistrement de l’appel. Le bouton de pause de 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 d’enregistrer l’appel.
    Valeurs valides :
    • vrai : le participant peut arrêter d’enregistrer l’appel. Le bouton Arrêter l’enregistrement est activé dans l’interface utilisateur.
    • faux : le participant ne peut pas arrêter d’enregistrer 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 attente.

    Valeur par défaut : false

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

    Table : Utilisateur [sys_user]

    activeCall.currentParticipant.muted 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 défini.

    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 mis 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 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.direction Chaîne Direction de l’appel pour le participant associé.
    Valeurs valides :
    • Entrante
    • 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.Ani Identification automatique des numéros. Numéro de téléphone à afficher au destinataire de l’appel téléphonique.
    activeCall.Participants.adresse Chaîne Numéro de téléphone du participant.
    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 : un 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 mise en attente est activé dans l’interface utilisateur.
    • faux : le participant ne peut pas mettre l’appel en attente. Le bouton de mise en attente 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 désactiver le son de l’appel. Le bouton de sourdine est activé dans l’interface utilisateur.
    • faux : le participant ne peut pas couper le son de l’appel. Le bouton de sourdine 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 par numéro composé. 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 attente.

    Valeur par défaut : false

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

    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 Centre de contact en tant que 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 défini.

    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 un 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 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 .
    Affichage de l’état de la fenêtre d’appel actif
    Il peut s’agir de n’importe quel texte significatif, tel que :
    • Alerte
    • Connecté
    • Sonnerie
    activeCall.type Chaîne Type d’appel.
    Valeurs valides :
    • appeler
    • Demande de rappel
    • 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 s’affichent sur le pavé de numérotation 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 inactive.
    Valeurs valides :
    • true : affiche la liste de contacts globale.
    • faux : n’affiche pas la liste de contacts globale.

    Valeur par défaut : false

    <idleState>.capability.déconnexion Booléen Marqueur indiquant si l’utilisateur peut se déconnecter pendant un é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 effectuer un appel sortant pendant 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ée 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 le label paramètre ou le value paramètre avec File d’attente sélectionnée : demandes des clients.


    Capture d’écran du pavé de numérotation avec message d’information
    <idleState>.dialpadInfoMessage.étiquette Chaîne Étiquette de forme libre à afficher sur le pavé de numérotation.
    <idleState>.dialpadInfoMessage.valeur Chaîne Texte de message au format 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 pendant l’état inactif.
    Valeurs valides :
    • true : affiche le bouton de déconnexion lorsque celui-ci est inactif.
    • faux : n’affiche pas le bouton de déconnexion lorsque l’état est 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 pendant l’état inactif.
    Valeurs valides :
    • true : affiche le bouton d’appel sortant lorsqu’il est inactif.
    • false : n’affiche pas le bouton d’appel sortant lorsque l’état est inactif.

    Valeur par défaut : false

    searchTargetList Tableau d'objets Détails des données associées au transfert pour une ServiceNow table.
    "searchTargetList": [
      {
        "externalId": "String",
        "nowRecordId": "String",
        "nowRecordTable": "String",
        "participantID": "String",
        "targets": [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 Obligatoire. ServiceNow Table à laquelle searchTargetList appartient.

    Table : valeur valide uniquement : « interaction »

    searchTargetList.ID du participant Chaîne Identificateur unique pour le participant à partir du système CCaaS.
    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 d’appel de transfert.

    Voici un exemple de contrôle Transférer l’appel 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 que chaque paramètre dans les list.payload contrôles.


    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 pour une file d’attente.
    Valeurs valides :
    • vrai : la cible a des statistiques supplémentaires. Une icône d’informations apparaît en regard du nom de l’agent ou de la file d’attente.
    • faux : la cible 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 que possède 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 ou un searchTargetList.targets.type« 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 spécifié searchTargetList.targets.type.

    Ces informations s’affichent lorsque l’utilisateur clique sur l’ellipse 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 file d’attente sans parler au préalable à 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
    Tableau 22. Renvoie
    Type Description
    Aucun

    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,
              "heldaAtTime": "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 de cibles de recherche.

    openFrameAPI.setICContext("searchTargetList",
      {
        "searchTargetList": [
          {
            "nowRecordTable": "interaction",
            "nowRecordId": "1234",
            "externalId": "5678",
            "participantID": "participant1",
            "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": {}
      });

    openFrameAPI - setIcons(icônes de tableau)

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

    Tableau 23. Paramètres
    Nom Type Description
    icônes Tableau d’objets Une liste de 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 qu’il affiche la disponibilité de l’agent dans un espace de travail.

    Pour plus d’informations sur la configuration d’OpenFrame, reportez-vous à la section 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 :

    • Disponible
    • Absent
    • Hors ligne

    Vous pouvez également indiquer des états personnalisés.

    couleur Chaîne Couleur de l’indicateur de présence dans 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 en nombre, hauteur en nombre)

    Définit la taille de l’OpenFrame.

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

    openFrameAPI - setSubtitle(sous-titre de la chaîne)

    Définit le sous-titre d’OpenFrame.

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

    openFrameAPI - setTitle(titre de la chaîne)

    Définit le titre de l’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 de paires de valeurs clés. 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 - setWidth(largeur)

    Définit la largeur de l’OpenFrame.

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

    openFrameAPI - show()

    Rend l’OpenFrame visible dans le TopFrame.

    Tableau 37. Paramètres
    Nom Type Description
    Aucun
    Tableau 38. Renvoie
    Type Description
    nul
    openFrameAPI.show()

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

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

    Tableau 39. Paramètres
    Nom Type Description
    event openFrameAPIEVENT L’événement auquel s’abonner :
    • openframe_agent_off_interaction : indique la présence d’un agent sur la messagerie instantanée comme 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_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 peut être personnalisé.
    • openframe_communication_failure : se produit lorsque la communication vers 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 étendue ou déconnectée.
    • openframe_header_icon_clicked : déconseillé. Utilisez openframe_icon_clicked ou openframe_title_icon_clicked à la place.
    • openframe_hidden : se produit lorsque la fenêtre OpenFrame est masquée.
    • openframe_icon_clicked : se produit lorsqu’une icône autre que l’icône de fermeture est sélectionnée sur le pied de page OpenFrame. Le rappel reçoit l’objet d’icône comme un paramètre.
    • openframe_shown : se produit lorsque la fenêtre OpenFrame est affichée.
    • openframe_title_icon_clicked : Se produit lorsque l’icône de titre est sélectionnée sur OpenFrame. Le rappel reçoit l’objet d’icône de titre comme un 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 40. Renvoie
    Type Description
    résultats La plupart des abonnements à des événements n’ont pas de valeur de retour. Les abonnements aux événements 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_presence renvoie l’objet de présence :
    "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, l’état et le canal actuels 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 and 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 la valeur sur vrai si l’élément de travail est transféré en file d’attente, sur faux dans le cas contraire. Pour plus d’informations sur les transferts de file d’attente, reportez-vous à Transfer a chat to another queue.
    • workItem.previousWorkItem: Sys_id de l’élément de travail précédent pour le même ID de document. Pour les éléments de travail sans transfert, cette valeur est vide.
    • 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 Messagerie instantanée ou Télé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 la valeur sur vrai si l’élément de travail est transféré en file d’attente, sur faux dans le cas contraire. Pour plus d’informations sur les transferts de file d’attente, reportez-vous à Transfer a chat to another queue.
    • workItem.previousWorkItem: Sys_id de l’élément de travail précédent pour le même ID de document. Pour les éléments de travail sans transfert, cette valeur est vide.
    • workItem.rejection: liste des motifs du rejet de l’élément de travail.
      • workItem.rejection.reason: nom du motif de 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 Messagerie instantanée ou Télé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:Optionnel. 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 de forme libre saisi par l’utilisateur pendant le récapitulatif qui décrit comment l’interaction a été résolue.
    • wrapUpSegmentId: Sys_id de l’enregistrement du segment 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
        }
      }
    }

    openFrameAPI - version()

    Renvoie la version de l’API OpenFrame.

    Tableau 41. Paramètres
    Nom Type Description
    Aucun
    Tableau 42. Renvoie
    Type Description
    Chaîne La version de l’API OpenFrame
    var version = openFrameAPI.version();
    
    console.log("API version " + version);