Skip to content

API de Mensagens v1

A API de mensagens permite enviar mensagens através da plataforma ZapFlare.

Base URL

https://api.zapflare.io/v1

Autenticação

Todas as requisições devem incluir um dos headers:

Authorization: Bearer SUA_API_KEY

ou

X-API-Key: SUA_API_KEY

Endpoints Disponíveis

1. Enviar Mensagem de Texto

Envia uma mensagem de texto simples para um número WhatsApp.

http
POST /messages/send

Corpo da Requisição

json
{
  "to": "5511999999999",
  "text": "Sua mensagem aqui"
}

Parâmetros

CampoTipoObrigatórioDescrição
tostringSimNúmero do destinatário com código do país (sem + ou espaços)
textstringSimTexto da mensagem

Resposta de Sucesso (200)

json
{
  "success": true,
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "status": "queued",
    "timestamp": "2024-01-15T15:30:00.000Z",
    "mode": "production"
  }
}

Notas Importantes:

  • Se você estiver usando uma API Key de teste, a mensagem será prefixada com [TEST]
  • O campo mode indicará se a mensagem foi enviada em modo test ou production

2. Listar Mensagens (Em Desenvolvimento)

⚠️ ATENÇÃO: Este endpoint retorna dados simulados e não está conectado ao banco de dados real.

http
GET /messages/list?page=1&limit=10

Parâmetros de Query

CampoTipoPadrãoDescrição
pagenumber1Número da página
limitnumber10Quantidade de resultados por página

3. Verificar Status da Mensagem (Em Desenvolvimento)

⚠️ ATENÇÃO: Este endpoint retorna dados simulados e não está conectado ao banco de dados real.

http
GET /messages/status/{messageId}

Tratamento de Erros

Estrutura de Erro

json
{
  "success": false,
  "error": {
    "code": "error_code",
    "message": "Descrição do erro"
  }
}

Códigos de Erro Comuns

CódigoHTTP StatusDescrição
unauthorized401API Key não fornecida ou inválida
invalid_api_key401API Key inválida
forbidden403Sem permissão para esta operação
invalid_request400Campos obrigatórios faltando
rate_limit_exceeded429Limite de requisições excedido
server_error500Erro interno do servidor

Limites

  • API Keys de Teste: Máximo de 100 mensagens por dia
  • API Keys de Produção: Limites baseados no plano contratado

Exemplo de Código

JavaScript/Node.js

javascript
const axios = require('axios');

const API_KEY = 'sua_api_key_aqui';
const API_URL = 'https://api.zapflare.io/v1';

async function enviarMensagem(numero, texto) {
  try {
    const response = await axios.post(
      `${API_URL}/messages/send`,
      {
        to: numero,
        text: texto
      },
      {
        headers: {
          'Authorization': `Bearer ${API_KEY}`,
          'Content-Type': 'application/json'
        }
      }
    );
    
    console.log('Mensagem enviada:', response.data);
    return response.data;
  } catch (error) {
    console.error('Erro:', error.response?.data || error.message);
    throw error;
  }
}

// Usar
enviarMensagem('5511999999999', 'Olá! Esta é uma mensagem de teste.');

cURL

bash
curl -X POST https://api.zapflare.io/v1/messages/send \
  -H "Authorization: Bearer SUA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "5511999999999",
    "text": "Olá! Esta é uma mensagem de teste."
  }'

Python

python
import requests

API_KEY = 'sua_api_key_aqui'
API_URL = 'https://api.zapflare.io/v1'

def enviar_mensagem(numero, texto):
    headers = {
        'Authorization': f'Bearer {API_KEY}',
        'Content-Type': 'application/json'
    }
    
    data = {
        'to': numero,
        'text': texto
    }
    
    response = requests.post(
        f'{API_URL}/messages/send',
        json=data,
        headers=headers
    )
    
    if response.status_code == 200:
        print('Mensagem enviada:', response.json())
        return response.json()
    else:
        print('Erro:', response.json())
        response.raise_for_status()

# Usar
enviar_mensagem('5511999999999', 'Olá! Esta é uma mensagem de teste.')

Observações Importantes

  1. Instâncias WhatsApp: A API key já está vinculada ao seu tenant/usuário. Não é necessário especificar uma instância.

  2. Formato de Números:

    • Sempre inclua o código do país
    • Não use caracteres especiais (+, -, espaços, parênteses)
    • Exemplo correto: 5511999999999
  3. Segurança:

    • Nunca exponha sua API Key no código frontend
    • Use variáveis de ambiente para armazenar a API Key
    • Sempre use HTTPS
  4. Status da API: A maioria dos endpoints ainda está em desenvolvimento. Atualmente, apenas o envio de mensagens de texto está funcional.

Desenvolvido com ❤️ pela equipe ZapFlare