Haass.Simulation

Simulador de sistemas parceiros (externos). Tem dois lados: passivo — responde a chamadas da Haass com os mesmos contratos e rotas dos parceiros; e ativo — origina chamadas/webhooks contra a Haass (ex.: o UPDI enviando a nota fiscal). Para testar fluxos no desenvolvimento sem depender do parceiro e sem testar em produção.

Como funciona

Passivo (endpoints)

A Haass.Simulation.Api recebe as chamadas da Haass. Casa método + path, seleciona a resposta configurada e devolve statusCode + corpo. Sem match, 404.

Ativo (triggers)

A Api também dispara chamadas contra a Haass via POST /_sim/triggers/{id}/send. Cifra o corpo quando preciso (ex.: nota do UPDI). Um endpoint passivo pode encadear um trigger ao responder.

WebApp (esta ferramenta)

Configura endpoints (respostas) e triggers (disparos), e inspeciona o log das chamadas — recebidas (Inbound) e enviadas por triggers (Outbound). O envio é feito pela Api.

Estado compartilhado

Api e WebApp compartilham endpoints.json, triggers.json e call-log.json. A Api lê a cada request, então as edições têm efeito imediato.

Passivo — responder chamadas

  1. Escolha o parceiro. Na página Endpoints, o menu lateral agrupa os endpoints por parceiro (ex.: SystemHope, Correios, UPDI). Selecione um grupo para filtrar, ou Todos para ver tudo.
  2. Edite as respostas. Crie ou edite um endpoint definindo grupo, método, path template e o parâmetro selecionador. Cada resposta tem key, statusCode e um body em JSON.
  3. Selecione a resposta por parâmetro. A resposta com key igual ao valor do parâmetro do path é usada; caso contrário, cai na key = default. Ex.: .../FulfillmentOrder/ORD-1/status usa a resposta ORD-1 se existir.
  4. Use placeholders no body. {{param}} é trocado pelo valor capturado no path (ex.: {{orderECId}}).

Ativo — disparar chamadas

  1. Configure o trigger. Na página Triggers, defina grupo, método, path alvo, headers, parâmetros, corpo e a cifra opcional (ex.: blowfishBase64 para a nota do UPDI). Os {{param}} do path/headers/body usam os parâmetros (sobrescritíveis no disparo).
  2. Dispare pela Api. O envio é responsabilidade da Api: POST /_sim/triggers/{id}/send (com { "params": { ... } } opcional). Útil para acionar manualmente ou por uma esteira de testes.
  3. Encadeie a partir do passivo. Um endpoint pode disparar um trigger ao responder (campos Encadeamento no editor). Ex.: o estímulo de faturamento do UPDI dispara automaticamente o callback da nota.

Inspecionar

Na página Logs veja as chamadas mais recentes — recebidas (Inbound) e enviadas por triggers (Outbound) — com método, path, status, endpoint/trigger, request body, response body e headers.

Ferramenta de desenvolvimento — não roda em produção. API e WebApp devem rodar no mesmo host (estado compartilhado em arquivo).