Pular para o conteúdo

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:

[
{
"Type": "MESSAGE",
"Alias": "MSG01",
"Phrase": "Hello1",
"Active": "S",
"RestrictToGroup": "",
"BeforeExecutionRule": ""
},
{
"Type": "TIME",
"Alias": "TIME01",
"TimeToWait": "5",
"ShowMessage": "S",
"Message": "Aguarde @@TimeToWait@@s",
"Active": "S",
"RestrictToGroup": "",
"BeforeExecutionRule": ""
}
]

Message container

Envia uma mensagem ao usuário

PropNamePropValueDescriçãoPadrãoObrigatório
TypeMESSAGETipo do containerSim
AliasMessage123Use para identificar o container após o nó de WebService ser executado, por exemplo, Message123.Não
RestrictToGroupRestringe a execução do container por grupo de usuárioNão
BeforeExecutionRuleDeve ser uma expressão. Você pode utilizar funções AnnA que retornem “true” ou “false” para decidir se o container deve ser executadoNão
PhraseHello AnnA!Texto que será enviado ao usuárioSim

Envia uma mensagem que contém um botão com um link incorporado

PropNamePropValueDescriçãoPadrãoObrigatório
TipoMESSAGETipo do contêinerSim
AliasMessage123Use para identificar o contêiner após a execução do nó WebService, por exemplo, Message123.Não
RestrictToGroupRestringe a execução do contêiner por grupo de usuáriosNão
BeforeExecutionRuleDeve ser uma expressão. Você pode usar Funções AnnA que retornem “true” ou “false” para decidir se este contêiner deve rodarNão
PhraseHello AnnA!Texto que será enviado ao usuárioSim
PhraseHeaderTexto do cabeçalho que será enviado ao usuário.Não
PhraseFooterTexto do rodapé que será enviado ao usuário.Não
ButtonLinkTextTexto que será mostrado no botão para o usuário.Sim
ButtonLinkURLURL 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

PropNamePropValueDescriçãoPadrãoObrigatório
TypeTIMETipo do containerSim
AliasTime123Use para identificar o container após o nó de WebService ser executado, por exemplo, Time123.Não
RestrictToGroupRestringe a execução do container por grupo de usuárioNão
BeforeExecutionRuleDeve ser uma expressão. Você pode utilizar funções AnnA que retornem “true” ou “false” para decidir se o container deve ser executadoNão
ShowMessageDefine se a mensagem deve ser exibidaSNão
MessageTexto que será enviado para o usuário, por exemplo, Hello World!Wait @@TimeToWait@@sNão
TimeToWait5Define o tempo de pausa da execução em segundos0S

Multimedia container

Envia arquivos de multimídia para o usuário, por exemplo, imagens, vídeos, áudios, e documentos.

PropNamePropValueDescriçãoPadrãoObrigatório
TypeMULTIMEDIATipo do containerSim
AliasMedia123Use para identificar o container após o nó de WebService ser executado, por exemplo, Media123.Não
RestrictToGroupRestringe a execução do container por grupo de usuárioNão
BeforeExecutionRuleDeve ser uma expressão. Você pode utilizar funções AnnA que retornem “true” ou “false” para decidir se o container deve ser executadoNão
PhraseTexto que será enviado para o usuário, por exemplo, Hello World!Não
MediaURLURL de download do arquivo, por exemplo, https://seu.dominio/rota/para/arquivo.extensãoSim

ExecFunction container

Executa uma ou mais funções AnnA

