Scripts avec des Fichiers et des Dossiers

Vous pouvez utiliser des fichiers dans les scripts Studio. Les Fichiers doivent exister sur votre système NiCE CXone. Vous pouvez consulter les fichiers dans NiCE CXone sur la page Parcourir les Fichiers ACD. Vous pouvez téléverser et télécharger des fichiers à partir de cette page. Vous pouvez également téléverser et télécharger des fichiers à l’aide de Desktop Studio.

Il existe des actions qui vous permettent d’explorer les fichiers de votre NiCE CXonesystème :

  • Writefile : Enregistre les données dans un fichier dans NiCE CXone.
  • Readfile : Lit les données d’un fichier.
  • Filesize : Détermine la taille d’un fichier en octets.
  • Fileinfo : Récupère des informations sur un fichier, telles que son emplacement et si celui-ci a été modifié.
  • Fileexist : Détermine si un fichier spécifique existe.
  • Delete : Supprime les fichiers de NiCE CXone.

Certaines actions vous permettent d’envoyer des fichiers par courriel ou par FTP/SFTP :

  • EMAIL : Envoie un courriel avec un fichier joint.
  • EMAIL (Digital scripts) : Envoie un courriel avec un fichier joint.
  • Attach : Joint des fichiers aux courriels générés.
  • Sendfile : Envoie des fichiers via FTP ou SFTP.

Certaines actions vous permettent d’utiliser des fichiers audio ou des invites préenregistrés dans vos interactions :

  • MENU : Fait jouer une invite ou un fichier audio préenregistré pour le contact et crée un menu d'options parmi lesquelles il peut choisir from.
  • Play : Fait jouer des fichiers audio WAV personnalisés ou des invites de synthèse vocale (TTSClosed Permet aux utilisateurs d’entrer des invites enregistrées sous forme de texte et d’utiliser une voix générée par ordinateur pour prononcer le contenu.). Si vous utilisez un fichier, celui-ci est joué en entier. Seul le contact peut entendre l'audio.
  • Playlog : Fait jouer des fichiers audio WAV personnalisés que seul le contact peut entendre. Il vous permet de sélectionner un point de départ et un point d'arrêt précis. Ne peut pas faire jouer les fichiers musicaux intégrés à d'autres actions, comme Music.
  • Reqagent: Fait jouer des fichiers audio WAV personnalisés ou une invite de synthèse vocale que seul l'agent entend. L'invite est jouée avant que l'agent et le contact soient reliés, de sorte que l'invite ne fait pas entendre le silence au contact.
  • Whisper : Fait jouer des fichiers WAV personnalisés ou des invites de synthèse vocale. Vous pouvez le configurer pour qu'il soit audible par le contact Uniquement, l'agent Uniquement ou les deux. L'invite est jouée après que l'agent et le contact sont reliés, de sorte que si l'action est jouée uniquement pour l'agent ou pour le contact, l'autre partie entend le silence pendant la durée de l'invite.

Une dernière action est l’CONCATWAV action, qui vous permet de concaténer deux fichiers WAV.

Une charge excessive est placée sur votre système lorsque ces conditions sont remplies :

  • Votre unité commerciale a plus de ~15 appels simultanés.
  • Les scripts en cours d'exécution contiennent des actions liées aux fichiers, telles que Writefile, Readfile et Fileexist.

Cela entraîne une limitation. Votre unité commerciale connaîtra une latence dans l'exécution des scripts et d'autres fonctions, y compris la gestion des contacts et les changements d'état, jusqu'à ce que le backlog des processus soit terminé.

Chemins d’accès aux fichiers

