Skip to main content
Quatro rotas enviam mídia para um lead. Todas recebem o arquivo em multipart/form-data, no campo file, e respondem 201 assim que aceitam o pedido. O envio ao WhatsApp acontece logo depois, em segundo plano. As mesmas regras de Mensagens valem aqui: o lead precisa existir e, na conexão oficial, a janela de 24h precisa estar aberta. Fora da janela, use um template com cabeçalho de mídia.

Campos do formulário

Resposta: 201

O 201 quer dizer: o arquivo chegou, o lead existe, a janela está aberta e a mensagem entrou na fila de envio. A conversão, o upload e o envio ao WhatsApp acontecem em seguida. Se algo falhar nessa etapa, a mensagem fica marcada como falha no chat do lead, e a resposta HTTP já foi dada. Para saber se saiu de fato, use os webhooks: API_KEY_INTERACTION quando a mensagem sai, ERROR quando o WhatsApp recusa.

Erros

Exemplos

Com curl -F, não escreva o header Content-Type: o curl monta o boundary sozinho.

Armadilhas

  • 201 não é entrega. Uma imagem que não é imagem (um PDF mandado em /image) passa no 201 e falha depois. Mande cada tipo na rota certa e confira pelo webhook.
  • Tipo errado na parte do arquivo. O tipo vem do Content-Type da parte file. Sem ele, o arquivo chega como application/octet-stream e um vídeo é recusado. No curl, use ;type=video/mp4.
  • WEBP vira JPEG. A imagem é sempre convertida, para não aparecer como figurinha.
  • Vídeo em WEBM, AVI ou MKV é recusado. Converta para MP4 antes.
  • Fora da janela, mídia não sai na conexão oficial. Use um template com cabeçalho de imagem, vídeo ou documento.
  • Mídia pela API não pausa a IA nem agenda automações, igual ao texto.
  • Arquivo grande demora. O envio é em segundo plano; não reenvie só porque a mensagem ainda não apareceu como entregue.

Perguntas frequentes

Não. As rotas só aceitam o arquivo no corpo (multipart/form-data). Baixe o arquivo no seu servidor e envie.
Sim. O áudio é convertido para OGG/Opus e enviado como mensagem de voz (como se tivesse sido gravado no app), nas duas conexões. Não dá para mandar áudio como arquivo anexado por esta rota; para isso, use /messages/file.

Para saber mais