Uma empresa que era ativa no ano passado pode ter mudado de endereço, trocado de sócios ou encerrado as atividades. Se o seu sistema não acompanha essas mudanças, você enfrenta entregas devolvidas, notas denegadas e contatos que chegam à pessoa errada.
A solução mais direta é consultar periodicamente os CNPJs da sua base e comparar o resultado com o que está armazenado. Quando algo muda, você atualiza o registro e, se necessário, aciona uma revisão manual.
Quais campos monitorar
Foque nos campos que afetam sua operação diretamente:
situacaoCadastral— o campo mais crítico. Uma empresa que muda de ATIVA para BAIXADA ou INAPTA exige ação imediata.logradouro,numero,municipio— mudanças de endereço afetam entregas e cobrança.opcaoPeloSimpleseopcaoPeloMEI— troca de regime tributário impacta a emissão de notas fiscais.- Lista de sócios (
qsa) — relevante para análise de crédito e KYC.
Script de monitoramento
// monitor-cnpj.js
require('dotenv').config();
const { consultarCNPJ } = require('./cnpj');
const CAMPOS_CRITICOS = ['situacaoCadastral', 'logradouro', 'municipio', 'opcaoPeloSimples'];
async function checarAlteracoes(cnpj, dadosSalvos) {
const dadosAtuais = await consultarCNPJ(cnpj);
if (!dadosAtuais) return { cnpj, status: 'nao_encontrado' };
const alteracoes = CAMPOS_CRITICOS.filter(campo =>
dadosAtuais[campo] !== dadosSalvos[campo]
);
return {
cnpj,
razaoSocial: dadosAtuais.razaoSocial,
alteracoes: alteracoes.map(campo => ({
campo,
anterior: dadosSalvos[campo],
atual: dadosAtuais[campo],
})),
};
}
const minhaBase = [
{ cnpj: '53008607000184', situacaoCadastral: 'ATIVA', logradouro: 'AV PAULISTA', municipio: 'SAO PAULO', opcaoPeloSimples: false },
];
(async () => {
for (const empresa of minhaBase) {
const resultado = await checarAlteracoes(empresa.cnpj, empresa);
if (resultado.alteracoes && resultado.alteracoes.length) {
console.log('Alterações em ' + resultado.razaoSocial + ':', resultado.alteracoes);
// atualize o banco ou envie um alerta aqui
}
}
})();
Agendando a verificação
Um cron job semanal já cobre a maioria dos casos — dados cadastrais raramente mudam com frequência diária:
# Toda segunda-feira às 7h
0 7 * * 1 /usr/bin/node /app/monitor-cnpj.js >> /var/log/monitor-cnpj.log 2>&1
Para bases com muitos CNPJs, adicione uma pausa de 200ms entre as requisições para respeitar o rate limit da sua assinatura. Para volumes maiores ou alertas em tempo real, a NextAPI disponibiliza webhooks que notificam sua aplicação assim que uma alteração é detectada — sem polling ativo. Veja a documentação do endpoint /webhooks para configurar.
Pronto para integrar?
Teste a API agora mesmo sem precisar de cartão de crédito. 100 requisições/mês grátis.
Criar Conta Grátis