curl · bash · CI/CD

Gerador de CNPJ via curl

API REST do FakeForge cobre CNPJ numérico + alfanumérico 2026. Snippets pra bash puro, GitHub Actions, GitLab CI, Jenkins. Zero SDK, zero instalação — só curl e jq. Grátis 50/dia.

TL;DR

# CNPJ numérico
curl "https://fakeforge.com.br/api/generate?type=cnpj&quantity=100"

# CNPJ alfanumérico 2026 (IN RFB 2.229)
curl "https://fakeforge.com.br/api/generate?type=cnpjAlfa&quantity=50"

GitHub Actions — teste do validador 2026

# .github/workflows/test-cnpj-2026.yml
name: Test CNPJ alfanumérico 2026

on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Gera 100 CNPJs alfanuméricos
        run: |
          curl -s "https://fakeforge.com.br/api/generate?type=cnpjAlfa&quantity=100" \
            | jq -r '.data[]' > cnpjs-2026.txt

      - name: Testa validador
        run: |
          while read cnpj; do
            if ! ./scripts/validar-cnpj.sh "$cnpj"; then
              echo "❌ FALHOU pro CNPJ: $cnpj"
              exit 1
            fi
          done < cnpjs-2026.txt
          echo "✅ Validador OK pra formato 2026"

Bash puro (seed local)

#!/bin/bash
# seed-empresas.sh

set -euo pipefail

# 500 CNPJs numéricos + 100 alfanuméricos
curl -s "https://fakeforge.com.br/api/generate?type=cnpj&quantity=500" | jq -r '.data[]' > empresas-num.txt
curl -s "https://fakeforge.com.br/api/generate?type=cnpjAlfa&quantity=100" | jq -r '.data[]' > empresas-alfa.txt

# Insere no Postgres
{
  cat empresas-num.txt | while read cnpj; do
    echo "INSERT INTO empresas(cnpj) VALUES ('$cnpj');"
  done
  cat empresas-alfa.txt | while read cnpj; do
    echo "INSERT INTO empresas(cnpj) VALUES ('$cnpj');"
  done
} | psql -d myapp_dev

echo "600 empresas seeded (500 numéricas + 100 alfanuméricas 2026)"

GitLab CI

# .gitlab-ci.yml
seed_empresas:
  image: alpine:latest
  before_script:
    - apk add --no-cache curl jq
  script:
    - curl -sH "X-API-Key: $FF_KEY" \
        "https://fakeforge.com.br/api/generate?type=cnpj&quantity=1000&format=sql" \
        | psql $STAGING_URL
  only:
    - schedules

Formatos de resposta

# JSON default
curl "https://fakeforge.com.br/api/generate?type=cnpj&quantity=3"
# {"type":"cnpj","quantity":3,"data":["12.345.678/0001-90",...]}

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

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

# Sem formatação (14 dígitos puros)
curl "https://fakeforge.com.br/api/generate?type=cnpj&quantity=10&formatted=false"

Próximos passos