Pesquisei problemas semelhantes no GitHub e não encontrei nenhum.
Quais passos para chegar ao problema?
Describe the bug
The /chat/deleteMessage/{instanceName} endpoint does not behave correctly when everyOne=false.
According to the Swagger description, everyOne means:
Specifies whether the message should be deleted for everyone in the chat.
So when everyOne=false, the expected behavior is:
- the message is deleted only from the current logged-in WhatsApp account
- the recipient should still be able to see the message
But in practice, sender-side delete-for-me is not working correctly.
In our tests, one of these wrong behaviors happens:
- sometimes the API returns success / acknowledged, but the sender-side message is still not actually deleted in WhatsApp
- sometimes an attempted local-only delete ends up affecting both sides instead of only the sender side
This makes everyOne=false unreliable for production use.
Descreva o que você esperava que acontecesse.
To Reproduce
- Start
whatsapp-api
- Log in an instance with a real WhatsApp account
- Send a message from this account to another account
- Call:
DELETE /chat/deleteMessage/{instanceName}
With payload / query equivalent to:
{
"instanceName": "codechat-xx_huang",
"messageRecordId": "e289bb87-xxfc-4efd-9a43-63eb3de883e1",
"everyOne": false
}
- Check both WhatsApp clients after the request succeeds
Explique o que realmente acontece quando você segue os passos acima.
Expected behavior
When everyOne=false:
- the message should disappear only from the current logged-in sender account
- the recipient should still see the original message
When everyOne=true:
- the message should be revoked for everyone, subject to WhatsApp limitations
Actual behavior
When everyOne=false, the result is incorrect / inconsistent:
- sender-side delete-for-me does not reliably happen
- in some test cases, both sides no longer see the message, which matches revoke behavior rather than local-only delete behavior
API documentation reference
Current Swagger description for everyOne:
Specifies whether the message should be deleted for everyone in the chat.
This strongly implies that false should mean delete only for the current account, not revoke for everyone.
Insira o número da sua versão que está na propriedade version do package.json.
Additional context
whatsapp-api version: 1.3.7
- Baileys dependency:
@whiskeysockets/baileys@^7.0.0-rc13
- node version:
v22.22.2
We also checked /chat/deleteChat/{instanceName}, but that endpoint is for deleting the whole chat locally, not for deleting a single message, so it is not a workaround for this bug.
From the integration side, this issue is especially confusing because the API may return a successful result or local acknowledgment, but the real WhatsApp client behavior does not match a true sender-only deletion.
It would be helpful to clarify:
- whether
everyOne=false is officially supported for single-message local deletion
- whether the current Baileys-based implementation can reliably support delete-for-me
- whether this route should document current limitations if the feature is not fully supported
Se possível, adicione capturas de tela ou vídeos que ilustrem o problema.
Isso pode ser extremamente útil para entender melhor o problema.
O ambiente no qual a aplicação está em execução
Windows
Por favor, anexe os logs que possam estar relacionados ao problema.
Se os logs contiverem informações sensíveis, considere enviá-los de forma privada para um dos mantenedores do projeto.
Inclua aqui qualquer outra informação que você ache que possa ser útil para entender ou resolver o bug.
No response
Pesquisei problemas semelhantes no GitHub e não encontrei nenhum.
Quais passos para chegar ao problema?
Describe the bug
The
/chat/deleteMessage/{instanceName}endpoint does not behave correctly wheneveryOne=false.According to the Swagger description,
everyOnemeans:So when
everyOne=false, the expected behavior is:But in practice, sender-side delete-for-me is not working correctly.
In our tests, one of these wrong behaviors happens:
This makes
everyOne=falseunreliable for production use.Descreva o que você esperava que acontecesse.
To Reproduce
whatsapp-apiWith payload / query equivalent to:
{ "instanceName": "codechat-xx_huang", "messageRecordId": "e289bb87-xxfc-4efd-9a43-63eb3de883e1", "everyOne": false }Explique o que realmente acontece quando você segue os passos acima.
Expected behavior
When
everyOne=false:When
everyOne=true:Actual behavior
When
everyOne=false, the result is incorrect / inconsistent:API documentation reference
Current Swagger description for
everyOne:This strongly implies that
falseshould mean delete only for the current account, not revoke for everyone.Insira o número da sua versão que está na propriedade
versiondo package.json.Additional context
whatsapp-apiversion:1.3.7@whiskeysockets/baileys@^7.0.0-rc13v22.22.2We also checked
/chat/deleteChat/{instanceName}, but that endpoint is for deleting the whole chat locally, not for deleting a single message, so it is not a workaround for this bug.From the integration side, this issue is especially confusing because the API may return a successful result or local acknowledgment, but the real WhatsApp client behavior does not match a true sender-only deletion.
It would be helpful to clarify:
everyOne=falseis officially supported for single-message local deletionSe possível, adicione capturas de tela ou vídeos que ilustrem o problema.
Isso pode ser extremamente útil para entender melhor o problema.
O ambiente no qual a aplicação está em execução
Windows
Por favor, anexe os logs que possam estar relacionados ao problema.
Se os logs contiverem informações sensíveis, considere enviá-los de forma privada para um dos mantenedores do projeto.
Inclua aqui qualquer outra informação que você ache que possa ser útil para entender ou resolver o bug.
No response