EvolutionAPI / evolution-api

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

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

Open AxiusBrasil opened 1 week ago

AxiusBrasil commented 1 week ago

Welcome!

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

RastaSenpai commented 1 week ago

Mesma coisa aqui.

dersonbsb2022 commented 3 days ago

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(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: [],

'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(kTrailersCount)]:

AxiusBrasil commented 3 days ago

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

dersonbsb2022 commented 3 days ago

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.

AxiusBrasil commented 2 days ago

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 🙏🏼

louisfds commented 2 days ago

Mesmo problema aqui

dersonbsb2022 commented 2 days ago

Log completo do erro.

log.txt

dersonbsb2022 commented 2 days ago
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.

jesulo commented 19 hours ago

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