Lorsque vous devez faire référence à des chemins d’accès aux fichiers dans vos scripts, consultez la page d’aide de l’action que vous utilisez. Certaines actions utilisent des chemins d’accès absolus. D’Autres nécessitent un chemin d’accès relatif. Si la page d’aide ne précise pas le type et qu’un type de chemin d’accès ne fonctionne pas dans votre script, essayez l’autre type. La différence entre les chemins d’accès absolu et relatif est la suivante :

  • Chemin d’accès absolu : commence toujours au dossier racine. Peu importe où se trouve le fichier de script par rapport au fichier ou au script auquel vous faites référence. Utilisez un tilde et une barre oblique inverse (~\) pour indiquer le dossier racine. Par exemple, ~\Folder\file.wav.
  • Chemin d’accès relatif : décrit l’emplacement du fichier auquel vous faites référence par rapport au fichier de script, en commençant à l’emplacement du fichier de script. Si le fichier se trouve dans un sous-dossier du même Dossier que le script, considérez l’emplacement du script comme la racine et incluez les noms de sous-Dossiers dans votre chemin d’accès. Par exemple, si le script se trouve dans \Folder, et que file.wav se trouve dans \Folder\Subfolder1, vous écririez le chemin d’accès comme suit : \Subfolder1\file.wav. Si le fichier se trouve à l’extérieur du dossier du script, ou si un chemin d’accès relatif ne fonctionne pas, utilisez plutôt un chemin d’accès absolu.

C’est une bonne pratique dans Studio d’utiliser des chemins d’accès absolus lorsque cela est possible, même lorsque les chemins d’accès relatifs sont également pris en charge. Cela est particulièrement important lorsque vous faites référence à un fichier situé dans un autre dossier. Cette bonne pratique s’applique chaque fois que vous faites référence à des fichiers dans des scripts, et pas seulement lorsque vous travaillez avec des étapes de flux de travail de développement.

Gestion des Chemins d’accès aux fichiers dans les scripts

Les scripts dans Studio existent rarement de manière isolée. Ils sont généralement organisés dans plusieurs dossiers pour prendre en charge la réutilisation et la personnalisation. Les autres fichiers utilisés avec les scripts, comme les invites audio ou les fichiers de grammaire ASRClosed Reconnaissance automatique de la Parole. Permet aux contacts de répondre aux invites en parlant, en appuyant sur des touches du téléphone, ou les deux., se trouvent dans des dossiers distincts. Si votre entreprise utilise les étapes de flux de travail de développement Studio, vous disposez également de dossiers liés aux étapes qui permettent une promotion contrôlée. Les scripts font fréquemment référence à d’autres scripts situés dans des dossiers différents; la Gestion des chemins d’accès est nécessaire pour le succès du script.

Vous pouvez utiliser la substitution de variables dans les chemins d’accès aux fichiers pour créer une méthode cohérente et fiable de gestion des chemins d’accès dans vos scripts. Cela permet de garantir que les références à d’autres scripts, invites audio, grammaires ASR et autres fichiers sont plus exactes dans l’ensemble de votre écosystème de scripts.

La gestion des chemins d’accès permet aux scripts de trouver et d’exécuter d’autres scripts ou d’utiliser d’autres fichiers au-delà des limites des dossiers. En utilisant la substitution de variables pour les chemins d’accès aux fichiers, vous disposez de chemins d’accès définis à un petit nombre d’endroits. Si des dossiers ou des fichiers changent, vous n’avez qu’à mettre à jour le chemin d’accès à un seul endroit, au lieu de devoir trouver chaque référence au fichier.

Substitution de variables pour les Chemins d’accès aux fichiers

L’utilisation de la substitution de variables pour les chemins d’accès aux fichiers vous permet de définir :

  • Le chemin d’accès absolu aux dossiers qui contiennent des scripts ou des fichiers auxquels vous faites référence dans des scripts. Lorsque vous faites référence à des scripts ou à des fichiers situés dans d’autres dossiers, vous devez utiliser un chemin d’accès absolu.

  • Les chemins d’accès qui se mettent à jour automatiquement lorsqu’un script est promu. Cette option s’applique uniquement si votre entreprise utilise les étapes de flux de travail de développement Studio.

  • Les chemins d’accès aux dossiers et aux fichiers à un seul emplacement, ou à un petit nombre d’emplacements. Cela facilite la mise à jour du chemin d’accès, car vous savez où les variables ont été créées.

Vous pouvez créer des variables pour contenir le chemin d’accès de chaque type de fichier auquel vous faites référence, comme les invites, les grammaires, les messageries vocales, d’autres scripts, etc. Si un script enregistre des fichiers dans un dossier ou en lit à partir d’un dossier, vous pouvez également utiliser des variables pour ces chemins d’accès.

