Mensagens e mídia
Tipos de envio, arquivos por URL ou base64, respostas, reações e a mídia recebida.
Todos os envios são POST em /messages/... com o chatId do destino. A lista completa, com todos os campos, está
em Mensagens.
| Envio | Rota | Campos principais |
|---|---|---|
| Texto | POST /messages/text | text, reply_to (opcional) |
| Imagem | POST /messages/image | file, caption |
| Documento | POST /messages/file | file (com filename), caption |
| Áudio gravado | POST /messages/voice | file, convert |
| Vídeo | POST /messages/video | file, caption, convert, asNote |
| Localização | POST /messages/location | latitude, longitude, title |
| Contato | POST /messages/contact-vcard | contacts[] |
| Enquete | POST /messages/poll | poll.name, poll.options, poll.multipleAnswers |
| Lista | POST /messages/list | message.sections[].rows[] |
| Reação | PUT /messages/reaction | messageId, reaction (emoji; vazio remove) |
Arquivos: por URL ou base64
{
"chatId": "5511999999999",
"caption": "Segue o boleto",
"file": {
"url": "https://exemplo.com.br/arquivos/boleto.pdf",
"mimetype": "application/pdf",
"filename": "boleto.pdf"
}
}- Por URL (
file.url): o endereço precisa ser público (http/https) e responder rápido. É o jeito recomendado. - Em base64 (
file.data): o conteúdo do arquivo no próprio corpo, até 70 MB por requisição. - Áudio e vídeo: com
convert: true, o arquivo é convertido para o formato do WhatsApp (OGG/Opus e MP4).
Responder, reagir e marcar como lida
- Responder citando:
reply_tocom oidda mensagem original. - Reagir:
PUT /messages/reactioncommessageIde o emoji emreaction. - Marcar como lida:
POST /messages/seencom ochatId. - "Digitando…":
POST /typing/startaté o envio da resposta (ouPOST /typing/stop). - Editar ou apagar:
PUTeDELETEem/chats/{chatId}/messages/{messageId}.
O id de uma mensagem tem o formato {fromMe}_{chatId}_{id}, por exemplo
false_5511999999999@c.us_3EB0C0A1B2C3D4E5F6.
Mídia recebida
Imagens, áudios, vídeos e documentos chegam nos eventos com um link assinado em payload.media.url
(https://app.onzap.io/v1/files/...):
"media": {
"url": "https://app.onzap.io/v1/files/i01j.../false_5511999999999@c.us_3EB0....jpeg?exp=...&sig=...",
"mimetype": "image/jpeg"
}- Não precisa de token: o link é a autorização.
- Vale por 24 horas. Baixe e guarde o arquivo no seu armazenamento se precisar dele depois.
- O tipo da mensagem vem em
payload.type:text,image,video,audio,voice,document,sticker,location,contact,poll,button_reply,list_reply,reactionouunknown.