Questionários e Ações
Esta funcionalidade está disponível apenas para o papel de Desenvolvedor.
A funcionalidade Questionários e Ações permite criar conversas e fluxos de interação de forma flexível, seja escrevendo scripts em Lua ou usando o editor visual Blockly. Escolha a abordagem que mais se adequa ao seu conhecimento e à complexidade do projeto.
- Editor de Código: Ideal para usuários que preferem controle total sobre o código e fluxos personalizados.
- Editor Visual: Indicado para quem busca rapidez e visualização intuitiva, montando lógica por meio de blocos.
Workspaces
Os Workspaces permitem organizar seus projetos de forma prática e eficiente dentro da funcionalidade Questionários e Ações. Para criar um novo Workspace, siga as instruções abaixo:
Criar um workspace
Campos do formulário:
- Nome do Workspace: Insira um nome único e descritivo para facilitar a identificação.
- Integrar com o GIT (opcional): Se desejar conectar o Workspace a um repositório Git, preencha:
- Repositório: URL completa do repositório.
- Usuário: Seu nome de usuário para acesso ao repositório.
- Senha: Senha ou token de acesso ao repositório.
Quando terminar, basta clicar em Criar novo Workspace.
Pronto! Seu ambiente será criado e já poderá ser utilizado.
Excluir um workspace
Para deleter um Workspace, clique no ícone de lixeira ao lado daquele que deseja excluir.

No pop-up de confirmação, clique em Sim para confirmar a exclusão.
Editor visual
No Citsmart Aura, o Editor Visual oferece uma forma fácil de montar seus fluxos sem escrever código. Com base na tecnologia Blockly, ele apresenta blocos coloridos que representam ações, condições, repetições, cálculos, textos, listas, variáveis e funções. Ao arrastar e encaixar esses blocos no espaço de trabalho, o sistema converte automaticamente a sequência em código funcional.
Acessar
Para acessar o editor, escolha o Workspace e clique na opção "Editor Visual".

Caixa de ferramentas
A caixa de ferramentas organiza todos os blocos por tema, facilitando a busca pelo recurso certo. Cada categoria agrupa blocos com finalidades específicas.

Para usar um bloco, clique no nome da categoria para expandir a lista, em seguida arraste o bloco escolhido para o painel principal.

Tipos de blocos
Nesta seção, você vai conhecer os diferentes tipos de blocos disponíveis e entender para que serve cada um. Esses blocos são como peças de um quebra-cabeça que você pode montar para criar soluções no sistema, mesmo sem saber programar. Cada categoria tem uma função específica para tornar o processo simples e intuitivo.
- Lógica: Os blocos de lógica permitem criar condições e tomar decisões no seu projeto. Por exemplo, você pode usar "se... então" para que algo aconteça apenas quando uma condição for verdadeira. Também pode combinar condições ou verificar se algo é verdadeiro ou falso.
- Repetições: Esses blocos ajudam a automatizar ações que precisam ser feitas várias vezes. Você pode repetir uma tarefa um número específico de vezes ou enquanto uma condição for verdadeira, como "continue até que o valor chegue a 10".
- Cálculos: Os blocos de cálculo são usados para realizar operações matemáticas, como somar, subtrair, multiplicar ou dividir números. Além disso, você pode trabalhar com números aleatórios ou realizar cálculos mais avançados dependendo da necessidade do projeto.
- Texto: Aqui você encontra blocos para trabalhar com palavras e frases. Com eles, é possível criar textos personalizados, juntar palavras, verificar se uma palavra aparece em outra ou até contar quantos caracteres tem uma frase.
- Listas: Os blocos de lista ajudam a organizar informações em sequência, como uma lista de itens de compras ou números ordenados. Com eles, você pode adicionar, remover ou encontrar elementos específicos em uma lista, facilitando a manipulação de dados.
- Variáveis: As variáveis funcionam como caixinhas que guardam informações que podem mudar ao longo do tempo. Por exemplo, você pode criar uma variável chamada "pontos" para armazenar a pontuação de um jogo e atualizar esse valor conforme o jogo avança.
- Funções: Os blocos de função permitem criar conjuntos de ações que podem ser reutilizados em diferentes partes do projeto. Pense neles como uma receita: você monta uma vez e pode chamá-la quantas vezes quiser, tornando tudo mais organizado e eficiente.
Pipelines
As pipelines são uma forma poderosa de organizar fluxos de interação com o usuário, especialmente em sistemas que precisam de entradas dinâmicas e respostas interativas. No questionários e ações, criar uma pipeline é simples e intuitivo, pois tudo é feito através de blocos que representam cada etapa do processo.

