Script avec Fichiers et Dossiers

Vous pouvez travailler avec des fichiers dans des scripts Studio. Les Fichiers doivent exister sur votre système NiCE CXone. Vous pouvez afficher les fichiers dans NiCE CXone sur le page Parcourir les Fichiers ACD. Vous pouvez charger et télécharger des fichiers de cette page. Vous pouvez également charger 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.
  • effacer : Supprime les fichiers de NiCE CXone.

Certaines actions vous permettent d'envoyer des fichiers par e-mail ou par FTP/SFTP :

  • EMAIL : Envoie un e-mail avec un fichier joint.
  • EMAIL (Digital Scripts) : Envoie un e-mail avec une pièce jointe.
  • Joindre : attache des fichiers aux e-mails générés.
  • Sendfile : Envoie des fichiers via FTP ou SFTP.

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

  • MENU : Diffuse un Prompt ou un fichier audio pré-enregistré pour le contact et crée un Menu d'Options pour que celui-ci puisse choisir parmi celles-ci.
  • Play : Lit des fichiers audio WAV personnalisés ou des invites de 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. (synthèse vocale). Si vous utilisez un fichier, le fichier entier est lu. Seul le contact peut entendre l'audio.
  • Playlog : lit des fichiers audio WAV personnalisés que seul le contact peut entendre. Vous pouvez sélectionner des points de début et de fin précis. Il est impossible de lire les fichiers musicaux qui sont intégrés à d'autres actions, comme Music.
  • Reqagent : Lit des fichiers audio WAV personnalisés ou une invite de synthèse vocale que seul l'agent entend. Pour éviter que le contact entende un temps de silence, l’invite est lue avant que l’agent et le contact soient mis en relation.
  • Murmurer : lit des fichiers WAV personnalisés ou des invites de synthèse vocale. Vous pouvez déterminer que ces fichiers soit audibles par le contact uniquement, l'agent uniquement ou les deux. L’invite est lue après la mise en relation de l’agent et du contact ; par conséquent, si l’action lit l’invite uniquement à l’agent ou au contact, l’autre partie entend un silence pendant ce temps.

Une dernière action est la 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 que ~15 appels simultanés.
  • Les scripts en cours d'exécution contiennent des actions liées aux fichiers, telles que Fichier d'écriture,Lire le fichier et Fichierexiste.

Cela entraîne une limitation (throttling). Votre unité commerciale subira une latence au niveau de l'exécution des script et d'autres fonctions, notamment 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 de fichiers dans vos scripts, consultez la page d'aide de l'action que vous utilisez. Certaines actions utilisent des chemins absolus.D'Autres nécessitent un chemin relatif. Si la page d'aide ne précise pas de type de chemin et qu'un type de chemin ne fonctionne pas dans votre script, réessayez avec l'autre type. La différence entre les chemins d'accès absolus et relatifs est la suivante :

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

C'est une bonne pratique dans Studio d'utiliser des chemins absolus dans la mesure du possible, même lorsque des chemins relatifs sont également pris en charge. Ceci 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 workflow de développement.

Gestion du chemin d’accès dans les Scripts

Les Scripts dans Studio existent rarement de manière isolée. Ils sont généralement organisés dans multiple dossiers pour favoriser la réutilisation et la personnalisation. Les autres fichiers utilisés avec les scripts, tels que 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 du 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 est nécessaire au succès du scripting.

Vous pouvez utiliser la substitution de variable dans les chemins de fichiers pour créer une méthode cohérente et fiable de gestion des chemins 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 tout votre écosystème de scripts.

La gestion des chemins 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 variable pour les chemins de fichiers, vous disposez de chemins définis dans un petit nombre d'endroits. Si des dossiers ou des fichiers changent, vous n'avez besoin de mettre à jour le chemin qu'à un seul endroit, au lieu de devoir rechercher chaque référence au fichier.

Variable Substitution pour les Chemins de fichier

Le fait d'utiliser la substitution de variable pour les chemins de fichiers vous permet de définir :

  • Chemin absolu vers les dossiers contenant des Scripts ou des fichiers que vous référencez dans des Scripts. Lorsque vous référencez des Scripts ou des fichiers situés dans d'autres dossiers, vous devez utiliser un chemin absolu.

  • Chemins qui se mettent à jour automatiquement lorsqu'un script est promu. Cette option s'applique uniquement si votre entreprise utilise Studio étapes de workflow de développement.

  • Chemins vers les dossiers et les fichiers dans un seul emplacement, ou dans un petit nombre d'emplacements. Cela facilite la mise à jour du chemin, car vous savez où les variables ont été créées.

Vous pouvez créer des variables pour contenir le chemin de chaque type de fichier que vous référencez, comme les invites, la grammaire, les messages vocaux, les 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.

