-
Notifications
You must be signed in to change notification settings - Fork 5.6k
Description
Welcome!
- Yes, I have searched for similar issues on GitHub and found none.
What did you do?
Existe uma inconsistência no endpoint /message/sendMedia/{instance} em relação ao nome da propriedade responsável pelo nome do arquivo no payload JSON.
Na documentação oficial, a propriedade é definida como:
"fileName": "<string>"Porém, na prática foi identificado o seguinte comportamento:
- Quando
mediatype="image", a requisição só é processada com sucesso se a propriedade for enviada como:
"filename": "imagem.jpg"- Quando
mediatype="video"ou"document", a requisição só é processada com sucesso se a propriedade for enviada como:
"fileName": "arquivo.pdf"Como JSON é case-sensitive, "fileName" e "filename" são propriedades distintas, o que gera ambiguidade no contrato da API e quebra implementações que seguem estritamente a documentação.
Passos para reproduzir
- Enviar uma imagem com:
{
"number": "5511999999999",
"mediatype": "image",
"mimetype": "image/jpeg",
"media": "<base64>",
"fileName": "imagem.jpg"
}Resultado: o serviço processa com sucesso, porém, a imagem nunca é enviada.
- Enviar a mesma imagem com:
{
"number": "5511999999999",
"mediatype": "image",
"mimetype": "image/jpeg",
"media": "<base64>",
"filename": "imagem.jpg"
}Resultado: requisição processada com sucesso.
- Enviar um documento com:
{
"number": "5511999999999",
"mediatype": "document",
"mimetype": "application/pdf",
"media": "<base64>",
"filename": "arquivo.pdf"
}Resultado: falha na requisição.
- Enviar o documento com:
{
"number": "5511999999999",
"mediatype": "document",
"mimetype": "application/pdf",
"media": "<base64>",
"fileName": "arquivo.pdf"
}Resultado: requisição processada com sucesso.
What did you expect?
Comportamento esperado
O nome da propriedade deveria ser consistente para todos os tipos de mídia, conforme descrito na documentação:
"fileName": "<string>"Possível causa
Pelo comportamento observado, parece que diferentes DTOs ou bindings internos estão sendo utilizados para image e para video/document, com mapeamentos de propriedade divergentes.
Sugestão
Padronizar o nome da propriedade para todos os tipos de mídia e alinhar a documentação ao comportamento real da API.
Isso garante previsibilidade no contrato e evita implementações condicionais no lado do cliente.
What did you observe instead of what you expected?
Screenshots/Videos
No response
Which version of the API are you using?
Versão: 2.3.7
What is your environment?
Linux
Other environment specifications
Linux
If applicable, paste the log output
No response
Additional Notes
No response