Novo Agente
Objetivo principal
Agente daemon Node.js/TypeScript que roda como serviço Windows ou daemon Linux em pontos de venda do varejo brasileiro, lendo saídas de impressoras fiscais/ECF (cupons e reduções Z) e sincronizando dados de vendas, produtos e promoções com o backend do Novo Avanço.
Principais tecnologias
Node.js / TypeScript / Express / Socket.io / lowdb / superagent
Principais funcionalidades
- Daemon multiplataforma de PDV: roda como serviço Windows ou Linux, com tipos (novoAvanco, cupom, novoAvancoOutros, supervisor) e subtipos (PDV, balança, terminal)
- Leitura e envio de cupons fiscais: monitora pastas geradas pelo ECF e envia cupons e reduções Z ao backend em tempo real
- Sincronização com o ERP/backend: recebe cargas de produtos e preços e grava localmente em DBF (Linux) ou SQLite (Windows) para o PDV consumir
- Sincronização de balança e terminal de consulta: fluxos equivalentes para esses periféricos
- Promoções Scanntech: busca periodicamente promoções ativas/rejeitadas e gera arquivos lidos pelo PDV para aplicar descontos
- Consulta de clientes: expõe busca local de clientes cadastrados a partir de base exportada pelo ERP
- Atualização automática: verifica e baixa novas versões do próprio agente via S3, com canais prod/qas/beta
- Status em tempo real: reporta conexão, autenticação e progresso de sincronização via Socket.io e SSE local
- Instalação e gestão como serviço: instala, remove e configura via linha de comando (flags --servico, --instalar, --remover, --config)
Principais integrações
- API Novo Avanço: autenticação, dados de usuário, lojas/filiais e configuração de integrações
- API CDV: integração com sistema legado de varejistas (obtenção e validação de token)
- Centralizador Infovarejo: resolve dinamicamente a URL do ambiente do cliente a partir do e-mail
- API Scanntech: consulta promoções ativas e rejeitadas por loja/empresa
- Socket.io (backend Novo Avanço): canal bidirecional para eventos de cupom, carga e redução Z
- SSE local: expõe status de sincronização em tempo real para consumidores locais
- Amazon S3: distribuição de binários para atualização automática do agente
- Banco SQLite de clientes (dblite): leitura local de base exportada pelo ERP para consulta de clientes
No Comments