Imagem de capa do projeto: NEXUS OpenCNPJ Enrichment EM ANDAMENTO

Resumo técnico

Plugin do NEXUS que enriquece automaticamente CNPJs detectados em tarefas e comentários com dados cadastrais oficiais da Receita Federal via OpenCNPJ — razão social, situação cadastral, CNAE, capital social e porte. O enricher do Intelligence Hub consulta a API pública sem chave, com cache local de retorno instantâneo; a aba traz consulta manual com CNPJ mascarado ou só dígitos e gestão do cache.

Escopo executado

  • Registro: plugin.json v1.0.0, icon_bg #0284c7, ícone lucide building e icon.svg próprio (lupa + arco ciano, sem is_core — plugin adicional); registerTab('opencnpj','OpenCNPJ','building',tab.php,'OSINT & Enrichment') e registerDoc('opencnpj','OpenCNPJ','building',doc.md); sem modais dedicados e sem cronjob (nenhuma rotina periódica).
  • Tabela opencnpj_enrichment via opencnpj_install(): cnpj VARCHAR(14) PK, razao_social (NOT NULL), nome_fantasia, situacao_cadastral, cnae_principal, uf, municipio, capital_social, porte_empresa e created_at DATETIME (InnoDB, utf8mb4).
  • API pública sem API Key via cURL (https://api.opencnpj.org/{14 dígitos}): User-Agent NEXUS OpenCNPJ Integration (SITE_URL), timeouts de conexão 3s e resposta 6s, IPRESOLVE_V4 e SSL_VERIFY configurável via constante do Core; resposta validada (exige cnpj ou razao_social no JSON).
  • Detecção de CNPJ no texto: formato mascarado (XX.XXX.XXX/XXXX-XX) e 14 dígitos consecutivos, com deduplicação e validação de comprimento antes da consulta.
  • Cache local com retorno instantâneo: opencnpj_query() serve do cache (source: cache) antes da chamada remota (source: api) e persiste o registro — hits em < 1ms nas tarefas.
  • API com 3 actions: opencnpj_query (manual, cache → API), opencnpj_stats (total do cache + 20 últimas consultas + pulso api_online testando o CNPJ 00000000000191) e opencnpj_delete (remove um CNPJ do cache local).
  • Enricher do Intelligence Hub: nx_intel_register_enricher('opencnpj', ['cnpj'], 'opencnpj_intel_enrich', 47) — signals com status ok/error/skipped, summary Razão Social · Situação, severity 5 (situação ativa) ou 40 (não ativa), artefato com CNPJ formatado, respeita o orçamento max_live_lookups (slice ≤ min(5, orçamento × 2)) e marca cached.
  • Fast Responses: manifesto fastr.json com /opencnpj (argumento CNPJ obrigatório), action opencnpj_query — consulta direta por slash.
  • Sob demanda: sem cronjob.json (nenhuma rotina periódica necessária); sem CLI.
  • Interface: aba Alpine.js (tab.php, 334 linhas) com badge "API Online/Offline", indicadores (Total em Cache, Velocidade Local < 1ms, Origem Confiável — Receita Federal), consulta manual com teste rápido (Petrobras 33.000.167/0001-01), resultado com badge de situação (emerald/rose), CNPJ formatado, CNAE, capital social em R$, localização e porte; tabela "Empresas em Cache" com busca por razão/fantasia/CNPJ/município e exclusão com confirmação.
  • Legado: opencnpj_filter_task_read/opencnpj_filter_comment_read desativados (comentados em plugin.php) — anexavam bloco "### 🏢 Dados Cadastrais Enriquecidos (OpenCNPJ)" com tabela markdown; o enriquecimento automático migrou para o Intelligence Hub (core/intel.php).

Stack e ferramentas

  • PHP 8 backend (sem framework) + MySQL 8 (tabela opencnpj_enrichment)
  • OpenCNPJ API pública via cURL (api.opencnpj.org) — dados oficiais da Receita Federal
  • Alpine.js + Tailwind CSS (aba do painel) + Plugin API interno (tabs/actions + fastr.json + Intel Hub)

Tags

OpenCNPJ, CNPJ, Receita Federal, OSINT, Enrichment, Intelligence Hub, Plugin NEXUS

Resultado operacional

  • Enriquecimento automático de CNPJs: tarefas e comentários com CNPJ viram sinais do Intelligence Hub com dados da Receita Federal.
  • Sem API Key: API pública gratuita — ativou o plugin, já enriquece; zero configuração.
  • Formato flexível: aceita CNPJ com máscara (XX.XXX.XXX/XXXX-XX) ou somente os 14 dígitos.
  • Cache instantâneo: hits respondem em < 1ms sem tráfego externo — útil em listas com o mesmo fornecedor.
  • Severidade contextual: 5 para empresas ativas, 40 para não ativas — sinaliza fornecedores baixados/inativos.
  • Sem rotinas: plugin puramente sob demanda — sem cron nem CLI.

Andamento no GitHub (issues)

Painel em tempo real com as issues mais recentes do repositório.

abertas (amostra): -- fechadas (amostra): -- base: -- ultimas issues

carregando andamento...

Resultados reais

Plugin do NEXUS que enriquece automaticamente CNPJs detectados em tarefas e comentários com dados cadastrais oficiais da Receita Federal via OpenCNPJ — razão social, situação cadastral, CNAE, capital social e porte. O enricher do Intelligence Hub consulta a API pública sem chave, com cache local de retorno instantâneo; a aba traz consulta manual com CNPJ mascarado ou só dígitos e gestão do cache.

Arquitetura e organização

Execução e operação

O projeto segue fluxo reprodutível de execução com validação técnica em ambiente de produção/similar.

Screenshots

Falar sobre este projeto

Aplique este modelo no seu ambiente e acelere a entrega com consistência técnica.