openFrameAPI : Client
Die openFrameAPI stellt Methoden bereit, die mit OpenFrame interagieren. 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 – getAWAAgentPresence (Zeichenfolge erfolgreich, Zeichenfolgenfehler)
Gibt den aktuellen Anwesenheitsstatus des angemeldeten Service Desk-Mitarbeiters zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| Erfolg | Zeichenfolge | Wenn die Methode erfolgreich ist, Name der aufzurufenden Rückruffunktion. |
| Fehler | Zeichenfolge | Wenn die Methode fehlschlägt, Name der aufzurufenden Rückruffunktion. |
| Typ | Beschreibung |
|---|---|
| presence | Ergebnisse, die von der openFrame-Infrastruktur an die Erfolgs-Rückruffunktion übergeben werden. Datentyp: Objekt |
| presence.available | Kennzeichnung, die angibt, ob der zugeordnete Agent verfügbar ist. Gültige Werte:
Datentyp: Boolesch |
| presence.channels | Liste der verfügbaren Kanäle für die Kommunikation mit dem Service Desk-Mitarbeiter Datentyp: Array von Objekten
|
| presence.channels.available | Kennzeichnung, die angibt, ob der Kanal verfügbar ist. Gültige Werte:
Datentyp „Boolesch“. |
| presence.channels.name | Name des Kanals, z. B. Chat oder Telefon. Datentyp: Zeichenfolge |
| „präsenz.kanäle.beschränken_aktualisieren“ | Kennzeichnung, die angibt, ob der Anwender Aktualisierungen für den Kanal einschränken kann. Gültige Werte:
Datentyp „Boolesch“. |
| präsenz.kanäle.service_kanal_typ | Typ des Servicekanals. Datentyp: Zeichenfolge |
| presence.channels.sys_id | Sys_id des Kanaldatensatzes. Befindet sich in der Tabelle „Servicekanäle“ [awa_service_channel]. Datentyp: Zeichenfolge |
| presence.name | Name des Anwesenheitsstatus des Service Desk-Mitarbeiters Datentyp: Zeichenfolge |
| presence.sys_id | Sys_id des Anwesenheitsstatus-Datensatzes. Befindet sich in der Tabelle „Anwesenheitsstatus“ [awa_presence_state]. Datentyp: Zeichenfolge |
Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.
function failure(data)
{
console.log("failure: " + JSON.stringify(data));
}
function success(data)
{
console.log("success: " + JSON.stringify(data));
}
openFrameAPI.getAWAAgentPresence(success, failure)
Antwort auf erfolgreiche Rückruffunktion:
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()
Blendet den OpenFrame im TopFrame aus.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| void |
openFrameAPI.hide()
openFrameAPI – init(Object config, function successCallback, function failureCallback)
Initialisiert OpenFrame. Dies muss die erste Methode sein, die Sie aufrufen.
Diese Methode initialisiert die Kommunikation für TopFrame und initialisiert alle visuellen Elemente, die im Parameter config übergeben werden.
| Name | Typ | Beschreibung |
|---|---|---|
| Konfiguration | Objekt | Während des Initialisierungsprozesses zu verwendende Name-Wert-Paare. Mögliche Schlüssel: Alle Schlüssel sind optional. Übergeben Sie ein leeres Objekt, wenn Sie diese Schlüssel-Wert-Paare nicht festlegen möchten.
|
| successCallback | function | Name der Rückruffunktion, die verwendet werden soll, wenn die Init- Methode erfolgreich ist. Die im System gespeicherte OpenFrame-Konfiguration wird als Parameter an die Rückruffunktion übergeben. |
| failureCallback | function | Name der Rückruffunktion, die verwendet wird, 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 anwenderdefinierte URL in der UI16-Schnittstelle.
| Name | Typ | Beschreibung |
|---|---|---|
| URL | Zeichenfolge | Text der anwenderdefinierten 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 Sie sysparm_query und eine codierte Abfrage verwenden, um die Felder für den Vor- und Nachnamen im -Arbeitsbereich auszufüllen:
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 über die UI16-Schnittstelle aufgerufen wird. |
| Öffnen Sie ServiceNowFormularmitUntergeordneterRegisterkarte.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 zu öffnenden übergeordneten Datensatzes. |
| 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 Schließsymbol 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 beliebigen anderen erforderlichen Kontext ist. Maximale Größe: Symbole dürfen maximal 16 x 16 Pixel groß sein. Größere Bilder werden automatisch an diesen Höchstwert 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 zur Konfiguration 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 diesen Höchstwert 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 ein angegebenes Ereignis.
| Name | Typ | Beschreibung |
|---|---|---|
| event | openFrameAPIEVENT | Das zu abonnierende Ereignis:
|
| eventCallback | function | Funktion, die aufgerufen werden soll, wenn das angegebene Ereignis auftritt. |
| Typ | Beschreibung |
|---|---|
| Ergebnisse | Die meisten Ereignisabonnements haben keine Rückgabewerte. In den folgenden Tabelleneinträgen werden die Ereignisabonnements beschrieben, die Werte zurückgeben. |
| openframe_awa_agent_presence | In AWAgibt das Ereignis openframe_awa_agent_presence das Anwesenheitsobjekt zurück:presence: Informationen über den aktuellen Anwesenheitsstatus und Kanal eines Service Desk-Mitarbeiters.
|
| openframe_awa_workitem_accepted und openframe_awa_workitem_offered | In AWAgeben die Ereignisse openframe_awa_workitem_accepted und openframe_awa_workitem_offered das workItem- Objekt zurück:workItem: Informationen zum Arbeitselement, das dem Ereignis zugeordnet ist.
|
| openframe_awa_workitem_rejected | In AWAgibt das Ereignis openframe_awa_workitem_rejected das workItem- Objekt zurück:workItem: Informationen zum Arbeitselement, das dem Ereignis zugeordnet ist.
|
Das folgende Codebeispiel zeigt, wie diese Methode für ein openframe_awa_agent_presence -Ereignis aufgerufen wird.
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":"27f675e3739713004a905ee515f6a7c3",
"available":true,
"channels":[
{
"name":"Chat",
"available":true,
"sys_id":"36f675e4239713124a905fe515f6a832",
"restrict_update":false
},
{
"name":"Phone",
"available":true,
"sys_id":"9378a530a1820610f809018efd9bc01e",
"restrict_update":false
}
]
}
}
}
Das folgende Codebeispiel zeigt, wie diese Methode für ein openframe_awa_workitem_accepted -Ereignis aufgerufen wird.
function handleIconClick(context) {
console.log("Icon was clicked", context);
}
openFrameAPI.subscribe(openFrameAPI.events.openframe_awa_workitem_accepted, handleIconClick);
Ausgabe:
// 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
}
}
}
Das folgende Codebeispiel zeigt, wie diese Methode für ein openframe_awa_workitem_rejected -Ereignis aufgerufen wird.
function handleIconClick(context) {
console.log("Icon was clicked", context);
}
openFrameAPI.subscribe(openFrameAPI.events.openframe_awa_workitem_rejected, handleIconClick);
Ausgabe:
// 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()
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);