openFrameAPI : client
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.
openFrameAPI : getAWAAgentPresence(réussite de la chaîne, échec de la chaîne)
Renvoie l’état de présence actuel de l’agent connecté.
| 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. |
| Type | Description |
|---|---|
| presence | Résultats transmis à la fonction de rappel de réussite par l’infrastructure openFrame. Type de données : objet |
| presence.available | Marqueur indiquant si l’agent associé est disponible. Valeurs valides :
Type de données : booléennes |
| presence.channels | Liste des canaux de communication disponibles avec l’agent. Type de données : tableau d’objets
|
| presence.channels.available | Marqueur indiquant si le canal est disponible. Valeurs valides :
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 :
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.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| 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.
| Nom | Type | Description |
|---|---|---|
| configuration | Objet | Paires nom-valeur à utiliser pendant le processus d’initialisation. Clés possibles : 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 . |
| 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.
| 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. |
| 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.
| Nom | Type | Description |
|---|---|---|
| URL | Chaîne | Texte de l’URL personnalisée. Taille maximale : 2 083 caractères |
| Type | Description |
|---|---|
| nul |
openFrameAPI.openCustomURL('10_cool_things.do');
openFrameAPI - openServiceNowForm(détails de l’objet)
Ouvre une URL de formulaire.
- 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.
| Nom | Type | Description |
|---|---|---|
| Détails | Objet | Paires de valeurs clés qui identifient l’URL de formulaire à ouvrir. |
| 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>'. |
| 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.
| 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. |
| 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. |
| 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.
| 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 :
|
| Type | Description |
|---|---|
| nul |
openFrameAPI.openServiceNowList({entity:'case', query:'active=true'});
openFrameAPI - setFrameMode(mode)
Définit le mode de l’OpenFrame.
- 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
| Nom | Type | Description |
|---|---|---|
| Mode | Chaîne | Définissez le mode de l’OpenFrame. Options énumérées :
|
| Type | Description |
|---|---|
| nul |
openFrameAPI.setFrameMode(openFrameAPI.FRAME_MODE.COLLAPSE);
openFrameAPI - setHeight(hauteur)
Définit la hauteur de l’OpenFrame.
| Nom | Type | Description |
|---|---|---|
| Hauteur | Numéro | Hauteur en pixels |
| 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.
| Nom | Type | Description |
|---|---|---|
| Type | Chaîne | Type de données de contexte à définir. Valeurs valides :
|
| <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 | Tableau d'objets | Détails sur un appel actif. Chaque objet représente un appel actif en cours. |
| activeCall.currentParticipant | Objet | Requis. Détails sur les options d’appel du participant actuel et son état. |
| activeCall.currentParticipant.actor | Chaîne | Type de participant à l’appel. Valeurs valides :
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. |
| 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 :
Valeur par défaut : false |
| activeCall.currentParticipant.capabilities.endCall | Booléen | Marqueur indiquant si le participant associé peut mettre fin à l’appel. Valeurs valides :
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 :
Valeur par défaut : false |
| activeCall.currentParticipant.capabilities.tenir | Booléen | Marqueur indiquant si le participant peut mettre l’appel en attente. Valeurs valides :
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 :
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 :
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 :
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 :
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 :
Valeur par défaut : false |
| activeCall.currentParticipant.capabilities.startRecording | Booléen | Marqueur indiquant si le participant peut commencer à enregistrer l’appel. Valeurs valides :
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 :
Valeur par défaut : false |
| activeCall.currentParticipant.capabilities.transfert | Booléen | Marqueur indiquant si le participant peut transférer l’appel. Valeurs valides :
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 :
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 :
Valeur par défaut : false |
| activeCall.currentParticipant.held | Booléen | Marqueur indiquant l’état de maintien du participant. Valeurs valides :
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 :
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 :
Valeur par défaut : false |
| activeCall.currentParticipant.recording | Chaîne | État d’enregistrement actuel de l’appel. Valeurs valides :
|
| 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 :
|
| 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. |
| activeCall.Participants.acteur | Chaîne | Type d’acteur pour le participant associé. Par exemple :
|
| 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é. |
| activeCall.Participants.Capacités.endCall | Booléen | Marqueur indiquant si le participant associé peut mettre fin à l’appel. Valeurs valides :
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 :
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 :
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 :
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 :
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 :
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é. Valeurs valides :
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 . Il peut s’agir de n’importe quel texte significatif, tel que :
|
| activeCall.type | Chaîne | Type d’appel. Valeurs valides :
|
| <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 | Objet | Description des options de l’état d’inactivité de l’utilisateur actuel. |
| <idleState>.capability.globalContactSerarch | Booléen | Marqueur indiquant s’il faut afficher la liste de contacts globale lorsqu’elle est inactive. Valeurs valides :
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 :
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 :
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.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. |
| <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. |
| <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 :
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 :
Valeur par défaut : false |
| searchTargetList | Tableau d'objets | Détails des données associées au transfert pour une ServiceNow table. |
| 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 |
| 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é. |
| 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. Cet exemple montre la charge utile d’un agent (« L’exemple suivant montre un exemple de charge utile de file d’attente (« |
| searchTargetList.Cibles.charge utile.liste | Tableau d'objets | Détails sur la charge utile pour chaque type de cible. |
| 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 :
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é. |
| 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 :
|
| 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. 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. |
| searchTargetList.Cibles.transferSubtypes.id | Chaîne | Identificateur du sous-type de transfert. Valeurs valides :
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 :
Cela doit correspondre à la valeur de searchTargetList.targets.transferSubtypes.id. |
| searchTargetList.Cibles.type | Chaîne | Type de cible. Valeurs valides :
|
| 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.
| 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. |
| 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
| Nom | Type | Description |
|---|---|---|
| État | Chaîne | État de présence de l’agent. États par défaut :
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 :
|
| Type | Description |
|---|---|
| nul |
openframeAPI.setPresenceIndicator('Available', 'green');
openFrameAPI - setSize(largeur en nombre, hauteur en nombre)
Définit la taille de l’OpenFrame.
| 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. |
| Type | Description |
|---|---|
| nul |
openFrameAPI.setSize(300, 370);
openFrameAPI - setSubtitle(sous-titre de la chaîne)
Définit le sous-titre d’OpenFrame.
| Nom | Type | Description |
|---|---|---|
| sous-titre | Chaîne | Une chaîne de 256 caractères ou moins. |
| Type | Description |
|---|---|
| nul |
openFrameAPI.setSubtitle('+18888888888');
openFrameAPI - setTitle(titre de la chaîne)
Définit le titre de l’OpenFrame.
| Nom | Type | Description |
|---|---|---|
| Titre | Chaîne | Une chaîne de 256 caractères ou moins. |
| Type | Description |
|---|---|
| nul |
openFrameAPI.setTitle('Incoming Call');
openFrameAPI - setTitleIcon(icône d’objet)
Définit l’icône de titre d’OpenFrame.
| 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. |
| 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.
| Nom | Type | Description |
|---|---|---|
| Largeur | Numéro | Largeur en pixels |
| Type | Description |
|---|---|
| nul |
openFrameAPI.setWidth(100);
openFrameAPI - show()
Rend l’OpenFrame visible dans le TopFrame.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| nul |
openFrameAPI.show()
openFrameAPI - subscribe(événement openFrameAPIEVENT, fonction eventCallback)
S’abonne à un événement spécifié.
| Nom | Type | Description |
|---|---|---|
| event | openFrameAPIEVENT | L’événement auquel s’abonner :
|
| eventCallback | function | Fonction à appeler lorsque l’événement spécifié se produit. |
| 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: Informations sur la présence, l’état et le canal actuels d’un agent.
|
| 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: informations sur l’élément de travail associé à l’événement.
|
| openframe_awa_workitem_rejected | Dans AWA, l’événement openframe_awa_workitem_rejected renvoie l’objet workItem :workItem: informations sur l’élément de travail associé à l’événement.
|
| openframe_heart_beat | L’événement openframe_heart_beat renvoie l’objet suivant :
|
| openframe_wrap_up_submitted | L’événement openframe_wrap_up_submitted renvoie l’objet suivant :
|
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.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | La version de l’API OpenFrame |
var version = openFrameAPI.version();
console.log("API version " + version);