Variáveis

Variáveis são marcadores de posição que armazenam valores que podem ser alterados. Use-as quando um valor for diferente toda vez que um script é executado. Por exemplo, ANI é uma variável que contém o ANIFechado Também conhecido como identificador de chamadas. Número de telefone listado de uma chamada de voz recebida. ou número de telefone do chamador. Quando ANI é usada em um script, ela contém o ID de chamada do contato. Toda vez que o script é executado, ele atende um contato diferente, fazendo o valor de ANI mudar.

Você pode criar suas próprias variáveis sempre que precisar. Variáveis podem conter valores únicos. Elas também podem conter objetos de dados dinâmicos e matrizes.

Algumas variáveis usadas em scripts do Studio são definidas pelo sistema. Isso significa que elas fazem parte do código dentro das açõesFechado Executa um processo dentro de um script do Studio, como coletar dados do cliente, reproduzir uma mensagem ou música ou rotear um contato para um agente. do Studio. Desta forma, não é preciso criá-las. Existem dois tipos de variáveis definidas pelo sistema:

  • Variáveis reservadas: Variáveis somente para leitura que você pode usar quando precisar incluir um tipo de informação específica no seu script.
  • Variáveis predefinidas: Variáveis que já estão definidas. Variáveis podem ser redigidas e você pode atribuir um valor a elas.

Experimente

Baixe o script de exemplos de variável e importe-o para o Studio. Os exemplos desta página de ajuda estão disponíveis nas ações Snippet no script de exemplo. É possível abrir a janela Snippet Editor e executar o depurador para ver como cada exemplo funciona.

Resumo de sintaxe de variável

