APIs de CPF para empresas de distribuição de energia elétrica

Veja como distribuidoras de energia elétrica podem usar APIs de CPF para validar titulares, prevenir fraudes e agilizar processos comerciais.

Redação CPFHub.io
Redação CPFHub.io
··8 min de leitura
APIs de CPF para empresas de distribuição de energia elétrica

Distribuidoras de energia elétrica usam APIs de CPF para confirmar a identidade do titular no momento da ligação nova, da transferência de titularidade e da negociação de débitos — prevenindo fraudes como cadastros falsos e transferências irregulares. A CPFHub.io fornece essa verificação via chamada GET simples, retornando nome e data de nascimento em ~900ms, com plano gratuito de 50 consultas mensais sem cartão.

Introdução

As distribuidoras de energia elétrica atendem milhões de unidades consumidoras em todo o Brasil. Cada uma dessas unidades está vinculada a um titular -- pessoa física ou jurídica -- responsável pelo pagamento das faturas e pelo cumprimento das obrigações contratuais. A correta identificação desse titular é fundamental para a operação comercial da distribuidora.

A validação de CPF via API permite que distribuidoras confirmem a identidade de novos titulares no momento da ligação ou transferência de titularidade, reduzam fraudes no fornecimento de energia e mantenham cadastros atualizados e consistentes. A CPFHub.io integra-se a sistemas comerciais existentes e retorna dados validados em tempo real, sem bloquear o fluxo de atendimento.


O CPF nos processos comerciais de distribuidoras

O CPF do titular é utilizado em diversos processos:

  • Ligação nova -- Quando um consumidor solicita uma nova ligação de energia, a distribuidora precisa do CPF para criar o cadastro do titular.
  • Transferência de titularidade -- Quando o imóvel muda de proprietário ou locatário, a transferência da conta de energia exige a identificação do novo titular.
  • Negociação de débitos -- A negociação de faturas em atraso exige a confirmação da identidade do titular para evitar fraudes.
  • Segunda via de conta -- A emissão de segunda via online ou presencial pode exigir a confirmação do CPF do titular.
  • Geração distribuída -- Consumidores que instalam painéis solares e se tornam micro ou minigeradores precisam ter o CPF validado para o cadastro junto à distribuidora.

Fraudes comuns no setor elétrico

Gato de energia com cadastro falso

Golpistas solicitam ligações de energia usando CPFs falsos ou de terceiros, consomem energia por meses sem pagar e abandonam o imóvel, deixando a dívida para a distribuidora.

Transferência fraudulenta de titularidade

Para escapar de dívidas, consumidores inadimplentes transferem a titularidade para CPFs de terceiros (muitas vezes familiares ou pessoas desavisadas), zerando o histórico de débitos.

Cadastro fantasma para geração distribuída

Fraudes em programas de geração distribuída envolvem a criação de cadastros com CPFs inexistentes para obter créditos de energia de forma irregular.


Implementação com Python

O exemplo a seguir mostra como validar o CPF de um novo titular durante o processo de ligação nova.

import requests
from datetime import datetime

CPFHUB_API_KEY = "sua_api_key_aqui"
CPFHUB_BASE_URL = "https://api.cpfhub.io/cpf"
TIMEOUT_SECONDS = 10