Cada bloco desempenha uma função, veja abaixo:
- Bloco "pipelines - criar lista com"
- Função: Cria uma lista para armazenar pipelines. As pipelines são fluxos de interação que conectam várias etapas ou ações.
- Bloco "criar pipeline com as iterações":
- Função: Define um pipeline específica com um nome personalizado e as iterações que ele conterá.
- Parâmetros:
- Nome da pipeline: Identifica a pipeline.
- Iterações: Define quais etapas (ou interações) fazem parte do fluxo.
- Uso: Este é o ponto central de criação da pipeline, conectando diferentes etapas.
- Bloco "nome da interação":
- Função: Define as iterações dentro da pipeline.
- Parâmetros:
- Nome da iteração: Define o nome da iteração da pipeline.
- Mensagem de saída: Texto ou instrução exibida ao usuário durante a interação.
- Mostrar interação: Define se a interação será visível (verdadeiro) ou oculta (falso).
- Aceitar entrada: Configura se a interação aceita dados do usuário.
- Mensagem de rejeição: Texto exibido caso a entrada do usuário seja inválida.
- Uso: Configura o comportamento de uma etapa na pipeline.
- Bloco "chave - valor" -
- Função: Define pares de chave-valor. Muito útil para armazenar dados ou configurar informações dentro de uma interação ou função.
- Parâmetros:
- Chave: Nome que identifica o dado.
- Valor: Conteúdo associado à chave.
- Uso: Esse bloco é usado para manipular e organizar dados na pipeline.
- Bloco "referenciar função"
- Função: Faz referência a uma função previamente definida no sistema.
- Parâmetros:
- Nome da função: A função que será chamada quando o bloco for executado.
- Uso: Este bloco é utilizado para reaproveitar comportamentos ou lógicas já implementadas.
- Bloco "função com argumentos - criar lista com" -
- Função: Define uma função com argumentos que podem ser passados quando ela for chamada.
- Parâmetros:
- Nome da função: Identifica a função.
- Argumentos: Lista de variáveis ou parâmetros que a função utiliza.
- Uso: Permite criar funções reutilizáveis que podem ser configuradas dinamicamente com base nos argumentos fornecidos.
- Bloco "função com argumentos (repetição)"
- Função: Similar ao bloco anterior, define uma função com argumentos, mas aqui pode ser usado em outro contexto ou repetido.
- Bloco "definir variável local "i" para"
- Função: Cria uma variável local (visível apenas dentro do contexto onde foi definida) e atribui um valor a ela.
- Parâmetros:
- Nome da variável: Identifica a variável (neste caso, i).
- Valor: O conteúdo inicial da variável.
- Uso: Este bloco é útil para armazenar temporariamente valores ou realizar cálculos locais.
Criando uma pipeline simples
Neste exemplo, vamos criar uma pipeline básica chamada pipeline_exemplo que solicita três informações do usuário:
- O Nome do usuário,
- A Idade do usuário,
- E qual o Problema ele deseja resolver.
Além de aprender a criar a pipeline, você verá como configurar mensagens personalizadas e validar as entradas do usuário. Com este passo a passo detalhado e ilustrado, você conseguirá criar suas próprias pipelines para atender a diversas necessidades.
Exemplo prático
Siga as instruções abaixo para criar e configurar sua pipeline.
Passo 1: Definir nome da pipeline
- No menu Pipelines, localize o bloco "pipelines" > "criar lista com"
- Arraste o bloco para o espaço de trabalho.
- No menu Texto, arraste o primeiro bloco "( )".
- Conecte ao espaço disponível no bloco "criar lista com".
- Clique no campo de texto do bloco e insira o nome da pipeline: pipeline_exemplo.
Observação: Para remover os campos de conexões que não serão utilizados, basta clicar na engrenagem e arrastar o campo "Item" para fora.

