Uma das ferramentas internas que mais evoluiu nos últimos meses dentro da DevPlus é o HookScope — nosso SaaS para captura, inspeção e replay de webhooks. A versão 1.2 acaba de sair e trouxe melhorias significativas tanto na experiência do dashboard quanto no CLI.
Neste post, fazemos um overview das novidades. Para o artigo completo com exemplos detalhados de uso, confira o post no blog do HookScope.
O que motivou essa atualização
Os feedbacks mais frequentes dos usuários giravam em torno de três pontos:
- “Preciso gerenciar endpoints sem abrir o navegador” — desenvolvedores querem resolver tudo no terminal
- “Quando chega muito webhook rápido, não consigo analisar nenhum” — a lista atualizava rápido demais
- “Tenho 15 endpoints e está ficando difícil achar o que preciso” — faltava organização
A v1.2 endereça todos esses pontos.
CLI com comandos de gestão
O hookscope CLI já permitia autenticar e ouvir webhooks com o comando listen. Agora ele vai além — dá pra listar endpoints, gerenciar configurações, ver workflows e consultar o plano direto do terminal.
# Listar todos os endpoints com status e métricas
hookscope endpoints
# Gerenciar um endpoint interativamente
hookscope endpoint stripe-prod
# Ver workflows configurados
hookscope workflows
# Consultar plano e limites de uso
hookscope plan
O comando hookscope endpoint <slug> abre um menu interativo onde é possível:
- Ligar/desligar forward automático
- Alterar a URL de destino
- Ativar/desativar modo proxy
- Pausar ou retomar o endpoint
- Alternar mock response
Tudo via API, aplicado instantaneamente — sem sair do terminal.
Atualização
Quem já tem o CLI instalado, basta rodar:
dotnet tool update -g HookScope.Cli
Pausa de live updates no dashboard
O dashboard do HookScope mostra webhooks chegando em tempo real via WebSocket. Isso é ótimo para volume baixo, mas quando múltiplos requests chegam por segundo, fica difícil clicar em um request específico antes que a lista se mova.
A solução: um botão de pausa que congela a lista na tela.
Enquanto pausado:
- Webhooks continuam sendo capturados normalmente no servidor
- Um badge mostra quantos requests chegaram durante a pausa
- A lista permanece estática para inspeção
- Ao retomar, os novos requests entram na lista de uma vez
O estado de pausa é preservado durante navegação — abrir o detalhe de um request e voltar mantém a fila intacta.
Replay para o CLI
Até então, o botão “Replay” do dashboard reenviava o webhook para a URL de forward configurada no endpoint. Mas e se você quer mandar o request direto para o seu localhost onde o CLI está ouvindo?
Agora existe o botão CLI Replay no painel de detalhes do request. Ele envia o webhook via WebSocket para qualquer sessão do CLI conectada àquele endpoint.
O fluxo na prática:
# Terminal 1 — ouvindo webhooks
hookscope listen meu-endpoint --to http://localhost:3000/webhook
No dashboard: abra um request antigo → clique em CLI Replay → o webhook aparece no terminal e é encaminhado para localhost:3000.
Isso é especialmente útil para:
- Reproduzir bugs com o payload exato que causou o problema
- Testar correções sem esperar o provedor reenviar
- Desenvolver offline com payloads reais já capturados
Grupos de endpoints
Com o crescimento do uso, vários clientes passaram a ter 10, 15, 20+ endpoints. Navegar por uma lista longa se torna improdutivo.
Agora endpoints podem ser organizados em grupos nomeados. No dashboard, os grupos aparecem como seções colapsáveis. No CLI, uma coluna extra mostra o grupo de cada endpoint.
Exemplos de organização:
| Grupo | Endpoints típicos |
|---|---|
pagamentos | Stripe, Mercado Pago, PagSeguro |
ci-cd | GitHub Actions, GitLab, Bitbucket Pipelines |
notificações | Twilio, SendGrid, Firebase |
sandbox | Endpoints de teste e desenvolvimento |
Contexto técnico
Para quem se interessa pelo lado de engenharia:
- O CLI usa Spectre.Console para renderização rica no terminal (tabelas, barras de progresso, menus interativos)
- A comunicação em tempo real é via SignalR — tanto o dashboard quanto o CLI conectam no mesmo hub
- O replay para CLI passa por um endpoint HTTP no Collector que faz broadcast via
IHubContextpara o grupo WebSocket do endpoint - O estado de pausa no dashboard usa
sessionStoragepara persistir a fila acumulada durante navegação
Próximos passos
Nas próximas versões estamos trabalhando em:
- Alertas — notificações quando um webhook falha no forward ou match em filtro
- Exportação de coleções — exportar requests capturados como coleção Postman/Bruno
- Templates de workflow — workflows pré-configurados para cenários comuns (Stripe, GitHub, etc.)
Experimente
O HookScope tem um plano Free permanente — sem cartão de crédito, sem trial. Crie uma conta, gere um endpoint e aponte qualquer webhook para testar.
Para o artigo completo com todos os exemplos de output do CLI e cenários de uso, leia o post no blog do HookScope.