Saiba mais sobre como fazer a validação e direcionar o usuário para diferentes caminhos, além de recorrer às variáveis no Chatbot de fluxos do Zenvia Customer Cloud.
Contexto
O chatbot de fluxos do Zenvia Customer Cloud não tem um "validador de horário" nativo. Mas você pode montar essa lógica usando variáveis e condições dentro do construtor para verificar o horário atual ou comparar com um informado pelo usuário.
Para validar horário existem duas abordagens:
- Baseada na hora atual do sistema(via uma API externa que retorne a hora e data)
- Baseada na hora que o contato informou(usando a resposta do usuário no fluxo)
Montando o fluxo
Passo 1 - Capturando o horário
Você precisará armazenar o horário que deseja validar usando variáveis:
- Se usuário informar o horário:
- Use um bloco de Campo aberto solicitando: Digite seu horário no formato HH:MM.
- Defina uma variável para esse campo, por exemplo:
<?$horarioInformado?> - Se for usar a hora atual:
- Utilize uma Chamada de API para pedir ao servidor/serviço de hora um retorno no formato de horas/minutos.
- Salve esse retorno numa variável, por exemplo:
<?$horaAtual?>
Passo 2 - Criando a lógica de validação
Depois de capturar o valor, você precisa usar um Destino no construtor para comparar.
1. No bloco de validação, acesse Destinos.
2. Crie uma regra:
- Se o atributo:
<?$horarioInformado?> - Operador: Maior ou igual a / Menor ou igual a
- Valor: intervalo desejado (exemplo 08:00 e 18:00 ou valores numéricos, como 8 e 18 se usar só horas).
- Defina Ir para: o bloco de atendimento normal (se dentro do horário) ou o bloco de aviso (fora do horário).
Passo 3 - Usando variáveis corretamente
No construtor, para usar informações capturadas:
Variáveis básicas:
<?$name?> → Nome do contato
<?$phone?> → Telefone
<?$email?> → Email
<?$visitor.firstName?>, <?$visitor.lastName?>→ Nome vindo da conta social do canal
Variáveis personalizadas:
- Criadas no fluxo ou via upload/API na base de contatos.
- Você chama assim:
<?$minhaVariavel?>. - Onde minhaVariavel é o nome que definiu na etapa de criação.
<?$name?>”) quanto para validar em Destinos.Se a variável vier de um bloco Campo aberto, ela só terá valor após aquele bloco ser executado.
Em chamadas de API no fluxo, as variáveis podem receber dados retornados (ex.: <?$resposta_api.body.horario?>).
Exemplo prático - Validação de horário de atendimento
Suponha que você atenda das 08h às 18h.
Fluxo:
1. Bloco “Boas-vindas”:
"Olá, <?$name?> ! Para continuar, preciso verificar se estamos dentro do horário de atendimento."
2. Bloco Captura Horário:
Configuração de Chamada de API para buscar hora atual do servidor (ou Campo aberto para entrada do usuário) → variável <?$horaAtual?>.
3. Bloco Validação:
Destinos:
- Se <
<?$horaAtual?>Maior ou igual a 8 E<?$horaAtual?>Menor ou igual a 18 → bloco Atendimento disponível. - Caso contrário → bloco “Fora do horário – mensagem automática".
4. Bloco Atendimento disponível: "Estamos dentro do horário, vou te transferir para um atendente humano".
5. Bloco Fora do horário: No momento estamos fora do expediente. Nosso horário é das 08h às 18h. Por favor, volte nesse período.
Checklist para funcionar bem
- Criar a variável onde vai guardar o horário.
- Decidir se vai pegar do usuário ou de uma API.
- Usar Destinos no bloco para comparar valores.
- Testar o fluxo no botão Testar chatbot.
- Publicar o bot para que as regras entrem em produção.
Para saber sobre Como criar e configurar variáveis em um chatbot, confira a documentação.