Como validar CPF em plataformas de marketplace de usados (OLX, Enjoei)

Aprenda como marketplaces de produtos usados podem validar CPF de vendedores e compradores via API para reduzir fraudes e golpes.

Redação CPFHub.io
Redação CPFHub.io
··8 min de leitura
Como validar CPF em plataformas de marketplace de usados (OLX, Enjoei)

Validar CPF em marketplaces de usados como OLX e Enjoei é a forma mais direta de combater vendedores fantasma, compradores fraudulentos e contas múltiplas. Com a API do CPFHub.io, a plataforma confirma em ~900ms que o CPF informado corresponde a uma pessoa real — retornando nome, gênero e data de nascimento —, permitindo emitir selos de identidade verificada que aumentam a confiança entre compradores e vendedores.

Introdução

Marketplaces de produtos usados movimentam bilhões de reais no Brasil. Plataformas como OLX, Enjoei, Mercado Livre e outras conectam milhões de compradores e vendedores todos os dias. Porém, o ambiente de compra e venda entre pessoas físicas é terreno fértil para fraudes -- desde anúncios falsos até golpes elaborados envolvendo identidades fictícias.

A validação de CPF é uma das formas mais eficazes de combater esse tipo de fraude. Ao confirmar que o CPF de um vendedor ou comprador é válido e corresponde a uma pessoa real, a plataforma adiciona uma camada essencial de segurança que protege todos os participantes da transação.


Os principais golpes em marketplaces de usados

Antes de abordar a solução, é importante entender os golpes mais comuns:

Vendedor fantasma

O golpista cria uma conta com dados falsos, anuncia produtos atraentes a preços baixos, recebe o pagamento e desaparece. Sem validação de CPF, a plataforma não tem como rastrear o responsável.

Comprador fraudulento

O golpista simula um pagamento (via comprovante falso ou estorno posterior), recebe o produto e some. Com CPF validado, a plataforma pode identificar e bloquear reincidentes.

Múltiplas contas

Usuários banidos criam novas contas com CPFs diferentes -- às vezes inventados ou de terceiros. A validação via API impede o uso de CPFs inexistentes e dificulta a criação de contas falsas.

Roubo de identidade

Golpistas utilizam CPFs roubados para criar contas e aplicar golpes, prejudicando tanto as vítimas quanto a reputação da plataforma.


Fluxo de validação para marketplaces

Um fluxo seguro de validação de CPF em marketplaces deve incluir:

  1. O usuário se cadastra informando CPF, nome completo e outros dados.
  2. O sistema válida o formato do CPF.
  3. A API do CPFHub é consultada para confirmar a existência do CPF.
  4. O nome retornado pela API é comparado com o nome informado.
  5. Se houver correspondência, a conta é ativada e o usuário recebe um selo de "identidade verificada".
  6. Se houver divergência, o cadastro fica pendente até verificação manual.

Para vendedores, a validação pode ser obrigatória antes da publicação do primeiro anúncio. Para compradores, pode ser exigida antes da primeira compra acima de determinado valor.


Implementação com Node.js

O exemplo a seguir mostra como implementar a validação de CPF em um marketplace de usados utilizando Node.js.

const axios = require("axios");

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

async function validarUsuarioMarketplace(cpf, nomeInformado, tipoUsuario) {
    const cpfLimpo = cpf.replace(/\D/g, "");

    if (cpfLimpo.length !== 11) {
    return { verificado: false, motivo: "CPF inválido" };
    }

    // Verificar se CPF já está associado a outra conta
    const contaExistente = await verificarCpfDuplicado(cpfLimpo);
    if (contaExistente) {
    return {
    verificado: false,
    motivo: "CPF já associado a outra conta na plataforma"
    };
    }

    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 { verificado: false, motivo: "CPF não encontrado na base" };
    }

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

    if (nomeApi !== nomeComparacao) {
    return {
    verificado: false,
    motivo: "Nome não confere com o CPF informado"
    };
    }

    return {
    verificado: true,
    usuario: {
    cpf: dados.cpf,
    nome: dados.name,
    genero: dados.gender,
    tipo: tipoUsuario,
    selo: "identidade_verificada",
    verificadoEm: new Date().toISOString()
    }
    };
    } catch (error) {
    if (error.code === "ECONNABORTED") {
    return { verificado: false, motivo: "Timeout na verificação" };
    }
    return { verificado: false, motivo: `Erro: ${error.message}` };
    }
}

