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
Canal de venda
ERP
Bonus
Integrador
Meio de pagamento
Outros
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.
CANAL CrmBonus (2921) — captura por rota própria sem execução
canal-crmbonus-captura · orderId: 00-{{run}}-01 · esperadas: 0
org: StatusFlow cluster3-realista › StatusFlow BU cluster3-bu (2920) › StatusFlow Store realista-1erp (2921)
ERPs: 1 · canais da loja: SITE, MKPlace
CrmBonus → iFood (integrador) Vtex
Editar
Detalhes — descrição, previsto × recebido, timeline
Pedido que NASCE no CrmBonus, não na VTEX: POST /api/v2.0/CrmBonusOrder/Save. Escolhe a org pelo `sellerId` (= Store.SystemCode), então roda na loja realista 2921 — o ECId gerado carrega os dois: IFOOD-2921-<data>-CRMB-<run>-01. SalesChannelId é IFOOD, chumbado no controller. PROVA A ENTRADA pelo canal, não o fan-out: a descida ao Updi acontece (medido no log), mas a captura entra por fila e o traceId do cenário não atravessa esse salto, então a correlação não a alcança — afirmá-la seria falhar por instrumentação. Gap registrado.
Previsto × recebido sem execução — só o previsto
OUT ▲ OUTBOUND — ações (Simulation → HAASS)
Nenhuma ação outbound planejada.
IN ▼ IN — Obrigatórias (decidem pass/fail)
Chamada Previsto Veio
· OBRIGATÓRIA CrmBonus estoque — 0×: sem CrmBonusIntegrator na loja
endpoint=crmbonus-stock-update
0..0 —
· OBRIGATÓRIA Vtex order-by-id — 0×: o pedido não veio da VTEX
endpoint=vtex-order-by-id
0..0 —
CANAL MKPlace (2921) — captura por rota própria sem execução
canal-mkplace-captura · orderId: 00-{{run}}-01 · esperadas: 0
org: StatusFlow cluster3-realista › StatusFlow BU cluster3-bu (2920) › StatusFlow Store realista-1erp (2921)
ERPs: 1 · canais da loja: SITE, MKPlace
CrmBonus → iFood (integrador) Vtex
Editar
Detalhes — descrição, previsto × recebido, timeline
Pedido que NASCE no MKPlace: POST /api/v2.0/MKPlaceWebhook/Order. A rota só exige `_id` e resolve a org de configuração GLOBAL (MKPlaceWebhookBusinessUnitId/StoreId/SellerSystemCode), apontada para a 2921 pelo seed — não há como escolher a loja por cenário. Prova a ENTRADA pelo canal; o que o pedido produz depois depende do inbox, e por isso as expectativas aqui são de ausência do que NÃO deve acontecer.
Previsto × recebido sem execução — só o previsto
OUT ▲ OUTBOUND — ações (Simulation → HAASS)
Nenhuma ação outbound planejada.
IN ▼ IN — Obrigatórias (decidem pass/fail)
Chamada Previsto Veio
· OBRIGATÓRIA Vtex order-by-id — 0×: o pedido não veio da VTEX
endpoint=vtex-order-by-id
0..0 —
· OBRIGATÓRIA CrmBonus estoque — 0×: canal errado
endpoint=crmbonus-stock-update
0..0 —
JSON