Scripts
Dans la Studio application, un script est un réseau des Actions Exécute un processus au sein d'un script Studio, tel que la collecte de données client, l'écoute d'un message ou de musique,ou l'acheminement d'un contact vers un agent. cet itinéraire et gérer le trafic client pour un centre de contact. Par exemple, si un client appelle un centre de contact, le client interagit avec un script de téléphone entrant qui dirige l'appelant vers le service approprié en fonction de la raison de son appel. Chaque action du script a un objectif spécifique. Les exemples incluent: la définition de compétences ou de variables, la lecture de musique d'attente ou la transmission d'informations sur les clients. Ces actions sont liées entre elles via des connecteurs. Les connecteurs déterminent les «chemins» possibles pour que l'appelant puisse naviguer dans le script. Les scripts peuvent aller de simples à extrêmement complexes. Un simple script peut n'avoir que quelques actions pour acheminer un appelant vers un agent. Un script complexe peut avoir plusieurs branches pour différentes langues, de nombreuses actions pour définir et gérer des variables, des références aux scripts suivants, et bien plus encore.
Le flux de travail de base pour développer un script commence par des actions de glisser-déposer des onglets Outils ou FrameworkToile. Ensuite, reliez les actions pour déterminer les voies possibles du flux d'interaction. Après avoir créé le réseau d'actions, vous pouvez configurer chaque action en ajoutant des paramètres supplémentaires, une logique de programmation personnalisée ou en téléchargeant des invites à lire.
La plupart des manipulations de scripts sont effectuées dans Studio. CXone fournit des méthodes de base d'interaction avec les scripts, telles comme création de plannings de script ou retour d'un script à une version précédente.
Éléments de l'interface de script
L'image précédente donne un aperçu de laStudio interface utilisateur. Le grand volet central est la zone de travail principale appelée canevas. Ici, vous placez et interagissez avec des actions pour créer votre script. Studio propose une variété d'onglets, ou de fenêtres, que vous pouvez ouvrir et organiser dans les volets autour du canevas. Ces onglets permettent d'accéder aux composants dont vous avez besoin pour créer et gérer des scripts. Dans cette image, l'onglet Outils apparaît dans le volet de droite, l'onglet Naviguer apparaît sur la gauche et l'onglet Erreurs de script apparaît sous le canevas. Vous pouvez cliquer et faire glisser des actions depuis les onglets Outils et Framework (dans le volet droit de l'image) sur le canevas pour créer un script. Notez que l'onglet Framework doit être spécifiquement activé par un administrateur interne.
Types de scripts
Vous pouvez créer un type de script spécifique en corrélation avec les différents canaux de votre centre de contact, qui sont illustrés ci-dessous:
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Générique | Discussion instantanée | Téléphone | Messagerie vocale | Élément de travail | SMS | Numérique |
Lors de la création d'un nouveau script,Studio vous invite à déterminer le type de script que vous souhaitez créer. Le type de script que vous choisissez doit être en corrélation avec le type de routage que vous souhaitez réaliser. La plupart des actions fonctionnent dans n'importe quel type de script, cependant, certaines ne peuvent être ajoutées qu'à un script spécifique. Par exemple, les ASR Permet aux contacts de répondre aux invites vocales enregistrées en parlant, en appuyant sur les touches de leur téléphone ou en combinant les deux. actions fonctionnent avec des scripts de téléphone. Si vous essayez d'utiliser une action de l'onglet Framework qui n'est pas compatible avec le type de script que vous créez, Studio affiche un message d'erreur. En outre, les actions qui ne sont pas compatibles avec un certain type de script n'apparaîtront pas dans l'onglet Outils de ce script.
En plus de ces principaux types de scripts,Studio propose quelques modèles de scripts en fonction des fonctionnalités et des applications que vous avez activées avec votre système, comme le script de suppression d'appel lié à Personal Connection. Si vous avez accès à ces modèles, ils sont accessibles dans la section Modèles disponibles de la boîte de dialogue Créer un nouveau script.

Dans ce script, le système compte le nombre d'agents disponibles. Si ce nombre est égal à zéro, un message est lu et le système déconnecte l'appel. Si le nombre d'agents disponibles est supérieur à zéro, le menu IVR Menu téléphonique automatisé qui permet aux appelants d'interagir via des commandes vocales, des entrées de touches ou les deux pour obtenir des informations, acheminer un appel vocal entrant, ou les deux. offre à l'appelant la possibilité de se connecter à un agent. Jusqu'à ce qu'un agent entre en ligne, la musique est diffusée pendant 30 secondes d'intervalle. Encore une fois, la plupart de ces actions peuvent être utilisées dans n'importe quel type de script, mais leRaccrocher l'action est spécifique aux scripts du téléphone.

Connecteurs et succursales
Connecteurs
Un connecteur est une connexion individuelle entre 2 actions. Il s'affiche sous forme de flèche et détermine le mouvement possible d'un contact, ainsi que la condition d'un contact suivant ce connecteur. Vous pouvez connecter 2 actions en cliquant sur le coin inférieur droit d'une action et en faisant glisser et déposer le connecteur vers l'action suivante dans le flux. Pour aider à garder votre script propre et organisé, vous pouvez plier les connecteurs en:
- Appuyer et maintenir CTRL et DÉCALAGE sur votre clavier.
- Survolez le connecteur pour qu'il devienne bleu.
- Cliquez avec le bouton droit sur le connecteur pour placer une boîte verte (qui sera un point de pivot).
- Cliquez avec le bouton gauche sur la case verte et manoeuvrez le connecteur comme vous le souhaitez.
Branches
Une branche est un chemin qui divise un script en 2 subdivisions ou plus, qui commence par un seul connecteur. De nombreuses actions contiennent des options de branche par défaut à configurer, telles que Défaut ou OnError, mais vous pouvez également créer des conditions de branche personnalisées (appelées Conditions de branche variables) lorsque la fenêtre PickBranch apparaît après avoir connecté 2 actions. L'image précédente dans la liste déroulante affiche un exemple de base de 3 branches et connecteurs: informations, facturation et support technique. Les premiers connecteurs de chaque branche sont étiquetés et affichent également les 3 options de menu. De nombreux scripts seront beaucoup plus complexes que ceux montrés dans l'exemple avec des branches plus étoffées. Si les branches deviennent trop complexes et étendues pour s'adapter intuitivement à 1 canevas, le scripteur pourrait séparer les branches en sous-scripts individuels, puis référencer les sous-scripts du script principal en utilisant une action Runsub ou un Script de lancement. C'est un excellent moyen de garder vos scripts organisés et ordonnés au lieu d'être volumineux, encombrés et déroutants.
Par exemple, dans les images de script suivantes, vous pouvez voir que le menu Yggdrasil propose 8 options pour les 8 autres mondes nordiques. Chaque monde représente une branche différente du script. Heimdallr est le scénariste de la hotline Asgard. S'il voulait inclure plus d'options pour chaque branche, le script pourrait devenir trop complexe. Au lieu de cela, il pourrait créer un sous-script distinct pour chacun des 8 autres mondes. Après cela, Heimdallr utiliserait une action Runsub ou Script de lancement pour chaque option de menu qui lance le script séparé lorsqu'elle est sélectionnée par le contact.

Complexe:

Condensé:

Erreurs de script
L'onglet Erreurs de script affiche à la fois les avertissements et les erreurs qui peuvent exister dans votre script. Studio remplit cet onglet après avoir cliqué sur le bouton Enregistrer. Vous pouvez double-cliquer sur l'un des avertissements ou des erreurs de cette liste pour être dirigé vers l'action sur le canevas où le problème se produit. Un avertissement n'empêchera pas le script de s'exécuter ou de s'enregistrer, cependant, pour éviter les problèmes potentiels, la meilleure pratique consiste à atténuer les avertissements avant de mettre un script en production.
Pour des raisons de précaution, des erreurs de syntaxe et de validation vous empêchent d'enregistrer le script. Si ces erreurs sont détectées, Studio affichera une fenêtre de notification lorsque vous tenterez d'enregistrer le script. Les erreurs de validation peuvent ne pas apparaître dans l'onglet Erreurs de script, comme un JSON non valide saisi dans l'action Reste Api, mais vous recevrez une notification d'erreur avec les détails techniques de l'erreur. Si vous essayez d'enregistrer avec une erreur de validation, votre script peut revenir à la version "dernière bonne connue" du script, ce qui vous fait perdre les modifications apportées après votre enregistrement précédent.
Voici des exemples de problèmes qui empêchent l'enregistrement d'un script et un exemple de description d'erreur:
- Variables mal orthographiées ("Snippet Line 2. Fonction: NameLabel n'a pas été défini ")
- Utilisation d'une fonction comme paramètre de méthode ("Paramètres de fonction non terminés")
- Utilisation d'un type de données incorrect dans une méthode qui nécessite un type de données spécifique ("Paramètres de fonction non terminés")
Les erreurs affectent également les traces de script. Si vous essayez d'exécuter une trace de script sur un script non enregistré, Studio vous invite à enregistrer le script. Si vous avez des erreurs dans le script, le script ne sera pas enregistré et vous risquez de perdre les modifications causées par des erreurs de validation. La trace s'exécutera, mais elle s'exécutera sur la dernière version enregistrée du script.
API de script
Pour les développeurs de scripts plus avancés, vous pouvez ouvrir et enregistrer des scripts par programmation pour faciliter les processus de développement automatisés. Développez les listes déroulantes suivantes pour afficher les détails de base de chaque API.

Utilisez la version 17 ou antérieure de GET / scripts pour obtenir une liste de scripts pour votre
Résumé: Renvoie le XML d'un script par Name ou masterId.
Description: Cette méthode retourne le XML d'un script par Name ou masterId.
Paramètres:
- nom: scriptPath
dans: chemin
description: chemin complet du script
requis: vrai
style: simple
exploser: faux
schéma:
type: chaîne
- nom: scriptId
dans: chemin
description: identifiant maître d'un script
requis: vrai
style: simple
exploser: faux
schéma:
type: entier
Réponses:
«200»:
description: SUCCÈS
teneur:
application / json:
schéma:
type: objet
Propriétés:
Nom:
type: chaîne
description: nom d'un script
chemin du fichier:
type: chaîne
description: chemin du fichier
ScriptId:
type: entier
description: MasterId
corps:
type: chaîne
description: XML d'un script
'400': description: paramètres non valides
'404': description: introuvable
'500': description: erreur interne
'501': description: Erreur interne du service Incontrol.Net

Résumé: Enregistrez un nouveau script ou un script existant.
Description: Cette méthode enregistrera un script dans la base de données en utilisant une chaîne base64.
Paramètres:
- nom: scriptPath
dans: chemin
description: chemin complet et nom du script
requis: vrai
style: simple
exploser: faux
schéma:
type: chaîne
- nom: corps
dans: chemin
description: 'corps du script, ceci est un XML encodé en base64'
requis: vrai
style: simple
exploser: faux
schéma:
type: chaîne
Réponses:
«200»:
description: Succès
teneur:
application / json:
schéma:
SaveScript:
type: objet
Propriétés:
ScriptId:
type: chaîne
description: Le nouveau ScriptId généré une fois la sauvegarde réussie
'400': description: Paramètres non valides
'405': description: Verrouillé par quelqu'un d'autre
'500': description: Erreur interne
'501': description: Erreur interne du service

Résumé: Enregistrez un nouveau script ou un script existant.
Description: Cette méthode enregistrera un script dans la base de données en utilisant une chaîne base64.
Paramètres:
- nom: scriptPath
dans: chemin
description: chemin complet et nom du script
requis: vrai
style: simple
exploser: faux
schéma:
type: chaîne
- nom: corps
dans: chemin
description: 'corps du script, ceci est un XML encodé en base64'
requis: vrai
style: simple
exploser: faux
schéma:
type: chaîne
Réponses:
«200»:
description: Succès
teneur:
application / json:
schéma:
type: objet
Propriétés:
ScriptId:
type: chaîne
description: Le nouveau ScriptId généré une fois la sauvegarde réussie
'400': description: Paramètres non valides
'405': description: Verrouillé par quelqu'un d'autre
'500': description: Erreur interne
'501': description: Erreur interne du service

Résumé: Lancer un script verrouillé.
Description: Cette méthode forcera le déverrouillage d'un script.
Paramètres:
- nom: scriptPath
dans: chemin
description: chemin complet du script
requis: vrai
style: simple
exploser: faux
schéma:
type: chaîne
Réponses:
'200': description: Succès
type: objet
Propriétés:
type: chaîne
description: Date de la demande
Message d'erreur:
type: chaîne
description: Message d'erreur du service
ErrorState:
type: booléen
description: état d'erreur
KickResult:
type: chaîne
description: Résultat du service
Identifiant maître:
type: entier
description: ID maître du script
CurrLockedBy:
type: entier
description: ID de l'utilisateur expulsé
'400': description: paramètres non valides, script déjà déverrouillé, vous ne pouvez pas vous exclure du script
'404': description: ScriptNotFound
'500': description: Erreur interne
'501': description: Erreur interne du service

Résumé: Renvoie l'historique d'un script.
Description: Cette méthode retournera un historique d'un script par nom.
Paramètres:
- nom: scriptPath
dans: chemin
description: chemin complet du script
requis: vrai
style: simple
exploser: faux
schéma:
type: chaîne
Réponses:
«200»:
description: SUCCÈS
teneur:
application / json:
schéma:
HistoireScripts:
type: objet
Propriétés:
Nom:
type: chaîne
description: chemin complet d'un script joint avec le nom
versions:
type: tableau
Articles:
HistoryScripts_versions:
type: objet
Propriétés:
scriptId:
type: entier
description: ID maître du script
modifyDate:
type: chaîne
description: Modifier la date
modifyUser:
type: chaîne
description: Modifier l'utilisateur
Statut:
type: chaîne
description: Statut d'un script
'400': description: paramètres non valides
'404': description: introuvable
'500': description: erreur interne
'501': description: Erreur interne du service Incontrol.Net

obtenir:
Mots clés:
Résumé: Script de recherche
Description: Cette méthode recherchera un script dans l'unité commerciale en fonction de mots-clés.
Paramètres:
nom: mediaType
dans: requête
description: type de support du script.
obligatoire: faux
exploser: faux
schéma:
type: entier
nom: scriptName
dans: chemin
description: mot-clé de recherche
requis: vrai
style: simple
exploser: faux
schéma:
type: chaîne
nom: includeInactive
dans: requête
description: Cette variable permet d'inclure la recherche parmi les scripts inactifs.
obligatoire: faux
exploser: faux
schéma:
type: booléen
nom: includeTrusted
dans: requête
description: cette variable est utilisée pour inclure la recherche parmi les unités commerciales de confiance
obligatoire: faux
exploser: faux
schéma:
type: chaîne
nom: modEndDate
dans: requête
description: Cette variable est utilisée pour inclure la recherche dans une plage de dates établie
obligatoire: faux
exploser: faux
schéma:
type: chaîne
Réponses:
«200»:
description: SUCCÈS
teneur:
application / json:
schéma:
$ ref: '# / composants / schemasSearchScript'
«400»:
description: paramètres non valides
«401»:
description: Non auto-contrôlé. Vous ne disposez pas des autorisations suffisantes
«404»:
description: chemin du script introuvable
«500»:
description: Erreur interne
«501»:
description: Erreur interne du service Incontrol.Net
Composants:
schémas:
GetScript:
type: objet
Propriétés:
Nom:
type: chaîne
description: 'Nom du script'
chemin du fichier:
type: chaîne
description: 'Chemin d'accès complet au script'
scriptId:
type: entier
description: 'Ceci est l'identifiant du script, il est unique'
corps:
type: chaîne
description: 'Contenu du script encodé au format Base63'
DeleteScript:
type: objet
Propriétés:
scriptPath:
type: chaîne
description: 'Informations sur le nom du script de chemin complet qui a été supprimé'
supprimé:
type: booléen
description: 'Statut du script'
Erreur:
type: chaîne
description: "Si une erreur se produit dans le processus de suppression"
SearchScript:
type: objet
Propriétés:
type: entier
description: 'Information de la business unit'
scriptName:
type: chaîne
description: 'Chemin d'accès complet au script'
scriptSearchDetails:
type: tableau
description: 'Détail du résultat de la recherche'
éléments:
$ ref: '# / composants / schemas / SearchScript_Details'
SearchScript_Details:
type: objet
Propriétés:
busNon:
type: entier
description: 'Numéro de l'unité commerciale'
Identifiant maître:
type: chaîne
description: 'Identificateur de script'
scriptName:
type: chaîne
description: 'Nom du script'
statut:
type: chaîne
description: 'Statut du script actif / inactif'
type de support:
type: entier
description: 'Numéro du type de support'
modifyDate:
type: chaîne
description: 'La date de la dernière modification
mUser:
type: entier
description: 'Le dernier utilisateur qui a modifié le script'
actionID:
type: entier
description: 'Identificateur d'action'
Trucs et astuces de script
- Renommer la légende dans une action peut rendre votre script beaucoup plus facile à lire et à suivre. Modifier la légende d'une action dans lePropriétés dialogue.
- Lors de l'utilisationMenu (ou une action similaire), créez une branche pour répéter les options du menu à l'aide duBoucle etPas de réponse actions qui se connectent à nouveau au Menu action.
-
Ajouter unAttendre action après uneMusique action pour rejouer la musique (sinon l'audio jouera pendant 30 secondes puis se terminera).
- Assurez-vous que vous n'avez pas d'impasse. Les impasses peuvent être des problèmes tels que des branches manquantes dans un menu, des branches de menu qui ne sont pas configurées ou (comme dans l'élément précédent) nonAttendre action après uneMusique action.
- Lors de la création d'un menu, il est préférable de nommer d'abord le service, puis le numéro à composer / parler. Les contacts écoutent généralement le nom du service, puis le numéro.
- Utilisez l'action Annotation pour ajouter des notes ou des instructions dans un script.
- Utilisez le nom du script pour la légende d'action Commencer.
- PourReproduire etMenu actions, double-cliquez sur l'action et annotez le verbiage de l'invite dans le Phrase domaine.
- Affichez l'historique d'un script en cliquant avec le bouton droit de la souris sur le script dans l'onglet Parcourir (Vue>Le navigateur) et survolant leHistoireoption. Cela vous permet de visualiser les itérations précédentes d'un script.