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 |
|---|---|
| Anwesenheit | Ergebnisse, die von der openFrame-Infrastruktur an die Erfolgs-Rückruffunktion übergeben werden. Datentyp: Objekt |
| Anwesenheit.verfügbar | Kennzeichnung, die angibt, ob der zugeordnete Agent verfügbar ist. Gültige Werte:
Datentyp: Boolesch |
| präsenz.kanäle | Liste der verfügbaren Kanäle für die Kommunikation mit dem Service Desk-Mitarbeiter Datentyp: Array von Objekten
|
| Präsenz.Kanäle.Verfügbar | 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 |
| präsenz.kanäle.sys_id | Sys_id des Kanaldatensatzes. Datentyp: Zeichenfolge Tabelle: Servicekanäle [awa_service_channel] |
| presence.name | Name des Anwesenheitsstatus des Service Desk-Mitarbeiters Datentyp: Zeichenfolge |
| „präsenz.sys_id“ | Sys_id des Anwesenheitsstatus-Datensatzes. Datentyp: Zeichenfolge Tabelle: Anwesenheitsstatus [awa_presence_state] |
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 | Funktion | 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 | Funktion | 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 – openServiceNowFormwithChildTab()
Ö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, die den zu öffnenden Datensatz enthält. |
| 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.openServiceNowFormwithChildTab({
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 - setICContext(Zeichenfolgentyp, Objekt<Context> )
Legt die Kontextdaten im Zusammenhang mit den Interaktionssteuerelementen auf dem Client fest. Verwenden Sie diese Kontextdaten, um die Client-UI zu bestimmen, die in OpenFrame angezeigt werden soll.
Weitere Informationen zu interaktiven Steuerelementen finden Sie unter Interaction Controls Component.
Weitere Informationen zu Interaktionsdatensätzen finden Sie unter CSM voice interaction record page.
| Name | Typ | Beschreibung |
|---|---|---|
| Typ | Zeichenfolge | Typ der festzulegenden Kontextdaten. Gültige Werte:
|
| <Context> | Objekt | Festzulegende Kontextdaten. Jeder Kontextdatentyp hat einen anderen Satz möglicher Eingabedaten. Gültige Context Datenobjekte:
|
| activeCall | Array von Objekten | Details zu einem aktiven Anruf. Jedes -Objekt stellt einen laufenden aktiven Anruf dar. |
| activeCall.currentTeilnehmer | Objekt | Erforderlich. Details zu Anruffähigkeiten und Anrufstatus des aktuellen Teilnehmers. |
| activeCall.currentTeilnehmer.Akteur | Zeichenfolge | Typ des Teilnehmers im Anruf. Gültige Werte:
Hinweis: Weitere Teilnehmertypen, die in Zukunft hinzugefügt werden sollen. |
| activeCall.currentTeilnehmer.callStartTime | Zeichenfolge | Datum und Uhrzeit des Beginns des Anrufs. Zeitstandard: UTC Format: RSS - "<day of week> , TT MMM JJJJ hh:MM:ss GMT“. Beispiel: „Mi, 17. Dez 2024 05:23:41 GMT“ |
| activeCall.currentTeilnehmer.Fähigkeiten | Objekt | Details zu den Fähigkeiten, die der aktuelle Teilnehmer (Service Desk-Mitarbeiter) während eines Anrufs ausführen kann. Die zugehörigen Symbole werden in der Komponente Aktiver Anruf für die aktivierten Fähigkeiten angezeigt. |
| activeCall.currentTeilnehmer.Fähigkeiten.DTMF | Boolean | Kennzeichnung, die angibt, ob der Service Desk-Mitarbeiter über DTMF-Fähigkeit (Dual Tone Multi-Frequenz) für den aktuellen Anruf verfügt. Gültige Werte:
Standardwert: false |
| activeCall.currentTeilnehmer.Fähigkeiten.endCall | Boolean | Kennzeichnung, die angibt, ob der zugeordnete Teilnehmer den Anruf beenden kann. Gültige Werte:
Standardwert: false |
| aktiveAnruf.aktuellerTeilnehmer.Fähigkeiten.Kennzeichnung | Boolean | Kennzeichnung, die angibt, ob der Teilnehmer den Anruf bei Qualitätsproblemen kennzeichnen kann, z. B. bei Problemen mit der Sprachqualität. Gültige Werte:
Standardwert: false |
| activeCall.currentTeilnehmer.Fähigkeiten.halten | Boolean | Kennzeichnung, die angibt, ob der Teilnehmer den Anruf in die Warteschleife stellen kann. Gültige Werte:
Standardwert: false |
| activeCall.currentTeilnehmer.capabilities.leaveAndTransfer | Boolean | Kennzeichnung, die angibt, ob der Teilnehmer den Anruf an einen anderen Service Desk-Mitarbeiter übergeben und den Anruf dann beenden kann. Aktivieren Sie diese Funktion für Aktionen wie Konsultationsübertragungen, bei denen der konsultierte Benutzer nicht der Besitzer des Anrufs ist. Gültige Werte:
Standardwert: false |
| activeCall.currentTeilnehmer.capabilities.mergeCall | Boolean | Kennzeichnung, die angibt, ob der Teilnehmer den Anruf zusammenführen kann. Verwenden Sie diese Funktion, wenn die Anrufsegmente des Teilnehmers zusammengeführt werden können. Gültige Werte:
Standardwert: false |
| activeCall.currentTeilnehmer.Fähigkeiten.stummschalten | Boolean | Kennzeichnung, die angibt, ob der Teilnehmer den Anruf stummschalten kann. Gültige Werte:
Standardwert: false |
| activeCall.currentTeilnehmer.capabilities.resumeRecording | Boolean | Kennzeichnung, die angibt, ob der Teilnehmer die Aufzeichnung des Anrufs fortsetzen kann. Gültige Werte:
Standardwert: false |
| activeCall.currentTeilnehmer.capabilities.pauseRecording | Boolean | Kennzeichnung, die angibt, ob der Teilnehmer die Aufzeichnung des Anrufs anhalten kann. Gültige Werte:
Standardwert: false |
| activeCall.currentTeilnehmer.capabilities.startRecording | Boolean | Kennzeichnung, die angibt, ob der Teilnehmer die Aufzeichnung des Anrufs starten kann. Gültige Werte:
Standardwert: false |
| activeCall.currentTeilnehmer.Fähigkeiten.StoppAufzeichnung | Boolean | Kennzeichnung, die angibt, ob der Teilnehmer die Aufzeichnung des Anrufs beenden kann. Gültige Werte:
Standardwert: false |
| activeCall.currentTeilnehmer.Fähigkeiten.Übertragung | Boolean | Kennzeichnung, die angibt, ob der Teilnehmer den Anruf übertragen kann. Gültige Werte:
Standardwert: false |
| activeCall.currentTeilnehmer.VerbundeneZeit | Zeichenfolge | Datum und Uhrzeit der ersten Verbindung des Anrufs. Zeitbasis: UTC Format: RSS - "<day of week> , TT MMM JJJJ hh:MM:ss GMT“. Beispiel: „Mi, 17. Dez 2024 05:23:41 GMT“ |
| activeCall.currentTeilnehmer.anwenderdefiniert-Fähigkeitsstatus-1 | Boolean | Zukünftige Verwendung. |
| activeCall.currentTeilnehmer.gekennzeichnet | Boolean | Kennzeichnung, die angibt, ob der Anruf für ein Problem gekennzeichnet ist, z. B. ein Problem mit der Sprachqualität. Gültige Werte:
Standardwert: false |
| activeCall.currentTeilnehmer.gehalten | Boolean | Kennzeichnung, die den Status des Teilnehmers im Status „Angehalten“ angibt. Gültige Werte:
Standardwert: false |
| activeCall.aktuellerTeilnehmer.ID | Zeichenfolge | Erforderlich. Sys_id des zugeordneten Teilnehmerdatensatzes, z. B. sys_id des Mitarbeiters. Tabelle: Benutzer [sys_user] |
| activeCall.currentTeilnehmer.stummgeschaltet | Boolean | Kennzeichnung, die den stummgeschalteten Status des Teilnehmers angibt. Gültige Werte:
Standardwert: false |
| activeCall.aktuellerTeilnehmer.Name | Zeichenfolge | Name des Teilnehmers. |
| activeCall.currentTeilnehmer.angehalten | Boolean | Kennzeichnung, die den angehaltenen Status des Teilnehmers angibt. Gültige Werte:
Standardwert: false |
| activeCall.currentTeilnehmer.Aufzeichnung | Zeichenfolge | Aktueller Aufzeichnungsstatus des Anrufs. Gültige Werte:
|
| activeCall.aktuellerTeilnehmer.wrapUP | Objekt | Zukünftige Verwendung. |
| activeCall.customPayload | Objekt | Anwenderdefinierte Nutzlast, die an OpenFrame übergeben werden soll. Dies ist ein Freiformobjekt, das alle Daten enthalten kann, die zum Anpassen der aktiven Anrufkomponente erforderlich sind, z. B. das Hinzufügen von Schaltflächen oder Text. |
| activeCall.Richtung | Zeichenfolge | Richtung des Anrufs für den zugeordneten Teilnehmer. Gültige Werte:
|
| activeCall.externalId | Erforderlich. Eindeutiger Wert, der den aktuell aktiven Anruf im zugeordneten externen System identifiziert | |
| activeCall.nowRecordId | Zeichenfolge | Erforderlich. Sys_id des aktiven Anrufdatensatzes. Tabelle: Interaktion [interaction] Einzige unterstützte Option für das Basissystem. |
| activeCall.nowRecordTable | Zeichenfolge | Erforderlich. Tabelle, zu der der aktive Anruf gehört. Tabelle: Interaktion [interaction] Einzige unterstützte Option für das Basissystem. |
| activeCall.Teilnehmer | Array von Objekten | Erforderlich. Liste der zusätzlichen Teilnehmer im Anruf. Ein Teilnehmer kann ein Service Desk-Mitarbeiter, ein Kunde, eine externe Person, die kein Service Desk-Mitarbeiter oder Kunde ist, oder eine Warteschlange sein. |
| activeCall.Teilnehmer.Akteur | Zeichenfolge | Typ des Akteurs für den zugeordneten Teilnehmer. Zum Beispiel:
|
| activeCall.Teilnehmer.ani | Automatische Nummernidentifizierung. Telefonnummer, die dem Empfänger des Telefonanrufs angezeigt wird. | |
| activeCall.Teilnehmer.Adresse | Zeichenfolge | Telefonnummer des Teilnehmers. |
| activeCall.Teilnehmer.Fähigkeiten | Objekt | Details zum Typ der Fähigkeiten, die der Teilnehmer für den zugehörigen Anruf hat. |
| activeCall.Teilnehmer.Fähigkeiten.endCall | Boolean | Kennzeichnung, die angibt, ob der zugeordnete Teilnehmer den Anruf beenden kann. Gültige Werte:
Standardwert: false |
| activeCall.Teilnehmer.Fähigkeiten.halten | Boolean | Kennzeichnung, die angibt, ob der Teilnehmer den Anruf in die Warteschleife stellen kann. Gültige Werte:
Standardwert: false |
| activeCall.Teilnehmer.Fähigkeiten.stummschalten | Boolean | Kennzeichnung, die angibt, ob der Teilnehmer den Anruf stummschalten kann. Gültige Werte:
Standardwert: false |
| activeCall.teilnehmer.connectedTime | Zeichenfolge | Erforderlich. Zeitpunkt (Datum und Uhrzeit), zu dem der Teilnehmer zum ersten Mal eine Verbindung zum Anruf hergestellt hat. Zeitstandard: UTC Format: RSS - "<day of week> , TT MMM JJJJ hh:MM:ss GMT“. Beispiel: „Mi, 17. Dez 2024 05:23:41 GMT“ |
| activeCall.Teilnehmer.customPayload | Objekt | Anwenderdefinierte Nutzlast, die an OpenFrame übergeben werden soll. Dies ist ein Freiformobjekt, das alle Daten enthalten kann, die zum Anpassen der Komponente Aktiver Anruf erforderlich sind, z. B. das Hinzufügen von Schaltflächen oder Text. |
| activeCall.Teilnehmer.dnis | Zeichenfolge | Identifizierungsservice für gewählte Nummer. Vom Teilnehmer gewählte Telefonnummer. |
| activeCall.Teilnehmer.gehalten | Boolean | Kennzeichnung, die den Status des Teilnehmers im Status „Angehalten“ angibt. Gültige Werte:
Standardwert: false |
| activeCall.teilnehmer.gehaltenZurZeit | Zeichenfolge | Datum und Uhrzeit, zu der die Verbindung des Teilnehmers zu dem Anruf in die Warteschleife gestellt wurde. Zeitbasis: UTC Format: RSS - "<day of week> , TT MMM JJJJ hh:MM:ss GMT“. Beispiel: „Mi, 17. Dez 2024 05:23:41 GMT“ |
| activeCall.Teilnehmer.ID | Zeichenfolge | Erforderlich. Eindeutige ID des Teilnehmers aus dem CCaaS-System (Contact Center as a Service) |
| activeCall.Teilnehmer.stummgeschaltet | Boolean | Kennzeichnung, die den Stummschaltungsstatus des Teilnehmers angibt. Gültige Werte:
Standardwert: false |
| activeCall.Teilnehmer.Name | Zeichenfolge | Name des Teilnehmers. |
| activeCall.Teilnehmer.AnforderungACW | Boolean | Nur gültig, wenn activeCall.currentParticipant.actor „agent“ ist. Kennzeichnen Sie, dassangibt, dass der Teilnehmer beim Kunden nachverfolgen muss. Gültige Werte:
Standardwert: false |
| activeCall.Teilnehmer.Wrapup erforderlich | Boolean | Nur gültig, wenn activeCall.currentParticipant.actor „agent“ ist. Kennzeichnung, die angibt, ob die Nachbearbeitungskomponente angezeigt werden soll, sobald der Anruf abgeschlossen ist. Gültige Werte:
Standardwert: false |
| activeCall.Teilnehmer.Status | Zeichenfolge | Status des Anrufsegments des Teilnehmers. Wird unter der Telefonnummer in der Komponente „Aktiver Anruf“ angezeigt. Dies kann ein beliebiger aussagekräftiger Text sein, z. B.:
|
| activeCall.type | Zeichenfolge | Typ des Anrufs. Gültige Werte:
|
| <idleState> | Objekt | Beschreibt den Leerlaufstatus-Kontext des Service Desk-Mitarbeiters. Diese Kontextdaten bestimmen die Informationen, die auf der Wähltastatur angezeigt werden, wenn ein Service Desk-Mitarbeiter auf einen Anruf wartet, und die Fähigkeiten, die ihm über diese Wähltastatur zur Verfügung stehen. |
| <idleState>.Fähigkeit | Objekt | Beschreibung der Leerlaufstatus-Fähigkeiten des aktuellen Anwenders. |
| <idleState>.capability.globalContactSearch | Boolean | Kennzeichnung, die angibt, ob die globale Kontaktliste im Leerlauf angezeigt werden soll. Gültige Werte:
Standardwert: false |
| <idleState>.capability.abmelden | Boolean | Kennzeichnung, die angibt, ob sich der Anwender im Leerlauf abmelden kann. Gültige Werte:
Standardwert: false |
| <idleState>.capability.outBoundCall | Boolean | Kennzeichnung, die angibt, ob der Anwender im Leerlauf einen ausgehenden Anruf tätigen kann. Gültige Werte:
Standardwert: false |
| <idleState>.currentInboundId | Zeichenfolge | Eingehender Bezeichner der Anbieteranwendung, der zum Erstellen der Interaktion für ausgehende Anrufe verwendet wird. Tabelle: Befindet sich im Feld „id“ der Tabelle „Identitäten des Anbieterkanals“ [sys_cs_provider_application]. Standard: Basissystem-Anbieteranwendung |
| <idleState>.diapadInfoMessage | Objekt | Details zur Informationsnachricht, die auf der Wähltastatur des Benutzers angezeigt werden soll, z. B. die aktuell ausgewählte Warteschlange.Im folgenden Beispiel lautet labelAusgewählte Warteschlange: und value lautet Kundenanfragen. Sie können auch einfach den Parameter label oder value mit Ausgewählte Warteschlange: Kundenanfragenverwenden. |
| <idleState>.diapadInfoMessage.label | Zeichenfolge | Freiform-Bezeichnung, die auf der Wähltastatur angezeigt werden soll. |
| <idleState>. diapadInfoMessage.Wert | Zeichenfolge | Freiform-Nachrichtentext, der nach der Bezeichnung auf der Wähltastatur angezeigt werden soll. |
| <idleState>.enableState | Objekt | Details zum Aktivierungsstatus der Schaltflächen auf der Wähltastatur. |
| <idleState>.enableState.logOut | Boolean | Kennzeichnung, die angibt, ob die Abmeldeschaltfläche auf der Anwenderoberfläche im Leerlauf aktiviert werden soll. Gültige Werte:
Standardwert: false |
| <idleState>.enableState.outBoundCall | Boolean | Kennzeichnung, die angibt, ob die Schaltfläche für ausgehende Anrufe auf der Anwenderoberfläche im Leerlauf aktiviert werden soll. Gültige Werte:
Standardwert: false |
| searchTargetList | Array von Objekten | Details der übertragungsbezogenen Daten für eine Tabelle ServiceNow. |
| searchTargetList.externalId | Zeichenfolge | Eindeutiger Bezeichner des zugeordneten Anrufs im CCaaS-System. |
| searchTargetList.nowRecordId | Zeichenfolge | Erforderlich. Sys_id des Datensatzes, zu dem die searchTargetList gehört. Hinweis: Derzeit werden nur Datensätze in der Interaktionstabelle [interaction] unterstützt. |
| searchTargetList.nowRecordTable | Zeichenfolge | Erforderlich Tabelle ServiceNow, zu der „searchTargetList“ gehört. Tabelle: Einziger gültiger Wert – |
| searchTargetList.participantID | Zeichenfolge | Eindeutiger Bezeichner für den Teilnehmer aus dem CCaaS-System. |
| searchTargetList.targets | Array von Objekten | Details zu den Service Desk-Mitarbeitern, externen Benutzern und/oder Warteschlangen, an die der Anruf übergeben werden kann. |
| searchTargetList.targets.nutzlast | Objekt | Details zu den Informationen, die im Steuerelement für Anrufweiterleitungen angezeigt werden sollen. Im Folgenden finden Sie ein Beispiel für ein Steuerelement zum Durchstellen von Anrufen, das eine Liste von Service Desk-Mitarbeitern enthält, an die der Anruf übergeben werden kann. Der Screenshot zeigt, welche Elemente der Anwenderoberfläche von jedem Parameter in list.payload gesteuert werden. Dieses Beispiel zeigt eine Agent-Nutzlast ( Im Folgenden finden Sie ein Beispiel für eine Nutzlast einer Warteschlange ( |
| searchTargetList.targets.nutzlast.liste | Array von Objekten | Details zur Nutzlast für jeden Zieltyp. |
| searchTargetList.targets.nutzlast.list.hasStats | Boolean | Kennzeichnung, die angibt, ob das zugeordnete Ziel über zusätzliche Statistiken verfügt, z. B. Wartezeit für eine Warteschlange. Gültige Werte:
Standardwert: false |
| searchTargetList.targets.nutzlast.liste.id | Zeichenfolge | Eindeutiger Bezeichner des Service Desk-Mitarbeiters oder der Warteschlange im CCaaS-System. |
| searchTargetList.targets.nutzlast.list.moreInfo | Array von Objekten | Erforderlich, wenn searchTargetList.targets.payload.list.hasStats auf „wahr“festgelegt ist. Liste der Kompetenzen, über die der Service Desk-Mitarbeiter oder die Warteschlange verfügt Diese Informationen werden in einem Popup-Fenster angezeigt, wenn der Benutzer das Informationssymbol am Ende des Entitätsnamens auswählt. |
| searchTargetList.targets.nutzlast.list.moreInfo.label | Zeichenfolge | Freiform-Bezeichnung für die Informationen, die im Popup-Fenster angezeigt werden sollen, z. B. Kompetenz oder Sprache. |
| searchTargetList.targets.payload.list.moreInfo.value | Zeichenfolge | Text, der im Popup-Fenster nach der Bezeichnung angezeigt werden soll, z. B. CRM-zertifiziert oder Deutsch. |
| searchTargetList.targets.nutzlast.liste.name | Zeichenfolge | Name des Service Desk-Mitarbeiters, des externen Anwenders oder der Warteschlange. Befindet sich im CCaaS-System. |
| searchTargetList.targets.payload.list.presence | Zeichenfolge | Anwesenheitsstatus des zugeordneten Service Desk-Mitarbeiters. Dieser Parameter ist nur für searchTargetList.targets.type des Typs „agent“gültig.Gültige Werte:
|
| searchTargetList.targets.transferSubtypes | Array von Objekten | Details zum unterstützten Übertragungstyp für das angegebene searchTargetList.targets.type. Diese Informationen werden angezeigt, wenn der Anwender auf die Ellipse neben dem Namen des Ziels in der Anwenderoberfläche klickt. Wenn beispielsweise nur ein Konsultationstyp für den aktuellen Zieltyp unterstützt wird, z. B. Warteschlange, enthält dieses Array ein Objekt, das den Konsultationstyp der Übertragung angibt. |
| searchTargetList.targets.transferSubtypes.id | Zeichenfolge | Bezeichner des Übertragungsuntertyps. Gültige Werte:
Dies muss dem Wert in searchTargetList.targets.transferSubtypes.labelentsprechen. |
| searchTargetList.targets.transferSubtypes.label | Zeichenfolge | Bezeichnung des Übertragungsuntertyps. Wenn Sie keine Bezeichnung übergeben, wird in der Anwenderoberfläche für den Übertragungsuntertyp nichts angezeigt. Gültige Werte:
Dies muss dem Wert in searchTargetList.targets.transferSubtypes.identsprechen. |
| searchTargetList.targets.type | Zeichenfolge | Typ des Ziels Gültige Werte:
|
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Codebeispiel zeigt, wie der aktive Statuskontext festgelegt wird.
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
}
}
]
}
]
}
);
Das folgende Beispiel zeigt, wie der Kontext für den Leerlaufstatus festgelegt wird.
openFrameAPI.setICContext("idleState", {
"capability": {
"outBoundCall": true,
"logOut": true
},
"enableState": {
"outBoundCall": true,
"logOut": true
},
"dialpadInfoMessage": {
"label": "Info Message Label",
"value": "Info Message Value"
},
"currentInboundId": "1234"
});
Das folgende Beispiel zeigt, wie der Kontext für die Suchzielliste festgelegt wird.
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(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 | Funktion | 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.
|
| openframe_ Heart_beat | Das Ereignis openframe_heart_beat gibt das folgende Objekt zurück:
|
| openframe_wrap_up_submitted | Das Ereignis openframe_wrap_up_submitted gibt das folgende Objekt zurück:
|
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,
"isAutoAccepted": 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);