evolution-api icon indicating copy to clipboard operation
evolution-api copied to clipboard

Expirar em minutos nas versões da V2 não funciona integrado com o Dify

Open UniiumPlus opened this issue 1 year ago • 21 comments

Welcome!

  • [X] Yes, I have searched for similar issues on GitHub and found none.

What did you do?

Pessoal, já testei todas as versões da V2 mas quando faço a integração nativa do Dify com a Evo, coloco um tempo para expirar essa função não está funcionando. Testei com o a integração do Typebot e funcionou normal.

Só essa questão que tá pegando para eu colocar em produção.

What did you expect?

Que o bot voltasse a ser acionado quando o tempo de expirar terminasse.

What did you observe instead of what you expected?

Ele simplesmente não aciona o bot novamente.

Screenshots/Videos

No response

Which version of the API are you using?

v2.1.1

What is your environment?

Mac

Other environment specifications

No response

If applicable, paste the log output

No response

Additional Notes

No response

UniiumPlus avatar Sep 10 '24 20:09 UniiumPlus

Mesma coisa aqui.

RastaSenpai avatar Sep 11 '24 22:09 RastaSenpai

Fiz este questionamento no discord ontem, mesmo problema que detectei e apos o tempo expirar, tem que entrar e excluir a sessao manualmente para que o bot volte a funcionar.

Trecho que consegui capturar do log

_keepAliveTimeout: 0, _onPendingData: [Function: nop], agent: Agent { _events: [Object: null prototype], _eventsCount: 2, _maxListeners: undefined, defaultPort: 443, protocol: 'https:', options: [Object: null prototype], requests: [Object: null prototype] {}, sockets: [Object: null prototype], freeSockets: [Object: null prototype] {}, keepAliveMsecs: 1000, keepAlive: true, maxSockets: Infinity, maxFreeSockets: 256, scheduling: 'lifo', maxTotalSockets: Infinity, totalSocketCount: 1, maxCachedSessions: 100, _sessionCache: [Object], [Symbol(shapeMode)]: false, [Symbol(kCapture)]: false }, socketPath: undefined, method: 'POST', maxHeaderSize: undefined, insecureHTTPParser: undefined, joinDuplicateHeaders: undefined, path: '/v1/chat-messages', _ended: false, res: [Circular *2], aborted: false, timeoutCb: [Function: emitRequestTimeout], upgradeOrConnect: false, parser: null, maxHeadersCount: null, reusedSocket: false, host: 'dify.dev.tmcplus.com.br', protocol: 'https:', _redirectable: Writable { _events: [Object], _writableState: [WritableState], _maxListeners: undefined, _options: [Object], _ended: true, _ending: true, _redirectCount: 1, _redirects: [], _requestBodyLength: 289, _requestBodyBuffers: [], _eventsCount: 3, _onNativeResponse: [Function (anonymous)], _currentRequest: [Circular 3], _currentUrl: 'https://dify.xxxxxxxcom.br/v1/chat-messages', _isRedirect: true, [Symbol(shapeMode)]: true, [Symbol(kCapture)]: false }, [Symbol(shapeMode)]: false, [Symbol(kCapture)]: false, [Symbol(kBytesWritten)]: 0, [Symbol(kNeedDrain)]: false, [Symbol(corked)]: 0, [Symbol(kOutHeaders)]: [Object: null prototype] { accept: [Array], 'content-type': [Array], authorization: [Array], 'user-agent': [Array], 'content-length': [Array], 'accept-encoding': [Array], host: [Array] }, [Symbol(errored)]: null, [Symbol(kHighWaterMark)]: 16384, [Symbol(kRejectNonStandardBodyWrites)]: false, [Symbol(kUniqueHeaders)]: null }, _eventsCount: 4, responseUrl: 'https://dify.xxxxxxcom.br/v1/chat-messages', redirects: [], [Symbol(shapeMode)]: true, [Symbol(kCapture)]: false, [Symbol(kHeaders)]: { 'access-control-allow-origin': '', 'content-length': '56', 'content-type': 'application/json', date: 'Sun, 15 Sep 2024 19:40:57 GMT', server: 'nginx/1.27.1', 'set-cookie': [ 'remember_token=; Expires=Thu, 01 Jan 1970 00:00:00 GMT; Path=/' ], 'x-env': 'PRODUCTION', 'x-version': '0.8.2' }, [Symbol(kHeadersCount)]: 16, [Symbol(kTrailers)]: null, [Symbol(kTrailersCount)]:

dersonbsb2022 avatar Sep 16 '24 12:09 dersonbsb2022

Mas ai entrar na sessão pra excluir não é a solução mais viável!

UniiumPlus avatar Sep 16 '24 19:09 UniiumPlus

Sem condições, ate pensei em fazer um cron no n8n, pra limpar, mas eu sei que ele vai acabar matando sessao válida, nao vai funcionar direito.

dersonbsb2022 avatar Sep 16 '24 20:09 dersonbsb2022

Sem condições, ate pensei em fazer um cron no n8n, pra limpar, mas eu sei que ele vai acabar matando sessao válida, nao vai funcionar direito.

Se conseguir alguma alternativa e puder compartilhar 🙏🏼

UniiumPlus avatar Sep 17 '24 13:09 UniiumPlus

Mesmo problema aqui

louisfds avatar Sep 17 '24 21:09 louisfds

Log completo do erro.

log.txt

dersonbsb2022 avatar Sep 18 '24 10:09 dersonbsb2022

Captura de Tela 2024-09-18 às 07 21 38 Captura de Tela 2024-09-18 às 07 24 37

