📚 Índice
🚀 Visão Geral
Sistema completo de tracking de conversões do WhatsApp usando Cloudflare Workers + Supabase.
URL Base: https://api.whatstracking.com
Worker URL: https://api.felipesoabreu16.workers.dev
🎯 Endpoints Principais
POST /tracking
Função: Receber e processar dados de tracking do site
curl -X POST https://api.whatstracking.com/tracking \
-H "Content-Type: application/json" \
-d '{
"companie_id": "empresa-123",
"page_url": "https://seusite.com/produto",
"utm_source": "google",
"utm_campaign": "black-friday"
}'
POST /webhook/{companieId}
Função: Receber webhooks do Evolution API para processar conversões
curl -X POST https://api.whatstracking.com/webhook/empresa-123 \
-H "Content-Type: application/json" \
-d '{
"event": "messages.upsert",
"instance": "instancia-123",
"data": {
"key": {"id": "msg123", "remoteJid": "5511999999999@s.whatsapp.net"},
"message": {"conversation": "Olá!"},
"pushName": "João"
}
}'
GET /scripts/whatsapp-tracker.js
Função: Servir o script JavaScript de tracking
<script> window.whatsappcompanieId = 'sua-empresa-id'; </script> <script src="https://api.whatstracking.com/scripts/whatsapp-tracker.js"></script>
🔧 Endpoints de Gerenciamento
POST /api/create-instance
Função: Criar nova instância no Evolution API
Requer Autenticação
GET /api/instance-status
Função: Verificar status de uma instância
Requer Autenticação
DELETE /api/delete-instance
Função: Deletar instância do Evolution API
Requer Autenticação
POST /instance/restart
Função: Reiniciar instância (logout + reconnect)
Requer Autenticação
POST /instance/logout
Função: Fazer logout de uma instância
Requer Autenticação
DELETE /instance/delete
Função: Deletar instância (completo)
Requer Autenticação
🛠️ Endpoints de Utilidade
GET /qrcode/generate-qrcode
Função: Gerar QR Code para conectar WhatsApp
curl "https://api.whatstracking.com/qrcode/generate-qrcode?instanceId=instancia-123"
GET /public/get-connection
Função: Obter informações públicas de uma conexão
curl "https://api.whatstracking.com/public/get-connection?connectionId=conexao-123"
POST /webhook-ingest
Função: Processar webhooks genéricos com logs estruturados
Requer Token
⚙️ Configuração
Secrets Necessários
# Configurar no Cloudflare Workers npx wrangler secret put SUPABASE_URL npx wrangler secret put SUPABASE_SERVICE_ROLE_KEY npx wrangler secret put WEBHOOK_SHARED_TOKEN
Configuração do Evolution API
{
"webhook": {
"url": "https://api.whatstracking.com/webhook/sua-empresa-id",
"events": ["MESSAGES_UPSERT", "CONNECTION_UPDATE", "QRCODE_UPDATED"]
}
}
📝 Exemplos de Uso
Fluxo Completo de Tracking
1. Incluir Script no Site:
<script>
window.whatsappcompanieId = 'empresa-123';
</script>
<script src="https://api.whatstracking.com/scripts/whatsapp-tracker.js"></script>
2. Configurar Evolution API:
curl -X POST https://api.whatstracking.com/api/create-instance \
-H "Authorization: Bearer SEU_TOKEN" \
-d '{"connectionId": "instancia-123"}'
3. Gerar QR Code:
curl "https://api.whatstracking.com/qrcode/generate-qrcode?instanceId=instancia-123"
4. Configurar Webhook:
{
"webhook": "https://api.whatstracking.com/webhook/empresa-123"
}
❌ Códigos de Erro
HTTP Status Codes
- 200 - Sucesso
- 400 - Bad Request (verificar parâmetros)
- 401 - Unauthorized (verificar token)
- 404 - Not Found (recurso não existe)
- 405 - Method Not Allowed (método incorreto)
- 500 - Internal Server Error (verificar logs)
Erros Comuns
- "No server configured" - Configurar servidor Evolution API
- "Connection not found" - Verificar se connectionId existe
- "Unauthorized" - Verificar token de autenticação
- "Method not allowed" - Usar método HTTP correto