Scripts
No aplicativo Studio, um script é uma rede de ações 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. que direcionam e gerenciam o tráfego do cliente para uma central de atendimento. For example, if a customer calls into a contact center, the customer interacts with an inbound phone script that directs the caller to the appropriate department based on their reason for calling. Cada ação no script tem um propósito específico. Os exemplos incluem: definir habilidades ou variáveis, tocar música em espera ou transmitir informações do cliente. Essas ações se conectam por meio de conectores. Os conectores determinam os "caminhos" possíveis para o chamador navegar pelo script. Os scripts podem variar de simples a extremamente complexos. Um script simples pode ter apenas algumas ações para encaminhar um chamador para um agente. Um script complexo pode ter várias ramificações para idiomas diferentes, muitas ações para definir e gerenciar variáveis, referências a scripts subsequentes e muito mais.
O fluxo de trabalho básico para desenvolver um script começa com ações de arrastar e soltar das guias Ferramentas ou Estrutura para a tela ou tela de pintura. Em seguida, conectando as ações para determinar os possíveis caminhos do fluxo de interação. Depois de criar a rede de ações, você pode configurar cada ação adicionando parâmetros adicionais, lógica de programação personalizada ou carregando prompts para serem reproduzidos.
Quase todo o manuseio de script é realizado em Studio. CXone fornece métodos básicos de interação de script, como a criação de planejamentos de script ou reversão de um script para uma versão anterior.
Elementos da interface de script
A imagem anterior fornece uma visão da interface de usuário Studio. O grande painel central é a área de trabalho principal chamada tela. Aqui você posiciona e interage com ações para criar seu script. Studio oferece uma variedade de guias ou janelas que você pode abrir e organizar nos painéis ao redor da tela. Essas guias fornecem acesso aos componentes necessários para criar e gerenciar scripts. Nesta imagem, a aba Ferramentas aparece no painel à direita, a aba Navegar aparece à esquerda e a aba Erros de script aparece abaixo da tela. Você pode clicar e arrastar ações das guias Ferramentas e Estrutura (no painel direito da imagem) para a tela para construir um script. Observe que a guia Estrutura deve ser ativada especificamente por um administrador interno.
Tipos de script
Você pode criar um tipo específico de script que se correlacione com os diferentes canais da sua central de atendimento, mostrados abaixo:
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Genérico | Valor de Condição não no intervalo Os seguintes campos estão em uso por filtros e alterá-los resultará em reaplicar o filtro. | Chat Esta competência avançada tem {0} agentes atribuídos a ela. | Telefone | Correio de Voz | Item de trabalho | SMS | Digital |
Ao criar um novo script, Studio solicita que você determine o tipo de script que deseja criar. O tipo de script que você escolher deve estar correlacionado com o tipo de roteamento que você deseja alcançar. A maioria das ações funciona em qualquer tipo de script, no entanto, algumas só podem ser adicionadas a um script específico. Por exemplo, as ações ASR Permite que os contatos respondam aos prompts de voz gravados falando, pressionando teclas no telefone ou uma combinação de ambos. funcionam com scripts de telefone. Se você tentar usar uma ação da guia Estrutura que não seja compatível com o tipo de script que você está criando, Studio exibe uma mensagem de erro. Além disso, ações que não são compatíveis com um determinado tipo de script não aparecerão na aba Ferramentas desse script.
Além desses tipos de script principais, Studio oferece alguns modelos de script, dependendo dos recursos e aplicativos que você ativou com o seu sistema, como o script supressão de chamadas relacionado a Conexão Pessoal. Se você tiver acesso a esses modelos, eles poderão ser acessados na seção Modelos disponíveis da caixa de diálogo Criar novo script.

Nesse script, o sistema conta o número de agentes disponíveis. Se esse número for zero, uma mensagem será reproduzida e o sistema desconectará a chamada. Se o número de agentes disponíveis for maior que zero, um menu de URA Menu de telefone automatizado que permite que os chamadores interajam por meio de comandos de voz, entradas de teclas ou ambos para obter informações, encaminhar uma chamada de voz de entrada ou ambos. oferece ao chamador a opção de se conectar a um agente. Até que um agente atenda, a música toca por intervalos de 30 segundos. Novamente, a maioria dessas ações está disponível para uso em qualquer tipo de script; no entanto, a ação Desligar é específica para os scripts do telefone.