O que eu descobri é que depois que expira o tempo, a session id recebe o valor do remoteJid (foto1), nao sei se isto é um comportamento normal e qual a finalidade, ai ele tenta procurar uma conversar no dify com esta session que tem o remoteJid e da o erro.
Depois de excluir a session manualmente e mandar uma mensagem ele retornar com o valor de um session id do dify.

dersonbsb2022 avatar Sep 18 '24 10:09 dersonbsb2022

Alguém conseguiu resolver? Ou criar uma automação com o n8n? Abraços.

jesulo avatar Sep 19 '24 15:09 jesulo

Criamos uma automação no n8n que ativa e desativa com um marcador dentro do Chatwoot.

UniiumPlus avatar Sep 22 '24 01:09 UniiumPlus

Criamos uma automação no n8n que ativa e desativa com um marcador dentro do Chatwoot.

Olá. Você poderia compartilhar o script n8n?

jesulo avatar Sep 22 '24 01:09 jesulo

Acho que o problema de nao expirar foi resolvido na versao 2.1.1.

Ate o momento mais de 24h de testes e esta ok.

dersonbsb2022 avatar Sep 23 '24 10:09 dersonbsb2022

Thanks you @dersonbsb2022

jesulo avatar Sep 23 '24 11:09 jesulo

@dersonbsb2022 vamos lá... cliente entrou em contato, seu dify entrou em ação (bot ativo), seu atendente assumiu a conversa (bot pausado), deixou o tempo expirar e o bot voltou a ficar ativo de novo? Foi assim que testou? Pq aqui comigo não está funcionando.

UniiumPlus avatar Sep 24 '24 01:09 UniiumPlus

@AxiusBrasil meu problema era diferente do seu. o meu bot do dify apos expirar nao respondia mais, aparecia escrevendo e nao chegava nada, eu tinha que entrar no manager e apagar a sessao. Apos isso funcionava. Este problema agora nao está acontecendo mais.

dersonbsb2022 avatar Sep 24 '24 09:09 dersonbsb2022

@dersonbsb2022 vamos lá... cliente entrou em contato, seu dify entrou em ação (bot ativo), seu atendente assumiu a conversa (bot pausado), deixou o tempo expirar e o bot voltou a ficar ativo de novo? Foi assim que testou? Pq aqui comigo não está funcionando.

Como você ativa conversas para o agente após difunto? Uma ferramenta que ativa um stream n8n? Você poderia mostrar o script amigo? Saudações

jesulo avatar Sep 24 '24 20:09 jesulo

@AxiusBrasilmeu problema era diferente do seu. o meu bot do dify apos expirar não responder mais, aparecia escrevendo e não chegava nada, eu tinha que entrar no manager e apagar a sessão. Depois disso funcionou. Este problema agora não está apostando mais.

Isso continua acontecendo aqui comigo mesmo atualizando para a 2.1.1

Alguém tem alguma solução? Acontece exatamente a mesma coisa. Após expirar se mandar mensagem fica aparecendo digitando por um tempo e não envia nada. Só após apagar a sessão manualmente.

psifernandocardoso avatar Oct 02 '24 02:10 psifernandocardoso

Consigo disponibilizar o scrit N8N por R$99, quem tiver interesse manda um email para: [email protected] com assunto ATIVAR IA CHATWOOT.

UniiumPlus avatar Oct 02 '24 17:10 UniiumPlus

Consegui criar uma integração entre chatwoot, n8n e dify onde cada vez que uma conversa altera o status para resolvido a sessão do dify é fechada. Além de também todas as sessões serem fechadas em um determinado horário do dia.

Não sei se posso anexar aqui. Mas quem tiver interesse pode me mandar um email que envio o fluxo do n8n de graça.

[email protected]

psifernandocardoso avatar Oct 07 '24 05:10 psifernandocardoso

Opa, bom dia.

Tenho interesse sim, por favor mande no @.@.>

Obrigado!

From: psifernandocardoso @.> Date: Monday, 7 October 2024 at 02:16 To: EvolutionAPI/evolution-api @.> Cc: Subscribed @.***> Subject: Re: [EvolutionAPI/evolution-api] Expirar em minutos nas versões da V2 não funciona integrado com o Dify (Issue #877)

Consegui criar uma integração entre chatwoot, n8n e dify onde cada vez que uma conversa altera o status para resolvido a sessão do dify é fechada. Além de também todas as sessões serem fechadas em um determinado horário do dia.

Não sei se posso anexar aqui. Mas quem tiver interesse pode me mandar um email que envio o fluxo do n8n de graça.

— Reply to this email directly, view it on GitHubhttps://github.com/EvolutionAPI/evolution-api/issues/877#issuecomment-2395928406, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A3HAUDEBGH4JBQ7PUCNJAQDZ2IKIZAVCNFSM6AAAAABN7QSRN2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOJVHEZDQNBQGY. You are receiving this because you are subscribed to this thread.Message ID: @.***>

caswork avatar Oct 07 '24 12:10 caswork

Segue o fluxo abaixo:

Fechar_sess_es_Dify_copy.json

psifernandocardoso avatar Oct 07 '24 21:10 psifernandocardoso

Poderiam informar se ainda persistem com o erro em uma versão mais recente como 2.1.2 ou 2.2.0? Caso contrario estarei fechando esta issue

dpaes avatar Dec 03 '24 22:12 dpaes

Comigo pelo menos nao apresenta mais o comportamento.

dersonbsb2022 avatar Dec 04 '24 09:12 dersonbsb2022