[BUG] Erro: this.isZero is not a function
📋 Bug Description
na versão 2.3.6 estou tendo o erro "this.isZero is not a function" quando uso message/sendList, será que estou fazendo alguma coisa errada?
🔄 Steps to Reproduce
API {{baseUrl}}/message/sendList/{{instance}} Body: { "number": "{{remoteJid}}", "title": "List Title", "description": "List description", "buttonText": "Click Here", "footerText": "footer list\nhttps://examplelink.com.br", "sections": [ { "title": "Row tilte 01", "rows": [ { "title": "Title row 01", "description": "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s,", "rowId": "rowId 001" }, { "title": "Title row 02", "description": "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s,", "rowId": "rowId 002" } ] } ] }
Response: { "status": 400, "error": "Bad Request", "response": { "message": [ "TypeError: this.isZero is not a function" ] } }
✅ Expected Behavior
Envio com sucesso da lista
❌ Actual Behavior
TypeError: this.isZero is not a function. 400 bad request
🌍 Environment
- Evolution API version: 2.3.6
📋 Logs
📝 Additional Context
Estou com o mesmo problema, já tentei fazer o downgrade mas o qrcode parou de gerar nas versões antigas. Se você já tiver uma solução poste aqui por favor!
Estou com o mesmo problema, já tentei fazer o downgrade mas o qrcode parou de gerar nas versões antigas. Se você já tiver uma solução poste aqui por favor!
encontraste solucion?
O que eu encontrei:
Botões e Listas foram DEPRECIADOS pelo WhatsApp, o que aconteceu:
Os mantenedores do Baileys, WWebJS e outras bibliotecas WhatsApp Web decidiram coletivamente depreciar e remover completamente o recurso de botões e listas. Eles passaram centenas de horas fazendo engenharia reversa da API On-Premises do WhatsApp, mas em maio de 2024, o Meta/WhatsApp rapidamente lançou um patch bloqueando a funcionalidade logo após a solução ser publicada em repositórios com mais de 10.000 estrelas. O esforço para manter essa funcionalidade funcionando era muito grande.
Não há solução técnica para listMessage via Baileys O WhatsApp bloqueou permanentemente no servidor deles. Mesmo que você corrija o código, o WhatsApp rejeita a mensagem.
Mesmo que seja possível corrigir (o Baileys) o risco de ban é muito alto. O Uazapi tem essa opção mas estão em constante atualização e arcam com o risco do ban.
(Se alguém tiver alguma informação diferente dessa por favor compartilhe)
Aguardo novidades.
pero el error es por que al enviar el id el formato qe recibe no es entero , lo que no tiene nada que ver con whatsapp
O que eu encontrei:
Botões e Listas foram DEPRECIADOS pelo WhatsApp, o que aconteceu:
Os mantenedores do Baileys, WWebJS e outras bibliotecas WhatsApp Web decidiram coletivamente depreciar e remover completamente o recurso de botões e listas. Eles passaram centenas de horas fazendo engenharia reversa da API On-Premises do WhatsApp, mas em maio de 2024, o Meta/WhatsApp rapidamente lançou um patch bloqueando a funcionalidade logo após a solução ser publicada em repositórios com mais de 10.000 estrelas. O esforço para manter essa funcionalidade funcionando era muito grande.
Não há solução técnica para listMessage via Baileys O WhatsApp bloqueou permanentemente no servidor deles. Mesmo que você corrija o código, o WhatsApp rejeita a mensagem.
Mesmo que seja possível corrigir (o Baileys) o risco de ban é muito alto. O Uazapi tem essa opção mas estão em constante atualização e arcam com o risco do ban.
(Se alguém tiver alguma informação diferente dessa por favor compartilhe)
Acredito que se fosse esse o problema, também falharia em outras versões, como a v2.3.5 — o que não acontece. Além disso, o changelog informa que o erro teria sido corrigido na v2.3.6, porém a correção não funcionou.
Então, eu consegui corrigir o erro, e fazer ele enviar a lista mas a lista não chega no whatsapp, ela fica como pendente, o que eu estou tentando agora é instalar o Deep-Ads/baileys-stable que tem o suporte a lista. Se vc buscar discussões passadas aqui vc vai ver que teve uma pessoa que conseguiu corrigir mas estava vendendo a solução, isso foi em julho. Pode procurar, o problema está que o baileys tirou o suporte de mensagem lista.
@GustavoMimim vc consegue mandar lista na v2.3.5????
Então, eu consegui corrigir o erro, e fazer ele enviar a lista mas a lista não chega no whatsapp, ela fica como pendente, o que eu estou tentando agora é instalar o Deep-Ads/baileys-stable que tem o suporte a lista. Se vc buscar discussões passadas aqui vc vai ver que teve uma pessoa que conseguiu corrigir mas estava vendendo a solução, isso foi em julho. Pode procurar, o problema está que o baileys tirou o suporte de mensagem lista.
como lo hiciste?
eu ainda consigo usar pelo menos as listas, mas os botões n, oq eu fiz foi: atualizei a minha imagem para a versão mais atual do whats: evoapicloud/evolution-api:v2.3.6 e coloquei a variavel do whatsapp mais atual tbm "CONFIG_SESSION_PHONE_VERSION" : "2.3000.1029710215", e conectei meu numero. Depois de conectado eu voltei para a versão 2.2.3 : atendai/evolution-api:v2.2.3 e coloquei na variavel da versão "CONFIG_SESSION_PHONE_VERSION" : "2.3000.1026582963", pelo que eu testei, nessa versão ainda esta funcionando.
@geopreguica-a11y GENIO!!!! Funcionou PERFEITO, fazendo exatamente o que vc falou!
@GustavoMimim A solução dada funcionou, podemos fechar esse bug
@geopreguica-a11y Mas voltar para a versao 2.2.3 nao ira dar problema do @lid ?
Eu tenho 2 aplicações da evolution, uma atualizada e essa na 2.2.3, eu uso essa da 2.2.3 apenas para mandar as listas, as conversas eu gerencio na mais atual para n ter esse problema. @fehhmont
inteligente!!!! como você colocou duas evolution ? eu uso o easypanel para gerenciar. @geopreguica-a11y
n sei, é que eu faço pela promovaweb, eu apenas adiciono a evolution e faço os apontamentos, ele já fica configurado em 2 minutos, ai eu manipulo a image e as variaveis pelo portainer
@geopreguica-a11y poderia explicar melhor como você fez isso?
Tentei rodar duas imagens do Evolution, uma na 2.3.6 para gerenciar as mensagens e não ter problemas com o remoteJid / @lid e outra na atendai/evolution-api:v2.2.3 para poder enviar listas.
Mas aparentemente não é permitido que o mesmo número de celular esteja conectado em duas instancias do Evolution/Baileys:
[Evolution API] [Instancia-Lists] v2.2.3 164 - Mon Nov 24 2025 16:48:31 INFO [ChannelStartupService] [string]
┌──────────────────────────────┐
│ CONNECTED TO WHATSAPP │
└──────────────────────────────┘
[Evolution API] [Instancia-Lists] v2.2.3 164 - Mon Nov 24 2025 16:48:31 INFO [ChannelStartupService] [string]
wuid: 551111111111
name: Instancia-Lists
recv 0 chats, 4 contacts, 0 msgs (is latest: true, progress: 0%), type: 4
{"level":50,"time":1764013770619,"pid":164,"hostname":"b9ba95796325","node":{"tag":"stream:error","attrs":{"code":"401"},"content":[{"tag":"conflict","attrs":{"type":"device_removed"}}]},"msg":"stream errored out"}
[Evolution API] v2.2.3 164 - Mon Nov 24 2025 16:49:30 WARN [WAMonitoringService] [string] Instance "Instancia-Lists" - LOGOUT
O Whats força o logout da segunda instância.
A sugestão do @geopreguica-a11y funcionou muito bem aqui pra mim, o ruim disso é que vai ter que ficar fazendo esse esquema toda vez que o celular desconectar, será que não é possível pegar a atualização do LID da versão 2.3.6 e criar uma versão nova da 2.2.3 com essa correção?
Opa pessoal, blz?
Então realmente igual o @geopreguica-a11y falou as listas ainda funcionam na versão 2.2.3 porém com o bug de @lid eu até tentei fazer o que ele indicou sobre as mudanças de versões mas não tive a mesma sorte, alguém teve alguma solução definitiva, para usar as listas e não ter problema com o lid?
Eu particularmente, tive que abrir mão das listas.
Estou usando a versão 2.3.6.
No meu fluxo (no N8N), adaptei para enviar as listas em texto com o /message/sendText/. Depois em um nó eu trato o retorno assim:
// Mapemento das opções numeradas para rowId
const mapOpcoes = {
"1": "opcaoUm",
"2": "opcaoDois",
"3": "opcaoTres",
"4": "opcaoQuatro"
};
return $input.all().map(item => {
const msg = (item.json.chatMessage || '').trim();
let actionChosen = undefined;
let messageType = undefined;
if (/^[1-4]$/.test(msg)) {
actionChosen = mapOpcoes[msg];
messageType = "list";
}
// Retorna o novo JSON, mantendo tudo que já existia e só sobrescrevendo actionChosen
return {
json: {
...item.json,
actionChosen,
messageType
}
};
});
return $input.all();
A apresentação não fica legal como as listas e da mais trabalho, mas foi a solução que encontrei.