Conectores e filiais
Conectores
Um conector é uma conexão individual entre 2 ações. Ele é exibido como uma seta e determina o possível movimento de um contato, além da condição de um contato seguindo esse conector. Você pode conectar 2 ações clicando no canto inferior direito de uma ação e arrastando e soltando o conector para a próxima ação no fluxo. Para ajudar a manter seu script limpo e organizado, você pode dobrar os conectores:
- Pressionando e segurando CTRL e MUDANÇA ou SHIFT no seu teclado.
- Passe o mouse sobre o conector para que fique azul.
- Right-clicking on the connector to place a green box (which will be a pivot point).
- Clique com o botão esquerdo na caixa verde e manobre o conector conforme desejado.
Ramos
Uma ramificação é um caminho que divide um script em 2 ou mais subdivisões, que começa com um único conector. Muitas ações contêm opções de ramificação padrão para você configurar, como Padrão ou OnError, mas você também pode criar condições de ramificação personalizadas (chamadas Condições de ramificação variáveis) quando a janela PickBranch aparecer após conectar duas ações. A imagem anterior no menu suspenso exibe um exemplo básico de três filiais e conectores: informações, cobrança e suporte técnico. Os primeiros conectores de cada ramificação são rotulados e também mostram as 3 opções de menu. Muitos scripts serão muito mais complexos do que o mostrado no exemplo, com ramificações mais detalhadas. Se ramificações se tornarem muito complexas e extensas para caber intuitivamente em 1 tela, o scripter poderá separar ramificações em sub-scripts individuais e, em seguida, referenciar os sub-scripts do script principal usando uma ação Runsub ou Runscript. Essa é uma excelente maneira de manter seus scripts organizados e organizados, em vez de grandes, desordenados e confusos.
Por exemplo, nas imagens de script a seguir, você pode ver que o Menu Yggdrasil oferece 8 opções para os outros 8 mundos nórdicos. Cada mundo representa um ramo diferente do script. Heimdallr é o criador de scripts da Asgard Hotline. Se ele quisesse incluir mais opções para cada ramo, o script poderia se tornar excessivamente complexo. Em vez disso, ele poderia criar um sub-script separado para cada um dos outros 8 mundos. Depois de fazer isso, Heimdallr usaria uma ação Runsub ou Runscript para cada opção de menu que inicia o script separado quando selecionado pelo contato.

Complexo:

Condensado:

Erros de script
The Script Errors tab displays any warnings and errors related to your script. The tab won't show anything until you save the script.
Warnings don't keep the script from running or saving. Best practice is to address all warnings before putting the script into production.
Errors do prevent a script from running or saving. If you attempt to run or save a script that has errors, Studio displays a notification window. Errors can include:
- Variáveis digitadas incorretamente ("Snippet Line 2. Função: NameLabel não foi definido ")
- Usando uma função como um parâmetro de método ("Parâmetros de função não terminados")
- Usar um tipo de dado incorreto em um método que requer um tipo de dado específico ("Parâmetros de função não terminados")
Validation errors may not appear on the Script Errors tab. Some errors, such as invalid JSON in the Rest Api action will instead show you an error notification with details about the error. If you attempt to save when the script contains a validation error, the script may revert back to the most recent version of the script without the validation error. If this happens, any unsaved changed are lost.
Double-click any a warning or error to see the action on the canvas where the issue occurs.
Erros também afetam traços de script. Se você tentar executar um rastreamento de script em um script não salvo, Studio solicita que você salve o script. Se houver erros no script, o script não será salvo e você poderá perder as alterações causadas por erros de validação. O rastreamento será executado, mas será executado na última versão salva do script.
APIs de script
Para desenvolvedores de scripts mais avançados, é possível abrir e salvar scripts de modo programático para ajudar nos processos de desenvolvimento automatizados. Expanda os seguintes menus suspensos para visualizar detalhes básicos de cada API.

Use a versão 17 ou anterior de GET / scripts para obter uma lista de scripts para sua
Resumo: Retorne o XML de um script por Nome ou masterId.
Descrição: Este método retornará o XML de um script por Nome ou masterId.
Parâmetros
- nome: scriptPath
em: caminho
descrição: caminho completo do script
necessário: true
estilo: simples
explodir: falso
esquema:
type: string
- nome: scriptId
em: caminho
descrição: identificação principal de um script
necessário: true
estilo: simples
explodir: falso
esquema:
tipo: inteiro
Todos os Perfis de Estação Todos os Pontos de Contato
'200':
descrição: SUCESSO
conteúdo:
application/json:
esquema:
tipo: objeto
propriedades:
name:
type: string
descrição: nome de um script
caminho de arquivo:
type: string
descrição: caminho do arquivo
ScriptId:
tipo: inteiro
descrição: MasterId
corpo:
type: string
descrição: XML de um script
'400': descrição: parâmetros inválidos
'404': descrição: não encontrado
'500': descrição: erro interno
'501': descrição: Erro interno do serviço Incontrol.Net

