Nim
Integre a API de consulta de CPF usando o SDK oficial do CPFHub.io para Nim.
Instalação
bash
nimble install cpfhubOu adicione ao .nimble:
Nim
requires "cpfhub >= 1.0.0"Configuração
bash
export CPFHUB_API_KEY=sua_api_key_aquiPrimeira consulta
Nim
import cpfhub
import os
let client = newCPFHubClient(getEnv("CPFHUB_API_KEY"))
let result = await client.lookup("12345678909")
echo result.data.name # "Fulano de Tal"
echo result.data.gender # "M"
echo result.data.birthDate # "15/06/1990"✦
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
Nim
import cpfhub, os
let client = newCPFHubClient(getEnv("CPFHUB_API_KEY"))
try:
let result = await client.lookup("12345678909")
echo result.data.name
except CPFNotFoundException:
echo "CPF não encontrado na base de dados"
except InvalidCPFException:
echo "CPF com dígitos verificadores inválidos"
except RateLimitException:
await sleepAsync(1000)
# retry
except CPFHubException as e:
echo "Erro: ", e.code, " - ", e.msg
raiseUso sem SDK (via httpclient)
Nim
import httpclient, json, os, asyncdispatch
proc lookupCPF(cpf: string): Future[JsonNode] {.async.} =
let apiKey = getEnv("CPFHUB_API_KEY")
let client = newAsyncHttpClient()
client.headers = newHttpHeaders({"x-api-key": apiKey})
let response = await client.get("https://api.cpfhub.io/cpf/" & cpf)
let body = await response.body
return parseJson(body)
proc main() {.async.} =
let data = await lookupCPF("12345678909")
if data["success"].getBool():
echo data["data"]["name"].getStr()
waitFor main()Links
Atualizado em 12 de maio de 2026