Skripte
In der Studio Anwendung ist ein Skript ein Netzwerk von Aktionen Führt einen Prozess innerhalb eines Studio-Skripts durch, wie z. B. das Erfassen von Kundendaten, Abspielen einer Nachricht oder Musik oder die Weiterleitung eines Kontakts zu einem Agenten., die den Kundendatenverkehr für ein Contact Center weiterleiten und verwalten. Wenn beispielsweise ein Kunde in einem Contact Center anruft, interagiert der Kunde mit einem Inbound-Telefonskript, das den Anrufer je nach Grund seines Anrufs an die entsprechende Abteilung weiterleitet. Jede Aktion im Skript hat einen bestimmten Zweck. Beispiele hierfür sind: Festlegen von Fähigkeiten oder Variablen, Abspielen von Wartemusik oder Weitergabe von Kundeninformationen. Diese Aktionen sind über Konnektoren miteinander verbunden. Konnektoren bestimmen mögliche "Pfade" für den Anrufer, um durch das Skript zu navigieren. Skripte können von einfach bis extrem komplex reichen. Ein einfaches Skript verfügt möglicherweise nur über wenige Aktionen, um einen Anrufer an einen Agenten weiterzuleiten. Ein komplexes Skript kann mehrere Zweige für verschiedene Sprachen, viele Aktionen zum Festlegen und Verwalten von Variablen, Verweise auf nachfolgende Skripte und vieles mehr enthalten.
Der grundlegende Arbeitsablauf für die Entwicklung eines Skripts beginnt mit dem Ziehen von Aktionen aus den Registern "Werkzeuge" oder "Framework" auf die Arbeitsfläche. Verbinden Sie dann die Aktionen, um die möglichen Pfade des Interaktionsverlaufs zu bestimmen. Nachdem Sie das Aktionsnetzwerk erstellt haben, können Sie jede Aktion konfigurieren, indem Sie zusätzliche Parameter, eine benutzerdefinierte Programmierlogik oder das Hochladen von abzuspielenden Aufforderungen hinzufügen.
Der größte Teil der Skriptverarbeitung wird in Studio durchgeführt. CXone bietet grundlegende Methoden der Skript-Interaktion, z. B. das Erstellen von Skript-Zeitplänen oder das Zurücksetzen eines Skripts auf eine vorherige Version.
Elemente der Skriptingschnittstelle
Das vorstehende Bild gibt einen Überblick über die Studio Benutzeroberfläche. Der große mittlere Bereich ist der primäre Arbeitsbereich, der als Arbeitsbereich bezeichnet wird. Hier platzieren und interagieren Sie mit Aktionen, um Ihr Skript zu erstellen. Studio bietet eine Vielzahl von Registerkarten oder Fenster, die Sie öffnen und in den Fenstern um die Zeichenfläche anordnen können. Diese Registerkarten bieten Zugriff auf die Komponenten, die Sie zum Erstellen und Verwalten von Skripten benötigen. In diesem Bild wird die Registerkarte Extras im rechten Bereich angezeigt, die Registerkarte Navigieren wird links angezeigt und die Registerkarte Skriptfehler wird unter der Zeichenfläche angezeigt. Sie können auf Aktionen im klicken und diese ziehen Werkzeuge und Rahmen Klicken Sie mit der rechten Maustaste auf die Zeichenfläche, um ein Skript zu erstellen. Beachten Sie, dass die Registerkarte Framework von einem internen Administrator speziell aktiviert werden muss.
Skripttypen
Sie können einen bestimmten Skripttyp erstellen, der mit den verschiedenen Kanälen in Ihrem Contact Center korreliert.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Allgemein | Chat | Telefon | Voicemail | Work Item | SMS | Digital |
Beim Erstellen eines neuen Skripts Studio fordert Sie auf, den Typ des zu erstellenden Skripts festzulegen. Die Art des Skripts, das Sie auswählen, muss mit der Art des Routings korrelieren, das Sie erreichen möchten. Die meisten Aktionen funktionieren in jedem Skripttyp, einige können jedoch nur zu einem bestimmten Skript hinzugefügt werden. Zum Beispiel, ASR Ermöglicht es Kontakten, auf aufgezeichnete Sprachansagen zu reagieren, indem sie sprechen, Tasten auf ihrem Telefon drücken oder eine Kombination aus beidem. Aktionen funktionieren mit Telefonskripten. Wenn Sie versuchen, eine Aktion aus dem zu verwenden Rahmen Registerkarte, die nicht mit dem von Ihnen erstellten Skripttyp kompatibel ist, zeigt Studio eine Fehlermeldung an. Darüber hinaus werden Aktionen, die nicht mit einem bestimmten Skripttyp kompatibel sind, nicht in der Liste angezeigt Werkzeuge Registerkarte dieses Skripts.
Zusätzlich zu diesen Hauptskripttypen bietet Studio einige Skriptvorlagen an, die von den Funktionen und Anwendungen abhängen, die Sie mit Ihrem System aktiviert haben, wie z. B. das Skript Anrufunterdrückung im Zusammenhang mit ﬗPersonal Connectionആ. Wenn Sie Zugriff auf diese Vorlagen haben, können Sie im Abschnitt Verfügbare Vorlagen des Dialogfelds Neues Skript erstellen auf sie zugreifen.