Lorsque vous devez faire référence à un fichier, utilisez la variable à la place du chemin. Par exemple, créez une variable pour le chemin d’accès à vos fichiers de prompt 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 spécifiez un prompt. Cela pourrait ressembler à l’exemple suivant : {promptPath}Message d’accueil.wav.

Pour automatiser la mise à jour des variables de chemin, vous pouvez utiliser une 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 rest de cette page d'aide décrit un exemple d'Extrait que vous pouvez utiliser comme modèle dans votre script.

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

Exemple de substitution variable du chemin d’accès

L'exemple de substitution de variable pour les chemins d'accès de fichiers est configuré en tant que 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. (Pda). Dans l'exemple, le script d'entrée s'exécute vers un autre script qui effectue le routage pour le canal. Vous pourriez aussi utiliser un script d'entrée comme script par défaut pour plus qu'un Pda et le faire s'exécuter vers le script de routage approprié en fonction de critères tels que ACD compétenceClosed Utilisé pour automatiser la livraison des interactions en fonction des compétences, des aptitudes et des connaissances de l’agent. ou DNISClosed Le numéro composé lors des appels vocaux entrants ou sortants.. L'avantage d'utiliser un script d'entrée pour multiple Pda est de réduire les risques d'erreurs en ayant vos substitutions de variable de chemin d'accès définies à un seul endroit.

Le script d'entrée d'exemple contient une action BEGIN connectée à un 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. Ces informations sont utilisées pour créer un chemin absolu vers les dossiers contenant 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\"

Cet exemple de code 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 particulier dépend du type de script. L'extrait :

  1. Recherche la Variable système qui contient le chemin et le nom du script actuel. Pour ce faire, elle :

    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 sélectionne ce CASE et attribue la valeur de la variable à la variable normalizedScriptName.
  2. Détermine le nom du dossier de l'étape du workflow de développement dans lequel se trouve le script. Pour ce faire, il :

    1. Utilise la fonction split() pour convertir la valeur de normalizedScriptName en un tableau à l'aide du caractère barre oblique inverse (\) comme délimiteur et assigne la valeur convertie à folderArray. Cette opération remplace toutes les barres obliques inverses du chemin du script par un caractère barre verticale (|), ce qui convertit le chemin et le nom du script en un 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 conserver le nom du dossier de l'étape du workflow de développement actuel. L'extrait renseigne env avec le contenu du premier élément du tableau. Conformément à l'exemple de l'étape précédente, env aurait une valeur de Prod.

  3. Génère le chemin d'accès au 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 :

    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 inverse (\).

  4. Contient une instruction IF qui vérifie que la variable env est renseignée avec une valeur (IF env.length = 0). Si ce n'est pas le cas, elle lui applique dev comme valeur par défaut. Cette instruction IF agit comme solution de secours dans le cas où un problème se produit pendant l'instruction IF précédente et que env n'est pas renseignée.

    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 disposer d'une version bac à sable ou de développement et d'une version de production. Par exemple, cela est courant avec les intégrations avec des 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 renseigne 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 de grammaire que le script ou les scripts suivants utilisent :
      ASSIGN grammarPath = "~{folderPath}\Grammars\"

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

L’extrait précédent génère un chemin d’accès absolu. Vous pouvez utiliser cette variable dans tout script ultérieur nécessitant un chemin d’accès au dossier dans un extrait ou dans 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. Toutefois, 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'exemple d'extrait de script d'entrée de fonctionner avec vos scripts, vous devez personnaliser certaines 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.

Vous pouvez également effectuer les personnalisations supplémentaires suivantes :

  • 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'instruction IF suivante, modifiez la valeur par défaut attribuée à env pour qu'elle corresponde au dossier de niveau supérieur 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 cela, ajoutez une logique de script au SNIPPET dans le script d'entrée qui définit comment le script approprié est sélectionné. L'exemple suivant utilise une instruction SWITCH avec DNISClosed Le numéro composé lors des appels vocaux entrants ou sortants. comme critère de décision. Vous pouvez utiliser toute logique de script et tout critère pris en charge pour répondre aux besoins de votre organisation. Pour personnaliser ce code, veillez à ce que la valeur de chaque variable nextScript définisse 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 Chemin dans 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 de production. Travaillez toujours avec la version de développement d'un script, lorsque cela est possible. Test toutes les modifications avant de promouvoir le script en production. Apporter des modifications directement aux scripts de 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 de fichiers sont utilisés. Les Chemins peuvent apparaître dans les configurations de propriétés, les légendes, les valeurs de variables et le code d'extrait. En particulier, examinez les actions telles que RUBSUB, RUNSCRIPT, SPAWN, MUSIC, PLAY, WHISPER, ainsi que toutes les actions ASR ou les actions liées aux fichiers. Vous pouvez rechercher des scripts qui contiennent certaines actions ou dont les légendes comportent des noms de dossiers.

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