Expiração da Sessão

Vim daqui:


Onde o @Caiof sugeriu:

  • Redefinir a expiração da sessão para 10 segundos, dessa forma depois de 10 segundos todas as sessões dos usuários serão redefinidas, por fim, redefina a expiração da sessão para o valor anterior.

Mais detalhes em: https://help.blip.ai/hc/pt-br/articles/360059353753-Como-expirar-a-sessão-dos-usuários-do-Builder

Ok, até aqui tudo bem.


Porém ao fazer o procedimento sugerido, o contato continuou no bloco em que estava - ou seja, não redefiniu a sessão.

O processo ocorreu no Bot Principal do meu Router.

Alguém já passou por isso? Utiliza a função de expiração de sessão e funciona corretamente?

1 curtida

Update: testei em outro número e funcionou, ou seja, expirou a sessão em 10 segundos.
Depois disso, alterei o tempo para 86400 (24 horas) e publiquei o fluxo, mas esse outro número continua expirando em 10 segundos.

Pelo jeito o tempo definido é setado no primeiro contato e não é atualizado em todos contatos - caso alterado.

Podemos considerar que isso é um #bug ?

Consegue mais detalhes pra nós @Bruno ? Se é esse o comportamento esperado mesmo ou se deveria funcionar conforme o Caio sugeriu no tópico que citei.

Qual alternativa temos pra corrigir isso? Seria toda vez que alterarmos o tempo de expiração, é necessário resetar o flow identifier?

Obrigado desde já!

1 curtida

Olá @GabrielPetrone,

Na realidade minha explicação está errada :frowning:

Para as sessões serem reiniciadas corretamente nesse caso de mudar para 10 segundos, seria necessário que todos seus usuários interajam com seu bot no período que os 10 segundos está setado no bot. Isso torna a solução totalmente inviável :frowning_face:

Vou editar a resposta anterior :grin:

Te indico utilizar a solução “Resetar este identificador e publicar o fluxo” para reiniciar a sessão, acredito que ela funciona corretamente para este caso, basta :tipping_hand_man:t5:

  1. Acessar as “Configurações gerais” do seu bot
  2. Identificar o item “Identificador do fluxo”
    image
  3. Por fim, clicar para “redefinir o identificador do fluo”.

Observação: Evite realizar essa ação durante quanto usuários estão utilizando o bot, seja no fluxo padrão ou no atendimento humano, essa ação reiniciará a sessão de todos os contatos gerando possíveis inconsistências no fluxo caso o usuário esteja utilizando o bot no momento :man_technologist:t5:

Essa solução te atenderia? :thinking:

4 curtidas

Show meu caro! Melhor seria se não precisasse resetar, mas entendo perfeitamente e inclusive, testei ontem o reset do FlowIdentifier e funcionou!

Obrigado pelo retorno.

1 curtida

É isso mesmo que tinha te falado, @GabrielPetrone. A funcionalidade de expiração fica “em repouso” até que os contatos expirados entrem em contato uma próxima vez - aí sim eles serão direcionados pro início do bloco! Como o @Caiof já te respondeu aí :partyparrot:

3 curtidas

Um minuto, agora fiquei confuso hahaha.

Então quer dizer que por exemplo:

  • Meu tempo de Expiração está definido para 1 hora.
  • Eu aciono meu bot e paro de interagir na metade do Fluxo.
  • Meu tempo de Expiração é alterado para 12 horas.
  • Após 4 horas eu retorno contato com o bot e recebo a mensagem de boas vindas.

Agora o meu tempo de expiração de conversa passa a ser 12 horas?

Para fazer ainda mais sentido ou, confundir ainda mais… A definição do tempo de Expiração acontece sempre no bloco de início? Pensei nisso pois se for, faria sentido que quando um cliente completasse todo o fluxo e acionasse novamente, ele seria direcionado automaticamente pro Inicio e consequentemente ter o novo tempo de expiração definido.

Até eu fiquei confuso com o seu exemplo @GabrielPetrone :watching:

Mas é basicamente assim: A checagem para saber se a pessoa estourou ou não o tempo de expiração acontece sempre na sua próxima interação, num bloco invisível com o bot e vale sempre o último tempo definido. Os usuários que não entrarem em contato com o Chatbot, não terão a sessão expirada, a menos que você o faça manualmente.

1 curtida

Certo, entendo dessa forma também mas a minha dúvida é basicamente como ou, quando o tempo de expiração vai ser atualizado pra um contato se o valor antigo já havia sido definido. Tipo: quando ele passar novamente pelo bloco de início? Ou só se eu resetar o Flow Identifier?

1 curtida

Quando ele entrar em contato com o chatbot. Antes de mais nada, é feita a verificação se ele expirou ou não a sessão, para então ele ser direcionado para um bloco ou outro.

Hmm, mas ainda não consegui passar a minha dúvida…

Quando que o Tempo de Expiração é definido pra um contato?
Quando o contato passa no bloco de início?

:watching: :watching:

Na próxima interação dele após a sua definição do tempo de expiração.

Antes de passar por qualquer bloco, incluindo o Início, ele passa por um tipo de receiver de mensagens. Nesse momento é que é verificado se ele expirou ou não. Caso ele tenha expirado, ele vai para o Bloco Inicio. Ele passa no Bloco Início em alguns casos:

  1. Quando é a sua primeira interação
  2. Quando ele tem o fluxo reiniciado
  3. Quando ele é redirecionado por outro bloco
1 curtida

Certo, entendido.

Eu acho que se der um exemplo real, fica mais fácil de passar a minha dúvida. Vamos lá.

Neste momento o meu tempo de expiração é de 43200:

A última mensagem que eu enviei pro meu Bot foi segunda-feira às 23h28, logo a sessão expirou:

Agora, vou enviar uma mensagem para o bot:

Ok, reiniciou minha sessão como esperado.

Mas analisando meus contatos, eu percebi que 43200 segundos é tempo demais para expirar uma conversa, e então eu alterei para 30 segundos e publiquei o fluxo:

Beleza, agora eu vou continuar a conversa com meu bot e como já se passaram 30 segundos ou mais, devo ter o fluxo reiniciado:

SUCESSO!!


Parece loucura/besteira mas eu fui fazendo essa resposta ao mesmo tempo que testava novamente. Em outro momento que testei (domingo), não teve esse comportamento e mesmo colocando 10 segundos, meu contato (e de outros que estavam testando o fluxo) continuava considerando o tempo de expiração anterior (86400).

Me deu até vontade de descartar tudo isso que eu fiz, mas serve de histórico e para confirmarmos que depois que o tempo de expiração é alterado, ele passa a ser considerado após a próxima interação do seu contato com o bot. Faz sentido pra você @Bruno e @Caiof ?

Com isso, a sugestão do Caio faz QUASE sentido, só está incorreta na parte de que TODAS as sessões serão redefinidas pois só redefine após uma nova interação do contato.

Concordam?

Ufaaaaa
:embaresedblip:

Olá @GabrielPetrone, tudo bom?

Exatamente, esse é o comportamento esperado. Como eu disse anteriormente, só reiniciadas todas as sessões caso todos os contatos interajam com o bot :tipping_hand_man:t5:

Também editei aquela resposta incorreta indica por você anteriormente para esclarecer o mal-entendido :slight_smile:

1 curtida