In diesem Skript zählt das System die Anzahl der verfügbaren Agenten. Wenn die Anzahl Null ist, wird eine Nachricht abgespielt und das System trennt den Anruf. Wenn die Anzahl der verfügbaren Agenten größer als Null ist, wird ein IVR Automatisiertes Telefonmenü, das es Anrufern ermöglicht, durch Sprachbefehle, Tasteneingaben oder beides zu interagieren, um Informationen zu erhalten, einen eingehenden Sprachanruf weiterzuleiten oder beides. Menü bietet dem Anrufer die Möglichkeit, eine Verbindung zu einem Agenten herzustellen. Bis ein Agent das Gespräch annimmt, wird in einem Abstand von 30 Sekunden Musik abgespielt. Auch hier können die meisten dieser Aktionen in jedem Skripttyp verwendet werden, jedoch gilt die Aktion Hangup speziell für Telefonskripte.

Konnektoren und Verzweigungen
Konnektoren
Ein Konnektor ist eine individuelle Verbindung zwischen zwei Aktionen. Er wird als Pfeil angezeigt und bestimmt die mögliche Bewegung eines Kontakts sowie die Bedingung für einen auf diesen Anschluss folgenden Kontakt. Sie können zwei Aktionen verbinden, indem Sie in die untere rechte Ecke der Aktion klicken und den Konnector auf die nächste Aktion im Flow ziehen und dort ablegen. Um Ihr Skript sauber und organisiert zu halten, können Sie Konnektoren biegen, indem Sie:
- Klicken und halten Sie auf Ihrer Tastatur STRG und UMSCHALTTASTE.
- Bewegen Sie den Mauszeiger über den Konnektor, damit er blau wird.
- Klicken Sie mit der rechten Maustaste auf den Konnektor, um ein grünes Kästchen (das ein Drehpunkt ist) zu platzieren.
- Klicken Sie mit der linken Maustaste auf das grüne Feld und manövrieren Sie den Konnektor wie gewünscht.
Verzweigungen
Ein Zweig ist ein Pfad, der ein Skript in eine oder mehrere Unterteilungen unterteilt, die mit einem einzelnen Konnektor beginnen. Viele Aktionen enthalten Standardverzweigungen, die Sie konfigurieren können, z. B. Default oder OnError, Sie können jedoch auch benutzerdefinierte Verzweigungsbedingungen (als variable Verzweigungsbedingungen bezeichnet) erstellen, wenn das PickBranch-Fenster angezeigt wird, wenn zwei Aktionen verbunden werden. Das vorstehende Bild ist ein einfaches Beispiel für drei Zweige und Konnektoren: Info, Rechnungsstellung und technischer Support. Die ersten Anschlüsse jedes Zweiges sind beschriftet und enthalten auch die drei Menüoptionen. Viele Skripte sind viel komplexer als im Beispiel mit ausgefeilteren Zweigen gezeigt. Wenn Zweige zu komplex und umfangreich werden, um intuitiv auf eine Zeichenfläche zu passen, kann der Scripter Zweige in einzelne Subskripte unterteilen und dann mit a auf die Subskripte aus dem Hauptskript verweisen Runsub oder Skript ausführen Aktion. Dies ist eine hervorragende Möglichkeit, Ihre Skripte organisiert und aufgeräumt zu halten, anstatt groß, überladen und verwirrend.
In den folgenden Skriptbildern können Sie beispielsweise sehen, dass das Yggdrasil-Menü 8 Optionen für die 8 anderen nordischen Welten bietet. Jede Welt repräsentiert eine andere Verzweigung des Skripts. Heimdallr ist der Skripter für die Asgard-Hotline. Wenn er mehr Optionen für jede Verzweigung einschließen wollte, könnte das Skript zu komplex werden. Stattdessen könnte er für jede der 8 anderen Welten ein separates Unterskript erstellen. Danach würde Heimdallr a verwenden Runsub oder Skript ausführenAktion für jede Menüoption, die das separate Skript startet, wenn es vom Kontakt ausgewählt wird.