Passo 2: Iniciar a Pipeline
- No menu Pipelines, localize o bloco "criar pipeline com as iterações" > "criar lista com".
- Arraste o bloco para o espaço de trabalho.
- No campo de texto do bloco, insira o nome da pipeline: pipeline_exemplo.

Passo 3: Configurar as Iterações
Agora, você configurará as etapas (iterações) da pipeline. Este exemplo inclui três etapas: Perguntar o nome, Perguntar a idade e Perguntar o problema.
Etapa 1: Perguntar o Nome
- No menu Pipelines, localize o bloco "nome da interação"
- Arraste-o para o espaço de trabalho.
- Preencha os campos do bloco:
- Nome da interação: Digite perguntar_nome.
- Mensagem de saída: Escreva "Por favor, informe seu nome"
- Mostrar interação: Selecione verdadeiro.
- Aceitar entrada: Selecione verdadeiro.
- Mensagem de rejeição: Escreva "Tente novamente."

Etapa 2: Perguntar a Idade
- Arraste outro bloco "nome da interação" para o espaço de trabalho.
- Preencha os campos do bloco:
- Nome da interação: Digite perguntar_idade.
- Mensagem de saída: Escreva "Qual é a sua idade?"
- Mostrar interação: Selecione verdadeiro.
- Aceitar entrada: Selecione verdadeiro.
- Mensagem de rejeição: Escreva "Idade inválida. Tente novamente."
Observação: Utileze como referência a imagem da Etapa 1.
Etapa 3: Perguntar o Problema
- Adicione mais um bloco "nome da interação" ao espaço de trabalho.
- Preencha os campos do bloco:
- Nome da interação: Digite perguntar_problema.
- Mensagem de saída: Escreva "Qual é o problema que deseja resolver?"
- Mostrar interação: Selecione verdadeiro.
- Aceitar entrada: Selecione verdadeiro.
- Mensagem de rejeição: Escreva "Entrada inválida. Por favor, tente novamente."
Observação: Utileze como referência a imagem da Etapa 1.
Passo 4: Conectar as Iterações à Pipeline
- Certifique-se de que as três iterações foram criadas:
- perguntar_nome
- perguntar_idade
- perguntar_problema
- No menu Texto, arraste três blocos de texto " " (campo de texto vazio) para o espaço de trabalho.
- Em cada bloco de texto, escreva os nomes das iterações criadas: perguntar_nome, perguntar_idade, e perguntar_problema.
- Conecte os blocos de texto ao campo "criar lista com" do bloco "criar pipeline com as iterações".
- Verifique se todas as interações estão conectadas corretamente à lista.

Checagem final
Após seguir todos os passos, revise o fluxo completo no espaço de trabalho. Certifique-se de que:
- O nome da pipeline está correto: pipeline_exemplo.
- As três iterações foram criadas e configuradas corretamente.
- As iterações estão conectadas ao bloco principal.
Se tudo estiver correto, sua pipeline estará funcional e pronta para uso. Ela seguirá o seguinte fluxo:
- Pergunta o nome do usuário.
- Pergunta a idade do usuário.
- Pergunta qual problema o usuário deseja resolver.
Testar a pipeline
Para validar a lógica da sua pipeline, utilize o botão Testar, disponível no canto superior direito do editor visual.

Ao clicar na opção Testar, uma janela será exibida para que você possa interagir com o fluxo criado e verificar se ele está funcionando conforme o esperado.

Webserver
Com os blocos de webserver, você pode configurar interações com servidores na web, como enviar ou receber informações. Eles são úteis para criar sistemas que se comunicam com outros serviços online ou para criar funcionalidades como APIs dentro do seu projeto.
Lixeira
A lixeira permite que você remova blocos arrastando-os até ela. Se precisar, basta clicar na lixeira para abrir uma lista com os blocos descartados, permitindo que você os recupere quando necessário.