A lista a seguir resume as sintaxes de variável. Mais informações sobre esses pontos estão disponíveis nas outras seções desta página.

  • Crie e atribua um valor a uma variável usando uma ação ASSIGN ou uma ação Snippet. Em um Snippet, você pode usar a palavra-chave ASSIGN quando declarar uma variável. Isso é opcional, mas altamente recomendado. Use esta sintaxe em um Snippet: ASSIGN <var name> = <var value> ou <var name> = <var value>.

  • Quando atribuir valores a uma variável.
    • Os valores de string e de data/hora devem ser colocados entre aspas simples ou duplas. Por exemplo: ASSIGN life = "forty-two".
    • Para atribuir um valor de data/hora que será usado com funções de data/hora, coloque um sinal de cerquilha ( # ) na frente do valor, mas fora das aspas duplas. Por exemplo: ASSIGN var = #"02/09/2023". Se o valor de data/hora não vai ser usado com funções de data/hora, não é preciso usar o caractere de sinal de cerquilha. No entanto, sem o símbolo de cerquilha, o valor é um tipo de string e não um tipo de data/hora.
    • Valores numéricos não precisam ser colocadas entre aspas. Caso coloque um valor numérico entre aspas, ele será tratado como uma string a não ser que esteja sendo avaliado em uma expressão matemática.
    • Expressões numéricas e booleanasFechado Um tipo de dados que tem dois valores possíveis: true e false. não podem ser colocadas entre aspas. Se estas expressões forem colocadas entre aspas, elas serão tratadas como uma string. Por exemplo: ASSIGN myVar = var2 > 42 é avaliado como true ou false dependendo do valor de var2. No entanto, ASSIGN myVar = "var2 > 42" resulta no valor de myVar sendo literalmente var2 > 42.
    • Valores booleanos não devem ser colocadas entre aspas.
    • Use sequências de escape caso precise incluir os seguintes caracteres em um valor de string: aspas duplas ( " ), aspas simples ( ' ), chave de abertura ( { ) tab (ASCII 9), retorno de carro (ASCII 13), quebra de linha (ASCII 10), espaço atrás (ASCII 8), nulo.
  • Ao substituir um valor de variável em uma string:
    • Coloque variáveis entre chaves. Por exemplo: ASSIGN minhaVar = "o significado da vida é {vida}"
    • Se a variável for um objeto de dados dinâmicos, você deve se referir a uma propriedade dentro do objeto. Por exemplo: ASSIGN minhaVar = "o significado da vida é {umObj.estaPropriedade}". Referir-se somente ao objeto resultaria em erro.
    • Se a variável contém uma matriz, você deve incluir o índice do valor que deseja atribuir. Por exemplo: ASSIGN minhaVar = minhaMatriz[4].
  • Ao atribuir o valor de uma variável para outra:
    • Você não precisa de aspas duplas ou chaves. Por exemplo: ASSIGN minhaVar = var2. Isto resulta em uma cópia do valor da variável sendo atribuído a minhaVar.
    • Se uma variável contém uma matriz, você pode atribuí-la a outra variável.
    • Se uma variável for um objeto, você só pode atribuí-la a outro objeto.
  • Ao fazer referência a variáveis nas propriedades de ação do Studio, as seguintes diretrizes geralmente são aplicadas. Sempre consulte a ajuda online da ação que você está usando, já que há exceções a essas instruções.

    • Propriedades esperam uma variável ou dados. Dados podem ser compostos por literais ou variáveis. Quando uma propriedade espera dados, ela geralmente pode aceitar uma literal ou uma variável. No entanto, há exceções, portanto sempre consulte a ajuda online para a ação se não tiver certeza sobre o que uma propriedade espera.
    • Se a propriedade espera um nome de variável, insira o nome da variável sem usar chaves.

    • Se a propriedade espera dados e você quer usar substituição de variável, insira o nome da variável dentro de chaves: {varName}.

Tipos de dados e digitação implícita

O tipo de dados define qual tipo de dados a variável vai conter e como ela deve ser usada no programa. No Studio, as variáveis podem ter os seguintes tipos de dados:

  • String: O valor da variável contém caracteres alfanuméricos e especiais, como pontos, vírgulas e sublinhados. Os valores de string devem ser colocados entre aspas duplas.
  • Numérico: O valor da variável é um número. Valores numéricos não precisam de aspas duplas.
  • Data/hora: O valor da variável é uma data, hora ou ambos. Quando um valor de data/hora é usado com funções de data/hora no Studio, o valor deve ser colocado entre aspas e ser precedido por um sinal de # antes das aspas: var = #"11-23-2023".
  • Booleano: O valor da variável é true ou 1, ou false ou 0. Não coloque valores booleanos entre aspas.

Em várias linguagens de programação e criação de scripts, você deve atribuir um tipo de dados explicitamente a uma variável quando você a cria. No Studio, variáveis são digitadas implicitamente. O compilador do Studio determina o tipo de cada variável ao compilar o script. Isso significa que não é preciso definir o tipo de dados para nenhuma variável que você usa. A única exceção é quando uma variável contém um valor de data/hora que você quer usar com funções de data/hora.

Inferência de tipo

A digitação implícita impacta a forma como variáveis são avaliadas. Por exemplo, comparações de variáveis têm diferentes resultados dependendo de como o Studio reconhece os tipos das variáveis. O comportamento padrão no Studio é de que tudo é tratado como uma string até que cálculos matemáticos sejam necessários. Depois, se algo pode ser avaliado como um número, este algo será de fato avaliado como número, mesmo se estiver entre aspas. Isso é conhecido como inferência de tipo.

O compilador Studio reconhece um valor como numérico mesmo se estiver inserido entre aspas. Aspas significam que um valor é uma string. Quando um valor numérico é colocado entre aspas, o Studio o trata como uma string, a não ser que você o use para cálculos matemáticos no script. Por exemplo:


var1 = "42"
var2 = 42

var3 = var2 + var1	

O(s) resultado do exemplo é var3 = 84. O Studio infere que o valor de var1 é numérico e o trata desta maneira ao avaliar a expressão no var3, ainda que este esteja entre aspas duplas.

Criar variáveis.

Você pode criar a sua própria variável para utilizá-la em um script. Você pode fazer isso usando uma ação Assign ou uma ação Snippet no script.

Atribuir ação

A ação Assign permite criar uma única variável e atribuir um valor a ela. Você faz isso usando as propriedades Variable e Value da ação. O benefício de Assign é que essa é uma forma configurável e fácil de usar para criar variáveis.

Esta ação tem outras propriedades que permitem que você defina como a variável é usada. Você pode:

Você também pode definir um pop de tela na ação Reqagent (no CXone Studio: ação)

Ação de snippet

A ação Snippet é uma forma baseada em código de se criar variáveis . Usando uma única ação, você pode criar uma ou mais variáveis, além de qualquer outro código personalizado que possa precisar incluir. A vantagem de usar Snippet é que, se quiser adicionar mais variáveis ​​ao seu script posteriormente, você poderá adicioná-las à mesma ação. Você não precisa adicionar mais ações e refazer os conectores em seu script, como faria se tivesse usado originalmente uma ação Assign.

Use um dos formatos de sintaxe a seguir:

ASSIGN varName = value ou varName = value

Você pode adicionar propriedades à variável que correspondem às propriedades na ação Assign:

  • Para incluir o valor da variável em um pop de tela, adicione setscreenpop(1) ao nome da variável.
  • Para salvar o valor da variável no banco de dados, adicione savetodb(1) ao nome da variável.

Por exemplo:

ASSIGN epicPoem = "Beowulf"
epicPoem.setscreenpop(1)
epicPoem.savetodb(1)

Para ambas as propriedades, o 1 é um valor booleanoFechado Um tipo de dados que tem dois valores possíveis: true e false. que define a propriedade como true.

Fatos importantes sobre a criação de variáveis em ações Snippet :

  • Você não precisa declarar o tipo ao declarar uma variável, exceto para variáveis de data/hora.
  • Incluir a palavra-chave ASSIGN é opcional. No entanto, é uma prática recomendada usar esta palavra-chave toda vez que for criar uma variável. Quando utilizar a pesquisa avançada, ao utilizar a palavra-chave, poderá localizar rapidamente onde uma variável foi criada.
  • Se você declarar uma variável em um subscript e quiser que ela seja passada de volta ao script de origem, adicione global: ao início do nome da variável. Isto a identifica como tendo escopo global.

Aspas simples, aspas duplas ou sem aspas

Ao atribuir o valor de uma variável para outra variável, alguns valores devem ser colocados entre aspas. Outros valores não precisam de aspas. Siga estas orientações:

  • Valores de string devem ser colocados entre aspas simples ou duplas. Isso é verdade mesmo se a variável terminar com um sinal de cifrão. Se uma string não for colocada entre aspas, o script assumirá que o valor é uma variável. No exemplo a seguir, a1, a2 e a1$ são avaliados como o valor literal Example. O valor de a3 e a3$ dependem se Example foi declarado como uma variável. Se uma variável Example existir no script, a3 e a3$ são avaliados como o valor de Example. Se Example não existir, a3 e a3$ resultam em valores vazios.

    ASSIGN a1 = "Example"
    ASSIGN a2 = 'Example'
    ASSIGN a1$ = "Example"
    ASSIGN a3 = Example
    ASSIGN a3$ = Example
  • Valores numéricos não precisam de aspas. No entanto, você pode usá-las se quiser. No exemplo a seguir, b1, b2 e b3 estimam 123.

    ASSIGN b1 = "123" 
    ASSIGN b2 = '123' 
    ASSIGN b3 = 123
  • Expressões numéricas não podem ser colocadas entre aspas. Isso inclui expressões matemáticas e booleanasFechado Um tipo de dados que tem dois valores possíveis: true e false.. Se você colocar uma expressão numérica entre aspas, ela será tratada como texto. Por exemplo, c1 = 123 + 456 é avaliada como 579 mas c2 = "123 + 456" resulta em 123 + 456.
  • Valores de data/hora devem ser colocados entre aspas se estiver os declarando como o tipo de data/hora.
  • Valores booleanos não devem ser colocadas entre aspas.
  • Caso esteja atribuindo um valor de uma matriz ou de um membro de um objeto dinâmico, não use aspas ou chaves com a matriz ou com o nome do membro do objeto.

Criar variáveis com valores de data/hora

O Studio não identifica implicitamente data/hora como um tipo. No entanto, você pode adicionar um identificador antes de um valor de variável para declará-lo como este tipo. Você só precisa fazer isso se o valor será usado em funções de data/hora ou se quiser executar operações com o valor.

Para declarar um valor de variável como uma data/hora, use a sintaxe ASSIGN <varName> = #"<datetime>", onde <datetime> é o valor de data/hora que quer armazenar na variável. Por exemplo, date1 = #"7/15/2050 5:00pm". Se uma variável não for declarada como uma data/hora, você pode usar a função asdatetime() para convertê-la em uma.

Algumas funções que manipulam datas e horas exigem que as variáveis sejam declaradas como uma data/hora. Mesmo que o formato de data/hora esteja correto, a função não funcionará se a variável não for declarada corretamente.Você também pode usar essa sintaxe para realizar operações em datas e horas que, de outra forma, não seria capaz de fazer. Por exemplo, você pode compará-las:

date1 = #"7/15/2050 5:00pm" 
date2 = #"7/15/2050 4pm"
x = date1 > date2 

O resultado é 1 (true) pois o valor literal de date1 é maior que o valor literal de date2.

Nomenclatura de variáveis

Dê nome às variáveis seguindo estas diretrizes:

  • Use caracteres alfanuméricos (a-z, A-Z, 0-9).

  • O primeiro caractere do nome deve ser uma letra.
  • Use o caractere de sublinhado ( _ ) e o sinal de cifrão ( $ ) em qualquer lugar do nome.
  • Se o último caractere em um nome de variável for um cifrão o valor será tratado como texto.
  • Não use os nomes de variáveis pré-definidas ou palavras reservadas.

Substituição de variável

Quando você precisar usar o valor de uma variável em seu script, inclua o nome da variável no código snippet ou no campo de propriedade da ação.

Se estiver substituindo o valor da variável para uma string, coloque o nome da variável entre chaves. Em uma string, tudo é tratado como texto a não ser que seja formatado como uma variável. Por exemplo:

ASSIGN foeName = "Grendel"
ASSIGN numberFoes = "3"
ASSIGN x = numberFoes
ASSIGN y = "One of Beowulf's foes is {foeName}. He faced {numberFoes} foes in all." 
ASSIGN z = "One of Beowulf's foes is foeName. He faced numberFoes in all." 

O(s) resultados do exemplo são

  • x=3.
  • y=One of Beowulf's foes is Grendel. He faced 3 foes in all.
  • z=One of Beowulf's foes is foeName. He faced numberFoes in all.

Quando estiver copiando o valor de uma variável para outra variável, não é preciso usar chaves. Isto se aplica a texto e a valores numéricos. No exemplo a seguir, o resultado é:x=3 e z=Grendel:

ASSIGN numberFoes = "3"
ASSIGN name = "Grendel"
ASSIGN x = numberFoes 
ASSIGN y = name 

Se estiver realizando operações matemáticas com variáveis, não é preciso colocá-las dentro de chaves. No exemplo a seguir, o resultado é y=200.

ASSIGN a1 = "100"
ASSIGN a2 = "100.00"
ASSIGN y = (a1 + a2) 

Substituição de variáveis nas Propriedades de ação

Muitas propriedades de ação podem aceitar variáveis no lugar de valores literais. Isso se aplica mesmo quando a página de ajuda da ação não especifica que você pode usar uma variável para configurar uma propriedade.

Usar variáveis em propriedades de ação permite que você reutilize scripts. Por exemplo, se a sua organização tem três segmentos de negócios diferentes, você precisaria de três scripts de fila para definir a competênciaFechado Usado para automatizar a entrega de interações com base nas competências, habilidades e conhecimento do agente. ACD, o gerenciamento prioritário e outras configurações para cada segmento de negócios se usar valores literais. Caso use variáveis para configurar as propriedades onde os valores diferem entre segmentos de negócio, você pode usar um script em vez de três.

Ao fazer referência a variáveis nas propriedades de ação do Studio, as seguintes diretrizes geralmente são aplicadas:

  • Propriedades esperam uma variável ou dados. Dados podem ser compostos por literais ou variáveis. Quando uma propriedade espera dados, ela geralmente pode aceitar uma literal ou uma variável. No entanto, há exceções, portanto sempre consulte a ajuda online para a ação se não tiver certeza sobre o que uma propriedade espera.
  • Se a propriedade espera um nome de variável, insira o nome da variável sem usar chaves.

  • Se a propriedade espera dados e você quer usar substituição de variável, insira o nome da variável dentro de chaves: {varName}.

Passar valores de variáveis de script para script

Valores de variáveis podem passar de script para script. Eles podem ser passados de:

  • Script de origem para subscript: Todas as variáveis no script de origem estão presentes e disponíveis para uso em subscripts. No entanto, elas estão no escopo global. Para usá-las em subscripts, você deve introduzir o nome da variável com global:. Por exemplo, global:varName. Isso inclui variáveis de sistema predefinidas e variáveis que você cria.
  • Subscript para script de origem: Variáveis ​​declaradas em um subscript não retornam automaticamente ao script de origem. Se você quiser passar uma variável personalizada de um subscript de volta para o script de origem, você deve declará-la como global. Da mesma forma, se você declarar variáveis em um sub-subscript, é preciso declará-las como global e referenciá-las como global no subscript e no script de origem do nível acima.

Você pode ver variáveis globais em rastreamentos de script. Pode ser necessário ativar esta opção na janela de Saída de rastreamento ao visualizar o rastreamento.

Alguns dados podem vir de fontes de fora dos seus scripts, como um CRMFechado Sistemas de terceiros que gerenciam itens como contatos, informações de vendas, detalhes de suporte e históricos de casos. ou uma chamada de APIFechado APIs permitem automatizar certas funcionalidades conectando seu CXone sistema com outro software que sua organização usa.. Você pode passar estes valores a subscripts ou scripts gerados usando a propriedade Parameters na ação RunSub ou na ação Spawn. A ação Begin também tem uma propriedade Parameters. Configure a ação Begin no subscript com os nomes das variáveis para receber os valores passados através do RunSub ou Spawn.

Se os dados que precisar passar estiverem contidos em um objeto, o objeto deve ser primeiro convertido em JSON ou XML. Você pode passar a variável que contém a string JSON ou XML. No segundo script, você pode reestruturar os dados em um objeto se quiser.

Comparação e avaliação de variáveis

O fato de que o Studio tipifica variáveis implicitamente impacta em como elas são avaliadas em expressões e comparações booleanasFechado Um tipo de dados que tem dois valores possíveis: true e false..

Por exemplo:

ASSIGN a1 = "100"
ASSIGN a2 = "100"
ASSIGN y = (a1 = a2)

Neste exemplo, a expressão y = (a1 = a2) é avaliada como y = 1 (true).

Forçar comparação como texto

Você pode forçar uma variável a ser avaliada como texto mesmo que seu valor seja numérico. Você pode fazer isso de duas maneiras:

  • Adicione um cifrão ao final do nome da variável. Por exemplo: varName$ = 42. Ao fazer uma comparação, apenas uma das duas variáveis precisa de um sufixo de cifrão.
  • Cerque os nomes das variáveis entre chaves e aspas duplas. Por exemplo, y = ("{a1}" = "{a2}").

Quando o nome de uma variável termina em um cifrão, todas as operações booleanasFechado Um atributo de informação que define como é usado em um programa, como um inteiro (números que podem ser manipulados) ou booleano (true/false). (=, >, <, >=, <=) que usam essa variável tratam o valor como texto. Por exemplo:

ASSIGN a$ = 20
ASSIGN b = 100
ASSIGN x = a$ > b

Neste exemplo, a variável x é 1 (true). Como a variável a$ termina com um cifrão, o valor 20 é tratado como texto. Isso significa que a$ > b é uma comparação de 20 e 100 como strings de texto e não como números inteiros. Ao comparar como texto, 20 é maior que 100 porque 20 começa com um 2 e 100 começa com um 1. Sem o cifrão no nome da variável, x = a > b é 0 (false) porque os valores são comparados como números inteiros. O número inteiro 20 não é maior do que o número inteiro 100.

Variáveis reservadas e predefinidas

Existem variáveis preexistentes no Studio. Elas são:

  • Variáveis reservadas: Estas variáveis retornam um determinado tipo de informação, como a hora atual ou o ID do fuso horário atual. Variáveis reservadas são somente para leitura, o que significa que um script não pode salvar valores nelas. Elas existem apenas para retornar informações. Você pode usá-las no seu script quando quiser inserir as informações que elas retornam. O Studio tem 10 variáveis reservadas.
  • Variáveis predefinidas: Estas são variáveis de sistema. Elas já estão definidas no Studio, portanto você pode usá-las nos seus scripts sem ter que criá-las. Use variáveis de sistema nos seus scripts quando precisar das informações que elas armazenam. Substitua variáveis predefinidas de sistema apenas se a ajuda online ou um Representante de Contas do CXone o instruir a fazê-lo. Você pode saber mais sobre as variáveis predefinidas na página Variáveis predefinidas.

Variáveis globais

As variáveis ​​globais permitem que você declare uma variável em um subscript e faça com que ela seja automaticamente passada de volta ao script de origem após a ação. Quando você declara uma variável global em um subscript, não precisa passá-la de volta para o script de origem com a ação Return.

Você pode criar uma variável global usando a ação Snippet ou a ação. Use a seguinte sintaxe quando criar uma ação global com Snippet:

ASSIGN global:<variable name>

ASSIGN global:<variable name>="{firstname} {lastname}"

Certifique-se de que não há espaço entre os dois pontos e o nome da variável.

Se estiver usando a ação Assign, não inclua a palavra-chave ASSIGN.

Você não precisa declarar variáveis no script de origem como globais. Limitar a declaração de variáveis globais para subscripts fornece indícios visuais sobre o script no qual está trabalhando. Quando vir global:var, você sabe que está em um subscript.

Exemplo de variáveis globais

O exemplo a seguir mostra como usar as variáveis globais.

Visualizar todas as variáveis em um script

Há duas maneiras de ver todas as variáveis em seu script:

  • A guia Variáveis no Studio mostra todas as variáveis usadas em um script. Se esta guia estiver fechada, você pode abri-la clicando em Validation > Windows > Variables.
  • Você também pode ver as variáveis usadas em um script ao executar um rastreamento. À medida que seleciona cada linha na saída de rastreamento, as variáveis no script naquela altura ficam visíveis no painel Variáveis. Você pode clicar em cada linha no rastreamento para ver como o conteúdo das variáveis muda à medida que o script avança.

Redação de variável

O corte de variável elimina os valores variáveis dos rastreamentos e logs gerados por um script. Você pode cortar variáveis e objetos.

O corte é configurado para scripts no campo VariableRedaction das propriedades de um script. Os valores cortados são substituídos por uma string de caracteres X. O comprimento do valor da variável determina quantos X são usados. Uma palavra cortada de cinco letras resultaria em cinco X. O corte parcial de variável, como o da parte de um número de cartão de crédito, não é suportado.

O corte de variável ocorre no nível do script. Ele não é uma propriedade herdada. Se uma variável cortada for passada para outros scripts, como em uma ação RunScript ou RunSub, essa variável não será cortada automaticamente nos scripts subsequentes. Caso queira que uma variável seja sempre cortada, você precisará configurar a edição de variável em todos os scripts para os quais ela possa ser passada.

As variáveis que são passadas para outros scripts têm um escopo global. Para cortá-las, você deve incluir global: antes do nome da variável no campo VariableRedaction para garantir que ela seja cortada.

A prática recomendada é nunca manter dados sigilosos em um script por mais tempo do que necessário. Além de cortar valores de variável, você pode excluir dados da variável. A exclusão de dados está inclusa nas etapas da tarefa a seguir.

  1. No Studio, clique na tela do script para certificar-se de que nada esteja selecionado.
  2. Clique na guia Properties.
  3. Clique no botão Ellipsis ao lado do campo VariableRedaction para abrir String Collection Editor.
  4. Insira o nome das variáveis que você deseja cortar. Coloque uma variável por linha.
  5. Clique em OK.
  6. Caso queira excluir dados da variável, coloque uma ação Snippet no script após o dado sigiloso ter sido usado e não ser mais necessário.
  7. Clique duas vezes na ação Snippet e adicione o seguinte à guia Visualização em texto na janela de editor de snippet:
    • Para um objeto de dados dinâmicos: DYNAMIC <object name>
    • Para uma variável regular: ASSIGN <var name> = ""
  8. Clique em OK para salvar suas alterações.