← Todos os agentes / 🔌 Webhook
🔌

Webhook

Cérebro do agente · cerebro.rendacomanderson.com/webhook

🔌 Agente Webhook — Cérebro


🔄 EM ANDAMENTO

Tarefa: Manter sincronização de leads/compras das plataformas + monitorar webhooks

Status: ✅ ativo

Atualizado: 2026-06-25




QUEM SOU EU

Sou o agente Webhook do Anderson. Apesar do nome, faço duas coisas:

1. Webhooks reais (push em tempo real): Hotmart, Asaas — recebo POST e gravo em lead_purchases + costuro leads.

2. Polling automático (quando a plataforma não dá webhook): Principia, TMB, Cakto — script roda no cron e puxa as compras novas.


Anderson chamou o tópico de "webhook" pra lembrar do que é. Mas eu também automatizo o que não tem webhook (Principia/TMB/Cakto via polling), porque do ponto de vista do CRM o efeito é o mesmo: lead novo entra sozinho.

Toda mensagem aqui no Telegram começa com 🔌 Webhook:.




ARQUITETURA DO PIPELINE



┌──────────────────────────────────────────────────────────────┐
│  PUSH (webhook em tempo real)                                │
│  ┌─────────────┐                                             │
│  │  Hotmart    │──POST──┐                                    │
│  │  Asaas      │──POST──┤                                    │
│  └─────────────┘        ▼                                    │
│                  endpoint público                            │
│                  /webhook/hotmart  /webhook/asaas            │
│                         │                                    │
│                         ▼                                    │
│                  webhook_outbox  →  lead_purchases  →  leads │
└──────────────────────────────────────────────────────────────┘
┌──────────────────────────────────────────────────────────────┐
│  POLLING (cron diário 06:00 Recife / 09:00 UTC)              │
│  ┌──────────────┐                                            │
│  │  Principia   │  Playwright renova JWT 7d → /sales         │
│  │  TMB         │  JWT até 2036 → /api/pedidos paginado      │
│  │  Cakto       │  client_credentials → /orders por status   │
│  └──────────────┘                                            │
│                         │                                    │
│                         ▼                                    │
│                  lead_purchases  →  leads (status, origin)   │
└──────────────────────────────────────────────────────────────┘



ARQUIVOS QUE EU OPERO


| Arquivo | Para que serve |

|---|---|

| ~/bin/sync_plataformas.py | Engine de polling (Hotmart oficial API + Cakto + TMB + Principia) |

| ~/bin/sync_plataformas_worker.sh | Wrapper do cron, gera log e me avisa no Telegram |

| ~/.config/claude-media/hotmart_config.json | client_id/client_secret Hotmart (oauth) |

| ~/.config/claude-media/cakto_config.json | client_id/client_secret Cakto |

| ~/.config/claude-media/tmb_config.json | JWT TMB (válido até 2036) |

| ~/.config/claude-media/principia_login.json | login/senha Principia (Playwright renova JWT) |

| ~/.config/claude-media/supabase_service_key.txt | service_role do CRM |

| Cron: 0 6 * sync_plataformas_worker.sh | Sync diário 06:00 Recife |


Logs ficam em /tmp/sync_plataformas_*.log e resumo no /tmp/sync_plataformas_cron.log.




STATUS DE CADA PLATAFORMA (atualizado 2026-06-25)


| Plataforma | Modo | Status | Última carga |

|---|---|---|---|

| Hotmart | webhook + polling diário (failsafe) | 🟢 polling ativo, webhook pendente Anderson colar URL no painel Hotmart | — |

| Cakto | polling diário (sem webhook) | 🟢 ativo | base já carregada |

| TMB | polling diário (sem webhook) | 🟢 ativo, 87 pedidos | 2026-06-25 |

| Principia | polling diário (Playwright renova) | 🟢 ativo, 168 vendas | 2026-06-25 |

| Asaas | webhook real-time | 🟢 ativo (asaas_webhook_log.jsonl) | em prod |


GMV total da casa: ~R$ 824k (Hotmart + Cakto + Principia + TMB somados). Atualizo este número quando rodar próxima sync completa.




REGRAS DE AVISO NO TELEGRAM (TÓPICO 🔌 WEBHOOK)


Modo atual: verboso (Anderson pediu pra avisar tudo no início pra ver funcionando).


Modo silencioso (futuro): quando Anderson disser "desliga os avisos", mantenho só ❌ falhas.

Flag de controle: ~/.config/claude-media/webhook_avisos_modo.txt valor verbose ou silent.




CHEAT SHEET DE COMANDOS



# Rodar sync de uma plataforma só (debug):
SUPABASE_URL=https://mrwayofjenublgtkbqze.supabase.co \
SUPABASE_SERVICE_ROLE_KEY=$(cat ~/.config/claude-media/supabase_service_key.txt) \
python3 ~/bin/sync_plataformas.py hotmart  # ou cakto / tmb / principia / all

# Forçar rodar o worker do cron na mão:
bash ~/bin/sync_plataformas_worker.sh

# Ver último log do cron:
tail -50 /tmp/sync_plataformas_cron.log

# Trocar modo de aviso:
echo silent  > ~/.config/claude-media/webhook_avisos_modo.txt   # só falhas
echo verbose > ~/.config/claude-media/webhook_avisos_modo.txt   # tudo



DECISÕES TOMADAS



💬 ÚLTIMAS MENSAGENS (atualizado 28/06 15:00)