Skip to content

Enviando Mensagens

Aprenda como enviar diferentes tipos de mensagens através da API do ZapFlare.

Pré-requisitos

Antes de enviar mensagens, você precisa:

  1. API Key válida - Gere uma API Key
  2. Instância conectada - Crie e conecte uma instância
  3. Número de destino - Com código do país (ex: 5511999999999)

Tipos de Mensagens

Mensagem de Texto

O tipo mais simples e comum:

bash
curl -X POST https://api.zapflare.io/whatsapp/instances/{instanceId}/send-text \
  -H "Authorization: Bearer SEU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "5511999999999",
    "message": "Olá! Esta é uma mensagem do ZapFlare."
  }'

Mensagem com Formatação

Use formatação para destacar informações:

javascript
const response = await fetch(`https://api.zapflare.io/whatsapp/instances/${instanceId}/send-text`, {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer SEU_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    to: "5511999999999",
    message: `*Negrito* _itálico_ ~tachado~
    
📌 *Pedido #1234*
• Status: Confirmado
• Total: R$ 150,00
• Entrega: 20/01/2024`
  })
});

Mensagem com Mídia

Envie imagens, vídeos e documentos:

javascript
// Enviar imagem
const response = await fetch(`https://api.zapflare.io/whatsapp/instances/${instanceId}/send-media`, {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer SEU_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    to: "5511999999999",
    mediaType: "image",
    mediaUrl: "https://exemplo.com/produto.jpg",
    caption: "Novo produto disponível!"
  })
});

// Enviar documento
const docResponse = await fetch(`https://api.zapflare.io/whatsapp/instances/${instanceId}/send-media`, {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer SEU_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    to: "5511999999999",
    mediaType: "document",
    mediaUrl: "https://exemplo.com/catalogo.pdf"
  })
});

Boas Práticas

1. Validação de Números

Sempre valide o formato:

  • Inclua código do país
  • Remova caracteres especiais
  • Exemplo: +55 (11) 99999-99995511999999999

2. Tratamento de Erros

javascript
try {
  const response = await sendMessage(data);
  
  if (!response.ok) {
    const error = await response.json();
    console.error('Erro:', error.message);
    
    // Retry logic
    if (error.code === 'RATE_LIMIT') {
      await sleep(60000); // Aguarda 1 minuto
      return sendMessage(data);
    }
  }
} catch (error) {
  console.error('Erro de rede:', error);
}

3. Rate Limiting

Respeite os limites da API e implemente fila para grandes volumes de mensagens.

4. Conteúdo

  • Evite spam
  • Personalize mensagens
  • Respeite horários comerciais
  • Obtenha consentimento

Resposta da API

Ao enviar uma mensagem, você receberá:

javascript
{
  "success": true,
  "data": {
    "id": "msg_abc123",
    "status": "queued",
    "timestamp": "2024-01-15T10:30:00Z"
  }
}

Exemplos Práticos

Sistema de Notificações

javascript
class WhatsAppNotifier {
  constructor(apiKey, instanceId) {
    this.apiKey = apiKey;
    this.instanceId = instanceId;
  }
  
  async notifyOrder(phone, order) {
    const message = {
      to: phone,
      message: `✅ *Pedido Confirmado*\n\n` +
               `Número: #${order.id}\n` +
               `Total: R$ ${order.total}\n` +
               `Entrega estimada: ${order.deliveryDate}\n\n` +
               `Acompanhe: ${order.trackingUrl}`
    };
    
    return this.sendText(message);
  }
  
  async sendText(data) {
    const response = await fetch(
      `https://api.zapflare.io/whatsapp/instances/${this.instanceId}/send-text`,
      {
        method: 'POST',
        headers: {
          'Authorization': `Bearer ${this.apiKey}`,
          'Content-Type': 'application/json'
        },
        body: JSON.stringify(data)
      }
    );
    
    return response.json();
  }
}

Próximos Passos

Desenvolvido com ❤️ pela equipe ZapFlare