Komplex:

Kondensiert:

Skriptfehler
Das Register "Skriptfehler" zeigt sowohl Warnungen als auch Fehler an, die in Ihrem Skript vorhanden sein können. Studio füllt diese Registerkarte aus, nachdem Sie auf die Schaltfläche „Speichern“ geklickt haben. Sie können auf eine der Warnungen oder Fehler in dieser Liste doppelklicken, um zu der Aktion auf der Arbeitsfläche zu gelangen, auf der das Problem auftritt. Eine Warnung hält das Skript nicht davon ab, ausgeführt oder gespeichert zu werden. Um potenzielle Probleme zu vermeiden, ist es jedoch die beste Praxis, Warnungen zu beseitigen, bevor ein Skript in der Praxis eingesetzt wird.
Bei Syntax- und Validierungsfehlern können Sie das Skript vorsichtshalber nicht speichern. Wenn diese Fehler erkannt werden, zeigt Studio ein Hinweisfenster an, wenn Sie versuchen, das Skript zu speichern. Validierungsfehler werden möglicherweise nicht auf der Registerkarte "Skriptfehler" angezeigt, wie z. B. ungültiges JSON, das in die Rest-Api-Aktion eingegeben wurde, aber Sie erhalten eine Fehlerbenachrichtigung mit technischen Details des Fehlers. Wenn Sie versuchen, mit einem Überprüfungsfehler zu speichern, kehrt Ihr Skript möglicherweise zur "letzten als gut bekannten" Version des Skripts zurück, was dazu führt, dass Änderungen, die Sie nach dem vorherigen Speichern vorgenommen haben, verloren gehen.
Im Folgenden finden Sie Beispiele für Probleme, die das Speichern eines Skripts verhindern, sowie eine beispielhafte Fehlerbeschreibung:
- Falsch geschriebene Variablen ("Snippet Zeile 2. Funktion: NameLabel wurde nicht definiert")
- Verwendung einer Funktion als Methodenparameter ("Unbegrenzte Funktionsparameter")
- Verwendung eines falschen Datentyps in einer Methode, die einen bestimmten Datentyp erfordert ("Unbegrenzte Funktionsparameter")
Fehler wirken sich auch auf die Skriptablaufverfolgung aus. Wenn Sie versuchen, eine Skriptablaufverfolgung für ein nicht gespeichertes Skript auszuführen, fordert Sie Studio auf, das Skript zu speichern. Wenn Sie Fehler im Skript haben, wird das Skript nicht gespeichert und Sie verlieren möglicherweise Änderungen, die durch Validierungsfehler verursacht wurden. Die Ablaufverfolgung wird ausgeführt, jedoch in der zuletzt gespeicherten Version des Skripts.
Skript-APIs
Für fortgeschrittenere Skriptentwickler können Sie Skripte programmgesteuert öffnen und speichern, um automatisierte Entwicklungsprozesse zu unterstützen. Erweitern Sie die folgenden Dropdown-Listen, um grundlegende Details für jede API anzuzeigen.

Verwenden Sie v17 oder früher von GET/Skripten, um eine Liste der Skripte für Ihre
Zusammenfassung: Das XML eines Skripts nach Name oder Master-ID zurückgeben.
Beschreibung: Diese Methode gibt XML eines Skripts nach Name oder Master-ID zurück.
Parameter:
- Name: scriptPath
in: path
description: full path of script
required: true
style: simple
explode: false
schema:
type: string
- Name: scriptId
in: path
Beschreibung: Master-ID eines Skripts
required: true
style: simple
explode: false
schema:
type: integer
Responses:
'200':
description: SUCCESS
content:
application/json:
schema:
type: object
properties:
name:
type: string
Beschreibung: Name eines Skripts
Dateipfad:
type: string
Beschreibung: Dateipfad
ScriptId:
type: integer
Beschreibung: MasterId
Körper:
type: string
Beschreibung: XML eines Skripts
'400': Beschreibung: Ungültige Parameter
'404': Beschreibung: Nicht gefunden
'500': Beschreibung: Interner Fehler
'501': Beschreibung: Interner Fehler des Incontrol.Net-Dienstes

