API Pública e CLI
Automatize a geração de mocks e ambientes de teste usando a ferramenta CLI oficial ou requests curl.
Criar um mock na mão tudo bem uma vez. Quando cada execução de CI, cada teste de integração e cada preview de branch quer o seu próprio endpoint descartável, você quer isso em script. A API pública é um único POST sem autenticação que devolve uma URL e um admin_token de uso único, e a CLI quickmock é uma casca fina sobre essa mesma chamada. Qualquer uma das duas transforma um mock em algo que o seu pipeline cria, usa e descarta sem ninguém abrir um navegador.
Como instalar a CLI?
A CLI é um único binário Go sem dependências de runtime. Instale com o toolchain do Go:
go install github.com/Deadsquirrel93/quickmock.dev/cmd/quickmock@latestIsso coloca um executável quickmock em $(go env GOPATH)/bin. Acrescente esse diretório ao seu PATH se ele ainda não estiver lá — uma instalação nova do Go costuma deixá-lo de fora, e um command not found logo depois de um go install bem-sucedido é quase sempre isso e nada mais.
Não há nada a instalar do lado do servidor nem arquivo de configuração para escrever. Se você roda a sua própria instância do Quickmock em vez de usar o quickmock.dev, aponte a CLI para ela com -url; todas as outras flags se comportam igual.
O que a CLI faz de fato?
Todo o trabalho está em um subcomando. O create aceita os mesmos campos que a API, na forma de flags:
quickmock create -m POST -s 201 -c application/json \
-H 'X-Request-Id: abc' \
-b '{"status":"created"}'Ele imprime duas linhas: a URL pública do mock e o seu admin_token de uso único. A URL é o que os seus testes vão chamar. O token é o que permite depois editar, estender ou excluir o mock e ler o seu log privado — ele aparece exatamente uma vez e não pode ser recuperado, então capture-o no mesmo passo que cria o mock, e não em um passo posterior.
Repita -H para cada cabeçalho de resposta que quiser, exatamente como faria com o curl. Um valor sem dois-pontos é rejeitado em vez de ignorado, de modo que um erro de digitação quebra o passo em vez de produzir silenciosamente um mock sem o cabeçalho.
Como criar um mock a partir de um pipeline?
Em um pipeline a CLI costuma ser uma dependência a mais, e a API é uma única requisição. Crie o mock em um passo de preparação, entregue a URL ao que vem depois e deixe o TTL limpar a sujeira por você:
MOCK=$(curl -s -X POST https://quickmock.dev/api/mocks \
-H 'Content-Type: application/json' \
-d '{"method":"GET","response_status":200,"ttl_seconds":3600}')
echo "MOCK_URL=$(echo "$MOCK" | jq -r .url)" >> "$GITHUB_ENV"Defina ttl_seconds perto do tempo que o job realmente leva. Um mock criado com TTL de uma hora some sozinho, o que significa que um job cancelado ou que falhou não deixa nada para trás e você nunca precisa de um passo de limpeza que talvez nem rode.
E já que está nisso, mantenha o admin_token fora do log. curl -s passado por jq -r .url imprime só a URL; despejar o corpo inteiro da resposta grava uma credencial válida em um log de build que qualquer pessoa com acesso ao projeto consegue ler.
O que costuma dar errado?
- Jogar fora o admin_token. Ele aparece na resposta de criação e em nenhum outro lugar. Sem ele você não consegue editar, excluir nem ler os logs privados do mock — só esperar ele expirar.
- Um mock por caso de teste. O limite de mocks ativos por IP é real, e um runner de CI é um único IP. Crie um mock por job e separe os casos com variantes nomeadas ou com rotas.
- Fixar o slug no código. Slugs são atribuídos, não escolhidos. Leia o campo
urlda resposta e repasse esse valor. - Sem TTL. Sem
ttl_secondso mock vive conforme o padrão do servidor, muito depois de terminar o job que precisava dele.
Quando usar isso
A criação manual é útil para prototipação, mas pipelines CI/CD exigem ambientes dinâmicos e reproduzíveis. A API e o CLI permitem que você codifique a criação, modificação e remoção de endpoints mock instantaneamente, alimentando as URLs geradas diretamente para suas suítes de teste.
Criar o mock
curl -X POST https://quickmock.dev/api/mocks \
-H 'Content-Type: application/json' \
-d '{
"method": "POST",
"response_status": 201,
"response_body": "{\"status\":\"created\"}"
}'
Chamá-lo
curl -X POST https://quickmock.dev/m/<slug>
O que você obtém
{"status":"created"}
FAQ
- Preciso de conta ou de chave de API?
- Não.
POST /api/mocksnão exige autenticação: criar um mock não precisa de nada além da própria requisição. A autenticação entra depois — o admin_token que essa chamada devolve é o que protege a edição, a exclusão e o inspetor privado do mock que você acabou de criar. - Como excluo o mock quando o job termina?
- Envie
DELETE /api/mocks/<slug>com o admin_token em um cabeçalho Bearer. Na prática umttl_secondscurto é mais confiável, porque a expiração também limpa depois dos jobs que falham ou são cancelados antes de chegar ao passo de limpeza. - Dá para usar a API em outra linguagem além de Go?
- Sim. É HTTP e JSON comuns, então qualquer cliente serve — a CLI é apenas uma conveniência para shells e Makefiles, e nada na API depende dela. A referência da API lista todos os endpoints com um exemplo de curl pronto para rodar.
Construa o seu próprio
Criar um mockGuias relacionados
Última atualização: 2026-10-17