async function verificarCpfDuplicado(cpf) {
    // Simula verificação no banco de dados da plataforma
    // Em produção, consulte sua base de usuários
    return false;
}

// Exemplo de uso
(async () => {
    const resultado = await validarUsuarioMarketplace(
    "123.456.789-09",
    "Ana Paula Ferreira",
    "vendedor"
    );

    if (resultado.verificado) {
    console.log(`Usuário verificado: ${resultado.usuario.nome}`);
    console.log(`Selo: ${resultado.usuario.selo}`);
    } else {
    console.log(`Verificação falhou: ${resultado.motivo}`);
    }
})();

Consulta via cURL

Para testes de integração:

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": "Ana Paula Ferreira",
    "nameUpper": "ANA PAULA FERREIRA",
    "gender": "F",
    "birthDate": "03/11/1992",
    "day": "03",
    "month": "11",
    "year": "1992"
    }
}

Validação condicional por valor da transação

Para não impor barreiras desnecessárias a transações de baixo valor, a validação de CPF pode ser condicional:

import requests

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

LIMITE_SEM_VERIFICACAO = 200.00 # R$ 200,00

def verificar_transacao(cpf_comprador: str, valor_transacao: float,
    usuario_verificado: bool) -> dict:
    """
    Verifica se a transação pode prosseguir com base no valor
    e no status de verificação do comprador.
    """
    if usuario_verificado:
    return {"permitido": True, "motivo": "Usuário já verificado"}

    if valor_transacao <= LIMITE_SEM_VERIFICACAO:
    return {"permitido": True, "motivo": "Valor abaixo do limite"}

    # Transação acima do limite requer verificação de CPF
    cpf_limpo = cpf_comprador.replace(".", "").replace("-", "")

    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 {"permitido": False, "motivo": "Timeout na verificação"}
    except requests.exceptions.RequestException as e:
    return {"permitido": False, "motivo": f"Erro: {str(e)}"}

    if resultado.get("success"):
    return {
    "permitido": True,
    "motivo": "CPF verificado com sucesso",
    "nome": resultado["data"]["name"]
    }

    return {"permitido": False, "motivo": "CPF não pôde ser verificado"}

# Exemplo de uso
resultado = verificar_transacao("123.456.789-09", 850.00, False)
if resultado["permitido"]:
    print(f"Transação permitida: {resultado['motivo']}")
else:
    print(f"Transação bloqueada: {resultado['motivo']}")

Estratégias adicionais de segurança

Selo de identidade verificada

Exibir um selo de "identidade verificada" no perfil de vendedores e compradores aumenta a confiança entre os usuários e incentiva a verificação voluntária.

Score de confiança

Combine a validação de CPF com outros fatores -- como tempo de cadastro, histórico de transações e avaliações -- para criar um score de confiança que ajude os usuários a decidir com quem negociar.

Bloqueio de CPFs irregulares

Mantenha uma lista interna de CPFs associados a fraudes anteriores e bloqueie automaticamente tentativas de cadastro com esses números.

Notificação ao titular

Quando um CPF for utilizado para criar uma conta, considere enviar uma notificação ao e-mail ou telefone associado para confirmar que o próprio titular está realizando o cadastro.


Boas práticas para marketplaces

  • Validação obrigatória para vendedores -- Exigir CPF validado antes de permitir a publicação de anúncios.
  • Verificação progressiva -- Permitir compras de baixo valor sem verificação, mas exigir CPF validado para transações maiores.
  • Um CPF por conta -- Impedir que o mesmo CPF seja usado em múltiplas contas.
  • Revalidação periódica -- Solicitar revalidação para contas inativas há mais de 12 meses.

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 ~900ms, 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 é uma arma essencial no combate a fraudes em marketplaces de produtos usados. Ao verificar a identidade de vendedores e compradores antes de permitir transações, a plataforma protege seus usuários, reduz chargebacks e fortalece a confiança no ecossistema. Com a API do CPFHub.io, a integração leva menos de 30 minutos e o retorno em segurança é imediato. 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