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

Webhook Events for Labels Not Triggering in Evolution API

Open leofelipet opened this issue 9 months ago • 4 comments

Welcome!

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

What did you do?

Fiz uma configuração de Webhook e ativei as configurações de LABELS_EDIT e LABELS_ASSOCIATION. Porém nenhum dos dois eventos são enviados para o webhook configurado. Outros eventos são enviados normalmente.

What did you expect?

Que ao adicionar ou remover uma etiqueta em algum contato no whatsapp fosse enviado um evento para o webhook. Mostrando os dados do contato, a etiqueta que foi adicionada ou excluida. assim como o nome do evento (add ou removed).

What did you observe instead of what you expected?

Nenhum evento foi enviado.

Screenshots/Videos

No response

Which version of the API are you using?

Versão: 2.2.3

What is your environment?

Linux

Other environment specifications

No response

If applicable, paste the log output

{ } } message: 'ERROR: there is no unique or exclusion constraint matching the ON CONFLICT specification' code: '42P10', clientVersion: '6.3.0', at async labels.association (/evolution/dist/main.js:230:31741) { code: 'P2010', at async Rs.removeLabel (/evolution/dist/main.js:265:91) Raw query failed. Code: 42P10. Message: ERROR: there is no unique or exclusion constraint matching the ON CONFLICT specification at Bn.handleRequestError (/evolution/node_modules/@prisma/client/runtime/library.js:121:7362) at Bn.request (/evolution/node_modules/@prisma/client/runtime/library.js:121:6393) at Bn.handleAndLogRequestError (/evolution/node_modules/@prisma/client/runtime/library.js:121:6686) at async l (/evolution/node_modules/@prisma/client/runtime/library.js:130:9645) Invalid prisma.$executeRawUnsafe() invocation: [Evolution API] v2.2.3 170 - Wed Mar 19 2025 14:54:52 ERROR [unhandledRejection] [object]
PrismaClientKnownRequestError: stderr: 2 }, meta: [Object] } clientVersion: '6.3.0', code: 'P2010', at async labels.association (/evolution/dist/main.js:230:31741) { at async Rs.removeLabel (/evolution/dist/main.js:265:91) at async l (/evolution/node_modules/@prisma/client/runtime/library.js:130:9645) at Bn.request (/evolution/node_modules/@prisma/client/runtime/library.js:121:6393) at Bn.handleAndLogRequestError (/evolution/node_modules/@prisma/client/runtime/library.js:121:6686) at Bn.handleRequestError (/evolution/node_modules/@prisma/client/runtime/library.js:121:7362) Raw query failed. Code: 42P10. Message: ERROR: there is no unique or exclusion constraint matching the ON CONFLICT specification Invalid prisma.$executeRawUnsafe() invocation: origin: Promise { PrismaClientKnownRequestError: [Evolution API] [leo] v2.2.3 170 - Wed Mar 19 2025 14:54:52 INFO [ChannelStartupService] [string] labels association - [email protected] (remove-label_jid): 54 [Evolution API] [leo] v2.2.3 170 - Wed Mar 19 2025 14:54:52 INFO [ChannelStartupService] [string] labels association - [email protected] (remove-label_jid): 59

Additional Notes

No response

leofelipet avatar Mar 19 '25 17:03 leofelipet

Vou deixar abaixo mais LOGS. Dessa vez de uma outra instalação que eu fiz, apenas para teste. Instalação 100% nova.

[Evolution API] [leo] v2.2.3 169 - Wed Mar 19 2025 15:13:44 INFO [ChannelStartupService] [string] labels association - [email protected] (remove-label_jid): 59 [Evolution API] v2.2.3 169 - Wed Mar 19 2025 15:13:44 ERROR [unhandledRejection] [object] { origin: Promise { <rejected> PrismaClientKnownRequestError: Invalid prisma.$executeRawUnsafe()invocation: Raw query failed. Code:42P10. Message: ERROR: there is no unique or exclusion constraint matching the ON CONFLICT specificationat Bn.handleRequestError (/evolution/node_modules/@prisma/client/runtime/library.js:121:7362) at Bn.handleAndLogRequestError (/evolution/node_modules/@prisma/client/runtime/library.js:121:6686) at Bn.request (/evolution/node_modules/@prisma/client/runtime/library.js:121:6393) at async l (/evolution/node_modules/@prisma/client/runtime/library.js:130:9645) at async Rs.removeLabel (/evolution/dist/main.js:265:91) at async labels.association (/evolution/dist/main.js:230:31741) { code: 'P2010', clientVersion: '6.3.0', meta: [Object] } }, stderr: 2 } [Evolution API] v2.2.3 169 - Wed Mar 19 2025 15:13:44 ERROR [unhandledRejection] [object] PrismaClientKnownRequestError: Invalidprisma.$executeRawUnsafe()invocation: Raw query failed. Code:42P10. Message: ERROR: there is no unique or exclusion constraint matching the ON CONFLICT specification at Bn.handleRequestError (/evolution/node_modules/@prisma/client/runtime/library.js:121:7362) at Bn.handleAndLogRequestError (/evolution/node_modules/@prisma/client/runtime/library.js:121:6686) at Bn.request (/evolution/node_modules/@prisma/client/runtime/library.js:121:6393) at async l (/evolution/node_modules/@prisma/client/runtime/library.js:130:9645) at async Rs.removeLabel (/evolution/dist/main.js:265:91) at async labels.association (/evolution/dist/main.js:230:31741) { code: 'P2010', clientVersion: '6.3.0', { code: '42P10', message: 'ERROR: there is no unique or exclusion constraint matching the ON CONFLICT specification' } }

leofelipet avatar Mar 19 '25 18:03 leofelipet

Resolvi esse problema.

Basicamente, no postgresql, a tabela Chat tem uma coluna chamada labels,

Quando o evento labels era disparado ele ia até o banco de dados procurar o chat em específico para adicionar as estiquetas, mas ele não conseguia encontrar devido a falta de uma constraint UNIQUE.

Pra resolver isso executei a seguinte query:

ALTER TABLE public."Chat" ADD CONSTRAINT unique_remoteJid_instanceId UNIQUE ("remoteJid", "instanceId"); Só vou recomendar que façam um bkp em caso de testes.

Esse problema estava acontecendo com um script de instalação que usei: OrionDesign. Não sei exatamente se é um problema da Evolution ou do Script. Mas isso pode ajudar quem possa passar por problemas iguais.

leofelipet avatar Apr 15 '25 21:04 leofelipet

Funcionou aqui também.

Midasstart avatar May 20 '25 23:05 Midasstart

Po, muito bom mano, funcionou aqui também! Gigante

FilippiAraujo avatar May 26 '25 00:05 FilippiAraujo

salvou 🙌

aolmkt avatar Jun 20 '25 02:06 aolmkt

Mano, tu é foda pqp isso vai mudar o jogo aqui. muito obg!

mbarrosz2 avatar Jul 22 '25 14:07 mbarrosz2

Esta correção funciona na v2.3.0?

pablomarcony avatar Jul 28 '25 13:07 pablomarcony

@pablomarcony, não testei.

leofelipet avatar Jul 29 '25 16:07 leofelipet

Turma, sabem se rola adicionar uma label via api? ou só pelo celular mesmo? Pq esse endpoint adiciona uma label já existente no whatsapp né? Não achei nada falando sobre "criar do 0" uma label via API... Sabem de algo?

FilippiAraujo avatar Aug 06 '25 19:08 FilippiAraujo

Turma, sabem se rola adicionar uma label via api? ou só pelo celular mesmo? Pq esse endpoint adiciona uma label já existente no whatsapp né? Não achei nada falando sobre "criar do 0" uma label via API... Sabem de algo?

acredito que não seja possivel. Acho que apenas pelo whatsapp mesmo. Nunca ví nenhum endpoint nesse sentido.

leofelipet avatar Aug 08 '25 13:08 leofelipet

Turma, sabem se rola adicionar uma label via api? ou só pelo celular mesmo? Pq esse endpoint adiciona uma label já existente no whatsapp né? Não achei nada falando sobre "criar do 0" uma label via API... Sabem de algo?

Waha faz isso.

Midasstart avatar Sep 10 '25 12:09 Midasstart

Funcionou perfeitamente aqui com esse ajuste no DB. Estou na versão 2.3.2 #

arthur7114 avatar Sep 12 '25 13:09 arthur7114

Funcionou aqui, tooooooppppp

jjuniorxp avatar Sep 23 '25 14:09 jjuniorxp

Por que ninguém ainda inseriu essa correção na branch? Realmente, a alteração do database corrigiu o problema. E o @leofelipet apresentou a solução em 15 de Abril. O repositório está parado?

jjmmbb avatar Oct 18 '25 21:10 jjmmbb