Zusammenfassung: Speichern Sie ein neues Skript oder ein vorhandenes Skript.
Beschreibung: Diese Methode speichert ein Skript mithilfe einer base64-Zeichenfolge in der Datenbank.
Parameter:
- Name: scriptPath
in: path
Beschreibung: vollständiger Pfad und Name des Skripts
required: true
style: simple
explode: false
schema:
type: string
- Name: Körper
in: path
Beschreibung: 'Hauptteil des Skripts, dies ist ein in base64 codiertes XML'
required: true
style: simple
explode: false
schema:
type: string
Responses:
'200':
Beschreibung: Erfolg
content:
application/json:
schema:
SaveScript:
type: object
properties:
ScriptId:
type: string
Beschreibung: Die neue ScriptId, die nach dem erfolgreichen Speichern generiert wurde
'400': Beschreibung: Ungültige Parameter
'405': Beschreibung: Von jemand anderem gesperrt
'500': Beschreibung: Interner Fehler
'501': Beschreibung: Service Internal Error

Zusammenfassung: Speichern Sie ein neues Skript oder ein vorhandenes Skript.
Beschreibung: Diese Methode speichert ein Skript mithilfe einer base64-Zeichenfolge in der Datenbank.
Parameter:
- Name: scriptPath
in: path
Beschreibung: vollständiger Pfad und Name des Skripts
required: true
style: simple
explode: false
schema:
type: string
- Name: Körper
in: path
Beschreibung: 'Hauptteil des Skripts, dies ist ein in base64 codiertes XML'
required: true
style: simple
explode: false
schema:
type: string
Responses:
'200':
Beschreibung: Erfolg
content:
application/json:
schema:
type: object
properties:
ScriptId:
type: string
Beschreibung: Die neue ScriptId, die nach dem erfolgreichen Speichern generiert wurde
'400': Beschreibung: Ungültige Parameter
'405': Beschreibung: Von jemand anderem gesperrt
'500': Beschreibung: Interner Fehler
'501': Beschreibung: Service Internal Error

Zusammenfassung: Kick ein gesperrtes Skript.
Beschreibung: Diese Methode erzwingt das Entsperren eines Skripts.
Parameter:
- Name: scriptPath
in: path
description: full path of script
required: true
style: simple
explode: false
schema:
type: string
Responses:
'200': Beschreibung: Erfolg
type: object
properties:
type: string
Beschreibung: Anforderungsdatum
Fehlermeldung:
type: string
Beschreibung: Fehlermeldung vom Dienst
ErrorState:
Typ: Boolescher Wert
Beschreibung: Fehlerstatus
KickResult:
type: string
Beschreibung: Ergebnis des Dienstes
Master-ID:
type: integer
Beschreibung: Master ID des Skripts
CurrLockedBy:
type: integer
Beschreibung: ID des getretenen Benutzers
'400': Beschreibung: Ungültige Parameter, Skript bereits freigeschaltet, Sie können sich nicht aus dem Skript entfernen
'404': Beschreibung: ScriptNotFound
'500': Beschreibung: Interner Fehler
'501': Beschreibung: Service Internal Error

Zusammenfassung: Gibt einen Verlauf eines Skripts zurück.
Beschreibung: Diese Methode gibt den Verlauf eines Skripts nach Namen zurück.
Parameter:
- Name: scriptPath
in: path
description: full path of script
required: true
style: simple
explode: false
schema:
type: string
Responses:
'200':
description: SUCCESS
content:
application/json:
schema:
HistoryScripts:
type: object
properties:
name:
type: string
Beschreibung: vollständiger Pfad eines Skripts, das mit dem Namen verknüpft ist
versions:
type: array
Items:
HistoryScripts_versions:
type: object
properties:
scriptId:
type: integer
description: Master ID of script
modifyDate:
type: string
description: Modify date
modifyUser:
type: string
description: Modify user
Status:
type: string
Beschreibung: Status eines Skripts
'400': Beschreibung: Ungültige Parameter
'404': Beschreibung: Nicht gefunden
'500': Beschreibung: Interner Fehler
'501': Beschreibung: Interner Fehler des Incontrol.Net-Dienstes

