Webhook Events for Labels Not Triggering in Evolution API
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 {
Additional Notes
No response
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' } }
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.
Funcionou aqui também.
Po, muito bom mano, funcionou aqui também! Gigante
salvou 🙌
Mano, tu é foda pqp isso vai mudar o jogo aqui. muito obg!
Esta correção funciona na v2.3.0?
@pablomarcony, não testei.
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?
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.
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.
Funcionou perfeitamente aqui com esse ajuste no DB. Estou na versão 2.3.2 #
Funcionou aqui, tooooooppppp
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?