VSC Advocacia e Consultoria Previdenciária

LíderHub Executive Command Center

VSC Advocacia e Consultoria Previdenciária · workspace

Sincronizado
KPIs —
base completa —
Contatos totais
—
GET /v1/contacts
Conversas não lidas
—
—
Conexões WhatsApp ativas
—
—
Agente com mais volume
—
—
Modelos de mensagem (Meta)
—
—
Grupos do WhatsApp
—
GET /v1/groups

Precisa de atenção

Destaques

Leads parados (aging)

calculado no navegador

Contatos com ticket aberto ou pendente, por tempo desde a última interação. Clique numa faixa para ver os contatos.

Últimas 10 conversas

calculado no navegador · lastInteraction

As 10 conversas com a interação mais recente, entre os — contatos da base.

Tudo em um só lugar

Funil por status do contato

Contatos por departamento

Tags mais usadas

Contatos por origem

Agentes de IA

Equipe por papel

GET /v1/users

Usuários cadastrados agrupados por papel/função.

Volume por conexão WhatsApp

Grupos do WhatsApp

Cadastros de apoio

—
Tags cadastradas
—
Origens (sources)
—
Departamentos
—
Templates cadastrados

Modelos de mensagem (Meta)

clique para ver a aba Templates
ⓘ Sobre estes dados — como a atualização e os filtros funcionam

Atualização automática

Uma rotina roda a cada 5 min e sempre faz a varredura completa: KPIs (contatos, não lidas, conexões, grupos, templates), a lista de agentes/equipe, e a lista completa de contatos (paginada) — é a partir dela, não de mais chamadas, que o funil por status, o volume por conexão, a distribuição por departamento, o aging e a contagem por agente são calculados aqui no navegador. Os dois relógios no topo da página (KPIs / base completa) andam juntos agora — só a aba Contratos (ZapSign, abaixo) continua num relógio próprio de 30 min. Nenhuma escrita foi feita em nenhuma rodada.

Isso aqui é "ao vivo" de verdade, ao contrário do Artifact original

A LíderHub em si não oferece push (SSE/WebSocket/webhook) confirmado — por isso o cron do servidor continua em polling contra a API dela, a cada 5 min. Mas entre o cron e o seu navegador, este backend próprio expõe um canal SSE (/api/stream, ver realtime.js): assim que o cron grava dado novo no MySQL, todo navegador com a página aberta recebe o evento e recarrega sozinho, sem precisar apertar F5. Isso é diferente do Artifact original (snapshot estático republicado, sem esse canal) — "sincronizado" aqui é polling na ponta da API, mas push de verdade na ponta do seu navegador.

Sobre os chips "Aberto / Pendente / Encerrado / IA / Aguardando nossa resposta"

stage (Open/Closed/Pending) é um filtro real e documentado de GET /v1/contacts. "Aguardando nossa resposta" também é real: usa hasUnread, outro filtro documentado — mas como ele não vem como campo no objeto do contato (só como filtro), o sync busca a lista separada de não lidos a cada rodada e cruza os ids com a base completa. "Aguardando cliente" é o complemento inferido, não um campo direto da API: todo contato Pendente que não está em "Aguardando nossa resposta". Já "Atendido por IA" é uma estimativa (agente de IA já atribuído no histórico do contato) — agent não é um filtro de API confirmado, então essa contagem é sempre calculada localmente, nunca uma chamada inventada, e pode não bater com o contador "AI" do inbox do LíderHub. O chip "Arquivados" fica desabilitado de propósito: não existe campo de arquivamento confirmado na API.

Sobre a aba Contratos (ZapSign)

É uma API separada da LíderHub, com chave própria (ZAPSIGN_API_KEY no .env, nunca junto da chave da LíderHub). Consultada via GET api.zapsign.com.br/api/v1/docs/, só a cada 30 min — a documentação do ZapSign pede explicitamente pra usar webhook em vez de consultar com frequência; este backend ainda não implementa recepção de webhook, então 30 min é o meio-termo escolhido em vez de a cada poucos minutos como o resto.

O que este painel não mostra, e por quê (GAP list)

Sem endpoint confirmado, sem aba — em vez de deixar um botão desabilitado na navegação, o que não pode ser feito com dado real simplesmente não aparece:

  • Propostas, Receita, ticket médio, CAC/ROAS: sem endpoint confirmado — nem na API da LíderHub, nem no que o ZapSign expõe (que é só documento/assinatura, não valores de venda).
  • Timeline completa de mensagens por conversa: exigiria buscar e embutir o conteúdo de mensagem de cada um dos milhares de contatos — expõe muito mais dado sensível do que nome/telefone; deliberadamente fora de escopo, não uma limitação técnica desta vez.
  • Metas compartilhadas por todos que veem o painel: nenhuma tabela/endpoint para isso existe ainda — daria para adicionar (o banco já é real), mas não foi pedido.
  • Comparações "hoje × ontem": nenhum histórico diário é mantido ainda — cada rodada sobrescreve a anterior. Daria para começar a acumular a partir de agora, mas ainda não foi implementado.

As chaves de API nunca são embutidas nesta página — vivem só no .env do backend. Um único cron do lado do servidor (refresh_full.php, a cada 5 min) sincroniza o MySQL — contatos, KPIs e ZapSign (este último com seu próprio relógio de 30 min embutido no script); o navegador só fala com o backend próprio, nunca direto com LíderHub/ZapSign. Origem: skill ative-artifact-engine, a partir do painel Artifact original mantido pela skill vsc-liderhub-orchestrator.