def solicitar_ligacao_nova(cpf: str, nome: str,
    endereco: str, classe: str) -> dict:
    """
    Processa uma solicitação de ligação nova após validar o CPF do titular.
    classe: residencial, comercial, industrial, rural
    """
    cpf_limpo = cpf.replace(".", "").replace("-", "")

    if len(cpf_limpo) != 11 or not cpf_limpo.isdigit():
    return {"aprovado": False, "motivo": "CPF com formato inválido"}

    headers = {
    "x-api-key": CPFHUB_API_KEY,
    "Accept": "application/json"
    }

    try:
    response = requests.get(
    f"{CPFHUB_BASE_URL}/{cpf_limpo}",
    headers=headers,
    timeout=TIMEOUT_SECONDS
    )
    response.raise_for_status()
    resultado = response.json()
    except requests.exceptions.Timeout:
    return {"aprovado": False, "motivo": "Timeout na validação"}
    except requests.exceptions.RequestException as e:
    return {"aprovado": False, "motivo": f"Erro: {str(e)}"}

    if not resultado.get("success"):
    return {"aprovado": False, "motivo": "CPF não encontrado na base"}

    dados = resultado["data"]
    nome_api = dados.get("nameUpper", "").strip()
    nome_titular = nome.strip().upper()

    if nome_api != nome_titular:
    return {
    "aprovado": False,
    "motivo": "Nome divergente do CPF informado",
    "nome_base": nome_api,
    "nome_informado": nome_titular
    }

    solicitacao = {
    "protocolo": f"LN-{datetime.now().strftime('%Y%m%d%H%M%S')}",
    "titular": {
    "cpf": dados["cpf"],
    "nome": dados["name"],
    "genero": dados["gender"],
    "data_nascimento": dados["birthDate"]
    },
    "endereco": endereco,
    "classe": classe,
    "data_solicitacao": datetime.now().isoformat(),
    "status": "em_analise"
    }

    return {"aprovado": True, "solicitacao": solicitacao}

# Exemplo de uso
resultado = solicitar_ligacao_nova(
    cpf="123.456.789-09",
    nome="Fernanda Costa Lima",
    endereco="Rua das Flores, 123, Bairro Centro, Cidade/UF",
    classe="residencial"
)

if resultado["aprovado"]:
    s = resultado["solicitacao"]
    print(f"Protocolo: {s['protocolo']}")
    print(f"Titular: {s['titular']['nome']}")
    print(f"Classe: {s['classe']}")
else:
    print(f"Solicitação negada: {resultado['motivo']}")

Consulta via cURL

curl -X GET "https://api.cpfhub.io/cpf/12345678909" \
    -H "x-api-key: sua_api_key_aqui" \
    -H "Accept: application/json" \
    --max-time 10

Resposta:

{
    "success": true,
    "data": {
    "cpf": "123.456.789-09",
    "name": "Fernanda Costa Lima",
    "nameUpper": "FERNANDA COSTA LIMA",
    "gender": "F",
    "birthDate": "20/09/1988",
    "day": "20",
    "month": "09",
    "year": "1988"
    }
}

Transferência de titularidade com validação

A transferência de titularidade é um processo frequente em distribuidoras. A validação de CPF garante que o novo titular é uma pessoa real.

const axios = require("axios");

const CPFHUB_API_KEY = "sua_api_key_aqui";
const CPFHUB_BASE_URL = "https://api.cpfhub.io/cpf";

async function transferirTitularidade(cpfNovoTitular, nomeNovoTitular,
    unidadeConsumidora) {
    const cpfLimpo = cpfNovoTitular.replace(/\D/g, "");

    try {
    const response = await axios.get(`${CPFHUB_BASE_URL}/${cpfLimpo}`, {
    headers: {
    "x-api-key": CPFHUB_API_KEY,
    Accept: "application/json"
    },
    timeout: 10000
    });

    const resultado = response.data;

    if (!resultado.success) {
    return {
    transferido: false,
    motivo: "CPF do novo titular não encontrado"
    };
    }

    const dados = resultado.data;
    const nomeApi = dados.nameUpper;
    const nomeComparacao = nomeNovoTitular.toUpperCase().trim();

    if (nomeApi !== nomeComparacao) {
    return {
    transferido: false,
    motivo: "Nome do novo titular diverge do CPF"
    };
    }

    return {
    transferido: true,
    unidadeConsumidora: unidadeConsumidora,
    novoTitular: {
    cpf: dados.cpf,
    nome: dados.name,
    dataNascimento: dados.birthDate
    },
    dataTransferencia: new Date().toISOString()
    };
    } catch (error) {
    if (error.code === "ECONNABORTED") {
    return { transferido: false, motivo: "Timeout na validação" };
    }
    return { transferido: false, motivo: error.message };
    }
}