Menu de contexto
O menu de contexto é exibido quando você clica com o botão direito do mouse ou pressiona por alguns instantes certos elementos no espaço de trabalho, como o fundo ou os blocos. Ele apresenta uma lista de ações disponíveis para o elemento selecionado. Veja abaixo:

Outras ferramentas do Editor Visual
O editor visual oferece outras ferramentas que tornam a navegação e organização mais prática e eficiente. Confira os recursos apresentados na imagem abaixo:

- Mini mapa: Exibe uma visão reduzida do espaço de trabalho, permitindo localizar rapidamente áreas específicas quando há muitos blocos distribuídos. Ideal para facilitar a navegação em projetos maiores.
- Maximizar: Expande os blocos para ocupar todo o espaço de trabalho, proporcionando um visão melhor dos blocos já criados. Útil para evitar distrações e aproveitar melhor o ambiente de trabalho.
- Auto organizar: Realinha automaticamente os blocos no espaço de trabalho, organizando-os de forma clara e eficiente. Essa função é ideal para manter os fluxos bem estruturados.
- Voltar: Localizada ao lado do título "Editor Visual", a seta permite retornar facilmente ao menu principal do questionários e ações, proporcionando acesso rápido às demais funcionalidades.
- Salvar: Grava as alterações feitas no projeto atual, garantindo que nenhum progresso seja perdido.
Código
Para acessar o código, selecione o card desejado na lista do Workspace e clique na opção "Código", conforme indicado na imagem abaixo:

Para criar um "Novo item", clique no ícone com o símbolo de "+", localizado ao lado da palavra "Raiz".

Digite o nome para o item e escolha se ele será um "Arquivo" ou "Pasta". Após preencher as informações, clique em "Salvar" para finalizar a criação.

Editor de código
Após criar a pasta e o arquivo, a tela de edição de código será exibida, oferecendo um ambiente semelhante ao de um editor de texto avançado.
Essa tela permite que você escreva o código necessário para configurar sua pipeline. Na imagem abaixo, estão destacados a área principal para edição do código, o botão para salvar as alterações e o arquivo criado dentro da pasta, onde o código será inserido.

- Área de código: Aqui é onde você vai inserir o código da sua pipeline. Você pode digitar diretamente ou colar o código se já o tiver pronto.
- Botão "Salvar": Após finalizar a edição do código, clique em "Salvar" para garantir que suas alterações sejam aplicadas.
- Lista de arquivos: No painel lateral, você pode navegar entre os arquivos e pastas criados, como mostrado no exemplo.
Com essas ferramentas, você pode facilmente criar, editar e organizar as pipelines diretamente pelo sistema.
Outras Funções
O sistema de questionários e ações oferece diversas funcionalidades adicionais para facilitar a gestão e personalização dos seus Workspaces. Confira na imagem abaixo:

Funcionalidades disponíveis:
- Sincronizar todos: Permite sincronizar todas as alterações realizadas nos Workspaces com o repositório GIT conectado.
- Sincronizar (Card): Atualiza as alterações mais recentes daquele card, garantindo que os dados estejam sempre em sincronia.
- Editar nome: Você pode alterar o nome do Workspace de forma simples. Basta clicar no ícone de lápis ou diretamente sobre o nome do Workspace. Após digitar o novo nome, clique fora da caixa para salvar automaticamente a alteração.
- Download: Esta opção permite fazer o download completo de todas as criações realizadas no editor visual e no código. Assim, você pode manter uma cópia local do conteúdo para backup ou análise.
- Visualizar Logs: Clique no ícone em formato de "bug" para acessar o log de atividades do Workspace. Essa funcionalidade permite acompanhar de forma detalhada as alterações, sincronizações e outros eventos importantes, facilitando o monitoramento. Ao clicar, uma nova página será aberta exibindo todos os registros dos logs.


