Script com arquivos e pastas

Você pode trabalhar com arquivos nos scripts do Studio. Os arquivos devem existir no seu sistema CXone Mpower. Você pode visualizar os arquivos no CXone Mpower na página Procurar arquivos do ACD. Você pode fazer upload e download de arquivos nesta página. Você também pode carregar e baixar arquivos usando Desktop Studio.

Existem ações que permitem explorar arquivos em seu CXone Mpowersistema:

Há ações que permitem o envio de arquivos por e-mail ou FTP/SFTP:

Há ações que permitem que você use arquivos de áudio pré-gravados ou prompts em suas interações:

  • MENU : reproduz um prompt ou um arquivo de áudio pré-gravado para o contato e cria um menu de opções para ele escolher de.
  • Play : reproduz arquivos WAV de áudio personalizados ou prompts de conversão de texto em fala (TTSFechado Permite que os usuários insiram prompts gravados como texto e usem uma voz gerada por computador para falar o conteúdo.). Se estiver usando um arquivo, todo o arquivo será reproduzido. Somente o contato pode ouvir o áudio.
  • Playlog : reproduz arquivos WAV de áudio personalizados que somente o contato pode ouvir. Ele permite que você selecione um ponto de partida e parada específico. Não é possível reproduzir os arquivos de música integrados a outras ações, como Music.
  • Reqagent: Reproduz arquivos WAV de áudio personalizados ou prompt de conversão de texto em fala que somente o agente ouve. O prompt é reproduzido antes que o agente e o contato sejam vinculados e, portanto, o prompt não faz com que o contato ouça o silêncio.
  • Whisper : reproduz arquivos WAV personalizados ou prompts de conversão de texto em fala. Você pode configurá-lo para ser audível apenas pelo contato, apenas pelo agente ou por ambos. O prompt é reproduzido depois que o agente e o contato são vinculados e, portanto, se a ação for reproduzida apenas para o agente ou contato, a outra parte ouvirá o silêncio durante o prompt.

Uma ação final é a CONCATWAV ação, que permite concatenar dois arquivos WAV.

Caminhos de arquivos

Quando precisar fazer referência a caminhos de arquivos em seus scripts, verifique a página de ajuda da ação que estiver usando. Algumas ações usam caminhos absolutos. Outros exigem um caminho relativo. Se a página de ajuda não especificar e um tipo de caminho não funcionar em seu script, tente o outro tipo. A diferença entre caminhos absolutos e relativos é:

  • Caminho absoluto: Sempre começa na pasta raiz. Não importa onde o arquivo de script está localizado em relação ao arquivo ou script ao qual você está se referindo. Use um til e uma barra invertida (~\) para indicar a pasta raiz. Por exemplo, ~\Pasta\file.wav.
  • Caminho relativo: descreve a localização do arquivo ao qual você está se referindo em relação ao arquivo de script, começando pela localização do arquivo de script. Se o arquivo estiver localizado em uma subpasta na mesma pasta que o script, trate o local do script como a raiz e inclua os nomes das subpastas em seu caminho. Por exemplo, se o script estiver em \Pasta e file.wav estiver em \Pasta\Subfolder1, escreva o caminho assim: \Subfolder1\file.wav. Se o arquivo estiver fora da pasta do script ou se um caminho relativo não funcionar, use um caminho absoluto.

É uma prática recomendada em Studio usar caminhos absolutos sempre que possível, mesmo quando também há suporte para caminhos relativos. Isso é especialmente importante quando se refere a um arquivo localizado em outra pasta. Essa prática recomendada se aplica sempre que você estiver se referindo a arquivos em scripts, não apenas ao trabalhar com estágios de fluxo de trabalho de desenvolvimento.

Gerenciamento de caminho de arquivo em Scripts

