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 |
|---|---|---|
| succès | Chaîne | Si la méthode réussit, nom de la fonction de rappel à appeler. |
| é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, par exemple Messagerie instantanée ou Téléphone. Type de données : chaîne |
| presence.channels.restrict_update | Marqueur indiquant si l’utilisateur peut restreindre les mises à jour du canal. Valeurs valides :
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. Situé dans la table Canaux de service [awa_service_channel]. Type de données : chaîne |
| 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. Situé dans la table États de présence [awa_presence_state]. Type de données : chaîne |
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)
Réponse à la fonction de rappel de 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 en cas de réussite de la méthode init . 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 Prénom et Nom dans l’espace de travail :
openFrameAPI.openServiceNowForm({ entity: 'sys_user',
query: 'sys_id=-1&sysparm_query=first_name=Ivan^last_name=Greggor' });
openFrameAPI : openServiceNowFormwithChildTabIf()
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. |
| 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.openServiceNowFormwithChildTablf({
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 la 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 - 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 | 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 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, consultez 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 , imageTitle, imageURLet tout autre contexte nécessaire. Taille maximale : les icônes peuvent être 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 à l’événement n’ont aucune valeur de retour. Les abonnements d’é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 et 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.
|
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
}
}
}
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);