Release Notes

Regra de Melhor Oferta e Validação de Preços (RPInfo)


Objetivo

Harmonizar a seleção da melhor oferta e as regras de precificação promocional entre o ERP RPInfo e o sistema RUB, eliminando divergências de auditoria de gôndola e etiquetas quando há múltiplas ofertas ativas para o mesmo produto ou quando o valor promocional supera/iguala o preço regular.

Com essa alteração, o sistema passa a garantir que o cliente final sempre tenha acesso à oferta mais vantajosa (menor preço), mantendo vigências estendidas em caso de valores idênticos e assegurando consistência na geração do Dígito Verificador (DV) / QR Code.


Visão Macro da Decisão

De forma macro, a estratégia de tomada de decisão para precificação promocional e auditoria adota dois níveis bem definidos:

  1. Decisão na Entrada (Sincronização de Ofertas - JobDescontos):
    O RUB atua como decisor para garantir que o cliente final sempre tenha acesso à condição comercial mais favorável. Ao receber registros promocionais da RPInfo para o mesmo produto e loja, o sistema avalia as ofertas ativas e assegura a persistência estrita do menor preço final. Em situações de empate de valores entre ofertas vigentes, o desempate prioriza a vigência mais longa (dataFim), estendendo automaticamente a duração da promoção.

  2. Decisão na Saída (Auditoria e Etiquetas - JobProduto):
    No cálculo do Dígito Verificador (DV) e na geração do QR Code de auditoria, o sistema valida a consistência da relação entre preço de desconto e preço regular. Caso o valor promocional seja inconsistente (igual ou superior ao preço normal cadastrado), a regra macro desconsidera o desconto (tratando-o como 0), garantindo que o hash de auditoria e a etiqueta reflitam a precificação regular e blindando a loja contra divergências indevidas.


Solução Implementada


Configuração

Localização:

TEXT
Configurações Avançadas
└── Integração
    └── RPInfo
        └── Propriedade extra do desconto para decisão de menor preço

Parâmetro:

rpinfoDescontoPropriedadeParaPreco

Define o nome da propriedade extra de desconto que será utilizada como base de comparação para a decisão de menor preço entre ofertas vigentes.

⚠️ Atenção: Esta configuração é obrigatória para o funcionamento da seleção da melhor oferta. Se o campo estiver vazio, a regra de decisão de menor preço não será executada.


Regras de Funcionamento

1. Processamento e Seleção de Descontos (JobDescontos)

Durante a leitura dos registros de desconto retornados pela API da RPInfo:

  1. O sistema verifica se o produto/loja já possui desconto ativo registrado;
  2. Preço Menor: Se o novo desconto possuir valor final menor que o desconto atual, o novo desconto é gravado e o DV é recalculado;
  3. Empate de Preço: Se o novo desconto possuir o mesmo valor, compara-se a data de término:
    • Se a nova dataFim for mais longa (posterior) à data atual, a vigência é atualizada;
    • Se a nova dataFim for igual ou anterior, o registro é descartado;
  4. Preço Maior: Se o novo desconto tiver valor superior ao já persistido, ele é descartado.

2. Composição do Dígito Verificador / QR Code (JobProduto)

Durante a geração do código do Dígito Verificador (DV) utilizado em auditorias e etiquetas:

  1. O sistema recupera o precoRegular configurado e o preco_desconto ativo;
  2. Desconto Inválido ou Inconsistente (preco_desconto >= precoRegular): O componente de desconto é tratado como zero (000). O DV gerado será idêntico ao de um produto sem promoção ativa;
  3. Desconto Válido (preco_desconto < precoRegular): O valor de desconto é composto normalmente na chave do DV e no QR Code de auditoria.

Fluxos de Decisão

1. Atualização e Seleção do Desconto (JobDescontos)

graph LR
    A[Nova Oferta RPInfo] --> B{Menor Preço?}
    B -- Sim --> C[Grava Oferta e Recalcula DV]
    B -- Não --> D{Preço Igual e Maior Vigência?}
    D -- Sim --> E[Estende Vigência]
    D -- Não --> F[Descarta Oferta]

2. Composição do Dígito Verificador (JobProduto)

graph LR
    A[Cálculo do DV] --> B{Desconto < Preço Regular?}
    B -- Sim --> C[DV com Regular + Desconto]
    B -- Não --> D[Desconto tratado como 0
DV só com Preço Regular]

Documentação de Referência

Para obter detalhes complementares sobre especificações técnicas, contratos de API e o ecossistema de integração do ERP, consulte a Documentação da Integração RPInfo.


Benefícios