curl · bash · shell scripts

Gerador de Empresa via curl

A API REST do FakeForge gera empresa fictícia completa (CNPJ, razão social, endereço, telefone) direto via curl. Um GET com type=company retorna o objeto todo; combinado com jq, monta CSV ou SQL pra seed de banco.

TL;DR

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

Rota 1: API REST oficial

# 5 empresas em JSON
curl "https://fakeforge.com.br/api/generate?type=company&quantity=5"

# 500 empresas em SQL, pronto pra seed
curl -X POST https://fakeforge.com.br/api/generate \
  -H "Content-Type: application/json" \
  -d '{"type":"company","quantity":500,"format":"sql"}' \
  > seed_empresas.sql

# 500 empresas em CSV
curl -X POST https://fakeforge.com.br/api/generate \
  -H "Content-Type: application/json" \
  -d '{"type":"company","quantity":500,"format":"csv"}' \
  > empresas.csv

Rota 2: algoritmo local em bash (offline)

Pra gerar CNPJ sem chamar a API (útil em pipelines isolados), o mod-11 dá pra fazer com aritmética pura de bash:

#!/usr/bin/env bash
# empresa.sh - gera CNPJ mod-11 localmente, sem API

gerar_cnpj() {
  local n=()
  for i in {1..8}; do n+=($((RANDOM % 10))); done
  n+=(0 0 0 1)  # sufixo /0001 (matriz)

  local pesos1=(5 4 3 2 9 8 7 6 5 4 3 2)
  local soma=0
  for i in "${!pesos1[@]}"; do soma=$((soma + n[i] * pesos1[i])); done
  local resto=$((soma % 11))
  local d1=$((resto < 2 ? 0 : 11 - resto))
  n+=($d1)

  local pesos2=(6 5 4 3 2 9 8 7 6 5 4 3 2)
  soma=0
  for i in "${!pesos2[@]}"; do soma=$((soma + n[i] * pesos2[i])); done
  resto=$((soma % 11))
  local d2=$((resto < 2 ? 0 : 11 - resto))
  n+=($d2)

  local cnpj="${n[0]}${n[1]}.${n[2]}${n[3]}${n[4]}.${n[5]}${n[6]}${n[7]}/${n[8]}${n[9]}${n[10]}${n[11]}-${n[12]}${n[13]}"
  echo "$cnpj"
}

for i in $(seq 1 5); do
  gerar_cnpj
done

Shell script — CSV de empresas pronto pro seed

#!/usr/bin/env bash
# seed-empresas.sh - popula staging com 1000 empresas fictícias

curl -s -X POST https://fakeforge.com.br/api/generate \
  -H "Content-Type: application/json" \
  -d '{"type":"company","quantity":1000,"format":"csv"}' \
  > empresas.csv

echo "COPY empresas(razao_social, cnpj, estado, telefone) FROM 'empresas.csv' CSV HEADER;" \
  | psql "$DATABASE_URL"

echo "1000 empresas importadas pra staging"

Comparação: qual escolher

CenárioAPI RESTAlgoritmo bash local
Só CNPJ simples✅✅
Empresa completa correlacionada✅❌ só CNPJ
Export CSV/SQL nativo✅❌
100% offline❌✅
CustoFree 50/diaR$0

Perguntas frequentes

Como gerar empresa fictícia completa via curl?+

GET https://fakeforge.com.br/api/generate?type=company&quantity=50 retorna CNPJ, razão social, endereço e telefone correlacionados em JSON. 100 chamadas grátis por dia.

Dá pra exportar direto em SQL pra popular banco de staging?+

Sim. Use POST com {"type":"company","format":"sql"} no body e o retorno já vem como INSERT pronto pra rodar.

Existe jeito de gerar CNPJ sem chamar a API?+

Sim. O algoritmo local em bash implementa o mod-11 da Receita direto em aritmética de shell, sem depender de rede.

Preciso de autenticação pra usar a API de empresa?+

Não pro plano free (50 chamadas/dia). Planos pagos usam header de API key, documentado em /docs.

Próximos passos