Resumo: Salve um novo script ou script existente.
Descrição: Este método salvará um script no banco de dados usando uma string base64.
Parâmetros
- nome: scriptPath
em: caminho
descrição: caminho completo e o nome do script
necessário: true
estilo: simples
explodir: falso
esquema:
type: string
- nome: corpo
em: caminho
descrição: 'corpo do script, este é um XML codificado em base64'
necessário: true
estilo: simples
explodir: falso
esquema:
type: string
Todos os Perfis de Estação Todos os Pontos de Contato
'200':
descrição: Sucesso
conteúdo:
application/json:
esquema:
SaveScript:
tipo: objeto
propriedades:
ScriptId:
type: string
descrição: O novo ScriptId gerado após o salvamento foi bem-sucedido
'400': descrição: parâmetros inválidos
'405': descrição: Bloqueado por outra pessoa
'500': descrição: erro interno
'501': descrição: Erro interno de serviço

Resumo: Salve um novo script ou script existente.
Descrição: Este método salvará um script no banco de dados usando uma string base64.
Parâmetros
- nome: scriptPath
em: caminho
descrição: caminho completo e o nome do script
necessário: true
estilo: simples
explodir: falso
esquema:
type: string
- nome: corpo
em: caminho
descrição: 'corpo do script, este é um XML codificado em base64'
necessário: true
estilo: simples
explodir: falso
esquema:
type: string
Todos os Perfis de Estação Todos os Pontos de Contato
'200':
descrição: Sucesso
conteúdo:
application/json:
esquema:
tipo: objeto
propriedades:
ScriptId:
type: string
descrição: O novo ScriptId gerado após o salvamento foi bem-sucedido
'400': descrição: parâmetros inválidos
'405': descrição: Bloqueado por outra pessoa
'500': descrição: erro interno
'501': descrição: Erro interno de serviço

Resumo: Chute um script bloqueado.
Descrição: Este método forçará o desbloqueio de um script.
Parâmetros
- nome: scriptPath
em: caminho
descrição: caminho completo do script
necessário: true
estilo: simples
explodir: falso
esquema:
type: string
Todos os Perfis de Estação Todos os Pontos de Contato
'200': descrição: Sucesso
tipo: objeto
propriedades:
type: string
descrição: Data da solicitação
Mensagem de erro:
type: string
descrição: Mensagem de erro do serviço
ErrorState:
tipo: booleano
descrição: estado do erro
KickResult:
type: string
descrição: Resultado do serviço
Identidade Principal:
tipo: inteiro
descrição: ID principal do script
CurrLockedBy:
tipo: inteiro
descrição: ID do usuário chutado
'400': descrição: Parâmetros inválidos, script já desbloqueado, você não pode se libertar do script
'404': descrição: ScriptNotFound
'500': descrição: erro interno
'501': descrição: Erro interno de serviço

Resumo: Retornar um histórico de um script.
Descrição: Este método retornará um histórico de um script pelo nome.
Parâmetros
- nome: scriptPath
em: caminho
descrição: caminho completo do script
necessário: true
estilo: simples
explodir: falso
esquema:
type: string
Todos os Perfis de Estação Todos os Pontos de Contato
'200':
descrição: SUCESSO
conteúdo:
application/json:
esquema:
HistoryScripts:
tipo: objeto
propriedades:
name:
type: string
descrição: caminho completo de um script associado ao nome
versões:
tipo: matriz
Items:
HistoryScripts_versions:
tipo: objeto
propriedades:
scriptId:
tipo: inteiro
descrição: ID mestre do script
modifyDate:
type: string
descrição: modificar data
modifyUser:
type: string
descrição: modificar usuário
Status:
type: string
descrição: Status de um script
'400': descrição: parâmetros inválidos
'404': descrição: não encontrado
'500': descrição: erro interno
'501': descrição: Erro interno do serviço Incontrol.Net

