openFrameAPI – Client
OpenFrame ist ein häufiger Frame, mit dem Kommunikationspartner ihre Systeme in die ServiceNow-Plattform integrieren können.
Eine der Hauptanforderungen ist die Fähigkeit, Code aus verschiedenen Domänen zu verbinden und bereitzustellen, die sich nahtlos mit Partner-Subsystemen verbinden können. Diese domänenübergreifende Verbindung ist erforderlich, um Verbindungen und Rückrufe in Kommunikationssystemen ohne domänenübergreifende Probleme zu registrieren.
openFrameAPI – hide()
Blendet den OpenFrame im TopFrame aus.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| void |
openFrameAPI.hide()
openFrameAPI – init(Object config, function successCallback, function failureCallback)
Initialisieren von OpenFrame, muss die erste aufgerufene Methode sein.
Diese Methode initialisiert die Kommunikation mit TopFrame und alle visuellen Elemente, die im config-Parameter übergeben werden.
| Name | Typ | Beschreibung |
|---|---|---|
| Konfiguration | Objekt | Ein Objekt von Schlüssel-Wert-Paaren. Die möglichen Schlüssel sind „height“, „width“, „title“, „subTitle“ und „titleIcon“. Alle Schlüssel sind optional. |
| successCallback | function | Die Callback-Funktion wird verwendet, wenn die init-Methode erfolgreich ist. Die im System gespeicherte OpenFrame-Konfiguration wird als Parameter an die Callback-Funktion übergeben. |
| failureCallback | function | Die Callback-Funktion wird verwendet, wenn die init-Methode fehlschlägt. |
| Typ | Beschreibung |
|---|---|
| void |
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(function callback)
Überprüft, ob der OpenFrame im TopFrame sichtbar ist.
| Name | Typ | Beschreibung |
|---|---|---|
| callback | function | Die Callback-Funktion empfängt einen Parameter mit dem Wert „true“ oder „false“. „True“, wenn OpenFrame sichtbar ist, und „false“, wenn nicht sichtbar. |
| Typ | Beschreibung |
|---|---|
| void |
function callback(isVisible) {
console.log(isVisible)
}
openFrameAPI.isVisible(callback)
openFrameAPI - openCustomURL(String details)
Öffnet eine benutzerdefinierte URL in der UI16-Schnittstelle.
| Name | Typ | Beschreibung |
|---|---|---|
| URL | Zeichenfolge | Text der benutzerdefinierten URL. Maximale Größe: 2083 Zeichen |
| Typ | Beschreibung |
|---|---|
| void |
openFrameAPI.openCustomURL('10_cool_things.do');
openFrameAPI – openServiceNowForm(Object details)
Öffnet eine Formular-URL.
- In der Plattform-Schnittstelle öffnet diese API eine Formular-URL im TopFrame.
- Für Mitarbeiterbereich unterstützt diese API die Verwaltung der Interaktionsregisterkarte. In Mitarbeiterbereich wird ein Interaktionsdatensatz auf einer übergeordneten Registerkarte geöffnet, und der angegebene Entitätsdatensatz wird auf einer untergeordneten Registerkarte unter der Interaktionsregisterkarte geöffnet.
| Name | Typ | Beschreibung |
|---|---|---|
| details | Objekt | Schlüssel-Wert-Paare, die die zu öffnende Formular-URL identifizieren. |
| details.entity | Zeichenfolge | Tabellen- oder Entitätsname. |
| details.interaction_sys_id | Zeichenfolge | Optional. Sys_id des Interaktionsdatensatzes, der als übergeordnete Registerkarte in Mitarbeiterbereichgeöffnet werden soll. Hinweis: In der Plattform-Schnittstelle wird interaction_sys_id ignoriert. |
| details.query | Zeichenfolge | Abfrage, um den zu öffnenden Datensatz zu identifizieren, z. B.: query:'sys_id=<record_sys_id>'. |
| Typ | Beschreibung |
|---|---|
| void |
Das folgende Beispiel zeigt die grundlegende Verwendung in Plattform:
openFrameAPI.openServiceNowForm({entity:'customer_account',
query:'sys_id=447832786f0331003b3c498f5d3ee452', 'interaction_sys_id':'3be092313b711300758ce9b534efc4dd'});
Das folgende Beispiel zeigt, wie Sie den Parameter query verwenden, um einen neuen Datensatz mit Daten zu erstellen, die im Formular bereitgestellt werden, indem sysparm_query und eine codierte Abfrage zum Ausfüllen der Felder für Vor- und Nachname im Arbeitsbereich verwendet werden:
openFrameAPI.openServiceNowForm({ entity: 'sys_user',
query: 'sys_id=-1&sysparm_query=first_name=Ivan^last_name=Greggor' });
openFrameAPI – openServiceNowFormwithChildTabIf()
Öffnet ein Formular ServiceNow mit einer untergeordneten Registerkarte, wenn es in einem Arbeitsbereich aufgerufen wird, oder öffnet eine Entität, wenn es in der UI16-Schnittstelle aufgerufen wird.
| Name | Typ | Beschreibung |
|---|---|---|
| Öffnen Sie ServiceNowFormularmitUntergeordneterRegisterkarte | Objekt | Definiert, ob die API ein Formular ServiceNow mit einer untergeordneten Registerkarte öffnet, wenn sie in einem Arbeitsbereich aufgerufen wird, oder eine Entität, wenn sie in der UI16-Schnittstelle aufgerufen wird. |
| openServiceNowFormularwithChildTab.entity | Zeichenfolge | Name der Tabelle. |
| openServiceNowFormwithChildTab.sys_id | Zeichenfolge | Sys_id des zu öffnenden Datensatzes. |
| openServiceNowFormwithChildTab.parent_entity | Zeichenfolge | Name der Tabelle, die als übergeordnete Registerkarte geöffnet werden soll. |
| openServiceNowFormwithChildTab.parent_entity_sys_id | Zeichenfolge | Sys_id des übergeordneten Datensatzes, der geöffnet werden soll. |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Beispiel öffnet die übergeordnete Entität als übergeordnete Registerkarte in einem konfigurierten Arbeitsbereich oder öffnet nur die Entität, wenn sie in UI16 aufgerufen wird.
openFrameAPI.openServiceNowFormwithChildTablf({
entity: “customer_account”,
sys_id: “447832786f0331003b3c498f5d3ee452”,
parent_entity: “interaction”,
parent_entity_sys_id: “3be092313b711300758ce9b534efc4dd”
});
openFrameAPI – openServiceNowList(Object details)
Öffnet eine Listen-URL in der UI16-Schnittstelle.
| Name | Typ | Beschreibung |
|---|---|---|
| details | Objekt | Schlüssel-Wert-Paare, die den Inhalt beschreiben, der beim Öffnen der Listen-URL verwendet werden soll. Gültige Werte:
|
| Typ | Beschreibung |
|---|---|
| void |
openFrameAPI.openServiceNowList({entity:'case', query:'active=true'});
openFrameAPI - setFrameMode(mode)
Legt den OpenFrame-Modus fest.
- Legt das entsprechende Symbol im Header fest: reduzieren oder erweitern.
- Löst das relevante Event für CTI aus:
- openFrameAPI.EVENTS.COLLAPSE
- openFrameAPI.EVENTS.EXPAND
| Name | Typ | Beschreibung |
|---|---|---|
| Modus | Zeichenfolge | Legen Sie den OpenFrame-Modus fest. Aufgelistete Optionen:
|
| Typ | Beschreibung |
|---|---|
| void |
openFrameAPI.setFrameMode(openFrameAPI.FRAME_MODE.COLLAPSE);
openFrameAPI - setHeight(height)
Legt die OpenFrame-Höhe fest.
| Name | Typ | Beschreibung |
|---|---|---|
| Höhe | Nummer | Höhe in Pixel |
| Typ | Beschreibung |
|---|---|
| void |
openFrameAPI.setHeight(100);
openFrameAPI – setIcons(Array icons)
Definiert Symbole im OpenFrame-Header, die neben dem Symbol zum Schließen platziert werden.
| Name | Typ | Beschreibung |
|---|---|---|
| icons | Array von Objekten | Eine Liste von Symbolkonfigurationen, wobei jede Symbolkonfiguration ein Objekt mit den Schlüsselwerten imageURL, imageTitleund einem anderen erforderlichen Kontext ist. Maximale Größe: Symbole dürfen maximal 16 x 16 Pixel groß sein. Größere Bilder werden automatisch an dieses Maximum angepasst. |
| Typ | Beschreibung |
|---|---|
| void |
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(presence)
Legt den Anwesenheitsindikator fest, um die Agent-Verfügbarkeit in einem Arbeitsbereich anzuzeigen.
Weitere Informationen zum Konfigurieren von OpenFrame finden Sie unter OpenFrame-Konfiguration erstellen
| Name | Typ | Beschreibung |
|---|---|---|
| state | Zeichenfolge | Anwesenheitsstatus des Agent. Standardstatus:
Sie können auch benutzerdefinierte Status angeben. |
| color | Zeichenfolge | Farbe des Anwesenheitsindikators im Arbeitsbereich. Unterstützte Farben:
|
| Typ | Beschreibung |
|---|---|
| void |
openframeAPI.setPresenceIndicator('Available', 'green');
openFrameAPI – setSize(Number width, Number height)
Legt die OpenFrame-Größe fest.
| Name | Typ | Beschreibung |
|---|---|---|
| width | Zahl | Sollte größer als null sein. |
| height | Zahl | Sollte größer als null sein. |
| Typ | Beschreibung |
|---|---|
| void |
openFrameAPI.setSize(300, 370);
openFrameAPI – setSubtitle(String subTitle)
Legt den OpenFrame-Untertitel fest.
| Name | Typ | Beschreibung |
|---|---|---|
| subTitle | Zeichenfolge | Eine Zeichenfolge mit maximal 256 Zeichen. |
| Typ | Beschreibung |
|---|---|
| void |
openFrameAPI.setSubtitle('+18888888888');
openFrameAPI – setTitle(String title)
Legt den OpenFrame-Titel fest.
| Name | Typ | Beschreibung |
|---|---|---|
| title | Zeichenfolge | Eine Zeichenfolge mit maximal 256 Zeichen. |
| Typ | Beschreibung |
|---|---|
| void |
openFrameAPI.setTitle('Incoming Call');
openFrameAPI – setTitleIcon(Object icon)
Legt das Titelsymbol von OpenFrame fest.
| Name | Typ | Beschreibung |
|---|---|---|
| icon | Objekt | Objekt von Schlüssel-Wert-Paaren. Schlüssel sind imageURL, imageTitleund jeder andere erforderliche Kontext. Maximale Größe: Symbole dürfen maximal 16 x 16 Pixel groß sein. Größere Bilder werden automatisch an dieses Maximum angepasst. |
| Typ | Beschreibung |
|---|---|
| void |
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(width)
Legt die OpenFrame-Breite fest.
| Name | Typ | Beschreibung |
|---|---|---|
| Breite | Nummer | Breite in Pixel |
| Typ | Beschreibung |
|---|---|
| void |
openFrameAPI.setWidth(100);
openFrameAPI – show()
Macht den OpenFrame im TopFrame sichtbar.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| void |
openFrameAPI.show()
openFrameAPI – subscribe(openFrameAPIEVENT event, function eventCallback)
Abonniert das Event.
| Name | Typ | Beschreibung |
|---|---|---|
| event | openFrameAPIEVENT | Eines der folgenden Events:
|
| eventCallback | function | Die Funktion wird aufgerufen, wenn das angegebene Event eintritt. |
| Typ | Beschreibung |
|---|---|
| Keine, sofern nichts anderes beschrieben. | Die meisten Event-Abonnements haben keine Rückgabewerte, mit den folgenden Ausnahmen: In AWA gibt das Event openframe_awa_agent_presence das Anwesenheitsobjekt zurück:
|
Beispiel
function handleIconClick(context) {
console.log("Icon was clicked", context);
}
openFrameAPI.subscribe(openFrameAPI.events.openframe_awa_agent_presence, handleIconClick);
Ausgabe
// Sample presence object output
// openframe_awa_agent_presence event only
{
"result":{
"presence":{
"name":"Available",
"sys_id":"<SysID>",
"available":true,
"channels":[
{
"name":"Chat",
"available":true,
"sys_id":"<SysID>",
"restrict_update":false
},
{
"name":"Phone",
"available":true,
"sys_id":"<SysID>",
"restrict_update":false
}
]
}
}
}
openFrameAPI – version()
Gibt die OpenFrame-API-Version zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Die OpenFrame-API-Version |
var version = openFrameAPI.version();
console.log("API version " + version);