get:
Tags:
Zusammenfassung: Sucht ein Skript
Beschreibung: Diese Methode sucht anhand von Schlüsselwörtern nach einem Skript in der Business Unit.
Parameter:
name: mediaType
in: query
Beschreibung: Medientyp des Skripts.
required: false
explode: false
schema:
type: integer
name: scriptName
in: path
description: keyword for search
required: true
style: simple
explode: false
schema:
type: string
name: includeInactive
in: query
Beschreibung: Diese Variable wird verwendet, um die Suche in die inaktiven Skripte aufzunehmen.
required: false
explode: false
schema:
Typ: Boolescher Wert
name: includeTrusted
in: query
Beschreibung: Diese Variable wird verwendet, um die Suche zwischen vertrauenswürdigen Business Units einzuschließen
required: false
explode: false
schema:
type: string
name: modEndDate
in: query
Beschreibung: Diese Variable wird verwendet, um die Suche in einem festgelegtem Datumsbereich aufzunehmen
required: false
explode: false
schema:
type: string
Responses:
'200':
description: SUCCESS
content:
application/json:
schema:
$ref: '#/components/schemasSearchScript'
'400':
Beschreibung: Ungültige Parameter
'401':
Beschreibung: Nicht autorisiert. Sie haben nicht genügend Berechtigungen
'404':
Beschreibung: Skriptpfad nicht gefunden
'500':
Beschreibung: Interner Fehler
'501':
Beschreibung: Interner Fehler des Incontrol.Net-Dienstes
Komponenten:
schemas:
GetScript:
type: object
properties:
name:
type: string
Beschreibung: 'Name eines Skripts'
Dateipfad:
type: string
Beschreibung: 'Vollständiger Skriptpfad'
scriptId:
type: integer
Beschreibung: 'Dies ist die Skriptkennung, sie ist eindeutig'
Körper:
type: string
Beschreibung: 'Skriptinhalt im Base63-Format codiert'
DeleteScript:
type: object
properties:
scriptPath:
type: string
Beschreibung: 'Informationen zum vollständigen Pfad-Skriptnamen, der entfernt wurde'
deleted:
Typ: Boolescher Wert
Beschreibung: 'Status eines Skripts'
error:
type: string
Beschreibung: 'Wenn beim Löschvorgang ein Fehler auftritt'
SearchScript:
type: object
properties:
type: integer
Beschreibung: 'Der Name der Business Unit'
scriptName:
type: string
Beschreibung: 'Vollständiger Skriptpfad'
scriptSearchDetails:
type: array
Beschreibung: 'Detail des Suchergebnisses'
items:
$ref: '#/components/schemas/SearchScript_Details'
SearchScript_Details:
type: object
properties:
busNo:
type: integer
Beschreibung: 'Nummer der Business Unit'
masterID:
type: string
Beschreibung: 'Skriptkennung'
scriptName:
type: string
Beschreibung: 'Name eines Skripts'
status:
type: string
Beschreibung: 'Status eines Skripts aktiv/inaktiv'
mediaType:
type: integer
Beschreibung: 'Medientypnummer'
modifyDate:
type: string
Beschreibung: 'Das Datum der letzten Änderung
mUser:
type: integer
Beschreibung: 'Der letzte Benutzer, der das Skript geändert hat'
actionID:
type: integer
Beschreibung: 'Skriptkennung'
Tipps und Tricks zum Schreiben von Skripten
- Das Umbenennen der Beschriftung in einer Aktion kann das Lesen und Befolgen Ihres Skripts erheblich vereinfachen. Bearbeiten Sie die Beschriftung einer Aktion in der Eigenschaften Dialog.
- Beim Benutzen Speisekarte (oder eine ähnliche Aktion), erstellen Sie einen Zweig, um die Menüoptionen mit zu wiederholen Schleife und Keine Antwort Aktionen, die sich wieder mit dem verbinden Speisekarte Aktion.
-
Füge hinzu ein Warten Aktion nach a Musik Aktion zum Wiedergeben der Musik (andernfalls wird das Audio 30 Sekunden lang abgespielt und endet dann).
- Stellen Sie sicher, dass Sie keine Sackgasse haben. Sackgassen können Probleme wie fehlende Zweige in einem Menü, nicht konfigurierte Menüzweige oder (wie im vorhergehenden Punkt) Nr Warten Aktion nach a Musik Aktion.
- Wenn Sie ein Menü erstellen, ist es am besten, zuerst die Abteilung und dann die zu wählende / zu sprechende Nummer zu benennen. Bei Kontakten wird zuerst der Name der Abteilung und dann erst die Nummer genannt.
- Verwenden Sie die Anmerkung Aktion zum Hinzufügen von Notizen oder Anweisungen in einem Skript.
- Verwenden Sie den Namen des Skripts für die Start Aktionsbeschriftung.
- Zum abspielen und Speisekarte Aktionen, doppelklicken Sie auf die Aktion und kommentieren Sie die Aussprache der Eingabeaufforderung in der Phrase Feld.
- Zeigen Sie den Verlauf eines Skripts an, indem Sie mit der rechten Maustaste auf das Skript auf der Registerkarte Durchsuchen klicken (Anzeigen > Browser) und mit dem Mauszeiger über die Option Verlauf fahren. Auf diese Weise können Sie frühere Iterationen eines Skripts anzeigen.