Fazer upload de attachment (anexo)
UPLOAD DE ANEXO PARA MENSAGENS
Faz upload de um arquivo e cria um registro de attachment no banco de dados. Este attachment pode ser usado posteriormente para enviar mensagens com mídia (imagens, áudios, vídeos, documentos).
📋 Como Usar
- Faça o upload do arquivo usando este endpoint
- Guarde o
_idretornado - Use este
_idnos endpoints de envio de mensagens (send-image,send-audio,send-video,send-document)
📁 Tipos de Arquivo Suportados
- IMAGE: Imagens (JPG, PNG, GIF, WEBP)
- AUDIO: Áudios (MP3, OGG, AAC, AMR)
- VIDEO: Vídeos (MP4, 3GP)
- DOCUMENT: Documentos (PDF, DOC, DOCX, XLS, XLSX, PPT, TXT)
- STICKER: Stickers do WhatsApp (WEBP)
🔄 Fluxo Completo de Envio de Mídia
1. POST /resource/upload-attachment (com file e fileType)
→ Retorna: { _id: "65f1a2b3c4d5...", external_url: "https://...", ... }
2. POST /messages/send-image (com conversationId e attachment)
→ Envia a imagem para o contato
📝 Exemplo de Uso
Requisição:
POST /resource/upload-attachment
Content-Type: multipart/form-data
{
"file": [arquivo binário],
"fileType": "IMAGE"
}
Resposta:
{
"_id": "65f1a2b3c4d5e6f7g8h9i0j1",
"extension": "png",
"external_url": "https://s3.amazonaws.com/bucket/file.png",
"file_type": "IMAGE",
"meta": {
"mimeType": "image/png",
"size": 102400,
"fileName": "foto.png",
"resourceUrl": "https://s3.amazonaws.com/bucket/file.png"
},
"company": "65f...",
"createdAt": "2024-01-15T10:30:00.000Z"
}
Depois, enviar a imagem:
POST /messages/send-image
{
"conversationId": "65f...",
"message": {
"content": "Confira esta imagem!",
"contentType": "IMAGE",
"attachment": "65f1a2b3c4d5e6f7g8h9i0j1"
}
}
⚠️ Observações Importantes
- Tamanho Máximo: Varia conforme o tipo de arquivo e canal (WhatsApp tem limites específicos)
- Formatos Aceitos: Apenas formatos suportados pelo WhatsApp
- Armazenamento: Arquivos são armazenados no S3 da AWS
- URL Pública: A URL retornada é pública e acessível diretamente
- Reutilização: O mesmo attachment pode ser usado em múltiplas mensagens
- Persistência: Attachments ficam salvos permanentemente no banco de dados
Authorizations
Token JWT de autenticação
Body
Response
Attachment criado com sucesso
Extensão do arquivo (jpg, png, pdf, etc.)
URL pública do arquivo (S3, CDN). Deprecated: preferir derivar a partir de s3_key via URL assinada.
Tipo do arquivo: IMAGE, AUDIO, VIDEO, DOCUMENT, STICKER
IMAGE, AUDIO, VIDEO, DOCUMENT, STICKER Empresa proprietária do attachment
ID do attachment
Chave do objeto no S3 (fonte da verdade para URL assinada)
Metadados adicionais do arquivo (mimeType, size, fileName, etc.)
Data de criação do attachment
Data de atualização do attachment