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

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.