Cenários

Cenários nomeados: provisionam as respostas passivas, disparam o webhook order-notice com um traceId e aferem o fan-out (chamadas esperadas × recebidas) correlacionado por esse trace. Rodar é feito pela Api (POST /_sim/scenarios/{id}/run); o resultado é lido do arquivo.

Legenda: OUT ▲ Simulation → HAASS (ação) IN ▼ HAASS → Simulation (recebida) · OBRIGATÓRIA decide pass/fail CATÁLOGO verificação (soft-delete) NÃO ESPERADA fora do previsto
Novo cenário
Grupo
Conector (por categoria — multi, AND)
Filtro (AND): CrmBonus & VarejoOnline & Updi & Vtex
Canal de venda
ERP
Bonus
Integrador
Vtex = canal-fonte de todo cenário. Integrador = conecta o HAASS ao meio final (CrmBonus → iFood; SystemHope → Shopify). Clientes sem integrador integram direto com o provider. Ver specs/Integration/023.
ALL-ON (2401) — VTEX-ProntoSeparar sem execução
all-on-prontoseparar · orderId: 00-{{run}}-01 · esperadas: 5
CrmBonus → iFood (integrador) Updi VarejoOnline Vtex
Editar
Detalhes — descrição, previsto × recebido, timeline
Store ALL-ON 2401. ready-for-handling → ProntoSeparar: dispara ReserveStock (CrmBonus; a Vtex é dropada por loopback origem-VTEX → vtex-stock-update 0×). IntegrateOrderPaymentApproved não tem handler/rota → nenhuma outra chamada. Prova que ProntoSeparar reserva estoque mas NÃO separa nem desce ao ERP (SeparationStarted vive em ProntoFaturar, inalcançável via VTEX).
Previsto × recebido sem execução — só o previsto
OUT ▲ OUTBOUND — ações (Simulation → HAASS)
Chamada Previsto Veio
· AÇÃO POST notice ready-for-handling
/api/v1.0/vtex/order-notice
1
IN ▼ IN — Obrigatórias (decidem pass/fail)
Chamada Previsto Veio
· OBRIGATÓRIA CrmBonus — reserva de estoque (ReserveStock)
endpoint=crmbonus-stock-update
1+
· OBRIGATÓRIA VarejoOnline — sem separação em ProntoSeparar
endpoint=varejo-create-order
0..0
· OBRIGATÓRIA Updi — sem descida ao ERP (PaymentApproved sem handler)
endpoint=updi-getvendas
0..0
· OBRIGATÓRIA Vtex estoque — suprimido (loopback origem-VTEX)
endpoint=vtex-stock-update
0..0
· OBRIGATÓRIA CrmBonus order-status — 0× (origem-VTEX)
endpoint=crmbonus-order-status
0..0
ALL-ON (2401) — VTEX-EmFaturamento sem execução
all-on-emfaturamento · orderId: 00-{{run}}-01 · esperadas: 5
CrmBonus → iFood (integrador) Updi VarejoOnline Vtex
Editar
Detalhes — descrição, previsto × recebido, timeline
Store ALL-ON 2401. handling → EmFaturamento: SeparationFinished (VarejoOnline, change-status) + InvoicingStarted (Updi, updi-getvendas). NÃO reserva estoque neste status (crmbonus-stock-update 0×). crmbonus-order-status 0× (origem-VTEX sem ECCrmBonusSequence).
Previsto × recebido sem execução — só o previsto
OUT ▲ OUTBOUND — ações (Simulation → HAASS)
Chamada Previsto Veio
· AÇÃO POST notice handling
/api/v1.0/vtex/order-notice
1
IN ▼ IN — Obrigatórias (decidem pass/fail)
Chamada Previsto Veio
· OBRIGATÓRIA VarejoOnline — change status (SeparationFinished)
endpoint=varejo-change-status
1+
· OBRIGATÓRIA Updi — início de faturamento (InvoicingStarted)
endpoint=updi-getvendas
1+
· OBRIGATÓRIA CrmBonus estoque — 0× (EmFaturamento não reserva)
endpoint=crmbonus-stock-update
0..0
· OBRIGATÓRIA Vtex estoque — 0×
endpoint=vtex-stock-update
0..0
· OBRIGATÓRIA CrmBonus order-status — 0× (origem-VTEX)
endpoint=crmbonus-order-status
0..0
ALL-ON (2401) — VTEX-PagamentoPendente sem execução
all-on-pagamentopendente · orderId: 00-{{run}}-01 · esperadas: 4
CrmBonus → iFood (integrador) Updi VarejoOnline Vtex
Editar
Detalhes — descrição, previsto × recebido, timeline
Store ALL-ON 2401. payment-pending → PagamentoPendente: IntegrateOrderCreated (Updi, updi-getvendas) + ReserveStock (CrmBonus; Vtex dropada por loopback). SEM separação (varejo-create-order 0×). Prova o gating por status do Map.
Previsto × recebido sem execução — só o previsto
OUT ▲ OUTBOUND — ações (Simulation → HAASS)
Chamada Previsto Veio
· AÇÃO POST notice payment-pending
/api/v1.0/vtex/order-notice
1
IN ▼ IN — Obrigatórias (decidem pass/fail)
Chamada Previsto Veio
· OBRIGATÓRIA CrmBonus — reserva de estoque (ReserveStock)
endpoint=crmbonus-stock-update
1+
· OBRIGATÓRIA Updi — descida do pedido ao ERP (IntegrateOrderCreated)
endpoint=updi-getvendas
1+
· OBRIGATÓRIA VarejoOnline — NÃO deve separar (sem SeparationStarted)
endpoint=varejo-create-order
0..0
· OBRIGATÓRIA Vtex estoque — suprimido (loopback origem-VTEX)
endpoint=vtex-stock-update
0..0
JSON