Scripts em Studio raramente existem isoladamente. Eles normalmente são organizados em várias pastas para dar suporte à reutilização e personalização. Outros arquivos usados com scripts, como prompts de áudio ou arquivos de gramática ASRFechado Reconhecimento automático de fala. Permite que os contatos respondam aos avisos falando, pressionando as teclas do telefone ou ambos., estão localizados em pastas separadas. Se sua empresa usa os Studio estágios de fluxo de trabalho de desenvolvimento, você também tem pastas relacionadas ao estágio que permitem a promoção controlada. Scripts frequentemente fazem referência a outros scripts localizados em pastas diferentes, o gerenciamento de caminhos é necessário para scripts bem-sucedidos.

Você pode usar substituição de variável em caminhos de arquivo para criar uma maneira consistente e confiável de gerenciar caminhos em seus scripts. Isso ajuda a garantir que as referências a outros scripts, prompts de áudio, gramáticas ASR e outros arquivos sejam mais precisas em todo o ecossistema de scripts.

O gerenciamento de caminhos permite que os scripts encontrem e executem outros scripts ou usem outros arquivos além dos limites da pasta. Usando a substituição de variáveis para caminhos de arquivo, você tem caminhos definidos em um pequeno número de lugares. Se as pastas ou arquivos mudarem, você só precisará atualizar o caminho em um só lugar, em vez de ter que encontrar todas as referências ao arquivo.

Substituição de variável para caminhos de arquivo

O uso da substituição de variáveis para caminhos de arquivo permite definir:

  • O caminho absoluto para pastas que contêm scripts ou arquivos aos quais você faz referência em scripts. Ao se referir a scripts ou arquivos localizados em outras pastas, você deve usar um caminho absoluto.

  • Caminhos que são atualizados automaticamente quando um script é promovido. Essa opção se aplica somente se sua empresa usar Studio estágios de fluxo de trabalho de desenvolvimento.

  • Caminhos para pastas e arquivos em um único local ou em um pequeno número de locais. Isso facilita quando você precisa atualizar o caminho, pois você sabe onde as variáveis foram criadas.

Você pode criar variáveis para manter o caminho para cada tipo de arquivo referenciado, como prompts, gramáticas, correios de voz, outros scripts e assim por diante. Se um script salvar ou ler arquivos de uma pasta, você também poderá usar variáveis para esses caminhos.

Quando você precisar fazer referência a um arquivo, use a variável no lugar do caminho. Por exemplo, crie uma variável para o caminho para seus arquivos de prompt e use-a em propriedades açãoFechado Executa um processo dentro de um script do Studio, como coletar dados do cliente ou reproduzir música. ao especificar um prompt. Pode ser semelhante ao exemplo a seguir: {promptPath}Greeting.wav.

Para automatizar a atualização das variáveis de caminho, você pode usar uma SNIPPET ação e escrever código para determinar em qual pasta de estágio de desenvolvimento o script está e, em seguida, atualizar o caminho de acordo. O restante desta página de ajuda descreve um exemplo de um snippet que você pode usar como modelo em seu script.

Se sua organização tiver vários desenvolvedores de scripts, trabalhem juntos para desenvolver uma estratégia para usar a substituição de variáveis para caminhos de arquivo. Isso economizará tempo e garantirá que todos saibam quais variáveis usar.

Exemplo de substituição de variável de caminho de arquivo

O exemplo de substituição de variável para caminhos de arquivo é configurado como um script de entrada. Um script de entrada é o script padrão configurado em um ponto de contatoFechado O ponto de entrada que um contato de entrada usa para iniciar uma interação, como um número de telefone ou endereço de e-mail. (POC). No exemplo, o script de entrada é executado para outro script que executa o roteamento para o canal. Você também pode usar um script de entrada como o script padrão para mais de um POC e fazer com que ele execute para o script de roteamento apropriado com base em critérios como ACD competênciaFechado Usado para automatizar a entrega de interações com base nas competências, habilidades e conhecimento do agente. ou DNISFechado O número discado em chamadas de voz recebidas ou efetuadas.. O benefício de usar um script de entrada para vários POCs é reduzir as chances de erros ao definir as substituições de variáveis de caminho do arquivo em apenas um lugar.

