Reenvio em cascata: cada nível reenvia para uma transportadora diferente

Quando uma automação de reenvio encadeia vários níveis de "mais barato" ou "mais rápido", o sistema agora ignora as combinações de transportadora, modalidade e prazo que já falharam no pedido antes de escolher a próxima. Acabou o loop em que a cascata batia três vezes na mesma transportadora — e, se esgotar todas as opções disponíveis, a regra para na hora em vez de consumir tentativas atrás de uma cotação que não existe.

✅ Disponível agora em Automações de reenvio. Não precisa mexer em nada nas regras existentes — vale automaticamente pra qualquer cascata com mais de uma ação Mais barato ou Mais rápido.

O que mudou

Em automações de reenvio que encadeiam múltiplas ações Mais barato (ou Mais rápido), cada nível agora considera só as combinações de transportadora/modalidade/prazo que ainda não foram tentadas no pedido. A escolha continua sendo pelo preço (ou pelo tempo), só que dentro do conjunto restante.

AntesA cascata empacava na mesma combinação

Cada nível pedia "a opção mais barata" do zero. Como a cotação devolvia sempre o top 1, os três níveis caíam na mesma transportadora/modalidade/prazo — o pedido tentava três vezes a mesma opção que já tinha falhado, até esgotar a rede de segurança interna.

AgoraCada nível pula o que já tentou

O segundo nível pega a segunda mais barata. O terceiro, a terceira mais barata. E assim por diante — sem repetir a transportadora e a modalidade que já falharam no mesmo pedido.

Pra que serve

O caso clássico é uma cascata de fallback estilo:

"Falhou a primeira → tenta o mais barato. Falhou de novo → tenta o mais barato. Falhou de novo → tenta o mais barato."

Antes, se a primeira opção da cotação fosse, por exemplo, Uber/CARRO/EXP120, os três níveis tentavam Uber/CARRO/EXP120 e o pedido nunca saía. Agora a sequência fica natural — Uber/CARRO/EXP120 → próxima opção do ranking → terceira opção do ranking — até alguma dar certo ou as opções acabarem.

Cascata de reenvio com três ações "Mais barato" encadeadas A mesma regra que antes ficava presa numa transportadora agora percorre o ranking de cotação de cima pra baixo, pulando o que já falhou.

Se esgotar todas as opções, a regra para na hora

Quando todas as transportadoras compatíveis com o pedido já foram tentadas, o reenvio falha imediatamente em vez de continuar batendo numa porta fechada. O pedido vai pra atenção manual mais rápido e a sua fila de retentativas não fica entupida com tentativas inviáveis.

Quando a cascata pede a próxima opção e não sobra ninguém, a regra encerra com motivo "todas as opções já tentadas".

Vale também pra "Mais rápido"

A mesma lógica se aplica quando a ação é Mais rápido: o segundo nível escolhe a segunda modalidade mais rápida que ainda não foi tentada, e assim por diante. Cascatas mistas (ex: mais barato → mais rápido → mais barato) também respeitam o histórico.

O que não mudou

  • Cascatas com ações Modalidade específica continuam idênticas — quem está marcado pra ir numa modalidade fixa vai na modalidade fixa, mesmo se já tiver sido tentada.
  • A ordenação do ranking (preço pra "Mais barato", tempo pra "Mais rápido") é a mesma de antes — a mudança é só quem entra no ranking.
  • A regra ainda pode tentar a mesma transportadora em modalidades diferentes (ex: Uber/CARRO/EXP30 depois de Uber/CARRO/EXP120 falhar) — a exclusão é pelo par transportadora + modalidade, não só pela transportadora.