A validação de dados cadastrais é uma etapa crítica para qualquer sistema de gestão (ERP), CRM ou plataforma de e-commerce. Garantir que o CNPJ do cliente ou fornecedor está ativo e que os dados de endereço estão corretos evita problemas fiscais, notas denegadas e erros logísticos.
Muitos desenvolvedores ainda recorrem a web scrapers instáveis ou bases de dados desatualizadas.
Neste tutorial, vamos mostrar como usar a biblioteca requests do Python para
consultar a NextAPI, que fornece dados em tempo real diretamente da Receita Federal.
Por que usar uma API profissional?
Antes de irmos para o código, é importante entender os riscos de não validar corretamente:
- Risco Fiscal: Emitir nota para uma empresa baixada ou inapta pode gerar multas.
- Fraudes: Cadastros falsos são comuns em golpes B2B.
- Eficiência: Preencher dados manualmente consome tempo da equipe de vendas/compras.
Pré-requisitos
- Python 3.x instalado
- Uma chave de API da NextAPI (você pode criar uma conta grátis aqui)
Passo 1: Instalação
Primeiro, instale a biblioteca requests se ainda não tiver. Ela é o padrão da indústria para requisições HTTP em Python.
pip install requests
Passo 2: O Script de Consulta
Crie um arquivo chamado consulta_cnpj.py. Vamos criar uma função reutilizável que
limpa a entrada (remove pontos e traços) e faz a requisição.
import requests
import json
def consultar_cnpj(cnpj):
# 1. Limpeza dos dados (remove pontuação)
cnpj_limpo = ''.join(filter(str.isdigit, cnpj))
# 2. Configuração da Requisição
url = f"https://api.nextapi.com.br/v1/cnpj/{cnpj_limpo}"
headers = {
"Authorization": "Bearer SEU_TOKEN_AQUI"
}
try:
# 3. Chamada à API
response = requests.get(url, headers=headers, timeout=5)
# 4. Tratamento de Erros
if response.status_code == 200:
return response.json()
elif response.status_code == 404:
print("CNPJ não encontrado.")
return None
else:
print(f"Erro na requisição: {response.status_code}")
return None
except Exception as e:
print(f"Erro de conexão: {e}")
return None
# Exemplo de uso
cnpj_teste = "53.008.607/0001-84"
dados = consultar_cnpj(cnpj_teste)
if dados:
print(f"Razão Social: {dados.get('razaoSocial')}")
print(f"Situação Cadastral: {dados.get('situacaoCadastral')}")
print(f"Endereço: {dados.get('logradouro')}, {dados.get('numero')} - {dados.get('bairro')}")
# Verificando se está apta a emitir nota
if dados.get('situacaoCadastral') == 'ATIVA':
print("✅ Empresa Ativa - Cadastro Aprovado")
else:
print("❌ Empresa Inapta - Bloquear Cadastro")
Entendendo a Resposta
A NextAPI retorna um JSON estruturado com dezenas de campos. Os mais importantes para validação são:
situacaoCadastral: Deve ser "ATIVA".atividadePrincipal: Código da atividade econômica (útil para análise de crédito).capitalSocial: Valor do capital social da empresa.
Conclusão
Com menos de 20 linhas de código, você implementou um processo de validação robusto que protege sua empresa. A NextAPI garante alta disponibilidade (99.9% uptime) e dados sempre frescos.
Pronto para integrar? Pegue sua chave de API gratuita e comece agora.