Como validar CPF em tempo real em aplicações Rails usando APIs REST

Bernardo RochaBernardo Rocha
Publicado em 12 de maio de 20254 min de leitura

Introdução

A validação de CPF em tempo real é essencial para aplicações que exigem segurança e conformidade, como fintechs, bancos, marketplaces e sistemas de gestão. No Ruby on Rails, a integração com APIs REST permite validar um CPF instantaneamente, garantindo que os dados sejam precisos e atualizados.

Neste artigo, explicamos como integrar uma API de consulta de CPF em aplicações Rails, utilizando requisições HTTP e boas práticas de segurança.

1. Escolhendo uma API confiável

Antes de iniciar a implementação, é fundamental escolher uma API confiável que ofereça:

Consulta em tempo real na Receita Federal.
Baixo tempo de resposta (1800-2000ms).
Segurança e conformidade com a LGPD.
Geração de comprovante oficial da consulta.

A CPFHub.io é uma excelente opção para validação de CPF, oferecendo integração rápida e segura.

2. Configurando a integração no Rails

2.1 Instalando a gem HTTParty

O HTTParty facilita a realização de chamadas HTTP em aplicações Rails.

# Adicione a gem ao Gemfile
bundle add httparty
Ou manualmente, edite o
Gemfile
e adicione:
gem 'httparty'

Depois, execute:

bundle install

2.2 Criando um serviço para consultar CPF

Crie um arquivo de serviço para centralizar as requisições à API.

mkdir -p app/services
nano app/services/cpf_validator.rb

Adicione o seguinte código:

require 'httparty'

class CpfValidator
  include HTTParty
  base_uri 'https://api.cpfhub.io/v1/cpf/validate'
  API_KEY = 'SUA_CHAVE_DE_API'

  def self.validate(cpf, birth_date)
    headers = { 'Content-Type' => 'application/json', 'x-api-key' => API_KEY }
    body = { cpf: cpf, birthDate: birth_date }.to_json
    response = post('', headers: headers, body: body)

    if response.success?
      JSON.parse(response.body)
    else
      { error: 'Falha na consulta', status: response.code, message: response.body }
    end
  end
end

O que esse código faz?

  • Realiza uma requisição HTTP POST para validar o CPF.

  • Envia a chave de API no cabeçalho para autenticação.

  • Retorna os dados do CPF ou uma mensagem de erro em caso de falha.


2.3 Criando um controller para validar CPF

Agora, vamos criar um endpoint no Rails para chamar o serviço de validação.

rails generate controller CpfValidator validate
Edite o arquivo gerado
app/controllers/cpf_validator_controller.rb
:
class CpfValidatorController < ApplicationController
  def validate
    cpf = params[:cpf]
    birth_date = params[:birth_date]
    result = CpfValidator.validate(cpf, birth_date)
    render json: result
  end
end
Adicione a rota no
config/routes.rb
:
post '/validar_cpf', to: 'cpf_validator#validate'

3. Testando a validação de CPF

3.1 Fazendo uma requisição via cURL

curl -X POST "http://localhost:3000/validar_cpf" \
     -H "Content-Type: application/json" \
     -d '{"cpf": "123.456.789-00", "birth_date": "15/06/1990"}'

Se tudo estiver correto, a resposta da API será semelhante a:

{
  "success": true,
  "data": {
    "name": "João da Silva",
    "status": "Regular",
    "situation": "Ativo",
    "birthDate": "15/06/1990",
    "cpfNumber": "12345678900",
    "registrationDate": "anterior a 10/11/1990",
    "verificationDigit": "03",
    "receipt": {
      "emissionTime": "22:08:26",
      "emissionDate": "13/01/2025",
      "controlCode": "XXXX.XXXX.XXXX.XXXX"
    },
    "validationUrl": "https://servicos.receita.fazenda.gov.br/Servicos/CPF/ca/ResultadoAut.asp?cp=12345678900&cc=XXXXXX&de=13012025&he=220826&dv=03&em=01",
    "validationHtmlUrl": "https://api.cpfhub.io/api/view-proof/12345678900/XXXXXXXXXXXXX"
  }
}

O que essa resposta indica?

  • O CPF existe e está regular.

  • Os dados do titular foram validados com a Receita Federal.
  • Um comprovante oficial foi gerado para a consulta.


4. Benefícios da validação automática de CPF em Rails

Redução de fraudes – Evita cadastros falsos em tempo real.
Melhora na experiência do usuário – Aprovação rápida e automatizada.
Conformidade com normas regulatórias – Segue diretrizes da Receita Federal e LGPD.
Integração simples – Pode ser implementado facilmente em qualquer aplicação Rails.


Conclusão

A validação de CPF em tempo real melhora segurança, conformidade e experiência do usuário em aplicações Rails. Com a integração da API da CPFHub.io, você pode garantir dados confiáveis e processos automatizados.

🚀 Implemente agora mesmo e otimize seu sistema!

WhatsAppFale conosco via WhatsApp