/opt/trsadv-asaas-pro/ponte_advbox.py, hook no wf50 tempo real): boleto emitido → POST /transactions (receita, banco ASAAS, categoria Mensalidade/Iniciais, cliente por CPF); pago → PUT /transactions/{id} baixa. Sem trava de 12 meses (subscriptions Asaas endDate=None), 13ª (wf75), NF fiscal viva no Asaas (wf60). LIGADA (flag PONTE_EMITIR). Backfill histórico: 1.161 payments → 219 criadas + 942 vinculadas aos lançamentos manuais + 795 baixados, 0 erros. Dedupe: payment_id + match manual (data+valor+nome) + anti-double-link. Tabela trs_ponte_advbox.| Camada | Onde | O que |
|---|---|---|
| CORE unico | /opt/trsadv-shared/trs_gerar_contrato.py | preenche template v14 (fill multi-run + rodape) → convert_docx_to_pdf (gate aborta se sobrar ${...}) → PDF. 7 tipos (procuracao/hipossuf/5 contratos). |
| Disparo 1 — SSH/CLI | VPS | python3 trs_gerar_contrato.py --tipo X --dados d.json --out DIR |
| Disparo 2 — HTTP | POST /api/gerar-peca | Bearer token (/opt/n8n/secrets/trs_gerar_peca.token); interno :8892 + externo api.trsadv.com.br; 401/200/422 |
| Disparo 3 — n8n/Chatwoot | no HTTP Request | chama o endpoint acima (mesmo core) |
PROVADO E2E procuracao do Marcos: PDF sem placeholder, rodape preenchido, formatacao preservada. BUG corrigido ${nome} vivia no RODAPE (python-docx .paragraphs nao le) → fill+gate agora varrem cabecalho/rodape. Mac = cliente fino + validacao local fallback. Ver project_arquitetura_vps_first.
| Camada | Arquivo | Papel |
|---|---|---|
| FONTE UNICA (SSOT) | regras_trs.yaml | editar SO aqui — sync_regras.py gera o resto |
| Documentacao | MESTRE_REGRAS_PECAS_TRS.md | AUTO-GERADO (nao editar a mao) |
| Validador estrutural | validar_peca.py | constantes injetadas (marcadores AUTO-GERADO) |
| Gate informativo | post_edit_docx.sh | PostToolUse → validar_peca.py |
| Gate BLOQUEANTE | trs_stop_gate.sh | Stop → trs_validar.py + trs_format_gate.py (exit 2) |
| Drift detector | trs_verify_sync.py | md5 em todas as rotas; Stop-hook (avisa) + launchd 08:30 --vps --telegram |
Rotas sincronizadas byte-a-byte: Mac trs-scripts/ + trs-skills-mirror + trs-launchagent-backup + OneDrive "Claude Code Skills TRS" + memory/ + VPS /opt/skills/_trs-scripts e _memory. SEM DRIFT
| Item | Antes | Agora |
|---|---|---|
| Captura do ID no cadastro | lia resp['id'] = None (8 registros quebrados) | lê customers_id |
| Procuração sem rótulo "Outorgante:" | parse_incompleto | lê após "AD JUDICIA ET EXTRA" |
| CPF com espaço OCR / quebra+indentação | parse_incompleto | regex tolerante + CPF solto |
| Pastas travadas (parse_incompleto/erro) | nunca reprocessava (só "pastas novas") | reprocessa a cada run |
| Pasta com sufixo "- ID ADVBOX" | tentava parsear à toa | short-circuit ja_cadastrado |
| Co-autor (pluralidade) postalcode | erro 422 formato | formata 99999-999 |
Cadastrados na correção: Marcos Antonio Calejan (16795559), Letícia de Souza Ribeiro Silva (16795560), Ramon Emmanuel Ribeiro Chaves (16795561), Paulo Hiroshi Otsubo Filho (16803868), Patriimoveis (16803577). cadastrado: 16 parse_incompleto: 7 (órfãos _SEM_AREA — revisão manual)
Tarefas "acompanhamento de decisão"/passivas: WF10 filtra desde 30/06 (commit a31adaf) — só registra no banco, sem criar task. Quem ainda cria é o ADVBOX nativo (Termos Monitorados), a desligar na UI do ADVBOX. redundância WF10 NÃO reativada
números conferidos automaticamente em 21/08/2026 09:00 (fonte viva: crons.html + workflows.html)
| Servico | Conexao | Status | Uso |
|---|---|---|---|
| D4Sign API | Bearer token + webhook v2 | Rate 10 req/h | Procuracao + Hipossuficiencia + Contratos |
| D4Sign A1 | /opt/n8n/secrets/d4sign_a1.env | Cert path OK; senha pendente | Assinatura automatica do Dr. Tiago somente no contrato de honorarios |
| Microsoft Graph (Outlook) | OAuth contato@trsadv | OK | WF77 emails + alertas + audiencias |
| Microsoft Graph (OneDrive) | OAuth tiago@trsadv | OK | CLIENTES + DOCUMENTOS + Backups |
| ADVBOX API | access_token header | Aguarda schedules+webhooks | Publicacoes + tasks + customers |
| Asaas API + Webhook | access_token + HMAC | OK | Cobrancas + subscriptions + 13a |
| Gemini API | API Key v1beta | OK | Classificacao + minutas + audiencias |
| GPT API | API Key v1 | Failover | Fallback se Gemini cair |
| PDPJ CNJ | CPF/senha + TOTP | Login + QR/TOTP OK | TRT/TRF/PJe — baixar autos integra |
| TST | Login/senha + TOTP futuro | Login salvo; QR/TOTP pendente | Tribunal Superior do Trabalho; autos/publicacoes quando modulo for habilitado |
| TRT1 PJe 1g/2g | PJe-JT/PDPJ | CloudFront 403; e-mail enviado | Pedido de liberacao/whitelist enviado em 30/06/2026 para keith.santos@trt1.jus.br e pjeapoio@trt1.jus.br |
| TRT2 PJe 1g/2g | PJe-JT/PDPJ | Modulo pronto; e-mail enviado | Baixar autos integra TRT2; modulo usa rota oficial do portal TRT2, mas PJe retorna CloudFront 403 para a origem atual da VPS; pedido enviado em 30/06/2026 para suporte-pje@trtsp.jus.br |
| TRT15 PJe 1g/2g | PJe-JT/PDPJ | HTTP OK; Selenium bloqueado | curl publico retorna 200, mas smoke Selenium atual retornou CloudFront; revalidar apos IP BR/whitelist |
| eproc TJSP | Usuario/senha + TOTP | Login OK; TOTP pendente | Baixar autos integra TJSP eproc |
| e-SAJ TJSP | CPF/CNPJ + senha + codigo Outlook | Login/codigo OK | Baixar autos integra TJSP e-SAJ |
| TRF3 PJe 1g/2g | CPF/senha | Credencial OK; copia integral pendente | Baixar autos integra TRF3; precisa validar rota interna com CNJ real |
| eproc TJRJ | Usuario/senha + possivel TOTP | Modulo pronto; sem credencial | Baixar autos integra TJRJ eproc |
| Certificado Digital Tiago | e-CPF A1 em /var/lib/trsadv-bot/secrets | TIAGO PF OK | Assinatura/login quando portal aceitar A1 |
DNS no Microsoft 365 Admin Center | A record: api.trsadv.com.br -> 2.24.29.139 | TLS Let's Encrypt auto
| Endpoint | Metodo | Funcao |
|---|---|---|
| /api/health | GET | Status API |
| /api/contratos/preparar | POST | Registrar contrato (formato simples - Mac Claude) |
| /api/contratos/registrar | POST | Registrar contrato v2 (formato rico JSONB) |
| /api/contratos/listar | GET | Lista 50 contratos pendentes |
| /api/contratos/<id> | GET | Detalhe contrato |
| /api/contratos/<id>/preflight | GET/POST | Checklist seguro antes de gerar/enviar documentos |
| /api/contratos/<id>/checklist | GET | Checklist de documentos e regras de assinatura |
| /api/contratos/<id>/d4sign-dryrun | GET/POST | Dry-run do pacote D4Sign sem envio real |
| /api/prazos/reconciliar | GET/POST | Cria fila auditavel de prazos vencidos abertos sem fechar prazo |
| /api/prazos/resumo | GET | Resumo read-only da fila de prazos |
| /api/prazos/criticos | GET | Lista prazos criticos abertos para revisao |
| /api/prazos/review/<id> | GET | Detalhe read-only do prazo, deadline e publicacao |
| /api/prazos/dossie-criticos | GET/POST | Gera dossie Markdown dos prazos criticos |
| /api/prazos/review/<id>/resolver | POST | Marca item resolvido apenas na fila interna, com justificativa |
| /api/d4sign/a1-readiness | GET | Prontidao A1 sem expor valores de segredo |
| /api/d4sign/auditoria | GET/POST | Auditoria read-only das regras de assinatura D4Sign |
| /api/operacional/diario | GET/POST | Relatorio operacional consolidado, sem envio externo |
| /api/relatorios/dryrun | GET/POST | Relatorio mensal v3 em modo aprovacao, sem envio |
| /api/events/recentes | GET | Ledger operacional recente |
| /api/clientes/status | GET | Lista clientes por status |
| /api/clientes/categorizar | POST | Definir status cliente |
| /api/publicacoes/recentes | GET | Publicacoes ADVBOX recentes |
| /api/audiencias/proximas | GET | Audiencias 30 dias |
| /api/dashboard/resumo | GET | KPIs MRR+ativos+overdue+IAs |
| /api/qa | POST | Pergunta linguagem natural |
| Robo | Funcao | Cron |
|---|---|---|
| WF103 | Self-improvement contra duplicatas | diario |
| WF105 | Circuit breaker IAs | cada 30min |
| WF188 | Health API contratos + auto-restart | cada 5min |
| WF190 | Audit services 24/7 + auto-restart | cada 15min |
| poll-lawsuits | Detecta novos casos ADVBOX → dispara WF06b | cada 30min (NOVO 23/06) |
WF01-195 mapeados | 6-195 implementados
Detalhes individuais por WF em https://srv1762951.hstgr.cloud/assets/dashboard.html
| Quando | WF responsável | O que cria | Latência |
|---|---|---|---|
| Cliente NOVO no ADVBOX | WF06 | Pasta raiz CLIENTES/{área}/{Empregado|Empregador}/{Nome - ID}/ | até 6h (cron 8h+14h SP) |
| Novo caso (lawsuit) | WF06b NOVO | Esqueleto Processos/{Caso}/{6 subpastas} | até 30 min (polling) |
| Procuração assinada D4Sign | WF18 | Arquiva PDF em {Cliente}/Procuração/ | real-time webhook |
| Hipossuficiência assinada D4Sign | WF18 | Arquiva PDF em {Cliente}/Hipossuficiência/ | real-time webhook |
| Contrato Honorários assinado D4Sign | WF18 | Arquiva em DOCUMENTOS/Financeiro/Gestão/Contrato de Honorários/{área}/{Nome Completo}/ | real-time webhook |
| Nova peça redigida | WF70 | Cria Processos/{Caso}/Peças/{AAAA.MM.DD - Tipo}/ | madrugada (cron 1h SP) |
REDE - Docs/DOCUMENTOS/Financeiro/Gestão/Contrato de Honorários/
├─ Cível/{Nome Completo do Cliente}/Contrato_assinado_D4Sign.pdf
├─ Trabalhista/{Nome Completo do Cliente}/
├─ Família/{Nome Completo do Cliente}/
└─ ... (uma pasta por área jurídica)
Regra v5: pasta = nome completo do cliente (sem ADVBOX_ID, max 100 chars). NÃO fica dentro da pasta do cliente — fica separado na pasta financeira.
assinatura_html_trsadv() em /opt/trsadv-shared/trsadv_lib.pyfrom trsadv_lib import assinatura_html_trsadv + html += assinatura_html_trsadv()/opt/trsadv-status-notify/wf_status_notify.py/etc/cron.d/trsadv-status-notifytrs_status_snapshots (PK cliente_id_advbox)/opt/trsadv-criar-caso/wf_poll_lawsuits.py/etc/cron.d/trsadv-poll-lawsuits (*/30 min)trs_lawsuits_conhecidos (PK: lawsuit_id)Doc canonico: REDE/DOCUMENTOS/Manuais/REGRA_NOMENCLATURA_TRSADV.md + VPS /opt/trsadv-normalizador/
Nome do Cliente - {ADVBOX_ID}/
│
├─ Atendimento/ ├
├─ Procuracao/ ├ DOCS GERAIS DO CLIENTE
├─ Hipossuficiencia/ ├ (servem pra qualquer caso)
├─ Contrato Honorarios/└
│
└─ Processos/
│
└─ {Nome do caso}/ ← empresa adversa OU tipo (Reintegracao, 7a e 8a Hora)
├─ Copia Integral/ ← PDF integra
├─ Procuracao/ ├
├─ Hipossuficiencia/ ├ PARALELAS dentro do caso
├─ Documentos/ ├
├─ Audiencia/ └
└─ Peças/ ← uma subpasta por peca
└─ {AAAA.MM.DD - Tipo}/
├─ (peca final).pdf
├─ _NOTEBOOKLM_OUTPUT/
├─ _GPT_OUTPUT/
├─ _ANALISE_CLAUDE.md
└─ PROTOCOLO/
Implementado em 29/06/2026 após auditoria dos 13 lawsuits + acompanhamento Cleomar.
| WF | Cron | Função |
|---|---|---|
| WF240 | 9h+21h SP | Sincroniza tasks ADVBOX → trs_relatorio_tasks_advbox + atualiza lawsuit_status_advbox nas publicações |
| WF241 | diário 4h SP | Auto-fecha publicações de lawsuits ARQUIVADO + cleanup pendentes >180d |
| WF242 | domingo 18h SP | Alerta ZOMBIE — lawsuits arquivados c/ publicações novas (14d) |
| CLI | manual | /opt/trsadv-tools/arquivar_lawsuit.py LAWSUIT_ID [motivo] — arquiva via PUT API |
trs_publicacoes.lawsuit_status_advbox + lawsuit_arquivado_emtrs_relatorio_tasks_advbox (105 tasks sincronizadas)trs_historico_caso agora UNION ALL com 3 fontes (movimento + publicação + task_advbox)Relatório mensal por cliente agora inclui tarefas ADVBOX automaticamente.
Doc canônica: REDE/DOCUMENTOS/Manuais/REGRA_PUBLICACOES_CICLO_VITAL.md + VPS /opt/trsadv-shared/REGRA_PUBLICACOES_CICLO_VITAL.md
| Etapa | WF | Cron | Função |
|---|---|---|---|
| 1) Detecção | WF09 | */30min | GET /last_movements ADVBOX → Gemini classifica → trs_publicacoes |
| 1) Detecção | wf_captura_tribunais | */15min | DataJud+eSAJ+TST+ADVBOX → trs_relatorio_publications (2.230 reg) |
| 2) Task | WF10 v2.1 | */5min | URGENTE/ALTA/CIENCIA → POST /posts ADVBOX (NORMAL fica só histórico) |
| 2) Task | WF200 v2 | */10min | Microsoft Graph DELTA → PDF OneDrive Processo/ → task ADVBOX (com checkpoint) |
| 3) Execução | WF70 | 1h SP | URG/ALTA → peça redigida OneDrive (revisão Tiago) |
| 4) Cumprimento | WF200 | auto | Banco TRSADV é source of truth (API ADVBOX completed não exposto) |
| 5) Histórico | relatório mensal | dia 1 | view trs_historico_caso → PDF cliente |
| Objeto | Tipo | Propósito |
|---|---|---|
| trs_publicacoes_unified | VIEW | Une trs_relatorio_publications + trs_lawsuits_conhecidos → fonte única pro WF56. 2.013 reg, 216 clientes distintos. |
| trs_protocolos_arquivados | tabela | WF200: PDFs OneDrive → tasks ADVBOX (dedup por item_id) |
| trs_graph_delta_state | tabela | Estado delta query Microsoft Graph (WF200 checkpoint) |
| trs_clientes_pendentes_cadastro_advbox | tabela | WF18-B: clientes D4Sign sem cadastro ADVBOX |
GATE PRE-ENVIO (08/07) gate_contaminacao.py em d4_upload_pdf() de todo enviar_*.py ABORTA o envio (antes do upload) se houver ${...}, dado de exemplo (Joaquim Matos/Mangalot) ou procuracao duplicada. Testado: rejeita os 3 PDFs contaminados do Marcos, passa os limpos do Ramon.
Doc canônica: /opt/trsadv-shared/REGRAS_D4SIGN_DEFINITIVAS.md (chmod 444)
| Documento | Quem assina |
|---|---|
| Procuração | APENAS o CLIENTE — TRS NÃO ASSINA |
| Declaração de Hipossuficiência | APENAS o CLIENTE — TRS NÃO ASSINA |
| Contrato de Honorários | CLIENTE + Dr. Tiago (PF tiago@trsadv.com.br) |
Obs: contato@trsadv.com.br aparece auto pelo cofre. Dr. Tiago assina pelo tiago@ que o contrato finaliza.
Aprovado pelo Tiago em 24/06/2026. Doc canônico: /opt/trsadv-shared/REGRAS_RELATORIO_INDIVIDUAL_v32.md
| Nível | Conteúdo | Status |
|---|---|---|
| 1) Capa overlay | Nome cliente + CPF mascarado + botão Acessar | ✅ |
| 2) Menu (segunda página) | Saudação + cards bonitos dos processos + status visual + Nosso Trabalho global | ✅ |
| 3) Detalhe individual | Hero premium + Atuação processo + Régua Você está aqui + Linha do tempo + Andamentos + Decisão | ✅ |
| Recurso | Detalhe |
|---|---|
| Progress bar scroll | Linha dourada topo cresce com scroll |
| TOC flutuante lateral | ≥1280px, 8 links + scroll spy |
| Botão voltar topo | Aparece após 400px scroll |
| Reveal on scroll | IntersectionObserver fade-up stagger |
| Count-up animado | Stat-cards (easeOutCubic 1.1s) |
| Timeline cards expansíveis | Click expande, +/− toggle, sem linha conectora |
| Régua processual | 10 etapas dentro de card dourado claro |
| Reduce-motion + Print-friendly | Acessibilidade respeitada |
| Arquivo | Caminho |
|---|---|
| Template fonte | /opt/assets/preview_relatorio_mensal_premium_v10.html |
| Gerador | /opt/trsadv-relatorio/gerar_v11_completo.py |
| Motor histórico | /opt/trsadv-relatorio/motor_historico.py |
| Backup v32 aprovado | /opt/trsadv-shared/relatorio-v32-aprovado/ |
| Cron regerar mensal | /etc/cron.d/trsadv-regerar-v11 (dia 1, 10h SP) |
| URL produção | https://api.trsadv.com.br/relatorio/{hash}/ |
Source of truth do "cumprido" = banco Postgres TRSADV (API REST ADVBOX não expõe endpoint /complete). Tiago marca check no ADVBOX UI apenas pra interface operacional.
Doc canonico: REDE/DOCUMENTOS/Manuais/REGRAS_WF70.md + VPS /opt/trsadv-caso-pipeline/REGRAS_WF70.md
| # | Regra | Função |
|---|---|---|
| 1 | Multiplos processos contra mesmo Réu (caso Adenilson x Bradesco) | verificar_processos_mesmo_reu() |
| 2 | EXIGIR copia integra — sem ela NÃO redige (status=AGUARDANDO_INTEGRA) | autos_integral_orchestrator.py + WF73 |
| 3 | Caderno NotebookLM existente reaproveitado | verificar_caderno_nblm() |
| 4 | Skills Claude mapeadas por area juridica + tipo peça | skills_por_area() |
| 5 | Claude conclui (etapa final — validar-peca + decisao-estrategica) | claude_concluir() |
Autos integrais → Gemini/NotebookLM → GPT redige → Claude revisa (skills da área) → GPT refina → Claude CONCLUI → salva em Processos/{Empresa}/Peças/{AAAA.MM.DD - Tipo}/
| Componente | Status | Observacao |
|---|---|---|
trsadv-autos-integral.timer | Ativo | Roda na VPS a cada 30min com TRS_AUTOS_ENABLE_RPA=1 |
e-CPF Tiago A1 | Confirmado | Subject do PFX: TIAGO RIBEIRO SOARES; não é PJ do escritorio |
TST | Login OK; TOTP pendente | /opt/n8n/secrets/tst.env presente com permissão root-only; QR/TOTP ainda nao cadastrado por decisao operacional |
TRT1/PJe-JT 1g e 2g | Whitelist solicitada | Checker VPS retorna HTTP 403 CloudFront em 1g/2g; e-mail enviado em 30/06/2026 para keith.santos@trt1.jus.br e pjeapoio@trt1.jus.br |
TRT15/PJe-JT | HTTP OK; RPA pendente | Teste anterior: PDPJ/TOTP OK e PJe entrou; smoke atual: curl publico 200, mas Selenium retornou cloudfront_blocked; revalidar apos rota/IP BR |
TRT2/PJe-JT 1g e 2g | Whitelist solicitada | /opt/trsadv-baixar-autos/modules/pje_trt2.py; teste real no CNJ 1000777-46.2026.5.02.0043 abriu a rota oficial do portal TRT2, mas pje.trt2.jus.br retornou cloudfront_blocked; e-mail enviado em 30/06/2026 para suporte-pje@trtsp.jus.br; alternativa estrutural: IP brasileiro fixo/VPN BR, sem bypass |
eproc TJSP | Login OK; TOTP pendente | /opt/trsadv-baixar-autos/modules/eproc_tjsp.py; teste retornou two_factor_required; aguarda totp/eproc_tjsp.env |
e-SAJ TJSP | Login/codigo OK | /opt/n8n/secrets/esaj_tjsp.env + Outlook acesso@trsadv.com.br; teste com CNJ ficticio passou do codigo e retornou sem_botao_pasta |
TRF3/PJe 1g e 2g | Credencial cadastrada | /opt/trsadv-baixar-autos/modules/pje_trf3.py; testes 1g/2g abriram a consulta publica e retornaram sem_botao_download:consulta_processo; falta validar autos integrais com CNJ real e rota autenticada |
eproc TJRJ | Modulo pronto | /opt/trsadv-baixar-autos/modules/eproc_tjrj.py; aguarda eproc_tjrj.env e, se houver, totp/eproc_tjrj.env |
TOTP/QR | Helper instalado | /opt/trsadv-baixar-autos/configure_totp.sh guarda segredo autorizado root-only e gera codigo em runtime |
| Componente | ID | Detalhe |
|---|---|---|
| App Meta | 1361494442783533 | TRSADV Marketing API · vinculado ao BM TRS Sociedade de Advogados |
| Business Manager | 1261156264020788 | TRS Sociedade de Advogados |
| System User | 122110823403302099 | Conversions API System User — token permanente sem expiração |
| Token | EAA... (202 chars) | /opt/n8n/secrets/meta_token.env chmod 600 |
| Permissões | ads_management, ads_read, business_management, catalog_management, pages_manage_ads, pages_read_engagement, pages_show_list | |
| Conta de Anúncios | act_1192294967996921 | Tiago Ribeiro Soares (PF) · BRL · America/Sao_Paulo · ATIVA |
| Página Facebook | 1989755573790700 | TRS Sociedade de Advogados (0 seguidores) |
| Instagram @trsadv | — | Institucional — NÃO roda anúncios |
| Instagram @tiagorsadv | — | PESSOAL Tiago (mais seguidores) — RODA TODOS os anúncios PCD |
| Pixel #1 ATIVO | 1276475868014694 | TRS Advocacia LP PCD Reintegração |
| Pixel #2 INATIVO | 904397788191479 | Tiago Ribeiro - LP Cancelamento |
| Catálogo | — | WhatsApp Product Catalog (acesso total Agência DV) |
| Campanha | Status | Objetivo | Criada | Gasto BRL | Impr | Alc | Clk | CPC | CTR |
|---|---|---|---|---|---|---|---|---|---|
| [PCD] [MENSAGEM] [WHATSAPP] | 🟢 ATIVA | OUTCOME_ENGAGEMENT | 24/04/2025 | R$ 7.876,58 | 369.999 | 169.250 | 2.867 | R$ 2,75 | 0,77% |
| [02] [mensagens] [whatsapp] | ⏸️ PAUSED | OUTCOME_ENGAGEMENT | 21/01/2025 | R$ 3.502,27 | 90.219 | 49.129 | 785 | R$ 4,46 | 0,87% |
| [FORMS] ADV - | ⏸️ PAUSED | OUTCOME_LEADS | 18/01/2025 | R$ 557,13 | 17.410 | 12.334 | 223 | R$ 2,50 | 1,28% |
| [BANCÁRIOS] [MENSAGEM] [WHATSAPP] | ⏸️ PAUSED | OUTCOME_ENGAGEMENT | 08/07/2025 | R$ 408,12 | 11.951 | 7.108 | 87 | R$ 4,69 | 0,73% |
| Engajamento — Devolução parcelas | ⏸️ PAUSED (antiga) | OUTCOME_ENGAGEMENT | 21/09/2022 | — | — | — | — | — | — |
| TOTAL LIFETIME | R$ 12.344,10 | 489.579 | 237.821 | 3.962 | — | — | |||
14 anúncios · 15 adsets mapeados no banco. Anúncio PCD principal usa vídeo ID 1199533718284548, texto ENTRE EM CONTATO PARA SABER MAIS, Instagram only.
| Dimensão | Top valor | % do gasto |
|---|---|---|
| Idade | 35-54 anos | ~74% |
| Gênero | Masculino | ~67% |
| Região | São Paulo (estado) | ~92% |
| Plataforma | ~99% | |
| Device | mobile_app | ~100% |
🚨 Gargalo confirmado: anúncio performa bem até o WhatsApp; perda ocorre na triagem humana (0 qualificados em 73 leads — relatório Guilherme). Resolução = Fase 3 (Bot Dra. Vitória v2).
/opt/trsadv-meta/varredura_completa.py (Python + psycopg2 + urllib)/etc/cron.d/trsadv-meta-varredura — todo dia 6h SP (9h UTC)/var/log/trsadv-meta-cron.logtrs_meta_campaigns (5 linhas)trs_meta_adsets (15 linhas)trs_meta_ads (14 linhas + criativos)trs_meta_insights (4 linhas lifetime)trs_meta_demografia (74 linhas: age/gender/region/platform/position/device)/opt/trsadv-shared/META_GRAPH_API_VARREDURA.mdreference_meta_graph_api.md| Parceiro | Nível | Plano | |
|---|---|---|---|
| AGÊNCIA DV EDUARDO DEL VECHIO | s_proch@outlook.com | Acesso TOTAL portfolio | Sai após Fases 1-3 (Chatwoot + WA Cloud + Bot Vitória) |
Tudo conectado no n8n — comando, leitura e monitoramento via painel.
| Item | ID/Caminho | Função |
|---|---|---|
| Credencial httpHeaderAuth | Meta Graph API (AdQLdSCwYhHI7mTz) | Authorization: Bearer + token |
| TRS Meta 01 Varredura | xaOe7jdmyjmNCkEg ⏱️ Cron 6h SP | Schedule → HTTP Request Graph API → Postgres |
| TRS Meta 02 Comandos | mPRAcCIt2f9iAVnI 🔗 Webhook | POST /webhook/meta-comando — pausar/ativar/insights/listar |
| TRS Meta 03 Monitor | 3EtTMPfNjfwMptsj ⏱️ Cron 10h SP | Verifica se varredura rodou últimas 25h → email se atrasou |
| API Key n8n | /opt/n8n/secrets/n8n_api_key.txt | Scope completo (workflow + credential + execution) |
| Cron Linux paralelo | /etc/cron.d/trsadv-meta-varredura | Backup robusto — roda script Python 6h SP independente do n8n |
POST https://srv1762951.hstgr.cloud/webhook/meta-comando
Content-Type: application/json
# Listar todas campanhas:
{"acao": "listar"}
# Insights de uma campanha (date_preset opcional: last_7d, last_30d, maximum):
{"acao": "insights", "campaign_id": "120219817999240680", "date_preset": "last_7d"}
# Pausar campanha:
{"acao": "pausar", "campaign_id": "120219817999240680"}
# Ativar campanha:
{"acao": "ativar", "campaign_id": "120219817999240680"}
Testado funcionando 30/06/2026 — última campanha PCD insights 7d retornou 26 conversas WA + R$ 179 gasto.
| Ordem | Provider | Modelo | Status |
|---|---|---|---|
| 1️⃣ primário | Google Gemini | gemini-2.5-flash | 🟢 ativo |
| 2️⃣ fallback 1 | Anthropic Claude | claude-haiku-4-5 | 🟢 ativo (créditos carregados) |
| 3️⃣ fallback 2 | OpenAI | gpt-4o-mini + whisper-1 áudio | 🟢 ativo |
| 4️⃣ fallback 3 | Azure OpenAI | (não configurado) | ⏳ portal.azure.com |
| 5️⃣ fallback 4 | M365 Copilot | (N/A — só UI, sem API) | ❌ Microsoft não expõe |
Failover automático: se nível N falhar ou devolver JSON inválido, tenta N+1. Health: api.trsadv.com.br/bot-vitoria/health
| Componente | URL/Endpoint | Status |
|---|---|---|
| Painel Chatwoot | chat.trsadv.com.br | 🟢 ATIVO |
| Bot Vitória v3 (Atendimento, SDR, Vendas, Pós-vendas, Financeiro, Jurídico) | api.trsadv.com.br/bot-vitoria/ | 🟢 systemd trsadv-vitoria; idempotência SQLite; message_type numerico/string OK |
🧠 Multi-agente novo (cerebro.py) — Router+Guardião+Handoff+Workers, 9 agentes | /opt/trsadv-wf72 (git) | 🟢 pronto+testado (simulador 24/24, gate no deploy); pluga no bot no dia da WABA |
| Orchestrator (Chatwoot ↔ ADVBOX+OneDrive+Asaas+DataJud) | api.trsadv.com.br/chatwoot-orchestrator/ | 🟢 systemd trsadv-orchestrator |
| Webhook Chatwoot → Orchestrator | POST /chatwoot-event | 🟢 6 eventos subscritos |
| Mídia WhatsApp no bot | fotos/imagens, áudio, PDF/documentos | 🟢 imagem OCR/descrição; áudio com guarda de silêncio + validação Gemini/OpenAI; anexo salvo no OneDrive. Fix 04/07: doc-intel com thinkingBudget:0 + 2048 tokens → leitura de CTPS/laudo saltou de 2/8→8/8 em teste real |
| 🧠 Base de conhecimento jurídica (RAG) | trs_rag.py · tabela trs_kb_chunks · 260 trechos | 🟢 fundamentos+roteiros VALIDADOS: PCD, PIX/Golpe, Imobiliário, Trabalhista, honorários; recupera contexto por similaridade a cada resposta |
| 📋 Certidão MTE (PCD) semi-automática | certidao_mte.py + fila trs_certidoes_pendentes + digest 8h (trsadv-certidao-digest) | 🟢 lê CTPS → extrai CNPJs → 1 tarefa/CNPJ + cria subpasta "Certidões PCD"; CAPTCHA é feito por humano (nunca burlado) |
| 🔒 Trava de identidade (nunca revela que é robô) | guarda guard_nao_revelar_robo (bot) + dimensão identidade_robo (guardião) | 🟢 mesmo se perguntarem, deflete e segue o atendimento; testado 8/8 |
| ⚖️ Consentimento + opt-out (LGPD) | trs_clientes_consentimentos + opt-out → trs_negocios_cadencia | 🟢 registra consentimento e respeita "pare/sair" (encerra a cadência) |
| 🧑💼 Copiloto interno (usar HOJE, sem WABA) | api.trsadv.com.br/copiloto/ · trsadv-copiloto (8894) | 🟢 equipe cola a msg → classificação + ficha 360 + roteiro (RAG) + rascunho já passado pelo guardião. Não depende do WhatsApp |
| 🛡️ Guardião (gates de deploy) | golden set + simulador e2e | 🟢 55/55 + 28/28 (04/07); novo guard de honorário fora do PCD (defere sem travar a venda) |
| 🚀 Runbook de ativação WABA | /opt/trsadv-shared/RUNBOOK_ATIVACAO_WABA.md + criar_inbox_whatsapp.sh | ⏳ ~5 min no dia do chip; verify token pré-gerado |
| Comandos internos | /robos, /modo PERFIL, /cliente, /cobrar, /contrato, /processo | 🟢 disponíveis em nota privada |
| Atributos Chatwoot IA | bot_role, bot_provider, midia_ultimo_resumo, categoria_identificada, bot_alerta | 🟢 criados e preservados por merge |
| Migrado do Tivas | 108 labels + 43 custom attrs + 8 canned + 572 contatos exportados | 🟡 parcial: sem conversas nativas |
| Equipes + Macros + 4 canned comandos /cliente,/cobrar,/contrato,/processo | 5 equipes / 3 macros / 4 canned | 🟢 |
| Polimento Chatwoot (02/07 pré-WABA) | fuso SP · horário Seg–Sex 9–18h · CSAT ON · fora-do-horário ON · 22 canned (+8 por campanha) · 8 regras de roteamento | 🟢 dormente até WABA |
| Inbox API placeholder WhatsApp | aguardando WABA Tivas | ⏳ sem inbox WhatsApp Cloud real |
| Conversas locais | 634 contatos; 8 conversas internas/técnicas resolvidas; fila aberta/pending = 0; sem conversas reais de clientes migradas | 🔴 nao cortar Tivas ainda |
| Tivas origem | 575 contatos; 544 conversas acessiveis por API | 🟡 migrar historico/ativos antes do corte |
| Health Chatwoot Codex | /opt/trsadv-shared/chatwoot_health.py e --write-test | 🟢 read-only + teste privado controlado OK |
| Monitor Chatwoot | /etc/cron.d/trsadv-chatwoot-health | 🟢 read-only a cada 30min; logrotate ativo |
| Relatorio Codex | Auditoria Chatwoot Migracao - 2026-07-01.md | 🟢 salvo em Reports/OneDrive |
| Componente | Valor |
|---|---|
| App TRSADV Marketing API | ID 1361494442783533 |
| Business Manager | 1261156264020788 (TRS Sociedade de Advogados) |
| Token permanente | /opt/n8n/secrets/meta_token.env (chmod 600) |
| System User | Conversions API (122110823403302099) |
| Conta de Anúncios | act_1192294967996921 (Tiago PF · BRL · SP) |
| Insights LIFETIME | R$ 12.344 · 5 campanhas · 14 ads · 489k impr · 237k alcance · CPC R$ 2,75 PCD |
| Cron varredura | /etc/cron.d/trsadv-meta-varredura — 6h SP diário |
| 5 tabelas Postgres | trs_meta_campaigns/adsets/ads/insights/demografia |
| 3 WFs n8n | TRS Meta 01 Varredura · TRS Meta 02 Comandos · TRS Meta 03 Monitor |
| Webhook comandos | POST /webhook/meta-comando (pausar/ativar/insights/listar) |
| Componente | Valor |
|---|---|
| Provider escolhido | Resend (3000 emails/mês grátis) |
| Conta | acesso@trsadv.com.br (login Google) |
| Region | sa-east-1 (São Paulo) |
| Domínio | trsadv.com.br (ID c751842f-f5c3-44d3-9eaf-0d8e2cf0ff8b) |
| Status | ⏳ pending (DNS propagado, aguardando verify Resend cache) |
| 3 DNS records adicionados M365 | DKIM resend._domainkey · MX send · TXT SPF send |
| API key salva | /opt/n8n/secrets/resend.env (chmod 600) |
| Cron verify automático | /etc/cron.d/resend-verify — 10min |
| SMTP no Chatwoot | smtp.resend.com:587 · user=resend · password=API key |
| Credencial n8n SMTP | Resend SMTP (host smtp.resend.com) |
| Credencial n8n API | Resend API (Bearer Authorization) |
| From padrão | TRSADV <contato@trsadv.com.br> |
| Item | Status | Observação |
|---|---|---|
| n8n API | OK | 10 workflows cadastrados; 9 ativos; API HTTP 200. |
| n8n reverse proxy | Corrigido | Adicionado N8N_PROXY_HOPS=1 em /opt/n8n/docker-compose.yml; zero erros recentes ERR_ERL_UNEXPECTED_X_FORWARDED_FOR. |
| Dra. Vitória | v3 OK | Modelo recomendado: uma porta de entrada pública com especialistas/ferramentas internas. |
| /contrato Chatwoot | Preflight OK | /opt/trsadv-orchestrator/app.py agora valida /contrato validar/status/checklist/enviar ID. O comando enviar continua bloqueado por gate seguro: prepara e audita, mas nao dispara D4Sign real. |
| /contrato enviar ID | Dry-run D4Sign | Retorna templates, PDFs, hashes, credenciais e signatarios esperados. Contratos finalizados nao sao usados como amostra. Pendencia geral atual: senha/UUID A1. |
| Comandos /prazos, /d4sign, /ops e /a1 | Publicado | Notas privadas Chatwoot: /prazos detalhe, /d4sign auditoria, /ops diario, /prazos resolver REVIEW_ID justificativa e /a1. |
| Webhook legado Meta | Corrigido | Caddy refeito com rewrite /webhook/meta-comando-ot79vpOu -> /webhook/meta-comando; teste HTTP 200 no atual e no legado. |
| Relatorio mensal v3 dry-run | Implantado | /opt/trsadv-relatorio/relatorio_mensal_v3_dryrun.py e endpoint /api/relatorios/dryrun. Nao envia ao cliente; bloqueia quando ha risco, como prazo vencido aberto. |
| Reconciliação de prazos | 6 críticos | /opt/trsadv-shared/trs_deadline_reconciler.py criou fila de 378 prazos vencidos ainda abertos: 6 críticos recentes e 372 legado/warning. Nao fecha prazos automaticamente. |
| Prazos críticos API | Publicado | /api/prazos/criticos lista os 6 críticos; /api/prazos/dossie-criticos gera Markdown para revisao sem alterar ADVBOX. |
| Auditoria D4Sign | WARN | /opt/trsadv-shared/trs_d4sign_audit.py nao encontrou violacao, mas marcou WARN por falta de evento local confirmando Tiago no contrato. |
| Relatorio operacional diario | FAIL jurídico | /opt/trsadv-shared/trs_daily_ops_report.py consolida prazos, A1, D4Sign e health; FAIL atual decorre de 6 prazos criticos. |
| Health de fluxo real | FAIL jurídico | /opt/trsadv-shared/trs_flow_health.py testa API, orquestrador 8892, D4Sign readiness, relatorio, prazos, n8n/Caddy e containers. Infra OK; FAIL atual decorre da fila de prazos críticos. |
| Plano de acao TRSADV | Publicado | /opt/trsadv-shared/PLANO_DE_ACAO_TRSADV_ALTA_PERFORMANCE_2026-07-01.md define fases, gates e o que pode rodar sem nova autorizacao. |
| Chatwoot/Tivas | Não cortar | Chatwoot local tem 634 contatos e 8 conversas técnicas; sem conversas reais migradas/inbox WhatsApp Cloud final. |
| Relatório canônico | Salvo | /opt/trsadv-shared/RELATORIO_ATENDIMENTO_ALTA_PERFORMANCE_2026-07-01.md |
Migracao 1.414 leads · 113 templates HSM · cadencia 1.283 leads · multi-agente + cerebro integrado (testado 24/24) · golden set 36/36 + simulador 24/24
| Bloco | Estado |
|---|---|
| Pipeline NEGOCIOS (WF243, ex-WF72) | 1.414 leads · 71.6k msgs · 11k anexos · 2.9GB OneDrive · 507 ADVBOX · 1282 Chatwoot · cron incremental 07h UTC |
| 📊 Painel de leads (LIVE) | negocios-painel.html — agregado por campanha/temperatura, atualiza 1x/h, sem PII (LGPD) |
| Templates HSM | 113 (74 UTILITY + 39 MARKETING) todo o ciclo · HSM_TEMPLATES_META.json |
| Cadencia reativacao (WF244) | 1.283 leads · ~R$1.380/14d · n8n DESATIVADO ate WABA |
| Arquitetura Dra. Vitoria | F0 estado · F1 router · F2 especialistas(9) · F4 handoff · F5 guardiao · F6 workers · F7 gates + cerebro.py (orquestrador por turno, testado 24/24). Pluga no bot.py no dia da WABA; so falta F3 cosmetico |
| Seguranca | Guardiao deterministico 9 dimensoes · golden set 36/36 + simulador e2e 24/24 (2 gates no deploy) · 2 incidentes reais bloqueados por codigo · red-team REGISTRO_RISCOS.md |
| Playbooks | 5 campanhas (PCD/Trabalhista/PIX/Imobiliario/Outros) + PACOTES_HONORARIOS.md |
| Governanca | git 48 arquivos · n8n WF243/244 importados (inativos) · docs em /opt/trsadv-shared + OneDrive |
| Bloqueador unico | Migracao WABA da Tivas — EMAIL_TIVAS_FOLLOWUP.md |
Detalhes: /opt/trsadv-shared/RESUMO_EXECUTIVO.md · ARQUITETURA_DRA_VITORIA.md · REGISTRO_RISCOS.md