PropNamePropValueDescriçãoPadrãoObrigatório
TypeEXECFUNCTIONTipo do containerSim
AliasExecFunc123Use para identificar o container após o nó de WebService ser executado, por exemplo, ExecFunc123.Não
RestrictToGroupRestringe a execução do container por grupo de usuárioNão
BeforeExecutionRuleDeve ser uma expressão. Você pode utilizar funções AnnA que retornem “true” ou “false” para decidir se o container deve ser executadoNão
ExpressionAddParm(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

PropNamePropValueDescriçãoPadrãoObrigatório
TypeQUESTIONTipo do containerSim
AliasQuestion123Use para identificar o container após o nó de WebService ser executado, por exemplo, Question123.Não
RestrictToGroupRestringe a execução do container por grupo de usuárioNão
BeforeExecutionRuleDeve ser uma expressão. Você pode utilizar funções AnnA que retornem “true” ou “false” para decidir se o container deve ser executadoNão
PhraseTexto da questão que será enviada para o usuárioSim
CompetenceCompetência deste container. Pode ser uma competência cadastrada pela empresa ou uma nova competência que será criada durante o processamento.Não
SubjectAssunto deste container. Pode ser um assunto cadastrado pela empresa ou um novo assunto que será criado durante o processamentoNão
TopicTó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.NNão
SensitiveDataAtivar 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.NNão
RightAnswerAtivar este recurso obriga que para prosseguir, a resposta do usuário deve coincidir com uma das respostas permitidas no PropValue do PropName PossibleAnswersNNão
RightAnswerValueUm Valor para a Questão, que poderá ser utilizado em estatísticasNão
AnswerTypeDefine 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 IncorrectAnswerCommentNNão
CorrectAnswerCommentDefina qual mensagem deve ser exibida quando o usuário acertar a resposta definida no PropValue do PropName PossibleAnswersNão
IncorrectAnswerCommentDefina qual mensagem deve ser exibida quando o usuário não acertar nenhuma resposta dentre as respostas definidas no PropValue do PropName PossibleAnswersNão
DynamicValidationsVocê 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
ValidationErrorDefina uma mensagem que será exibida após o usuário responder a questão e o resultado da Validação Dinâmica for FALSENão
ValidationMaskUtilize as Funções Anna de Máscara para mascarar a resposta do usuário. Respostas mascaradas podem ser recuperadas por Funções AnnANão
ExternalDataÉ possivel guardar neste campo qualquer informação que desejar recuparar através das funções ‘LastAnswerJSON()’ e ‘AnswersJSON()‘Não
PossibleAnswersJson das possíveis repostas do usuário para a pergunta quando RightAnswer=SNã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:

["Two", "2"]

Alternative container

Envia uma questão de múltipla escolha para o usuário.

PropNamePropValueDescriçãoPadrãoObrigatório
TypeALTERNATIVETipo do containerSim
AliasAlternative123Use para identificar o container após o nó de WebService ser executado, por exemplo, Alternative123.Não
RestrictToGroupRestringe a execução do container por grupo de usuárioNão
BeforeExecutionRuleDeve ser uma expressão. Você pode utilizar funções AnnA que retornem “true” ou “false” para decidir se o container deve ser executadoNão
PhraseTexto da questão que será enviada para o usuárioSim
CompetenceCompetência deste container. Pode ser uma competência cadastrada pela empresa ou uma nova competência que será criada durante o processamento.Não
SubjectAssunto deste container. Pode ser um assunto cadastrado pela empresa ou um novo assunto que será criado durante o processamentoNão
TopicTó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
EnumerationEssa 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)
NNão
RandomizeEmbaralha as alternativas antes de exibir para o usuário. Por padrão tem valor ‘N’NNão
RightAnswerAtivar este recurso obriga que para prosseguir, a resposta do usuário deve coincidir com uma das respostas permitidas no PropValue do PropName PossibleAnswersNNão
AnswerTypeDefine 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’NNão
AnswerTypeCommentDefina qual mensagem deve ser exibida quando o usuário responder a questãoNão
ExternalDataÉ possivel guardar neste campo qualquer informação que desejar recuparar através das funções ‘LastAnswerJSON()’ e ‘AnswersJSON()‘Não
AlternativesColeção/vetor de alternativasSim

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:

PropNamePropValueDescriçãoPadrãoObrigatório
AliasUm alias é um apelido que pode ser utilizado para identificar a alternativa caso necessite referenciar em alguma função.Não
RestrictToGroupInforme o alias de um grupo de usuários que esteja cadastrado na empresa para que este container seja restrito a este grupo.Não
ExhibitionRuleDefina aqui uma expressão, usando funções Anna para que se verdadeiro o container seja processado.Não
PhraseTexto da alternativaSim
IsCorrectAnswerDetermina 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
AlternativeValueUm Valor para a alternativa, que poderá ser utilizado em estatísticasNão
OrderOrdem da alternativaNão
CommentDefina qual mensagem deve ser exibida quando o usuário responder a questãoNão

Exemplo:

[
{
"Phrase": "2 two",
"Alias": "Alternative001",
"IsCorrectAnswer": "S",
"Order": "1"
},
{
"Phrase": "5 five",
"Alias": "Alternative002",
"Order": "2"
}
]