// Exemplo de uso
(async () => {
    const resultado = await transferirTitularidade(
    "123.456.789-09",
    "Fernanda Costa Lima",
    "UC-0012345678"
    );

    if (resultado.transferido) {
    console.log(`Titularidade transferida para: ${resultado.novoTitular.nome}`);
    console.log(`UC: ${resultado.unidadeConsumidora}`);
    } else {
    console.log(`Transferência negada: ${resultado.motivo}`);
    }
})();

Regulamentação do setor elétrico

Distribuidoras de energia são reguladas pela ANEEL (Agência Nacional de Energia Elétrica), que estabelece normas para a relação com os consumidores. A Resolução Normativa ANEEL 1.000/2021 define os procedimentos para ligação, desligamento e transferência de titularidade, e exige a correta identificação do titular da unidade consumidora.

A validação de CPF via API contribui para o cumprimento dessas normas ao garantir que os dados cadastrais dos consumidores são consistentes e verificáveis.


Boas práticas para distribuidoras

  • Validação obrigatória em ligações novas -- Nunca crie uma unidade consumidora sem validar o CPF do titular.
  • Verificação em transferências -- Confirme a identidade do novo titular antes de efetivar a transferência.
  • Atualização cadastral periódica -- Realize campanhas de atualização cadastral validando CPFs da base existente.
  • Integração com sistemas comerciais -- Conecte a validação de CPF aos sistemas SAP, TOTVS ou outros ERPs utilizados pela distribuidora.
  • Canal de atendimento presencial -- Em agências de atendimento, integre a validação ao fluxo do atendente para que a consulta seja feita em tempo real.

Perguntas frequentes

O que é necessário para implementar validação de CPF neste contexto?

A validação de CPF exige uma chamada à API com o número do documento e a chave de autenticação. A CPFHub.io retorna o status do CPF, nome do titular e data de nascimento em menos de 200ms, permitindo a verificação em tempo real durante o cadastro ou transação.

A API CPFHub.io funciona para todos os volumes de consulta?

Sim. O plano gratuito oferece 50 consultas por mês sem cartão de crédito — ideal para testes e projetos pequenos. Para volumes maiores, o plano Pro inclui 1.000 consultas mensais por R$149. Se o limite for ultrapassado, a API não bloqueia: cobra R$0,15 por consulta adicional.

Como garantir conformidade com a LGPD ao usar uma API de CPF?

Use o CPF apenas para a finalidade declarada ao titular, armazene apenas o necessário (não guarde o CPF cru se um token bastar), implemente controle de acesso aos logs de consulta e documente a base legal para o tratamento. A ANPD orienta que dados de identificação devem ser tratados com o princípio da necessidade.

Quanto tempo leva para integrar a API CPFHub.io?

A integração básica leva menos de 30 minutos: crie uma conta em cpfhub.io, gere a API key no painel e faça uma chamada GET para https://api.cpfhub.io/cpf/{CPF} com o header x-api-key. A documentação inclui exemplos em Python, Node.js, PHP, Java e outras linguagens.


Conclusão

A validação de CPF via API é uma ferramenta essencial para distribuidoras de energia elétrica que buscam reduzir fraudes, manter cadastros consistentes e cumprir as normas da ANEEL.

Cadastre-se em cpfhub.io — 50 consultas mensais gratuitas, sem cartão de crédito — e comece hoje mesmo.

CPFHub.io

Pronto para integrar a API?

50 consultas gratuitas para testar agora. Sem cartão de crédito. Acesso imediato à documentação.

Redação CPFHub.io

Sobre a redação

Redação CPFHub.io

Time editorial especializado em APIs de CPF, identidade digital e compliance no mercado brasileiro. Produzimos guias técnicos, análises regulatórias e tutoriais sobre LGPD e KYC para desenvolvedores e líderes de produto.

WhatsAppFale conosco via WhatsApp