O comando VALID_BUTTONS é usado para criar a validação de uma pergunta, por exemplo, a pessoa não seleciona um item da pergunta, ao invés disso ela digita um texto, é enviada para ela novamente a mesma pergunta, sem a necessidade de adicionar no script a pergunta novamente.
Para fazer perguntas usando botões adicionamos à QUESTION o quarto parâmetro.
Observação:
O texto do botão pode ter no máximo 20 caracteres.
QUESTION('Escolha uma profissão ou digite outra', 'profissao', 'VALID_BUTTONS ', ['Advogado', 'Médico', 'Engenheiro']);
MESSAGE('Você escolheu a profissão: ' + data?.profissao);
O mesmo comando de VALID_BUTTONS é usado para validação das respostas, quanto se tem uma lista, se a pessoa não responder um item da lista é feito a pergunta novamente.
Para fazer perguntas usando listas adicionamos à QUESTION o quarto e quinto parâmetro.
Observação:
O texto do item da lista pode ter no máximo 20 caracteres.
Acima de 3 opções o sistema já constrói uma lista.
Poderá ser criado uma lista de até 10 itens.
QUESTION('Escolha o plano desejado', 'plano', 'VALID_LIST',
['Ouro', 'Prata', 'Bronze', 'Diamante', 'Esmeralda'], 'Selecionar plano');
MESSAGE('Você escolheu o plano: ' + data?.plano);
Funciona da mesma maneira da LISTA, mas com a possibilidade de adicionar uma descrição maior para os itens da lista. Para incluir descrições nos itens da lista substitua os valores simples dentro do array de opções da lista por objetos contendo {title e description}.
QUESTION('Essa é uma lista com descrição nos itens', 'btn1', 'VALID_LIST', [
{title: 'Sim', description: '🟢 Caso você escolha essa opção estará aceitando a lista.'},
{title: 'Não', description: '🔴 Caso escolha essa opção estará negando a lista.'},
{title: 'Mais tarde', description: '🟡 Você poderá receber outra notificação desta lista.'},
{title: 'Não pertube', description: '🔕 Você será retirado desta lista.'}
], 'Clique aqui');
Usar o comando VALID_EMAIL deve ser inserido para verificar se a resposta for um e-mail, para isso, o seu cliente/lead tem que preencher a resposta com o e-mail correto, caso isso não aconteça será enviada para a pessoa novamente a mesma pergunta.
Exemplo:
QUESTION('Digite seu e-mail', 'email', 'VALID_EMAIL');
O comando VALID_CPF é usado validar o campo de de CPF do usuário, assim, a eficiência dos dados cadastrados será maior. Se a pessoa não preencher corretamente, será enviado a mesma pergunta novamente.
Exemplo:
QUESTION('Digite seu CPF', 'cpf', 'VALID_CPF');
Temos um comando que se adicionado no TagScript, captura os dados do endereço do cliente a partir do CEP. Por exemplo, você precisa capturar os dados de Cidade e Estado do seu cliente e tem que salvar essas informações, é possível.
Temos um script pronto customizável, mas pode ser alterado conforme a sua necessidade. Esse exemplo está na área de exemplos de Templates no Custom.
/*
Para consultar e validar CEP, usa-se a função ADDRESS_BY_ZIPCODE
ADDRESS_BY_ZIPCODE recebe 2 parâmetros
ADDRESS_BY_ZIPCODE(cep, país);
---------------------------------------------------------------------------------------
*/
let street = null;
let city = null;
let country = null;
let state = null;
let complement = null;
let neighborhood = null;
let zipcode = null;
/* No exemplo a seguir, perguntamos qual o cep do lead, atribundo a resposta na variável 'cep' */
QUESTION('Qual o seu CEP?', 'cep', 'string');
ADDRESS_BY_ZIPCODE(data?.cep, 'br');
/* Em seguida validamos se o cep informado retorna endereço, do contrário pergunta para o lead o dado faltante */
if (data?.ADDRESS_BY_ZIPCODE?.city) city = data?.ADDRESS_BY_ZIPCODE?.city;
else {
QUESTION('Não consegui achar sua cidade, você pode me informar?', 'cidade', 'string');
city = data?.cidade;
}
if (data?.ADDRESS_BY_ZIPCODE?.country) country = data?.ADDRESS_BY_ZIPCODE?.country;
else {
QUESTION('Não consegui achar seu país, você pode me informar?', 'pais', 'string');
country = data?.pais;
}
if (data?.ADDRESS_BY_ZIPCODE?.street) street = data?.ADDRESS_BY_ZIPCODE?.street;
else {
QUESTION('Não consegui achar sua rua e número da sua casa, você pode me informar?', 'rua', 'string');
street = data?.rua;
}
if (data?.ADDRESS_BY_ZIPCODE?.state) state = data?.ADDRESS_BY_ZIPCODE?.state;
else {
QUESTION('Não consegui achar seu estado (UF), você pode me informar?', 'estado', 'string');
state = data?.estado;
}
if (data?.ADDRESS_BY_ZIPCODE?.neighborhood) neighborhood = data?.ADDRESS_BY_ZIPCODE?.neighborhood;
else {
QUESTION('Não consegui achar seu bairro, você pode me informar?', 'bairro', 'string');
neighborhood = data?.bairro;
}
if (data?.ADDRESS_BY_ZIPCODE?.zipcode) zipcode = data?.ADDRESS_BY_ZIPCODE?.zipcode;
else {
zipcode = data?.cep;
}
MESSAGE(`Vamos confirmar algumas informações. Você mora em *${city}* na rua *${street}*, bairro *${neighborhood}*, estado *${state}*, país *${country}*`);