get:
Etiquetas:
Resumo: Script de pesquisa
Descrição: Este método procurará um script na unidade de negócios com base em palavras-chave.
Parâmetros
nome: mediaType
in: query
descrição: tipo de mídia do script.
necessário: false
explodir: falso
esquema:
tipo: inteiro
nome: scriptName
em: caminho
descrição: palavra-chave para pesquisa
necessário: true
estilo: simples
explodir: falso
esquema:
type: string
nome: includeInactive
in: query
descrição: essa variável é usada para incluir a pesquisa entre os scripts inativos.
necessário: false
explodir: falso
esquema:
tipo: booleano
nome: includeTrusted
in: query
descrição: essa variável é usada para incluir a pesquisa entre unidades de negócios confiáveis
necessário: false
explodir: falso
esquema:
type: string
nome: modEndDate
in: query
description: Essa variável é usada para incluir a pesquisa em um intervalo de datas estabelecido
necessário: false
explodir: falso
esquema:
type: string
Todos os Perfis de Estação Todos os Pontos de Contato
'200':
descrição: SUCESSO
conteúdo:
application/json:
esquema:
$ref: '#/components/schemasSearchScript'
'400':
descrição: parâmetros inválidos
'401':
descrição: Não autorizada. Você não tem permissões suficientes
'404':
description: Caminho do script não encontrado
'500':
descrição: erro interno
'501':
descrição: Erro interno do serviço Incontrol.Net
Componentes:
esquemas:
GetScript:
tipo: objeto
propriedades:
name:
type: string
description: 'Nome do script'
caminho de arquivo:
type: string
description: 'Caminho completo do script'
scriptId:
tipo: inteiro
description: 'Este é o identificador de script, é único'
corpo:
type: string
description: 'Conteúdo do script codificado no formato Base63'
DeleteScript:
tipo: objeto
propriedades:
scriptPath:
type: string
description: 'Informações do nome do script do caminho completo que foram removidas'
excluído:
tipo: booleano
description: 'Status do script'
erro:
type: string
description: 'Se ocorrer um erro no processo de exclusão'
SearchScript:
tipo: objeto
propriedades:
tipo: inteiro
descrição: 'Informações da unidade de negócios'
scriptName:
type: string
description: 'Caminho completo do script'
scriptSearchDetails:
tipo: matriz
descrição: 'Detalhe do resultado da pesquisa'
itens:
$ref: '#/components/schemas/SearchScript_Details'
SearchScript_Details:
tipo: objeto
propriedades:
busNo:
tipo: inteiro
descrição: 'Número da unidade de negócios'
Identidade Principal:
type: string
descrição: 'Identificador de script'
scriptName:
type: string
description: 'Nome do script'
status:
type: string
descrição: 'Status do script ativo / inativo'
tipo de mídia:
tipo: inteiro
descrição: 'Número do tipo de mídia'
modifyDate:
type: string
descrição: 'A data da última modificação
mUser:
tipo: inteiro
descrição: 'O último usuário que modificou o script'
actionID:
tipo: inteiro
descrição: 'Identificador de ação'
Dicas e truques de script
- Renomear a legenda em uma ação pode tornar seu script muito mais fácil de ler e seguir. Edite a legenda de uma ação no diálogo de Propriedades .
- Ao usar Menu (ou uma ação semelhante), crie uma ramificação para repetir as opções de menu usando ações Ciclo e Noresponse que se conectam de volta à ação Menu .
-
Adicione um Esperar ação após um Música ação para reproduzir a música (caso contrário, o áudio será reproduzido por 30 segundos e terminará).
- Verifique se você não tem um beco sem saída. Os becos sem saída podem ser problemas como ramificações ausentes em um menu, ramificações de menu que não estão configuradas ou (como no item anterior) não ação Esperar após uma ação Música.
- Ao criar um menu, é melhor nomear o departamento primeiro e depois o número para discar / falar. Os contatos geralmente estão ouvindo o nome do departamento e o número.
- Use ação Anotação para adicionar notas ou instruções ao longo de um script.
- Use o nome do script para a legenda de ação Início.
- Para ações Toque e Menu, clique duas vezes na ação e anote o palavreado do prompt no Frase campo.
- Veja o histórico de um script clicando com o botão direito do mouse no script na guia Procurar (Exibir > Navegador) e pairando sobre a opção Histórico. Isso permite visualizar iterações anteriores de um script.