openFrameAPI : Client

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 29 Minuten Lesedauer
  • 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.

    OpenFrame besteht aus zwei wichtigen Teilen. Die eine befindet sich in der Anwendung ServiceNow (als TopFrame bezeichnet) und dieser API, die aus der Partneranwendung stammt. Diese API verfügt über die erforderlichen Methoden, um mit TopFrame zu kommunizieren und die visuellen Funktionen von OpenFramezu steuern.
    Hinweis:
    Um in Bezug auf die OpenFrame-Bibliothek aktuell zu bleiben, verwenden Sie den folgenden Ressourcen-URI: https://[servicenow-Instanz]/scripts/openframe/latest/openFrameAPI.min.js.

    openFrameAPI – getAWAAgentPresence (Zeichenfolge erfolgreich, Zeichenfolgenfehler)

    Gibt den aktuellen Anwesenheitsstatus des angemeldeten Service Desk-Mitarbeiters zurück.

    Tabelle : 1. Parameter
    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.
    Tabelle : 2. Rückgaben
    Typ Beschreibung
    Anwesenheit Ergebnisse, die von der openFrame-Infrastruktur an die Erfolgs-Rückruffunktion übergeben werden.

    Datentyp: Objekt

    "presence": {  
      "available": Boolean, 
      "channels": [Array],
      "name": "String", 
      "sys_id": "String"
    }
    Anwesenheit.verfügbar Kennzeichnung, die angibt, ob der zugeordnete Agent verfügbar ist.
    Gültige Werte:
    • wahr: Service Desk-Mitarbeiter ist verfügbar.
    • „falsch“: Service Desk-Mitarbeiter ist nicht verfügbar.

    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

    "channels": [
      { 
        "available": Boolean,
        "name": "String",
        "restrict_update": Boolean,
        "service_channel_type": "String",
        "sys_id": "String"
      }
    ]
    Präsenz.Kanäle.Verfügbar Kennzeichnung, die angibt, ob der Kanal verfügbar ist.
    Gültige Werte:
    • wahr: Kanal ist verfügbar.
    • false: Kanal ist nicht verfügbar.

    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:
    • „wahr“: Der Anwender kann Aktualisierungen für den Kanal einschränken.
    • „falsch“: Der Anwender kann Aktualisierungen für den Kanal nicht einschränken.

    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.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 4. Ergebnisse
    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.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    Konfiguration Objekt Während des Initialisierungsprozesses zu verwendende Name-Wert-Paare.
    Mögliche Schlüssel:
    • height
    • Untertitel
    • Titel
    • Titelsymbol
    • width
    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.
    Tabelle : 6. Rückgaben
    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.

    Tabelle : 7. Parameter
    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.
    Tabelle : 8. Ergebnisse
    Typ Beschreibung
    void
    function callback(isVisible) {
    console.log(isVisible)
    }
    openFrameAPI.isVisible(callback)

    openFrameAPI - openCustomURL(String details)

    Öffnet eine anwenderdefinierte URL in der UI16-Schnittstelle.

    Tabelle : 9. Parameter
    Name Typ Beschreibung
    URL Zeichenfolge Text der anwenderdefinierten URL.

    Maximale Größe: 2083 Zeichen

    Tabelle : 10. Rückgaben
    Typ Beschreibung
    void
    openFrameAPI.openCustomURL('10_cool_things.do');
    

    openFrameAPI – openServiceNowForm(Object details)

    Öffnet eine Formular-URL.

    Wenn ein Agent einen eingehenden Anruf erhält, werden im OpenFrame-Fenster Informationen wie Account, Kontakt oder Verbraucher angezeigt. Durch Klicken auf einen Link im OpenFrame-Fenster wird der entsprechende Datensatz angezeigt.
    • 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.
    Tabelle : 11. Parameter
    Name Typ Beschreibung
    details Objekt Schlüssel-Wert-Paare, die die zu öffnende Formular-URL identifizieren.
    "details": {
      "entity": "String";
      "interaction_sys_id": "String";
      "query": "String"
    }
    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>'.
    Tabelle : 12. Rückgaben
    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.

    Tabelle : 13. Parameter
    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.
    openFrameAPI.openServiceNowFormwithChildTab({
      entity: "String",
      sys_id: String", 	
      parent_entity: "String",	
      parent_entity_sys_id: "String"
    })
    Ö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.
    Tabelle : 14. Rückgaben
    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.

    Tabelle : 15. Parameter
    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:

    Tabelle : 16. Rückgaben
    Typ Beschreibung
    void
    openFrameAPI.openServiceNowList({entity:'case', query:'active=true'});

    openFrameAPI - setFrameMode(mode)

    Legt den OpenFrame-Modus fest.

    Der in dieser API übergebene Modus:
    • 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
    Tabelle : 17. Parameter
    Name Typ Beschreibung
    Modus Zeichenfolge Legen Sie den OpenFrame-Modus fest. Aufgelistete Optionen:
    1. openFrameAPI.FRAME_MODE.COLLAPSE
    2. openFrameAPI.FRAME_MODE.EXPAND
    Tabelle : 18. Ergebnisse
    Typ Beschreibung
    void
    openFrameAPI.setFrameMode(openFrameAPI.FRAME_MODE.COLLAPSE);
    

    openFrameAPI - setHeight(height)

    Legt die OpenFrame-Höhe fest.

    Tabelle : 19. Parameter
    Name Typ Beschreibung
    Höhe Nummer Höhe in Pixel
    Tabelle : 20. Ergebnisse
    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.

    Tabelle : 21. Parameter
    Name Typ Beschreibung
    Typ Zeichenfolge Typ der festzulegenden Kontextdaten.
    Gültige Werte:
    • activeCall: Legt den Kontext für die laufende aktive Anrufkomponente fest. Wenn Sie diesen Kontexttyp übergeben, müssen Sie auch die activeCall[] -JSON als Parameter Context übergeben.

      Aktive Anrufkomponente

    • Leerlauf: Legt die Leerlaufstatus-Fähigkeiten für den aktuellen Anwender fest. Wenn diese Option festgelegt ist, wird die UI für den Leerlaufstatus (Wähltastatur) in OpenFrame angezeigt. Wenn Sie diesen Kontexttyp übergeben, müssen Sie auch übergeben<idleState> {} JSON als Parameter Context

      Tastaturkomponente

    • searchTargetList: Legt den Telefonverzeichniskontext fest Wenn diese Option festgelegt ist, wird der Anruf durchgestellt für die Komponente „Aktiver Anruf“ aktiviert. Wenn Sie diesen Kontexttyp übergeben, müssen Sie auch die searchTargetList[]- JSON als Parameter Context übergeben.

      Anrufkomponente durchstellen
    <Context> Objekt Festzulegende Kontextdaten. Jeder Kontextdatentyp hat einen anderen Satz möglicher Eingabedaten.
    Gültige Context Datenobjekte:
    • activeCall
    • <idleState>
    • searchTargetList
    activeCall Array von Objekten Details zu einem aktiven Anruf. Jedes -Objekt stellt einen laufenden aktiven Anruf dar.
    "activeCall": [
      { 
        "currentParticipant": {Object},
        "customPayload: {Object},
        "direction": "String",
        "externalId": "String",
        "nowRecordId": "String",
        "nowRecordTable": "String",
        "participants": [Array],
        "type": "String"
      }
    ]
    activeCall.currentTeilnehmer Objekt Erforderlich. Details zu Anruffähigkeiten und Anrufstatus des aktuellen Teilnehmers.
    "currentParticipant": {
      "actor": "String",
      "callStartTime": "String",
      "capabilities": {Object},
      "connectedTime": "String",
      "custom-capability-state-1": Boolean,
      "flagged": Boolean,
      "held": Boolean,
      "id": "String",
      "muted": Boolean,
      "name": "String",
      "paused": Boolean,
      "recording": "String",
      "state": "String",
      "wrapUP": {Object}
    }
    activeCall.currentTeilnehmer.​Akteur Zeichenfolge Typ des Teilnehmers im Anruf.
    Gültige Werte:
    • Service Desk-Mitarbeiter
    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.

    Screenshot der Komponente „Aktiver Anruf“ mit Fähigkeitssymbolen
    "capabilities": {
      "dtmf": Boolean,
      "endCall": Boolean,
      "flag": Boolean,
      "hold": Boolean,
      "leaveAndTransfer": Boolean,
      "mergeCall": Boolean,
      "mute": Boolean,
      "resumeRecording": Boolean,
      "pauseRecording": Boolean,
      "startRecording": Boolean,
      "stopRecording": Boolean,
      "transfer": Boolean
    }
    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:
    • „wahr“: Der Teilnehmer verfügt über DTMF-Fähigkeiten.
    • „falsch“: Der Teilnehmer hat keine DTMF-Fähigkeit.

    Standardwert: false

    activeCall.currentTeilnehmer.​Fähigkeiten.​endCall Boolean Kennzeichnung, die angibt, ob der zugeordnete Teilnehmer den Anruf beenden kann.
    Gültige Werte:
    • wahr: Der Teilnehmer kann den Anruf beenden. Die Schaltfläche „Anruf beenden“ ist in der Anwenderoberfläche aktiviert.
    • „falsch“: Der Teilnehmer kann den Anruf nicht beenden. Die Schaltfläche „Anruf beenden“ ist in der Anwenderoberfläche deaktiviert.

    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:
    • wahr: Der Teilnehmer kann Problemanrufe kennzeichnen.
    • „falsch“: Der Teilnehmer kann Problemanrufe nicht kennzeichnen.

    Standardwert: false

    activeCall.currentTeilnehmer.​Fähigkeiten.​halten Boolean Kennzeichnung, die angibt, ob der Teilnehmer den Anruf in die Warteschleife stellen kann.
    Gültige Werte:
    • wahr: Der Teilnehmer kann den Anruf in die Warteschleife stellen. Die Schaltfläche „Warten“ ist in der Anwenderoberfläche aktiviert.
    • „falsch“: Der Teilnehmer kann den Anruf nicht in die Warteschleife stellen. Die Schaltfläche „Warten“ ist in der Anwenderoberfläche deaktiviert.

    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:
    • „wahr“: Der Teilnehmer kann den Anruf übergeben und beenden.
    • „falsch“: Der Teilnehmer kann den Anruf nicht übertragen und beenden.

    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:
    • wahr: Der Teilnehmer kann den Anruf zusammenführen. Die Zusammenführungsschaltfläche ist in der Anwenderoberfläche aktiviert.
    • „falsch“: Der Teilnehmer kann den Anruf nicht zusammenführen. Die Zusammenführungsschaltfläche ist in der Anwenderoberfläche deaktiviert.

    Standardwert: false

    activeCall.currentTeilnehmer.​Fähigkeiten.​stummschalten Boolean Kennzeichnung, die angibt, ob der Teilnehmer den Anruf stummschalten kann.
    Gültige Werte:
    • wahr: Der Teilnehmer kann den Anruf stummschalten. Die Schaltfläche „Stummschalten“ ist in der Anwenderoberfläche aktiviert.
    • „falsch“: Der Teilnehmer kann den Anruf nicht stummschalten. Die Schaltfläche „Stummschalten“ ist in der Anwenderoberfläche deaktiviert.

    Standardwert: false

    activeCall.currentTeilnehmer.​capabilities.​resumeRecording Boolean Kennzeichnung, die angibt, ob der Teilnehmer die Aufzeichnung des Anrufs fortsetzen kann.
    Gültige Werte:
    • wahr: Der Teilnehmer kann die Aufzeichnung des Anrufs fortsetzen. Die Schaltfläche „Aufzeichnung anhalten“ ist in der Anwenderoberfläche aktiviert.
    • „falsch“: Der Teilnehmer kann die Aufzeichnung des Anrufs nicht fortsetzen. Die Schaltfläche „Aufzeichnung anhalten“ ist in der Anwenderoberfläche deaktiviert.

    Standardwert: false

    activeCall.currentTeilnehmer.​capabilities.​pauseRecording Boolean Kennzeichnung, die angibt, ob der Teilnehmer die Aufzeichnung des Anrufs anhalten kann.
    Gültige Werte:
    • „wahr“: Der Teilnehmer kann die Aufzeichnung des Anrufs anhalten. Die Schaltfläche „Aufzeichnung anhalten“ ist in der Anwenderoberfläche aktiviert.
    • „falsch“: Der Teilnehmer kann die Aufzeichnung des Anrufs nicht anhalten. Die Schaltfläche „Aufzeichnung anhalten“ ist in der Anwenderoberfläche deaktiviert.

    Standardwert: false

    activeCall.currentTeilnehmer.​capabilities.​startRecording Boolean Kennzeichnung, die angibt, ob der Teilnehmer die Aufzeichnung des Anrufs starten kann.
    Gültige Werte:
    • „wahr“: Der Teilnehmer kann mit der Aufzeichnung des Anrufs beginnen. Die Aufnahmeschaltfläche ist in der Anwenderoberfläche aktiviert.
    • „falsch“: Der Teilnehmer kann die Aufzeichnung des Anrufs nicht starten. Die Aufnahmeschaltfläche ist in der Anwenderoberfläche deaktiviert.

    Standardwert: false

    activeCall.currentTeilnehmer.​Fähigkeiten.​StoppAufzeichnung Boolean Kennzeichnung, die angibt, ob der Teilnehmer die Aufzeichnung des Anrufs beenden kann.
    Gültige Werte:
    • wahr: Der Teilnehmer kann die Aufzeichnung des Anrufs beenden. Die Schaltfläche zum Beenden der Aufzeichnung wird in der Anwenderoberfläche aktiviert.
    • „falsch“: Der Teilnehmer kann die Aufzeichnung des Anrufs nicht beenden. Die Schaltfläche zum Beenden der Aufzeichnung ist in der Anwenderoberfläche deaktiviert.

    Standardwert: false

    activeCall.currentTeilnehmer.​Fähigkeiten.​Übertragung Boolean Kennzeichnung, die angibt, ob der Teilnehmer den Anruf übertragen kann.
    Gültige Werte:
    • wahr: Der Teilnehmer kann den Anruf übertragen. Die Schaltfläche zum Übertragen ist in der Anwenderoberfläche aktiviert.
    • „falsch“: Der Teilnehmer kann den Anruf nicht übertragen. Die Schaltfläche „Übertragen“ ist in der Anwenderoberfläche deaktiviert.

    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:
    • wahr: Anruf wurde für ein Problem gekennzeichnet.
    • „falsch“: Anruf wurde nicht für ein Problem gekennzeichnet.

    Standardwert: false

    activeCall.currentTeilnehmer.​gehalten Boolean Kennzeichnung, die den Status des Teilnehmers im Status „Angehalten“ angibt.
    Gültige Werte:
    • „wahr“: Teilnehmer ist angehalten.
    • „false“: Teilnehmer ist nicht angehalten.

    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:
    • „wahr“: Teilnehmer ist stummgeschaltet.
    • „falsch“: Teilnehmer ist nicht stummgeschaltet.

    Standardwert: false

    activeCall.aktuellerTeilnehmer.​Name Zeichenfolge Name des Teilnehmers.
    activeCall.currentTeilnehmer.​angehalten Boolean Kennzeichnung, die den angehaltenen Status des Teilnehmers angibt.
    Gültige Werte:
    • „wahr“: Teilnehmer ist angehalten.
    • „falsch“: Der Teilnehmer wird nicht angehalten.

    Standardwert: false

    activeCall.currentTeilnehmer.​Aufzeichnung Zeichenfolge Aktueller Aufzeichnungsstatus des Anrufs.
    Gültige Werte:
    • in_progress
    • Keine
    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:
    • eingehend
    • outbound
    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.
    "participants": [
      {
        "actor": "String",
        "ani": "String",
        "address": "String",
        "capabilities": {Object},
        "callStartTime" "String",
        "connectedTime": "String",
        "customPayload": {Object},
        "dnis": "String",
        "held": Boolean,
        "heldAtTime": "String",
        "id": "String",
        "muted": Boolean,
        "name": "String",
        "requestACW": Boolean,
        "requireWrapup": Boolean,
        "state": "String"
      }
    ]
    activeCall.​Teilnehmer.​Akteur Zeichenfolge Typ des Akteurs für den zugeordneten Teilnehmer.
    Zum Beispiel:
    • Service Desk-Mitarbeiter
    • Kunde
    • external
    • Warteschlange
    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.
    "capabilities": {
      "endCall": Boolean,
      "hold": Boolean,
      "mute": Boolean
    }
    activeCall.​Teilnehmer.​Fähigkeiten.​endCall Boolean Kennzeichnung, die angibt, ob der zugeordnete Teilnehmer den Anruf beenden kann.
    Gültige Werte:
    • wahr: Der Teilnehmer kann den Anruf beenden. Die Schaltfläche „Anruf beenden“ ist in der Anwenderoberfläche aktiviert.
    • „falsch“: Der Teilnehmer kann den Anruf nicht beenden. Die Schaltfläche „Anruf beenden“ ist in der Anwenderoberfläche deaktiviert.

    Standardwert: false

    activeCall.​Teilnehmer.​Fähigkeiten.​halten Boolean Kennzeichnung, die angibt, ob der Teilnehmer den Anruf in die Warteschleife stellen kann.
    Gültige Werte:
    • wahr: Der Teilnehmer kann den Anruf in die Warteschleife stellen. Die Schaltfläche „Warten“ ist in der Anwenderoberfläche aktiviert.
    • „falsch“: Der Teilnehmer kann den Anruf nicht in die Warteschleife stellen. Die Schaltfläche „Warten“ ist in der Anwenderoberfläche deaktiviert.

    Standardwert: false

    activeCall.​Teilnehmer.​Fähigkeiten.​stummschalten Boolean Kennzeichnung, die angibt, ob der Teilnehmer den Anruf stummschalten kann.
    Gültige Werte:
    • wahr: Der Teilnehmer kann den Anruf stummschalten. Die Schaltfläche „Stummschalten“ ist in der Anwenderoberfläche aktiviert.
    • „falsch“: Der Teilnehmer kann den Anruf nicht stummschalten. Die Schaltfläche „Stummschalten“ ist in der Anwenderoberfläche deaktiviert.

    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:
    • „wahr“: Teilnehmer ist angehalten.
    • „false“: Teilnehmer ist nicht angehalten.

    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:
    • „wahr“: Teilnehmer ist stummgeschaltet.
    • „falsch“: Teilnehmer ist nicht stummgeschaltet.

    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:
    • true: Nachverfolgung erforderlich.
    • false: Keine Nachverfolgung erforderlich.

    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.


    Screenshot der Nachbearbeitungskomponente
    Gültige Werte:
    • „wahr“: Zeigt die Nachbearbeitungskomponente bei Anrufabschluss an.
    • „falsch“: Zeigt die Nachbearbeitungskomponente bei Anrufabschluss nicht an.

    Standardwert: false

    activeCall.​Teilnehmer.​Status Zeichenfolge Status des Anrufsegments des Teilnehmers. Wird unter der Telefonnummer in der Komponente „Aktiver Anruf“ angezeigt.
    Fenster „Aktiver Anruf“ mit Status
    Dies kann ein beliebiger aussagekräftiger Text sein, z. B.:
    • Warnung
    • Verbunden
    • Klingelnd
    activeCall.type Zeichenfolge Typ des Anrufs.
    Gültige Werte:
    • Anruf
    • Rückrufanforderung
    • Voicemail
    <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> {
     "capability": {Object},
     "currentInboundId": "String",
     "dialpadInfoMessage": {Object},
     "enableState": {Object}
    }
    <idleState>.Fähigkeit Objekt Beschreibung der Leerlaufstatus-Fähigkeiten des aktuellen Anwenders.
    "capability": {
      "globalContactSearch": Boolean,
      "logOut": Boolean,
      "outBoundCall": Boolean
    }
    <idleState>.capability.​globalContactSearch Boolean Kennzeichnung, die angibt, ob die globale Kontaktliste im Leerlauf angezeigt werden soll.
    Gültige Werte:
    • wahr: Zeigt die globale Kontaktliste an.
    • „falsch“: Globale Kontaktliste nicht anzeigen.

    Standardwert: false

    <idleState>.capability.​abmelden Boolean Kennzeichnung, die angibt, ob sich der Anwender im Leerlauf abmelden kann.
    Gültige Werte:
    • wahr: Der Benutzer kann sich abmelden, wenn der Anruf inaktiv ist. Auf der Wähltastatur wird die Schaltfläche „Abmelden“ angezeigt.
    • „falsch“: Der Anwender kann sich nicht abmelden, wenn der Anruf inaktiv ist.

    Standardwert: false

    <idleState>.capability.​outBoundCall Boolean Kennzeichnung, die angibt, ob der Anwender im Leerlauf einen ausgehenden Anruf tätigen kann.
    Gültige Werte:
    • wahr: Der Benutzer kann einen ausgehenden Anruf tätigen, wenn sich der Anruf im Leerlauf befindet.
    • „falsch“: Der Anwender kann keinen ausgehenden Anruf tätigen, wenn sich der Anruf im Leerlauf befindet.

    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.
    "dialpadInfoMessage": {
       "label": "String",
       "value": "String"
     }

    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.


    Screenshot der Wähltastatur mit Informationsmeldung
    <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.
    "enableState": {
       "logOut": Boolean,
       "outBoundCall": Boolean
     }
    <idleState>.​enableState.​logOut Boolean Kennzeichnung, die angibt, ob die Abmeldeschaltfläche auf der Anwenderoberfläche im Leerlauf aktiviert werden soll.
    Gültige Werte:
    • true: Zeigt die Abmeldeschaltfläche im Leerlauf an.
    • false: Schaltfläche zum Abmelden im Leerlauf nicht anzeigen.

    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:
    • wahr: Zeigt die Schaltfläche für ausgehende Anrufe im Leerlauf an.
    • false: Schaltfläche für ausgehenden Anruf im Leerlauf nicht anzeigen.

    Standardwert: false

    searchTargetList Array von Objekten Details der übertragungsbezogenen Daten für eine Tabelle ServiceNow.
    "searchTargetList": [
      {
        "externalId": "String",
        "nowRecordId": "String",
        "nowRecordTable": "String",
        "participantID": "String",
        "targets": [Array]
      }
    ]
    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 – „interaction“

    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.
    "targets": [
      {
        "payload": {Object},
        "transferSubtypes": [Array],
        "type": "String"
      }
    ]
    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.


    Screenshot des Fensters „Anruf durchstellen“ mit Parameterzuordnung
    "payload": {
      "list": [Array]
    }

    Dieses Beispiel zeigt eine Agent-Nutzlast („searchTargetList.targets.type“ : „agent“).

    "payload": {
      "list": [
        {
          "name": "Alice Anderson",
          "id": "agent1Id",
          "hasStats": "true",
          "presence": "available",
          "moreInfo": [
            {
              "label": "Skill",
              "value": "CRM certified"
            }
          ]
        }
      ]
    }

    Im Folgenden finden Sie ein Beispiel für eine Nutzlast einer Warteschlange („searchTargetList.targets.type“ : „queue“).

    "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"
            }
          ]
        }
      ]
    }
    searchTargetList.​targets.​nutzlast.​liste Array von Objekten Details zur Nutzlast für jeden Zieltyp.
    "list": [
      {
        "hasStats": Boolean,
        "id": "String",
        "moreInfo": [Array],
        "name": "String",
        "presence": "String"
      }
    ]
    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:
    • „wahr“: Ziel hat zusätzliche Statistiken. Neben dem Namen des Service Desk-Mitarbeiters oder der Warteschlange wird ein Informationssymbol angezeigt.
    • false: Ziel hat keine zusätzlichen Statistiken.

    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.
    "moreInfo": [
      {
        "label": "String",
        "value": "String"
      }
    ]
    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:
    • Verfügbar
    • entfernt
    • Beschäftigt
    • offline
    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.


    Anrufdurchstellungskomponente mit Übertragungstypen

    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.

    "transferSubtypes": [
      {
        "id": "String",
        "label": "String"
      }
    ]
    searchTargetList.​targets.​transferSubtypes.​id Zeichenfolge Bezeichner des Übertragungsuntertyps.
    Gültige Werte:
    • blind: Der Service Desk-Mitarbeiter leitet den Kundenanruf direkt an einen anderen Service Desk-Mitarbeiter oder eine Warteschlange weiter, ohne zuerst mit dem Service Desk-Mitarbeiter zu sprechen.
    • -Beratung: Der Service Desk-Mitarbeiter kontaktiert den Service Desk-Mitarbeiter, den er beraten möchte, und fügt dann den Kunden in den Anruf mit dem beratenden Service Desk-Mitarbeiter ein.

    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:
    • Blind
    • Konsultieren

    Dies muss dem Wert in searchTargetList.targets.transferSubtypes.identsprechen.

    searchTargetList.​targets.​type Zeichenfolge Typ des Ziels
    Gültige Werte:
    • Service Desk-Mitarbeiter
    • external
    • Warteschlange
    Tabelle : 22. Rückgaben
    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.

    Tabelle : 23. Parameter
    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.

    Tabelle : 24. Rückgaben
    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

    Tabelle : 25. Parameter
    Name Typ Beschreibung
    state Zeichenfolge Anwesenheitsstatus des Agent.

    Standardstatus:

    • Verfügbar
    • Abwesend
    • Offline

    Sie können auch benutzerdefinierte Status angeben.

    color Zeichenfolge Farbe des Anwesenheitsindikators im Arbeitsbereich.

    Unterstützte Farben:

    • rot
    • Orange
    • grau
    • grün
    Tabelle : 26. Ergebnisse
    Typ Beschreibung
    void
    openframeAPI.setPresenceIndicator('Available', 'green');

    openFrameAPI – setSize(Number width, Number height)

    Legt die OpenFrame-Größe fest.

    Tabelle : 27. Parameter
    Name Typ Beschreibung
    width Zahl Sollte größer als null sein.
    height Zahl Sollte größer als null sein.
    Tabelle : 28. Ergebnisse
    Typ Beschreibung
    void
    openFrameAPI.setSize(300, 370);

    openFrameAPI – setSubtitle(String subTitle)

    Legt den OpenFrame-Untertitel fest.

    Tabelle : 29. Parameter
    Name Typ Beschreibung
    subTitle Zeichenfolge Eine Zeichenfolge mit maximal 256 Zeichen.
    Tabelle : 30. Ergebnisse
    Typ Beschreibung
    void
    openFrameAPI.setSubtitle('+18888888888');

    openFrameAPI – setTitle(String title)

    Legt den OpenFrame-Titel fest.

    Tabelle : 31. Parameter
    Name Typ Beschreibung
    title Zeichenfolge Eine Zeichenfolge mit maximal 256 Zeichen.
    Tabelle : 32. Ergebnisse
    Typ Beschreibung
    void
    openFrameAPI.setTitle('Incoming Call');

    openFrameAPI – setTitleIcon(Object icon)

    Legt das Titelsymbol von OpenFrame fest.

    Tabelle : 33. Parameter
    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.

    Tabelle : 34. Rückgaben
    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.

    Tabelle : 35. Parameter
    Name Typ Beschreibung
    Breite Nummer Breite in Pixel
    Tabelle : 36. Ergebnisse
    Typ Beschreibung
    void
    openFrameAPI.setWidth(100);

    openFrameAPI – show()

    Macht den OpenFrame im TopFrame sichtbar.

    Tabelle : 37. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 38. Ergebnisse
    Typ Beschreibung
    void
    openFrameAPI.show()

    openFrameAPI – subscribe(openFrameAPIEVENT event, function eventCallback)

    Abonniert ein angegebenes Ereignis.

    Tabelle : 39. Parameter
    Name Typ Beschreibung
    event openFrameAPIEVENT Das zu abonnierende Ereignis:
    • openframe_agent_off_interaction: Gibt die Anwesenheit eines Service Desk-Mitarbeiters im Chat als „off“ oder „verfügbar“ an.
    • openframe_awa_agent_presence: In Erweiterte Arbeitszuweisung (AWA) tritt dieses Ereignis auf, wenn sich der Anwesenheitsstatus des Service Desk-Mitarbeiters ändert. Entwickler von Computer-Telefonie-Integrationen (CTI) können dieses Ereignis abonnieren, um Änderungen des Anwesenheitsstatus zu erhalten.
    • openframe_awa_workitem_accepted: Tritt auf, wenn ein Service Desk-Mitarbeiter ein Arbeitselement akzeptiert.
    • openframe_awa_workitem_offered: Tritt auf, wenn einem Service Desk-Mitarbeiter ein Arbeitselement angeboten wird.
    • openframe_awa_workitem_rejected: Tritt auf, wenn ein Arbeitselement von einem Service Desk-Mitarbeiter abgelehnt wird.
    • openframe_before_destroy: Tritt ein, bevor der TopFrame entladen wird.
    • openframe_collapse: Wird ausgelöst, wenn im OpenFrame-Header das Symbol zum Reduzieren ausgewählt ist.
    • openframe_communication: Anwendungsspezifisch und kann angepasst werden.
    • openframe_communication_failure: Tritt ein, wenn die Kommunikation mit TopFrame fehlschlägt.
    • openframe_expand: Wird ausgelöst, wenn das Erweiterungssymbol im OpenFrame-Header ausgewählt ist.
    • openframe_ Heart_beat: Tritt auf, wenn die Anwendersitzung verlängert oder abgemeldet wird.
    • openframe_header_icon_clicked: Veraltet. Verwenden Sie stattdessen openframe_icon_clicked oder openframe_title_icon_clicked.
    • openframe_hidden: Tritt ein, wenn der OpenFrame ausgeblendet ist.
    • openframe_icon_clicked: Tritt auf, wenn in der OpenFrame-Fußzeile ein anderes Symbol als das Schließen-Symbol ausgewählt wird. Der Callback empfängt das Icon-Objekt als einen Parameter.
    • openframe_shown: Tritt ein, wenn der OpenFrame angezeigt wird.
    • openframe_title_icon_clicked: Tritt auf, wenn das Titelsymbol in OpenFrame ausgewählt wird. Der Callback empfängt das titleIcon-Objekt als Parameter.
    • openframe_wrap_up_submitted: Tritt auf, wenn die Nachbearbeitungszeiträume im Dialogfeld ohne Modus für die Nachbearbeitungenden. Das Ereignis wird nur ausgelöst, wenn die Nachbearbeitung extern ist.
    eventCallback Funktion Funktion, die aufgerufen werden soll, wenn das angegebene Ereignis auftritt.
    Tabelle : 40. Rückgaben
    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":{
      "available": Boolean,
      "channels":[
        {
          "available": Boolean,
          "name": "String",
          "restrict_update": Boolean,
          "sys_id": "String"
        }
      ],
      "name": "String",
      "sys_id": "String"
    }
    presence: Informationen über den aktuellen Anwesenheitsstatus und Kanal eines Service Desk-Mitarbeiters.
    • presence.available: Kennzeichnung, die angibt, ob der Service Desk-Mitarbeiter verfügbar ist.
    • presence.channels: Liste von Objekten, die die verfügbaren Kommunikationskanäle mit dem Service Desk-Mitarbeiter beschreiben.
      • presence.channels.available: Kennzeichnung, die angibt, ob der Kanal verfügbar ist.
      • presence.channels.name: Kanalname, z. B. Chat oder Telefon.
      • presence.channels.restrict_update: Kennzeichnung, die angibt, ob der Anwender Aktualisierungen einschränken kann.
      • presence.channels.sys_id: sys_id des Kanals
    • presence.name: Name des Anwesenheitsstatus des Service Desk-Mitarbeiters
    • presence.sys_id: Anwesenheitsstatus-sys_id.
    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": {
      "document": {
        "sys_id": "String",
        "table": "String"
      },
      "isAutoAccepted": Boolean,
      "isQueueTransferred": Boolean,
      "previousWorkItem": "String",
      "serviceChannel": {
        "name": "String",
        "sys_id": "String"
      },
      "size": Number,
      "sys_id": "String"
    }

    workItem: Informationen zum Arbeitselement, das dem Ereignis zugeordnet ist.

    • workItem.document: Liste der Dokumente, die der Arbeitselementaufgabe zugeordnet sind.
      • workItem.document.sys_id: Sys_id des Dokuments, das der Arbeitselementaufgabe zugewiesen ist.
      • workItem.document.table: Name der Dokumenttabelle, die der Aufgabe zugewiesen ist.
    • workItem.isAutoAccepted: Kennzeichnung, die angibt, ob das Arbeitselement automatisch vom System akzeptiert wurde. Legen Sie den Wert auf „true“ fest, wenn das Arbeitselement automatisch akzeptiert wurde.
    • workItem.isQueueTransferred: Kennzeichnung, die angibt, ob das Arbeitselement in der Warteschlange übertragen wird. Auf „wahr“ festlegen, wenn das Arbeitselement in der Warteschlange übertragen wird, andernfalls auf „falsch“. Weitere Informationen zu Warteschlangenübertragungen finden Sie unter Transfer a chat to another queue.
    • workItem.previousWorkItem: Sys_id des vorherigen Arbeitselements für dieselbe Dokument-ID. Für die Nicht-Transfer-Arbeitselemente ist dieser Wert leer.
    • workItem.serviceChannel: Liste der Servicekanäle, die der Arbeitselementaufgabe zugeordnet sind.
      • workItem.serviceChannel.name: Name des Servicekanals, z. B. Chat oder Telefon.
      • workItem.serviceChannel.sys_id: Sys_id des Servicekanals.
    • workItem.size: Kapazität des Service Desk-Mitarbeiters, die verwendet wird, wenn dem Service Desk-Mitarbeiter dieses Arbeitselement zugewiesen wird.
    • workItem.sys_id: Sys_id des Arbeitselements, das akzeptiert oder angeboten wurde.
    openframe_awa_workitem_rejected In AWAgibt das Ereignis openframe_awa_workitem_rejected das workItem -Objekt zurück:
    "workItem": {
      "document": {
        "sys_id": "String",
        "table": "String"
      },
      "isQueueTransferred": Boolean,
      "previousWorkItem": "String",
      "rejection": {
        "reason": "String",
        "sys_id": "String"
      },
      "serviceChannel": {
        "name": "String",
        "sys_id": "String"
      },
      "size": Number,
      "sys_id": "String"
    }

    workItem: Informationen zum Arbeitselement, das dem Ereignis zugeordnet ist.

    • workItem.document: Liste der Dokumente, die der Arbeitselementaufgabe zugeordnet sind.
      • workItem.document.sys_id: Sys_id des Dokuments, das der Arbeitselementaufgabe zugewiesen ist.
      • workItem.document.table: Name der Dokumenttabelle, die der Aufgabe zugewiesen ist.
    • workItem.isQueueTransferred: Kennzeichnung, die angibt, ob das Arbeitselement in der Warteschlange übertragen wird. Auf „wahr“ festlegen, wenn das Arbeitselement in der Warteschlange übertragen wird, andernfalls auf „falsch“. Weitere Informationen zu Warteschlangenübertragungen finden Sie unter Transfer a chat to another queue.
    • workItem.previousWorkItem: Sys_id des vorherigen Arbeitselements für dieselbe Dokument-ID. Für die Nicht-Transfer-Arbeitselemente ist dieser Wert leer.
    • workItem.rejection: Liste der Gründe für die Ablehnung des Arbeitselements.
      • workItem.rejection.reason: Name des Grunds für die Ablehnung der Arbeitselemente.
      • workItem.rejection.sys_id: Sys_id des Ablehnungsgrunds.

        Tabelle: Ablehnungsgründe [awa_reject_reason]

    • workItem.serviceChannel: Liste der Servicekanäle, die der Arbeitselementaufgabe zugeordnet sind.
      • workItem.serviceChannel.name: Name des Servicekanals, z. B. Chat oder Telefon.
      • workItem.serviceChannel.sys_id: Sys_id des Servicekanals.
    • workItem.size: Kapazität des Service Desk-Mitarbeiters, die verwendet wird, wenn dem Service Desk-Mitarbeiter dieses Arbeitselement zugewiesen wird.
    • workItem.sys_id: Sys_id des Arbeitselements, das akzeptiert oder angeboten wurde.
    openframe_ Heart_beat Das Ereignis openframe_heart_beat gibt das folgende Objekt zurück:
    {
      "lastUiActivity": "String",
      "sessionLoggedIn": Boolean
    }
    • lastUiActivity: Optional. Zeitstempel der letzten UI-Aktivität, die die Anwendersitzung verlängert hat.
    • sessionLoggedIn Kennzeichnung, die angibt, ob der Anwender angemeldet ist.
      • wahr: Anwender ist angemeldet.
      • false: Anwender ist nicht angemeldet.
    openframe_wrap_up_submitted Das Ereignis openframe_wrap_up_submitted gibt das folgende Objekt zurück:
    { 
      "wrapUp": {
        "external": Boolean,
        "externalSegmentId": "String", 
        "recordId": "String",
        "recordTable": "String",
        "wrapUpCode": "String",
        "wrapUpNotes": "String",
        "wrapUpSegmentId": "String"
      }
    }
    • external: Kennzeichnung, die angibt, ob die Nachbearbeitung intern von der Instanz ServiceNow verarbeitet oder außerhalb der Instanz ServiceNow von einem anderen Aufrufsystem verwaltet wird.
      • wahr: Die Nachbearbeitung wird von einem externen Anrufsystem verarbeitet.
      • false: Die Nachbearbeitung wird von der Instanz ServiceNow verarbeitet.
    • externalSegmentId: Eindeutiger Bezeichner des externen Datenobjekts, das die externe Nachbearbeitung ausgelöst hat.
    • recordId: Sys_id des Interaktionsdatensatzes, für den die Nachbearbeitung durchgeführt wird.
    • recordTable: Name der Tabelle, die den Datensatz enthält. Immer als „Interaktion“ festlegen.
    • wrapUpCode: Vom Benutzer während der Nachbearbeitung ausgewählter Code, der angibt, wie die Interaktion gelöst wurde.
    • wrapUpNotes: Vom Benutzer während der Nachbearbeitung eingegebener Freiform-Text, der beschreibt, wie die Interaktion gelöst wurde.
    • wrapUpSegmentId: Sys_id des Interaktions-Nachbearbeitungs-Segment-Datensatzes, der der Interaktion zugeordnet ist. Befindet sich in der Tabelle „Nachbearbeitungssegment“ [interaction_wrap_up_segment]. Enthält die Nachbearbeitungsdaten.

    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.

    Tabelle : 41. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 42. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Die OpenFrame-API-Version
    var version = openFrameAPI.version();
    
    console.log("API version " + version);