Lorsque vous devez faire référence à un fichier, utilisez la variable à la place du chemin d’accès. Par exemple, créez une variable pour le chemin d’accès à vos fichiers d’invites et utilisez-la dans les propriétés de l’actionClosed Exécute un processus dans un script Studio, comme la collecte de données clients ou la lecture de musique. lorsque vous précisez une invite. Cela pourrait ressembler à l’exemple suivant : {promptPath}Saluer.wav.

Pour automatiser la mise à jour des variables de chemin, vous pouvez utiliser un SNIPPET action et écrire du code pour déterminer dans quel dossier de phase de développement se trouve le script, puis mettre à jour le chemin en conséquence. Le reste de cette page d'aide décrit un exemple d'Extrait de code que vous pouvez utiliser comme modèle dans vos scripts.

Si votre organisation compte de Multiple développeurs de script, collaborez pour élaborer une stratégie d'utilisation de la substitution de variables pour les chemins d'accès. Cela permettra de gagner du temps et de garantir que tout le monde sait quelles variables utiliser.

Exemple de substitution de variables de Chemin d'accès

L'exemple de substitution de variables pour les chemins d'accès est configuré comme un script d'entrée. Un script d'entrée est le script par défaut configuré dans un point de contactClosed point d’entrée qu’un contact entrant utilise pour amorcer une interaction, comme un numéro de téléphone ou une adresse courriel. (POC). Dans l'exemple, le script d'entrée s'exécute vers un autre script qui effectue le routage du canal. Vous pourriez également utiliser un script d'entrée comme script par défaut pour plus qu'un POC et le faire s'exécuter vers le script de routage approprié selon des critères tels que ACD la compétenceClosed Utilisé pour automatiser la livraison des interactions en fonction des compétences, des aptitudes et des connaissances de l’agent. ou le DNISClosed Le numéro composé lors des appels vocaux entrants ou sortants.. L'avantage d'utiliser un seul script d'entrée pour plusieurs POC est de réduire les risques d'erreurs en ne définissant vos substitutions de variables de chemin d'accès qu'à un seul endroit.

Le script d'entrée de l'exemple contient une action BEGIN reliée à une SNIPPET et à une action RUNSCRIPT, comme illustré dans l'image suivante.

L'action SNIPPET contient du code qui détermine le nom et le chemin du script en cours d'exécution. Cette information est utilisée pour construire un chemin absolu vers les dossiers qui contiennent les scripts, les invites, etc. Vous pouvez écrire votre propre code ou utiliser cet exemple :

SELECT

 {

  CASE runScript.length > 0 //Voice, Legacy Chat, Work Item

  {

   ASSIGN normalizedScriptName = "{runScript}"

  }

  CASE __runScript.length > 0 //Legacy Email

  {

   ASSIGN normalizedScriptName = "{__runScript}"  

  }

  CASE __targetScript.length > 0 //Simulate Inbound

  {

   ASSIGN normalizedScriptName = "{__targetScript}"

  }

  CASE __scriptName.length > 0 //Digital

  {

   ASSIGN normalizedScriptName = "{__scriptName}"

  }

  CASE customScript.length > 0 //Custom Outbound script

  {

   ASSIGN normalizedScriptName = "{customScript}"  

  }

  CASE __reskillscript.length > 0 //Custom Script assigned to skill on reskill

  {

   ASSIGN normalizedScriptName = "{__reskillscript}"  

  }

  CASE global:callSuppScript.length > 0 //Suppression script

  {

   ASSIGN normalizedScriptName = "{global:callSuppScript}"

  }

}

IF normalizedScriptName.length > 0

{

 ASSIGN folderArray = "{normalizedScriptName.split('\')}"

 ASSIGN env = "{folderArray[1]}"

 FOR i = 1 TO folderArray.size - 1

 {

  ASSIGN folderPath = "{folderPath}\{folderArray[i]}"

  }

}

IF env.length = 0

 {

  ASSIGN env = "DEV"

 }

