Estruturas de containers AnnA
Containers AnnA são classificados com os tipos abaixo:
- Message
- ButtonLink
- Time
- Multimedia
- ExecFunction
- Question
- Alternative
Com o novo Web Service V3, você terá a seguinte estrutura:
Message container
Envia uma mensagem ao usuário
PropName | PropValue | Descrição | Padrão | Obrigatório |
---|---|---|---|---|
Type | MESSAGE | Tipo do container | Sim | |
Alias | Message123 | Use para identificar o container após o nó de WebService ser executado, por exemplo, Message123. | Não | |
RestrictToGroup | Restringe a execução do container por grupo de usuário | Não | ||
BeforeExecutionRule | Deve ser uma expressão. Você pode utilizar funções AnnA que retornem “true” ou “false” para decidir se o container deve ser executado | Não | ||
Phrase | Hello AnnA! | Texto que será enviado ao usuário | Sim |
ButtonLink container
Envia uma mensagem que contém um botão com um link incorporado
PropName | PropValue | Descrição | Padrão | Obrigatório |
---|---|---|---|---|
Tipo | MESSAGE | Tipo do contêiner | Sim | |
Alias | Message123 | Use para identificar o contêiner após a execução do nó WebService, por exemplo, Message123. | Não | |
RestrictToGroup | Restringe a execução do contêiner por grupo de usuários | Não | ||
BeforeExecutionRule | Deve ser uma expressão. Você pode usar Funções AnnA que retornem “true” ou “false” para decidir se este contêiner deve rodar | Não | ||
Phrase | Hello AnnA! | Texto que será enviado ao usuário | Sim | |
PhraseHeader | Texto do cabeçalho que será enviado ao usuário. | Não | ||
PhraseFooter | Texto do rodapé que será enviado ao usuário. | Não | ||
ButtonLinkText | Texto que será mostrado no botão para o usuário. | Sim | ||
ButtonLinkURL | URL que será aberta quando o usuário clicar no botão. | Sim |
Time container
Espera um tempo antes de continuar a execução dos containers
PropName | PropValue | Descrição | Padrão | Obrigatório |
---|---|---|---|---|
Type | TIME | Tipo do container | Sim | |
Alias | Time123 | Use para identificar o container após o nó de WebService ser executado, por exemplo, Time123. | Não | |
RestrictToGroup | Restringe a execução do container por grupo de usuário | Não | ||
BeforeExecutionRule | Deve ser uma expressão. Você pode utilizar funções AnnA que retornem “true” ou “false” para decidir se o container deve ser executado | Não | ||
ShowMessage | Define se a mensagem deve ser exibida | S | Não | |
Message | Texto que será enviado para o usuário, por exemplo, Hello World! | Wait @@TimeToWait@@s | Não | |
TimeToWait | 5 | Define o tempo de pausa da execução em segundos | 0 | S |
Multimedia container
Envia arquivos de multimídia para o usuário, por exemplo, imagens, vídeos, áudios, e documentos.
PropName | PropValue | Descrição | Padrão | Obrigatório |
---|---|---|---|---|
Type | MULTIMEDIA | Tipo do container | Sim | |
Alias | Media123 | Use para identificar o container após o nó de WebService ser executado, por exemplo, Media123. | Não | |
RestrictToGroup | Restringe a execução do container por grupo de usuário | Não | ||
BeforeExecutionRule | Deve ser uma expressão. Você pode utilizar funções AnnA que retornem “true” ou “false” para decidir se o container deve ser executado | Não | ||
Phrase | Texto que será enviado para o usuário, por exemplo, Hello World! | Não | ||
MediaURL | URL de download do arquivo, por exemplo, https://seu.dominio/rota/para/arquivo.extensão | Sim |
ExecFunction container
Executa uma ou mais funções AnnA
PropName | PropValue | Descrição | Padrão | Obrigatório |
---|---|---|---|---|
Type | EXECFUNCTION | Tipo do container | Sim | |
Alias | ExecFunc123 | Use para identificar o container após o nó de WebService ser executado, por exemplo, ExecFunc123. | Não | |
RestrictToGroup | Restringe a execução do container por grupo de usuário | Não | ||
BeforeExecutionRule | Deve ser uma expressão. Você pode utilizar funções AnnA que retornem “true” ou “false” para decidir se o container deve ser executado | Não | ||
Expression | AddParm(Teste1,123) AddParm(Teste,456) | Defina expressões com funções AnnA, por exemplo, AddParm(Test1,123) AddParm(Test,456) | Sim |
Question container
Envia uma questão para o usuário
PropName | PropValue | Descrição | Padrão | Obrigatório |
---|---|---|---|---|
Type | QUESTION | Tipo do container | Sim | |
Alias | Question123 | Use para identificar o container após o nó de WebService ser executado, por exemplo, Question123. | Não | |
RestrictToGroup | Restringe a execução do container por grupo de usuário | Não | ||
BeforeExecutionRule | Deve ser uma expressão. Você pode utilizar funções AnnA que retornem “true” ou “false” para decidir se o container deve ser executado | Não | ||
Phrase | Texto da questão que será enviada para o usuário | Sim | ||
Competence | Competência deste container. Pode ser uma competência cadastrada pela empresa ou uma nova competência que será criada durante o processamento. | Não | ||
Subject | Assunto deste container. Pode ser um assunto cadastrado pela empresa ou um novo assunto que será criado durante o processamento | Não | ||
Topic | Tópico dentro de um Assunto. Pode ser um Tópico cadastrado em um Assunto desta empresa ou um novo tópico que será criado durante o processamento dentro do Assunto no campo anterior. | Não | ||
IgnoreExecFluxo | É possível configurar um container para suspender a permissão de um usuário chamar outro serviço enquanto a questão não for respondia. | N | Não | |
SensitiveData | Ativar este recurso faz com que qualquer resposta de usuário armazenada em nosso banco de dados seja criptografada utilizando a chave de criptografia da empresa. | N | Não | |
RightAnswer | Ativar este recurso obriga que para prosseguir, a resposta do usuário deve coincidir com uma das respostas permitidas no PropValue do PropName PossibleAnswers | N | Não | |
RightAnswerValue | Um Valor para a Questão, que poderá ser utilizado em estatísticas | Não | ||
AnswerType | Define se algum feedback deve ser enviado ao usuário após responder a questão. Valores permitidos: N, Q. N = Não enviar nada, Q = Enviar o conteúdo de CorrectAnswerComment e IncorrectAnswerComment | N | Não | |
CorrectAnswerComment | Defina qual mensagem deve ser exibida quando o usuário acertar a resposta definida no PropValue do PropName PossibleAnswers | Não | ||
IncorrectAnswerComment | Defina qual mensagem deve ser exibida quando o usuário não acertar nenhuma resposta dentre as respostas definidas no PropValue do PropName PossibleAnswers | Não | ||
DynamicValidations | Você pode utlizar Funções Anna para ler a resposta do usuário e construir uma expressão que retorne TRUE ou FALSE para que o fluxo só prossiga quando a expressão seja verdadeira. | Não | ||
ValidationError | Defina uma mensagem que será exibida após o usuário responder a questão e o resultado da Validação Dinâmica for FALSE | Não | ||
ValidationMask | Utilize as Funções Anna de Máscara para mascarar a resposta do usuário. Respostas mascaradas podem ser recuperadas por Funções AnnA | Não | ||
ExternalData | É possivel guardar neste campo qualquer informação que desejar recuparar através das funções ‘LastAnswerJSON()’ e ‘AnswersJSON()‘ | Não | ||
PossibleAnswers | Json das possíveis repostas do usuário para a pergunta quando RightAnswer=S | Não |
Possible Answers
Essa estrutura deve ser apenas uma coleção de objetos com PropName e PropValue:
Por exemplo, se a questão for “1 + 1 = ?“. As possíveis respostas seriam:
Alternative container
Envia uma questão de múltipla escolha para o usuário.
PropName | PropValue | Descrição | Padrão | Obrigatório |
---|---|---|---|---|
Type | ALTERNATIVE | Tipo do container | Sim | |
Alias | Alternative123 | Use para identificar o container após o nó de WebService ser executado, por exemplo, Alternative123. | Não | |
RestrictToGroup | Restringe a execução do container por grupo de usuário | Não | ||
BeforeExecutionRule | Deve ser uma expressão. Você pode utilizar funções AnnA que retornem “true” ou “false” para decidir se o container deve ser executado | Não | ||
Phrase | Texto da questão que será enviada para o usuário | Sim | ||
Competence | Competência deste container. Pode ser uma competência cadastrada pela empresa ou uma nova competência que será criada durante o processamento. | Não | ||
Subject | Assunto deste container. Pode ser um assunto cadastrado pela empresa ou um novo assunto que será criado durante o processamento | Não | ||
Topic | Tópico dentro de um Assunto. Pode ser um Tópico cadastrado em um Assunto desta empresa ou um novo tópico que será criado durante o processamento dentro do Assunto no campo anterior. | Não | ||
Enumeration | Essa opção permite definir como as alternativas do container devem ser enumeradas. N = Números, L = Letras, R = Romanos, I = Lista (WhatsApp Popup), B = Botões (WhatsApp Buttons) | N | Não | |
Randomize | Embaralha as alternativas antes de exibir para o usuário. Por padrão tem valor ‘N’ | N | Não | |
RightAnswer | Ativar este recurso obriga que para prosseguir, a resposta do usuário deve coincidir com uma das respostas permitidas no PropValue do PropName PossibleAnswers | N | Não | |
AnswerType | Define se algum feedback deve ser enviado ao usuário após responder a questão. Valores permitidos: N, Q. N = Não enviar nada, Q = Enviar o conteúdo de CorrectAnswerComment e IncorrectAnswerComment Padrãos to ‘N’ | N | Não | |
AnswerTypeComment | Defina qual mensagem deve ser exibida quando o usuário responder a questão | Não | ||
ExternalData | É possivel guardar neste campo qualquer informação que desejar recuparar através das funções ‘LastAnswerJSON()’ e ‘AnswersJSON()‘ | Não | ||
Alternatives | Coleção/vetor de alternativas | Sim |
Alternatives
Essa estrutura é semelhante ao primeiro nível de container, nela temos uma coleção de PropName e PropValue onde PropName será “Alternative+Sequencia” e PropValue será um PropJSON
Primeiramente, a estrutura de uma alternativa:
PropName | PropValue | Descrição | Padrão | Obrigatório |
---|---|---|---|---|
Alias | Um alias é um apelido que pode ser utilizado para identificar a alternativa caso necessite referenciar em alguma função. | Não | ||
RestrictToGroup | Informe o alias de um grupo de usuários que esteja cadastrado na empresa para que este container seja restrito a este grupo. | Não | ||
ExhibitionRule | Defina aqui uma expressão, usando funções Anna para que se verdadeiro o container seja processado. | Não | ||
Phrase | Texto da alternativa | Sim | ||
IsCorrectAnswer | Determina se é uma alternativa correta, somente uma alternativa correta por questão. Atenção: “S” só será permitido ser a questão for do tipo “AnswerType=S” | Não | ||
AlternativeValue | Um Valor para a alternativa, que poderá ser utilizado em estatísticas | Não | ||
Order | Ordem da alternativa | Não | ||
Comment | Defina qual mensagem deve ser exibida quando o usuário responder a questão | Não |
Exemplo: