Sem Rota Válida (*Sem Rota*)
Se todas as regras de transição resultarem em false, a Engine interrompe a sessão e lança uma exceção informando a ausência de rota válida.
A página de Tratamento de Desvios e Múltiplos Destinos detalha como o serviço interno de roteamento da Engine (ServicoRoteador) processa as saídas de uma etapa, garantindo a execução determinística do fluxo ou interrompendo a sessão com segurança em casos de ambiguidade.
Por premissa de arquitetura, um fluxo na Engine é estritamente sequencial: para cada etapa concluída, deve existir exatamente uma e apenas uma transição válida.
ServicoRoteador)Quando o runner encerra o seu processamento sem erros, a Engine delega ao algoritmo de roteamento a identificação do próximo nó a ser chamado:
┌─────────────────────────────────────────┐ │ ETAPA CONCLUÍDA COM SUCESSO │ └────────────────────┬────────────────────┘ │ ▼ ┌─────────────────────────────────────────┐ │ Busca Conectores de Saída Mapeados │ └────────────────────┬────────────────────┘ │ ┌───────────────────────────────────────┼───────────────────────────────────────┐ ▼ ▼ ▼┌───────────────────────┐ ┌───────────────────────┐ ┌───────────────────────┐│ NENHUM CONECTOR DE │ │ APENAS 1 CONECTOR │ │ MÚLTIPLOS CONECTORES ││ SAÍDA │ │ MAPEADO │ │ (COM CONDICIONAIS) │└───────────┬───────────┘ └───────────┬───────────┘ └───────────┬───────────┘ │ │ │ ▼ ▼ ▼┌───────────────────────┐ ┌───────────────────────┐ ┌───────────────────────┐│ ENCERRAMENTO COM │ │ Avança diretamente │ │ Avalia todas as regras││ SUCESSO │ │ para o próximo nó │ │ dos conectores ││ (Fim do Pipeline) │ └───────────────────────┘ └───────────┬───────────┘└───────────────────────┘ │ ▼ ┌───────────────────────┐ │ Contabiliza TRUEs │ └───────────┬───────────┘ │ ┌───────────────────────────────────────┴───────────────────────────────────────┐ ▼ ▼ ┌───────────────────────────────┐ ┌───────────────────────────────┐ │ EXATAMENTE 1 = TRUE │ │ DIFERENTE DE 1 = TRUE │ └───────────────┬───────────────┘ └───────────────┬───────────────┘ │ │ ▼ ▼ ┌───────────────────────────────┐ ┌───────────────────────────────┐ │ Transição Confirmada │ │ Lança InterrupcaoException │ │ (Executa nó destino) │ │ (Sem Rota / Rota Ambígua) │ └───────────────────────────────┘ └───────────────────────────────┘DADOS_SAIDA): É padrão na modelagem que o encerramento ocorra em uma etapa do Runner de Dados de Saída (DADOS_SAIDA), pois este nó é responsável por estruturar o payload e o código de status HTTP que serão devolvidos ao cliente da requisição.true.Quando uma etapa possui conectores condicionais configurados, a resposta do roteador é estrita:
Sem Rota Válida (*Sem Rota*)
Se todas as regras de transição resultarem em false, a Engine interrompe a sessão e lança uma exceção informando a ausência de rota válida.
Rota Ambígua (*Múltiplos Destinos*)
Se duas ou mais regras forem avaliadas como true simultaneamente, a Engine aborta o processamento para evitar execuções concorrentes não determinísticas.
Mutua Exclusividade nas Regras
Ao criar múltiplos conectores condicionais a partir do mesmo nó, certifique-se de que os critérios de comparação sejam mutuamente exclusivos (ex: se um conector checa status == 'APROVADO', o outro deve checar status == 'REJEITADO').
Uso de Operadores Complementares
Utilize operadores que se complementam perfeitamente no formulário de condicional, como Nulo em uma rota e Não Nulo na outra, garantindo que sempre haja exatamente um resultado verdadeiro.
Validação no Editor Visual
Durante a fase de rascunho, valide se a lógica de desvio contempla todas as variações possíveis de dados de entrada para evitar exceções de falta de rota em produção.