WhatsApp - Cache de variáveis

Boa tarde,

Temos um Bot dentro do WhatsApp e percebemos que está existindo um cache no valor das variáveis armazenadas pelo Builder.

Mesmo após o tempo de expiração definido para o fluxo, as variáveis permanecem com os valores preenchidos em conversas anteriores deste mesmo usuário.

Alguém já passou por isso? Existe uma maneira simples de garantir que todas as variáveis sejam zeradas quando um novo fluxo é iniciado?

Abs

1 Curtida

Estou com o mesmo problema, lista de contatos fica com a variável que vem do WhatsApp, mas ao entrar no contato, tem as variáveis que coletei no fluxo.

Acredito que tem alguma coisa haver com o tempo de atualização do CRM de contatos.

Realmente não entendi a lógica, eu estou com variáveis que estão preenchidas há mais de 24h.

1 Curtida

É, acontece com comigo mesmo, eu fico puto achando que deu algum bug e não estava coletando rsrs

Olá @tmonaco !
Boas-vindas à Comunidade! :tada: Já que você está chegando agora, vá até a seção Comece Aqui . Nela, você encontra os Primeiros Passos que devem ser dados agora que você é oficialmente um Blipper :blue_heart:


Eu só fiquei com algumas dúvidas, talvez com um exemplo prático fique mais claro… Vocês estão dizendo que, por exemplo:

Se no meu fluxo eu verifico se tem atendente online e armazeno a resposta na variável hasAttendant, quando meu cliente passa pelo bloco de verificação ele recebe essa variável no contato e isso fica armazenado. Daí quando ele volta a conversar, essa variável hasAttendant já existe e está preenchida com o último valor recebido?

É isso que estão dizendo?

No meu caso é exatamente isso…

Inclusive agorinha acabei de pegar um outro cenário, que pode estar relacionado.
A última interação que havia existido com o Bot foi de ontem para hoje às 01h33min da manhã…

Acabei de mandar um “Oi”, às 10h43, ou seja 09h depois, para reiniciar o fluxo e ele continuou exatamente do ponto que estava antes.

Já conferi o tempo de “Expiração de Sessão” tando do Router, como Sub bot e ambos estão com 600 segundos

Certo, mas acredito que ainda tenha uma certa confusão.
Vamos por partes:

1 - Sobre as variáveis ficarem armazenadas no contato, isso acontece de fato e permite mais inteligência pro seu chatbot. Eu reaproveito muito estas variáveis quando meu contato retorna uma conversa. De qualquer maneira, você pode sempre excluir as variáveis de contexto do seu usuário quando achar necessário, dá uma olhada aqui → Delete a Context Variable.

2 - Sobre a Expiração da Sessão, aqui está funcionando corretamente. Acabei de alterar um chatbot e testar e obtive sucesso:
image
Um ponto importante é que depois que eu alterei a expiração da sessão, eu publiquei o bot novamente.

Veja se isso te ajuda.
Qualquer coisa é só nos chamar.

Abraços.

Certo. Sobre as variáveis de contexto, pelo jeito vou ter que bolar uma lógica para zerar tudo quando reinicia o fluxo.

Sobre a expiração, misteriosamente agora está funcionando.
Mas, como garantir que após a expiração ele retorne para o início do Router também? Pois agora ele expira no sub-bot e qdo mando outra msg pelo o início do sub-bot e não do principal

1 Curtida

Certinho! É sempre bom você sempre verificar “se a variável existe” antes de executar a ação de deletá-la. Para garantir que só vai rodar o comando se de fato existir :smiley:

Sobre a expiração no caso de Router, é importante você setar o mesmo tempo no Serviço, tá? Dessa maneira:

Qualquer dúvida corre aqui.

Abraços.