ASSIGN scriptPath = "~{folderPath}\"

ASSIGN promptPath = "~{folderPath}\Prompts\"

ASSIGN grammarPath = "~{folderPath}\Grammars\"

Ce code d'exemple utilise une instruction SELECT avec plusieurs CASEs. Chaque CASE représente l'une des variables système pouvant contenir le nom et le chemin du script actuel. La variable utilisée dans un script donné dépend du type de script. L'extrait de code :

  1. Trouve la variable système qui contient le chemin et le nom du script actuel. Pour ce faire, il :

    1. Évalue chaque CASE pour vérifier si la valeur de la variable spécifiée a une longueur supérieure à 0.
    2. Si c'est le cas, l'extrait de code sélectionne ce CASE et attribue la valeur de la variable à la variable normalizedScriptName.
  2. Détermine le nom du dossier de phase de développement du flux de travail dans lequel se trouve le script. Pour ce faire, il :

    1. Utilise la fonction split() pour convertir la valeur de normalizedScriptName en tableau à l'aide du caractère barre oblique inversée (\) comme délimiteur, et attribue la valeur convertie à folderArray. Cela remplace toutes les barres obliques inversées du chemin du script par un caractère barre verticale (|), ce qui convertit le chemin et le nom du script en tableau. Par exemple, si la valeur de normalizedScriptName est Prod\ScriptFolder3\ScriptExample1, la valeur de folderArray devient Prod|ScriptFolder3|ScriptExample1.

    2. Crée une variable appelée env pour contenir le nom du dossier de phase de développement du flux de travail actuel. L'extrait de code remplit env avec le contenu du premier élément du tableau. En suivant l'exemple de l'étape précédente, env aurait la valeur Prod.

  3. Construit le chemin vers le dossier du script actuel et le stocke dans une variable. La valeur du chemin n'inclut pas le nom du script. Pour ce faire, l'extrait de code :

    1. Utilise une boucle FOR pour ajouter la valeur de chaque élément de folderArray à une nouvelle variable, folderPath, séparée par une barre oblique inversée (\).

  4. Contient une instruction IF qui vérifie que la variable env est remplie avec une valeur (IF env.length = 0). Si ce n'est pas le cas, elle lui applique dev par défaut. Cette instruction IF sert de sauvegarde en cas de problème pendant l'instruction IF précédente et si env n'est pas rempli.

    Il est important que cette variable ait une valeur appropriée, car elle est couramment utilisée dans les scripts Studio pour déterminer l'environnement utilisé dans diverses situations où le script interagit avec un système pouvant avoir une version bac à sable ou de développement et une version de production. Par exemple, cela est courant avec les intégrations avec les CRMClosed systèmes tiers qui gèrent des éléments tels que les contacts, les informations de vente, les détails de soutien et les historiques de cas.. Vous pouvez modifier la valeur pour qu'elle corresponde au nom du dossier de la phase de développement de votre organisation.

  5. Définit et remplit des variables pour contenir le chemin absolu vers l'emplacement des dossiers suivants selon le folderPath :

    • Les dossiers qui contiennent les scripts que l'action RUNSCRIPT lance, valeur :

      ASSIGN scriptPath = "~{folderPath}\"

    • Le dossier qui contient les invites que le script ou les scripts suivants utilisent :

      ASSIGN promptPath = "~{folderPath}\Prompts\"

    • Le dossier qui contient les fichiers grammaire que le script ou les scripts suivants utilisent :
      ASSIGN grammarPath = "~{folderPath}\Grammars\"

    Vous pouvez créer des variables supplémentaires pour contenir les chemins d'accès aux emplacements d'autres fichiers utilisés par votre organisation, comme la messagerie vocale.

L'extrait précédent crée un chemin absolu. Vous pouvez utiliser cette variable dans tout script suivant qui nécessite un chemin d'accès à un dossier dans un extrait ou une configuration de propriété d'action. Si l'action que vous utilisez prend en charge les chemins relatifs, vous pouvez choisir de ne pas utiliser la variable folderPath. Cependant, la meilleure pratique dans Studio consiste à utiliser des chemins absolus dans la mesure du possible, même lorsque les chemins relatifs sont également pris en charge.

