Pular para o conteúdo principal
Envie conteúdo de mídia rico incluindo imagens, vídeos, documentos e arquivos de áudio através da API WhatsApp da ApiZap.

Tipos de Mídia Suportados

A ApiZap suporta todos os formatos de mídia padrão do WhatsApp:

Imagens

Formatos: JPG, JPEG, PNG, GIF, WebP Tamanho Máx: 16MB Ótimo: 1024x1024px para melhor qualidade

Vídeos

Formatos: MP4, AVI, MOV, 3GP Tamanho Máx: 16MB Duração: Até 30 segundos recomendado

Documentos

Formatos: PDF, DOC, DOCX, XLS, XLSX, PPT, PPTX Tamanho Máx: 100MB Observações: Miniaturas geradas automaticamente

Áudio

Formatos: MP3, WAV, OGG, AAC Tamanho Máx: 16MB Duração: Até 16 minutos

Enviando Mensagens de Mídia

Mensagens de Imagem

Envie imagens com legendas opcionais:
curl -X POST "https://b0fe4081af63.ngrok-free.app/api/v1/messages" \
  -H "Authorization: ApiKey sua_chave_api_aqui" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "API",
    "mediaType": "IMAGE",
    "mediaUrl": "https://exemplo.com/imagem.jpg",
    "content": "Confira nosso novo produto! 🎉",
    "phone": "+5511999999999",
    "instanceId": "sua_instancia_id"
  }'

Mensagens de Vídeo

Envie vídeos com miniaturas automáticas:
Mensagem de Vídeo
{
  "type": "API",
  "mediaType": "VIDEO",
  "mediaUrl": "https://exemplo.com/video.mp4",
  "content": "Vídeo demonstrativo do produto 📹",
  "phone": "+5511999999999",
  "instanceId": "sua_instancia_id"
}

Mensagens de Documento

Envie documentos com miniaturas automáticas:
Mensagem de Documento
{
  "type": "API",
  "mediaType": "DOCUMENT",
  "mediaUrl": "https://exemplo.com/catalogo.pdf",
  "content": "Nosso catálogo de produtos mais recente",
  "fileName": "Catalogo_Produtos_2023.pdf",
  "phone": "+5511999999999",
  "instanceId": "sua_instancia_id"
}

Mensagens de Áudio

Envie arquivos de áudio (notas de voz aparecem como áudio reproduzível):
Mensagem de Áudio
{
  "type": "API",
  "mediaType": "AUDIO",
  "mediaUrl": "https://exemplo.com/audio.mp3",
  "phone": "+5511999999999",
  "instanceId": "sua_instancia_id"
}

Requisitos para URLs de Mídia

Requisitos de Hospedagem

HTTPS Obrigatório

Todas as URLs de mídia devem usar protocolo HTTPS para segurança

Acesso Público

URLs devem ser publicamente acessíveis (sem autenticação necessária)

Links Diretos

URLs devem apontar diretamente para o arquivo de mídia, não para uma página web

URLs Estáveis

URLs devem permanecer acessíveis por pelo menos 24 horas

Serviços CDN Recomendados

Para hospedagem confiável de mídia, considere estes serviços CDN:
const AWS = require('aws-sdk');

const uploadParaS3 = async (arquivo, nomeArquivo) => {
  const s3 = new AWS.S3({
    accessKeyId: process.env.AWS_ACCESS_KEY_ID,
    secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
    region: process.env.AWS_REGION
  });

  const params = {
    Bucket: process.env.S3_BUCKET,
    Key: `media/${nomeArquivo}`,
    Body: arquivo,
    ContentType: arquivo.mimetype,
    ACL: 'public-read'
  };

  const resultado = await s3.upload(params).promise();
  return resultado.Location; // Use esta URL na sua mensagem
};

Exemplos Práticos

E-commerce - Catálogo de Produtos

const enviarProduto = async (cliente) => {
  await enviarImagem(
    cliente.telefone,
    cliente.produto.imagemUrl,
    `🛍️ *${cliente.produto.nome}*\n\n💰 *R$ ${cliente.produto.preco}*\n📦 Frete grátis para sua região!\n\n🔗 Comprar: ${cliente.produto.link}`
  );
};

// Uso
await enviarProduto({
  telefone: '+5511999999999',
  produto: {
    nome: 'Smartphone XYZ',
    preco: '899,90',
    imagemUrl: 'https://loja.com/smartphone-xyz.jpg',
    link: 'https://loja.com/comprar/smartphone-xyz'
  }
});

Saúde - Resultados de Exames

Enviar Resultado de Exame
const enviarResultadoExame = async (paciente, exameUrl) => {
  const response = await fetch('https://b0fe4081af63.ngrok-free.app/api/v1/messages', {
    method: 'POST',
    headers: {
      'Authorization': 'ApiKey sua_chave_api_aqui',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      type: 'API',
      mediaType: 'DOCUMENT',
      mediaUrl: exameUrl,
      fileName: `Exame_${paciente.nome}_${new Date().toISOString().slice(0,10)}.pdf`,
      content: `🏥 *Resultado do Exame*\n\n👋 Olá, ${paciente.nome}!\n\nSeu resultado de exame está pronto. 📋\n\n⚠️ *Importante:*\n• Leia com atenção\n• Tire dúvidas com seu médico\n• Guarde em local seguro\n\n❤️ Cuidamos da sua saúde!`,
      phone: paciente.telefone,
      instanceId: 'sua_instancia_id'
    })
  });

  return await response.json();
};

Melhores Práticas

Otimização de Imagens

Comprima imagens antes do upload para reduzir tamanho de arquivo e tempo de carregamento

Legendas Descritivas

Use legendas informativas para dar contexto às mídias enviadas

Backup de URLs

Mantenha URLs de mídia acessíveis por tempo suficiente para entrega

Formatos Compatíveis

Sempre teste formatos de mídia em diferentes dispositivos antes do envio em massa

Dicas de Performance

  1. Compressão: Comprima vídeos e imagens antes do envio
  2. CDN: Use CDNs para servir mídia mais rapidamente
  3. Cache: Implemente cache local para mídias frequentemente enviadas
  4. Monitoramento: Monitore taxas de entrega de mensagens de mídia

Dica Pro: Para campanhas de marketing, prepare todas as mídias com antecedência e teste a qualidade de reprodução em diferentes dispositivos antes do envio em massa.