O script de entrada de exemplo contém uma ação BEGIN conectada a uma ação SNIPPET e uma ação RUNSCRIPT, conforme mostrado na imagem a seguir.

A ação SNIPPET contém código que determina o nome e o caminho para o script que está sendo executado. Essas informações são usadas para criar um caminho absoluto para as pastas que contêm os scripts, prompts e assim por diante. Você pode escrever seu próprio código ou usar este exemplo:

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\"

Este código de exemplo usa uma SELECT instrução com várias CASEs. Cada CASE representa uma das variáveis do sistema que podem conter o nome e o caminho do script atual. A variável usada em um script específico depende do tipo de script. O snippet:

  1. Localiza a variável de sistema que contém o caminho e o nome do script atual. Para fazer isso, ele:

    1. Avalia cada CASE para ver se o valor da variável especificada tem um comprimento maior que 0.
    2. Em caso afirmativo, o snippet seleciona essa CASE e atribui o valor da variável à variável normalizedScriptName.
  2. Determina o nome da pasta do estágio do fluxo de trabalho de desenvolvimento onde o script está localizado. Para fazer isso, ele:

    1. Usa a split() função para converter o valor de normalizedScriptName em uma matriz usando o caractere de barra invertida (\) como delimitador e atribui o valor convertido a folderArray. Isso substitui todas as barras invertidas no caminho do script por um caractere de barra vertical (|), que converte o caminho e o nome do script em uma matriz. Por exemplo, se o valor de normalizedScriptName for Prod\ScriptFolder3\ScriptExample1, o valor de folderArray se tornará Prod|Pasta de Script3|ScriptExample1.

    2. Cria uma variável chamada env para conter o nome da pasta do estágio do fluxo de trabalho de desenvolvimento atual. O snippet preenche env com o conteúdo do primeiro elemento da matriz. Seguindo o exemplo na etapa anterior, env teria um valor de Prod.

  3. Cria o caminho para a pasta do script atual e o armazena em uma variável. O valor do caminho não inclui o nome do script. Para fazer isso, o snippet:

    1. Usa um loop de FOR para adicionar o valor de cada elemento em folderArray a uma nova variável, folderPath, separada por uma barra invertida (\).

  4. Contém uma instrução IF que verifica se a variável env é preenchida com um valor (IF env.length = 0). Se não for, aplica-se dev a ele como padrão. Essa instrução IF atua como um backup caso algo aconteça durante a instrução IF anterior e env não seja preenchida.

    É importante que essa variável tenha um valor apropriado porque ela é comumente usada em scripts Studio para determinar o ambiente que está sendo usado em várias situações em que o script interage com um sistema que pode ter uma sandbox ou versão de desenvolvimento e uma versão de produção. Por exemplo, isso é comum com integrações com CRMsFechado Sistemas de terceiros que gerenciam itens como contatos, informações de vendas, detalhes de suporte e históricos de casos.. Você pode modificar o valor para corresponder ao nome da pasta do estágio de desenvolvimento da sua organização.

  5. Define e preenche variáveis para manter o caminho absoluto para o local das seguintes pastas com base no folderPath:

    • As pastas que contêm os scripts que a ação RUNSCRIPT inicia valorizam:

      ASSIGN scriptPath = "~{folderPath}\"

    • A pasta que contém os prompts que o script ou scripts subsequentes usam:

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

    • A pasta que contém os arquivos de gramática que o script ou scripts subsequentes usam:
      ASSIGN grammarPath = "~{folderPath}\Grammars\"

    Você pode criar variáveis adicionais para manter caminhos para os locais de outros arquivos que sua organização usa, como correio de voz.

O snippet anterior cria um caminho absoluto. Você pode usar essa variável em qualquer script subsequente que exija um caminho de pasta em um snippet ou uma configuração de propriedade de ação. Se a ação que você está usando oferecer suporte a caminhos relativos, você pode optar por não usar a variável folderPath. No entanto, prática recomendada em Studio é usar caminhos absolutos sempre que possível, mesmo quando os caminhos relativos também são suportados.