Personnaliser l'Extrait de script d'entrée

Pour permettre à l'extrait de code de script d'entrée d'exemple de fonctionner avec vos scripts, vous devez personnaliser certaines des variables :

Vous pouvez modifier ces noms de variables si vous le souhaitez. Cependant, si vous modifiez les noms de variables déjà utilisées dans d'autres scripts, vous devez modifier chaque occurrence de l'ancien nom dans vos scripts. Ne modifiez pas le nom de env.

Voici d'autres personnalisations que vous pouvez apporter :

  • Si vous avez d'autres dossiers auxquels vous faites référence dans vos scripts, ajoutez des variables et configurez leurs valeurs de manière appropriée, en suivant l'exemple des variables existantes.

  • Dans l'énoncé IF suivant, modifiez la valeur par défaut attribuée à env pour qu'elle corresponde au dossier de premier niveau de votre phase de développement :

    
    
    IF env.length = 0
    
     {
    
      ASSIGN env = "DEV"
    
     }

Configurer un script d'entrée pour lancer plusieurs Scripts

Vous pouvez configurer un script d'entrée pour choisir le script que l'Action RUNSCRIPT lance. Cela est utile si vous souhaitez utiliser le même script d'entrée pour plusieurs Scripts principaux.

Pour configurer ceci, ajoutez une logique de script dans l'{Extrait} SNIPPET du script d'entrée qui définit comment le script approprié est sélectionné. L'exemple suivant utilise une instruction {Basculer} SWITCH avec le DNISClosed Le numéro composé lors des appels vocaux entrants ou sortants. comme critères de décision. Vous pouvez utiliser toute logique de script et tout critères pris en charge selon les besoins de votre organisation. Pour personnaliser ce code, assurez-vous que la valeur de chaque variable nextScript définit le script approprié pour ses critères. Incluez des commentaires avec des doubles barres obliques (//) pour fournir des explications sur chaque script.

SWITCH DNIS // choose the next script based on a DNIS

{

CASE 8885551234  {

	ASSIGN nextScript = "{scriptPath}MainGreeting1"

  }

CASE 8005552345

  {

    ASSIGN nextScript = "{scriptPath}MainGreeting2" 

  }

CASE 6145554567  {

    ASSIGN nextScript = "{scriptPath}MainGreeting3" 

  }

DEFAULT

  {

    ASSIGN nextScript = "{scriptPath}MainGreeting4" 

  }

Utiliser des variables de Chemin d'accès dans les Scripts

Après avoir configuré votre script d'entrée, vous devez utiliser les variables qui y sont définies dans vos autres Scripts.

Ne modifiez pas les Scripts en production. Travaillez toujours avec la version de développement d'un script lorsque cela est possible. Testez toutes les modifications avant de promouvoir le script en production. Apporter des modifications directement aux Scripts en production peut entraîner un non-acheminement des contacts pour le point de contactClosed point d’entrée qu’un contact entrant utilise pour amorcer une interaction, comme un numéro de téléphone ou une adresse courriel. concerné.

  1. Dans Studio, parcourez vos Scripts et recherchez les instances où des chemins d'accès de fichiers sont utilisés. Les Chemins peuvent apparaître dans les Configurations de propriété, les légendes, les valeurs de Variable et le code d'extrait. En particulier, examinez les Actions telles que RUBSUB, RUNSCRIPT, SPAWN, MUSIC, PLAY, WHISPER, ainsi que toutes les ASR ou les Actions liées aux fichiers. Vous pouvez rechercher des Scripts qui contiennent certaines Actions ou qui ont des noms de dossier dans leurs légendes.

  2. Remplacez la partie appropriée du chemin d'accès du fichier par la variable correspondante telle que définie dans votre script d'entrée. Par exemple, si une Action MENU a une propriété {Séquence} configurée pour lire 01MainGreetingMenu.wav, vous la modifieriez pour "{promptPath}01MainGreetingMenu.wav". L'image suivante montre plusieurs exemples de ceci dans un script.