EvolutionAPI / evolution-api

Evolution API is an open-source WhatsApp integration API
https://evolution-api.com
GNU General Public License v3.0
910 stars 479 forks source link

[PT][BUG] Typebot reinicia não importa o que se faça #579

Closed psifernandocardoso closed 3 weeks ago

psifernandocardoso commented 1 month ago

Título: Typebot reinicia não importa o que se faça

Já tentei de diversas formas diferentes parar o fluxo quando se chega ao final, mas não importa o que faça, sempre reinicia. Isso está sendo terrível, confunde demais os clientes e fica em um loop infinito.

michaelvips commented 1 month ago

@psifernandocardoso isso não é um bug, indico a você encerrar essa issue, isso é uma condição normal de funcionamento do typebot, acesse a comunidade do discord e encontre outras soluções.

psifernandocardoso commented 1 month ago

Desculpe, mas isso não acontecia nas versões anteriores a 1.7. Existe uma infinidade de reclamações de todos que utilizam o tybebot junto com a Evolution API sobre este bug após esta atualização. Existem outras issues aqui sobre a mesma temática e sem resposta alguma. Comentários em vídeos no youtube. E nenhuma resposta com relação a esta problemática.

Já tentei parar o fluxo com diversas soluções presentes dentro do próprio typebot. Esta condição é tanto um bug que só acontece no ambiente do whatsapp com a api da evolution. Em ambiente web o fluxo para quando chega ao final e não se repete. Já testei outra api e também encerra o fluxo ao seu final.

A condição normal do fluxo no typebot é ser encerrado ao seu final, não retornar ao início quando se chega ao fim do fluxo. Atualmente não tem como encerrar um chamado ou uma conversa com um cliente pelo typebot, pois sempre após a última mensagem do fluxo quando o cliente responde qualquer coisa o fluxo reinicia, independente se foi transferido pro chatwoot, se a conversa foi encerrada, não importa o que aconteça, sempre reinicia. E como informei, isso não acontecia em versões anteriores a 1.7.

michaelvips commented 1 month ago

@psifernandocardoso acontecia sim, quem reinicia o fluxo é o typebot e não a evolution.

michaelvips commented 1 month ago

@psifernandocardoso no caso deixa ver se eu entendi, ao final do fluxo mesmo sem o cliente enviar algo que o fluxo se reinicia ? ou se ele mandar algo ?

psifernandocardoso commented 1 month ago

Não acontecia. Tanto que se eu retornar para a versão 1.6 o typebot não reinicia. Só passou a reiniciar na versão 1.7.

Esta é outra issue que trata do mesmo assunto: https://github.com/EvolutionAPI/evolution-api/issues/541

Ex: Quando chega no final do fluxo e o atendimento é transferido para o chatwoot o typebot reinicia.

No manager da evolution tem a opção de "tempo de expiração". Sempre deixei em 60 minutos para exatamente este problema não acontecer. Mas a partir da versão 1.7 o tempo de expiração não funciona mais.

psifernandocardoso commented 1 month ago

imagem_2024-05-08_172353728

Link para referência aos comentários da imagem acima: https://www.youtube.com/watch?v=NFq4yX_1myg&t=31s

michaelvips commented 1 month ago

Ahh então no caso não é quando chega no final do fluxo, seria quando o atendimento é transferido para o inbox do chatwoot ?

psifernandocardoso commented 1 month ago

Não importa qual seja o cenário. O fluxo sempre reinicia, independente do que aconteça no final do fluxo.

michaelvips commented 1 month ago

Entendo, porém no meu caso aqui, esta funcionando normal o fluxo so reinicia se houver o envio de uma nova mensagem.

psifernandocardoso commented 1 month ago

Mas não é para reiniciar quando é adicionado o tempo de expiração. A função do tempo de expiração é manter a sessão aberta até um determinado tempo sem reiniciar o fluxo. Geralmente eu mantenho o tempo de expiração de 60 minutos, tempo suficiente para atender um cliente caso precise de intervenção humana e reiniciar em um próximo contato.

michaelvips commented 1 month ago

Você esta usando o bloco Wait ?

psifernandocardoso commented 1 month ago

Já experimentei, mas não adianta. No final do fluxo o bloco Wait é ignorado e reinicia de qualquer forma.

michaelvips commented 1 month ago

Função Pause the flow está ativado?

psifernandocardoso commented 1 month ago

Sim.

psifernandocardoso commented 1 month ago

Não importa o que se faça, se houver qualquer interação do cliente o fluxo reinicia.

michaelvips commented 1 month ago

Ai tem um erro, com a função Pause the flow ativa, quando uma nova mensagem for enviada o fluxo irá seguir.

psifernandocardoso commented 1 month ago

Só aí? Você ainda não entendeu que existe um bug de infinity loop no fluxo? Eu já experimentei diversas soluções diferentes. Não importa o que se faça, na versão 1.7 o fluxo sempre reinicia.

michaelvips commented 1 month ago

https://github.com/EvolutionAPI/evolution-api/assets/21130174/4e763fc0-f7b8-468c-bfdf-bb02dbf28157

Realmente há um erro @DavidsonGomes olha o exemplo, com o pause de 20 segundos ele reiniciou o bot.

michaelvips commented 1 month ago

https://github.com/EvolutionAPI/evolution-api/assets/21130174/642cbd64-e379-4270-9408-1bd6398d3b16

michaelvips commented 1 month ago

@psifernandocardoso uma solução é enviar uma solicitação http através do endpoint Change Session Status e setar para paused, porém ai vc vai ter que criar outra automação para quando finalizar o atendimento, reabir o fluxo setando apra closed

psifernandocardoso commented 1 month ago

Estou quebrando um galho assim via n8n. Mas é muito chato isso. E já tem muito tempo que esse bug vem sendo relatado. Desde o lançamento da versão 1.7.0.

A versão 1.6.1 não apresenta este bug.

psifernandocardoso commented 1 month ago

Consegue ajudar aqui @DavidsonGomes

DevOtts commented 1 month ago

Pessoal, consegui fazer funcionar. No body, o remoteJid não é apenas o número, precisa também ter o @s.whatsapp.net

Ficaria assim

{
"remoteJid": "554199999999@s.whatsapp.net",
"status": "closed"
}

Referência: https://www.postman.com/agenciadgcode/workspace/evolution-api/request/26869335-625bab2e-a8e8-451d-87b1-8b620ad7537f