Enviar Mensagens
Enviar Mídia
Envia um arquivo de mídia para um contato. O arquivo deve estar acessível em uma URL pública. Tipos disponíveis: • image: Imagem (JPG, PNG, GIF, WebP). Suporta legenda via text. • video: Vídeo (MP4, AVI, MOV). Suporta legenda via text. • audio: Áudio como arquivo (MP3, OGG, WAV). Aparece com ícone de arquivo de áudio. • ptt: Push-to-Talk: áudio que aparece como mensagem de voz (bolha de microfone). Ideal para humanizar automações. • myaudio: Áudio nativo do WhatsApp (OGG/Opus). Semelhante ao ptt, use quando já tiver o arquivo no formato correto. • ptv: Recado de vídeo (nota de vídeo redonda). Chega sempre em formato circular; vídeo 16:9 é cortado no centro. Ignora legenda (o campo text não aparece). Use MP4 H.264. Aceita durações longas (testado 15 a 180 s) e tamanho dentro do limite de mídia. • document: Documento (PDF, DOCX, XLSX, etc.). Use docName para definir o nome exibido no chat. • sticker: Figurinha animada ou estática (WebP). Limite de tamanho (envio por URL): imagem, vídeo e áudio até ~190 MB; documento até ~500 MB. Acima disso o WhatsApp recusa (HTTP 413 / erro de upload). Observação: ao enviar o arquivo em base64 no corpo da requisição pela API pública (/api/v1), o limite cai para ~2 MB. Por isso, para arquivos maiores, sempre envie por URL.
https://api.zapzapapi.com/api/v1/{instanceId}/send/mediaAutenticação por cabeçalhos x-api-key e x-api-secret.
Parâmetros
| Nome | Tipo | Onde | Obrigatório | Descrição |
|---|---|---|---|---|
number | text | corpo | Sim | Número (com DDI) |
type | select | corpo | Sim | Tipo de Mídia |
file | text | corpo | Sim | URL do Arquivo |
text | text | corpo | Não | Legenda: imagens e vídeos |
mentions | text | corpo | Não | Marcar membros (somente grupo) |
docName | text | corpo | Não | Nome do arquivo: obrigatório para document |
delay | number | corpo | Não | Delay (ms) |
digitando | select | corpo | Não | Exibe "digitando..." automatico proporcional ao tamanho da mensagem antes de enviar. Ligado por padrao (humaniza e reduz risco de bloqueio). Envie false para desligar e responder mais rapido. A resposta continua sincrona. |
Exemplo de requisição
curl
curl -X POST "https://api.zapzapapi.com/api/v1/{instanceId}/send/media" \
-H "x-api-key: SUA_API_KEY" \
-H "x-api-secret: SEU_API_SECRET" \
-H "Content-Type: application/json" \
-d '{"number":"5511999999999","type":"image","file":"https://..."}'Node.js
const res = await fetch("https://api.zapzapapi.com/api/v1/{instanceId}/send/media", {
method: "POST",
headers: {
"x-api-key": "SUA_API_KEY",
"x-api-secret": "SEU_API_SECRET",
"Content-Type": "application/json",
},
body: JSON.stringify({
"number": "5511999999999",
"type": "image",
"file": "https://..."
}),
});
console.log(await res.json());Python
import requests
res = requests.post(
"https://api.zapzapapi.com/api/v1/{instanceId}/send/media",
headers={"x-api-key": "SUA_API_KEY", "x-api-secret": "SEU_API_SECRET"},
json={"number":"5511999999999","type":"image","file":"https://..."},
)
print(res.json())Exemplo de resposta
JSON
{
"messageId": "ABCDEF123456",
"status": "sent"
}Os valores são ilustrativos; os campos seguem o formato real da resposta.
Outros endpoints desta categoria
Pegue suas chaves de API
Crie sua conta, conecte um número em minutos e comece a usar a API. R$15 por número ativo/mês, com crédito de boas-vindas ao criar a conta, sujeito à campanha vigente.
