curl · bash · CI/CD

Gerador de CEP via curl

API REST do FakeForge gera CEP no formato oficial dos Correios. Zero SDK, só curl e jq.

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

Formatos

# JSON default
curl "https://fakeforge.com.br/api/generate?type=cep&quantity=5"
# {"type":"cep","quantity":5,"data":["01310-100","22440-000",...]}

# Sem formatação
curl "https://fakeforge.com.br/api/generate?type=cep&quantity=5&formatted=false"

# CSV
curl "https://fakeforge.com.br/api/generate?type=cep&quantity=100&format=csv"

# SQL
curl "https://fakeforge.com.br/api/generate?type=cep&quantity=100&format=sql"

GitHub Actions

# .github/workflows/test-cep-validator.yml
name: Test validador CEP

on: [pull_request]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Fetch 100 CEPs válidos
        run: |
          curl -s "https://fakeforge.com.br/api/generate?type=cep&quantity=100" \
            | jq -r '.data[]' > ceps.txt

      - name: Testa validador
        run: |
          while read cep; do
            ./scripts/validar-cep.sh "$cep" || { echo "FALHOU: $cep"; exit 1; }
          done < ceps.txt

Bash — filtrar CEP por região

# CEPs de SP começam com 01-19
curl -s "https://fakeforge.com.br/api/generate?type=cep&quantity=500" \
  | jq -r '.data[] | select(startswith("0") or startswith("1"))' \
  > ceps-sp.txt

# CEPs do RJ começam com 20-28
curl -s "https://fakeforge.com.br/api/generate?type=address&quantity=500" \
  | jq '.data[] | select(.estado == "RJ") | .cep' \
  > ceps-rj.txt