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:

  1. “Preciso gerenciar endpoints sem abrir o navegador” — desenvolvedores querem resolver tudo no terminal
  2. “Quando chega muito webhook rápido, não consigo analisar nenhum” — a lista atualizava rápido demais
  3. “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:

GrupoEndpoints típicos
pagamentosStripe, Mercado Pago, PagSeguro
ci-cdGitHub Actions, GitLab, Bitbucket Pipelines
notificaçõesTwilio, SendGrid, Firebase
sandboxEndpoints 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 IHubContext para o grupo WebSocket do endpoint
  • O estado de pausa no dashboard usa sessionStorage para 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.