Personalizar Snippet de Script de Entrada

Para permitir que o snippet de script de entrada de exemplo funcione com seus scripts, você precisa personalizar algumas das variáveis:

  • scriptPath: Modifique o valor para incluir quaisquer nomes de subpastas ainda não incluídos na variável scriptPath, se aplicável.

  • promptPath: No valor atribuído, altere \Prompts\ para o nome da pasta onde seus arquivos de áudio de prompt pré-gravados são salvos. Inclua os nomes das subpastas, se aplicável.

  • grammarPath: Se você usar ASRFechado Reconhecimento automático de fala. Permite que os contatos respondam aos avisos falando, pressionando as teclas do telefone ou ambos., altere \Grammars\ no valor atribuído para o nome da pasta onde seus arquivos de gramática estão salvos, inclua quaisquer nomes de subpastas, se aplicável. Se você não usar ASR, poderá excluir essa variável.

Você pode modificar esses nomes de variáveis, se desejar. No entanto, se você alterar os nomes de variáveis que já foram usadas em outros scripts, deverá alterar todas as instâncias do nome antigo em seus scripts. Não altere o nome do env.

As personalizações adicionais que você pode fazer incluem:

  • Se você tiver outras pastas às quais se refere em seus scripts, adicione variáveis e configure seus valores adequadamente, seguindo o exemplo das variáveis existentes.

  • Na instrução IF a seguir, modifique o valor padrão atribuído a env para corresponder à pasta de nível superior do estágio de desenvolvimento:

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

Configurar um script de entrada para iniciar vários Scripts

Você pode configurar um script de entrada para escolher qual script a ação RUNSCRIPT inicia. Isso é útil se você quiser usar o mesmo script de entrada para vários scripts principais.

Para configurar isso, adicione lógica de script ao SNIPPET no script de entrada que define como o script apropriado é selecionado. O exemplo a seguir usa uma instrução SWITCH com DNISFechado O número discado em chamadas de voz recebidas ou efetuadas. como critério de tomada de decisão. Você pode usar qualquer lógica e critérios de script compatíveis para atender às necessidades da sua organização. Para personalizar esse código, certifique-se de que o valor de cada variável nextScript defina o script apropriado para seus critérios. Inclua comentários com barras duplas (//) para fornecer explicações de cada 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" 
  }

Usar Variáveis de Caminho em Scripts

Depois de configurar seu script de entrada, você precisa usar as variáveis definidas nele em seus outros scripts.

Não modifique scripts de produção. Sempre trabalhe com a versão de desenvolvimento de um script sempre que possível. Teste todas as alterações antes de promover o roteiro de volta à produção. Fazer alterações diretamente nos scripts de produção pode fazer com que os contatos não sejam roteados para o ponto de contatoFechado O ponto de entrada que um contato de entrada usa para iniciar uma interação, como um número de telefone ou endereço de e-mail. afetado.

  1. Em Studio, percorra seus scripts e procure instâncias em que caminhos de arquivo são usados. Os caminhos podem aparecer em configurações de propriedade, legendas, valores de variáveis e código snippet. Em particular, observe ações como RUBSUB, RUNSCRIPT, SPAWN, MUSIC, PLAY, WHISPER e qualquer uma das ações ASR ou relacionadas a arquivos. Você pode pesquisar scripts que contenham determinadas ações ou que tenham nomes de pastas em suas legendas.

  2. Substitua a parte apropriada do caminho do arquivo pela variável correspondente, conforme definido no script de entrada. Por exemplo, se uma ação MENU tiver uma propriedade Sequence configurada para reproduzir 01MainGreetingMenu.wav, você a alterará para "{promptPath}01MainGreetingMenu.wav". A imagem a seguir mostra vários exemplos disso em um script.