Preset vertical

Preset Fintech — cliente completo em 1 chamada

Dev fintech tá testando checkout PIX, credit engine, KYC ou antifraude. Precisa CPF, PIX, conta bancária, cartão de crédito, score Serasa e renda mensal coerentes entre si. O preset fintech resolve com 1 request. Sem correlacionar campo por campo depois.

O que vem dentro

  • Customer — nome, CPF, email, telefone, endereço
  • Renda mensal — log-normal, mediana R$3.500
  • Score Serasa — 300-1000, normal ponderada
  • PIX keys — 3-4 chaves (CPF, email, phone, aleatória)
  • Conta bancária — 17 bancos brasileiros, DV real
  • Cartão de crédito — Luhn válido, brand random, holder = customer

Como chamar

HTTP (curl)

curl "https://fakeforge.com.br/api/generate?preset=fintech&quantity=100"

Node SDK

import { FakeForge } from "fakeforge-br";

const ff = new FakeForge();
const clientes = await ff.preset("fintech", 100);

Python SDK

from fakeforge import FakeForge

ff = FakeForge()
clientes = ff.preset("fintech", 100)

Sample output

{
  "preset": "fintech",
  "quantity": 1,
  "data": [
    {
      "customer": {
        "nome": "Marina Souza Oliveira",
        "cpf": "428.153.792-04",
        "email": "marina.souza@gmail.com",
        "telefone": "(11) 98432-7156",
        "endereco": {
          "cep": "04552-030",
          "logradouro": "Rua Funchal, 375",
          "bairro": "Vila Olímpia",
          "cidade": "São Paulo",
          "estado": "SP"
        },
        "renda_mensal": 6800,
        "score_serasa": 742
      },
      "pix_keys": [
        { "type": "cpf", "value": "42815379204" },
        { "type": "email", "value": "marina.souza@gmail.com" },
        { "type": "phone", "value": "+5511984327156" },
        { "type": "aleatoria", "value": "8f4e2c91-a3b7-4d5e-9f2a-1c8b6d0e5a3f" }
      ],
      "bank_account": {
        "bank": "260 - Nu Pagamentos (Nubank)",
        "agency": "0001",
        "account": "6284591-3",
        "type": "corrente"
      },
      "credit_card": {
        "number": "5234 8891 2947 6103",
        "brand": "mastercard",
        "cvv": "428",
        "expiry": "07/29",
        "holder_name": "MARINA SOUZA OLIVEIRA"
      }
    }
  ]
}

Casos de uso reais

Teste de checkout PIX

Chave PIX bate com CPF do customer, banco emissor é um dos 17 do arranjo Pix, telefone tem DDD do estado do endereço. Antifraude não dispara falso positivo por dados incoerentes.

Credit engine calibration

Distribuição normal ponderada do score (300-1000, média 650) reproduz proporção real do brasileiro. Rode 10.000 clientes e teste que seu motor aprova ~40%, rejeita ~15%, revisa ~45% — se ficar fora, tem viés.

KYC e onboarding automatizado

CPF válido pela Receita, endereço com UF real, renda dentro do range brasileiro. Ideal pra teste de decisões automáticas de account opening.

Load test de gateway de pagamento

Plano Dev libera 10.000 clientes em 1 chamada. Cada um vem com cartão único (Luhn), CPF único, email único. Perfeito pra encher fila de checkout em teste de stress.

Fixture pra pytest / vitest

Gera 100 clientes uma vez, salva como JSON, reutiliza entre testes. Deterministic (se você seedar) ou fresh a cada run.

Detalhes técnicos que importam

  • CPF passa mod-11 da Receita Federal (não é apenas 11 dígitos aleatórios).
  • Cartão de crédito passa algoritmo de Luhn (aceito por qualquer gateway de teste).
  • Conta bancária tem DV calculado pela regra específica do banco (17 bancos suportados: Nubank, Itaú, Bradesco, Santander, BB, Caixa, Inter, C6, PicPay, PagSeguro, etc).
  • Score Serasa segue distribuição normal (Box-Muller) com média 650 e stddev 150, clampado em [300, 1000] — reproduz curva real do brasileiro.
  • Renda mensal segue distribuição log-normal com mediana R$3.500 e cauda até R$25k — reflete a realidade da população economicamente ativa.
  • PIX keys incluem sempre CPF + email + phone; 60% dos clientes também têm chave aleatória (padrão BACEN 2024).

💡 Combinação recomendada

Se sua stack é fintech BR, combine o preset fintech (gera clientes válidos) + validate-docbr ou python-brasilidades (valida input de user real no runtime). Uma popula seed, a outra protege a rota de produção.

Próximos passos