Per-product message templates, official/não-oficial channel selection, manual per-number sending, and a 20-minute internal scheduler for the existing automatic outreach batch — all pre-existing local work being committed as-is.
GTI Maquina Comercial
Aplicativo local do Grupo GTI para capturar, qualificar, tratar e acionar leads B2B via WhatsApp. O sistema roda no computador do usuario, usa SQLite como banco local e integra com Z-PRO/GChat para envio manual ou automatico.
URL local padrao: http://127.0.0.1:3900
Login inicial: admin / admin
Uso Diario
- Abra
GTI-Comercial.exeouINICIAR-GTI.bat. - Acesse
http://127.0.0.1:3900e faca login. - Use a aba
Capturar Leadspara escolher UF, cidades, nichos e fontes. - Use a aba
Tratar Leadspara filtrar, priorizar, abrir detalhes e exportar leads. - Use o botao de WhatsApp na primeira coluna da tabela para iniciar uma mensagem para um lead especifico.
- Use
Configuracoespara ajustar Z-PRO, templates WABA, limites de envio, usuarios e exportacoes.
Principais Recursos
- Captura de leads B2B por UF, cidade e nicho.
- Base CNPJ da Receita Federal como fonte principal.
- Fontes complementares: OpenStreetMap/Overpass, Nominatim, Wikidata, BrasilAPI e Google Places.
- Deduplicacao por CNPJ, telefone/WhatsApp ou empresa+cidade.
- Scores de qualidade e potencial comercial.
- Dashboard com totais, rankings, funil e maior oportunidade.
- Tabela de tratamento com filtros, paginação e detalhe completo do lead.
- Acao rapida de WhatsApp por lead, fixa na primeira coluna da tabela.
- Envio manual por Z-PRO para numero especifico.
- Envio oficial por template WABA aprovado.
- Sincronizacao de templates WABA do GChat.
- Pre-visualizacao de templates com variaveis resolvidas por lead.
- Automacao de envio por produto recomendado, com limite diario.
- Exportacoes para Excel/CSV, oportunidades Z-PRO e disparo em massa.
- Login local com usuarios
adminecomercial.
Fluxo Comercial
- Capture ou importe a base de leads.
- Filtre por cidade, nicho, qualidade, WhatsApp, prioridade ou status de exportacao.
- Revise o lead na tabela ou no modal de detalhes.
- Clique no botao de WhatsApp do lead para abrir o envio manual com o numero preenchido.
- Escolha texto livre ou template oficial.
- Se usar template, selecione o modelo salvo e confira a pre-visualizacao.
- Envie pelo Z-PRO e acompanhe o log de envios.
Ao abrir o envio manual a partir de um lead, o app busca os dados completos desse cliente. Variaveis como {{cnpj}}, {{empresa}}, {{businessName}}, {{produto}}, {{cidade}}, {{uf}}, {{segmento}}, {{whatsapp}} e {{email}} sao preenchidas com os dados reais do lead na pre-visualizacao e no envio.
WhatsApp, Z-PRO e GChat
O app suporta dois tipos de envio:
| Canal | Uso | Observacao |
|---|---|---|
| Nao oficial/texto livre | Mensagem manual simples | Usa endpoint externo do Z-PRO para enviar texto |
| Oficial/template WABA | Mensagem com template aprovado | Usa template Meta/WABA via Z-PRO |
Configuracoes importantes ficam em Configuracoes:
- Base URL Z-PRO.
- API ID Z-PRO.
- Token/Bearer token.
- Rota do template (
template,templateBodyou equivalente configurado). - URL de templates do GChat.
- Token GChat opcional para sincronizar modelos.
- Limite diario de envios.
- Templates automaticos por produto.
O seletor de templates WABA permite carregar modelos sincronizados do GChat. O sistema identifica variaveis posicionais como {{1}}, {{2}}, {{3}} no corpo do template e mostra os campos necessarios.
Variaveis Suportadas
As mensagens e templates podem usar variaveis internas da Maquina Comercial/GChat:
| Variavel | Valor esperado |
|---|---|
{{name}} |
Nome do contato quando existir; fallback para empresa |
{{empresa}} |
Nome da empresa |
{{businessName}} |
Nome da empresa no padrao GChat |
{{firstName}} |
Primeiro nome |
{{lastName}} |
Sobrenome, quando existir |
{{produto}} |
Produto recomendado/interesse |
{{protocol}} |
Assunto/protocolo; fallback para produto |
{{cidade}} |
Cidade |
{{uf}} |
UF |
{{segmento}} |
Nicho/segmento |
{{cnpj}} |
CNPJ |
{{email}} |
|
{{phoneNumber}} |
WhatsApp/telefone |
{{whatsapp}} |
WhatsApp/telefone |
{{kanban}} |
Produto/interesse |
{{user}} |
Remetente |
{{userEmail}} |
E-mail do remetente |
{{greeting}} |
Saudacao |
Tambem existem placeholders legados: {empresa}, {cidade}, {produto} e {segmento}.
Exportacoes
| Tipo | Saida | Para que serve |
|---|---|---|
| Planilha | CSV + XLS | Analise comercial e tratamento externo |
| Z-PRO Oportunidades | JSONL | Payloads para criacao de oportunidades |
| Z-PRO Disparo em massa | CSV | dataInput para disparo em massa |
Leads exportados ficam marcados. Use o filtro de nao exportados para evitar retrabalho.
Score e Priorizacao
O app calcula scores para ajudar o time comercial a decidir quem abordar primeiro.
Regras principais:
- WhatsApp/telefone valido aumenta a prioridade.
- CNPJ valido aumenta a confiabilidade.
- Empresa valida, cidade, nicho, CNAE, website e e-mail melhoram o score.
- Nichos com maior aderencia comercial recebem mais peso.
- Leads sem WhatsApp podem continuar cadastrados, mas aparecem com prioridade menor.
- Duplicidade segue a ordem CNPJ, telefone, empresa+cidade.
Fontes de Captura
- Base CNPJ da Receita Federal: fonte principal para empresas ativas por UF.
- OpenStreetMap/Overpass: fonte aberta complementar.
- Nominatim: geocodificacao e apoio geografico.
- Wikidata: fonte aberta de baixo volume.
- BrasilAPI: enriquecimento de dados cadastrais.
- Google Places: fonte opcional paga, exige
GOOGLE_MAPS_API_KEYno.env.
Comandos
npm start
npm test
npm run capture
npm run extract
npm run recalc-scores
npm run outreach
npm run build:launcher
Exemplos:
node scripts/servidor.mjs
node scripts/capturar-leads.mjs --sources=cnpj-base --uf=BA --cities="Ilheus"
node scripts/extrair-base-cnpj.mjs --uf=SP
node scripts/enviar-outreach.mjs
Estrutura
GTI-Comercial.exe Launcher local do app
INICIAR-GTI.bat Inicializacao alternativa no Windows
scripts/ Entradas de linha de comando
src/ Codigo do servidor e regras de negocio
src/server/ HTTP, rotas, sessoes e autenticacao
src/capture/ Pipeline de captura
src/sources/ Fontes de dados
src/treatment/ Consultas e dashboard de tratamento
src/export/ Exportacoes Excel/CSV/Z-PRO
src/outreach/ Z-PRO, templates WABA e automacao WhatsApp
public/ Interface HTML/CSS/JS
tests/ Testes automatizados
data/gti.db Banco SQLite local, nao versionado
data/exports/ Arquivos exportados, nao versionado
prospeccao/cnpj/ Base CNPJ e dados brutos da Receita
docs/ Documentacao complementar
.env Segredos locais, nao versionado
Requisitos
- Windows.
- Node.js 24 ou superior.
- Para extrair novas UFs,
unzip, Git Bash outarnativo do Windows.
Seguranca e Dados
- O banco principal fica em
data/gti.db. - Segredos locais devem ficar no
.envou nas configuracoes locais do app. - Tokens Z-PRO/GChat nao devem ser commitados.
- A zona de risco em Configuracoes apaga leads, capturas e exportacoes; a acao e irreversivel.
- Nao ha backup automatico do banco local.
Problemas Comuns
- Se a tela nao abrir, reinicie por
GTI-Comercial.exeouINICIAR-GTI.bat. - Se preferir depurar, rode
node scripts/servidor.mjsno terminal. - Log do servidor:
data/server.log. - Se a sincronizacao de templates GChat falhar com erro de token, gere/salve um token GChat valido novamente.
- Se um template WABA falhar no Z-PRO, teste outro template aprovado e confira rota, idioma e variaveis obrigatorias.