VSC Advocacia e Consultoria Previdenciária · workspace
Contatos com ticket aberto ou pendente, por tempo desde a última interação. Clique numa faixa para ver os contatos.
As 10 conversas com a interação mais recente, entre os — contatos da base.
Usuários cadastrados agrupados por papel/função.
— status cadastrados em Configurações, agrupados por volume de contatos. Clique numa barra para ver os contatos.
— tags cadastradas. Mostrando as mais aplicadas a contatos. Clique numa barra para ver os contatos.
— agentes cadastrados (GET /v1/agents). Ponto verde = vinculado a uma conexão WhatsApp aberta agora. Clique num agente para ver os contatos dele.
Contatos por número conectado. Clique numa conexão para ver os contatos.
Busca por nome ou número e filtros por status, departamento, conexão, agente e estágio do ticket — sobre a base completa de — contatos.
| Nome | Número | Status | Departamento | Conexão | Agente | Atendimento | Última interação |
|---|
— templates cadastrados na Meta. Busca por gatilho/conteúdo e filtros por tipo e status de aprovação.
| Gatilho | Tipo | Status Meta | Variáveis | Conteúdo |
|---|
Busca por nome do documento ou do signatário, filtro por status. Documentos marcados como excluídos no ZapSign (rascunhos descartados) não entram na lista. Sincronizado a cada 30 min — a própria ZapSign recomenda webhook em vez de consulta frequente; este backend ainda não implementa recepção de webhook, então segue no polling de 30 min.
| Documento | Status | Signatários | Criado em | Última atualização |
|---|
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.
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.
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.
É 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.
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:
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.