Lua
Integre a API de consulta de CPF usando o SDK oficial do CPFHub.io para Lua 5.4+.
Instalação
bash
luarocks install cpfhubConfiguração
bash
export CPFHUB_API_KEY=sua_api_key_aquiPrimeira consulta
Lua
local cpfhub = require("cpfhub")
local client = cpfhub.new(os.getenv("CPFHUB_API_KEY"))
local result, err = client:lookup("12345678909")
if result then
print(result.data.name) -- "Fulano de Tal"
print(result.data.gender) -- "M"
print(result.data.birth_date) -- "15/06/1990"
end✦
CPF com ou sem formatação
O SDK aceita CPF com ou sem pontuação: "12345678909" e "123.456.789-09" são equivalentes.
Tratamento de erros
Lua
local cpfhub = require("cpfhub")
local client = cpfhub.new(os.getenv("CPFHUB_API_KEY"))
local result, err = client:lookup("12345678909")
if err then
if err.code == "CPF_NOT_FOUND" then
print("CPF não encontrado na base de dados")
elseif err.code == "INVALID_CPF_DIGITS" then
print("CPF com dígitos verificadores inválidos")
elseif err.code == "RATE_LIMIT_EXCEEDED" then
os.execute("sleep 1")
-- retry
else
error("Erro inesperado: " .. err.code)
end
else
print("Nome: " .. result.data.name)
endUso sem SDK (via curl / http)
Para projetos que preferem chamadas HTTP diretas:
Lua
local http = require("socket.http")
local ltn12 = require("ltn12")
local json = require("dkjson")
local function lookup_cpf(cpf)
local api_key = os.getenv("CPFHUB_API_KEY")
local url = "https://api.cpfhub.io/cpf/" .. cpf
local body = {}
local code, headers = http.request {
url = url,
sink = ltn12.sink.table(body),
headers = { ["x-api-key"] = api_key },
}
local response = json.decode(table.concat(body))
return response
end
local result = lookup_cpf("12345678909")
if result.success then
print(result.data.name)
endLinks
Atualizado em 12 de maio de 2026