Desconto
Esta integração permite a importação de descontos de produtos e preços promocionais do ERP RPInfo para o RuB. O processamento é realizado através de um job agendado que sincroniza os dados periodicamente.
Identificação na Agenda de Execuções
- Nome do Job:
Descontos - Grupo:
RPInfo - Chave do Job:
rpintoDESCONTOS - Endpoint API:
/api/v2/produtos-descontos
Funcionamento Geral
- Consulta e Atualização: O job realiza a requisição HTTP GET para a API de descontos utilizando paginação e parâmetros de consulta (
todasunidades=N,datainicial,dataFinal,tipoclientecrm,pagina,quantidade). - Processamento de Itens: Para cada desconto retornado, busca os produtos correspondentes no RuB via código de barras ou de-para e atualiza suas propriedades extras (
preco_desconto,inicio_desconto,final_desconto,fator_div_qtd). - Cálculo de Dígito Verificador: Atualiza o dígito verificador externo do produto no RuB conforme o novo preço promocional.
- Limpeza Automática: Remove automaticamente as propriedades de desconto dos produtos cujas promoções já expiraram (data final anterior a ontem).
Fluxo de Execução
graph TD
A["Job Descontos Agendado"] --> B["Calcular Período (Dias Retroativos e Futuros)"]
B --> C["GET /api/v2/produtos-descontos (Paginado)"]
C --> D["Para cada Desconto Retornado"]
D --> E["De-Para do Produto / Código de Barras"]
E --> F["Gravar Propriedades Extras (preco_desconto, vigência, fator)"]
F --> G["Recalcular Dígito Verificador (DV)"]
C --> H["Limpeza Automática de Promoções Expiradas (final < ontem)"]
G --> I[("Produtos Atualizados no RuB")]
H --> I
Propriedades Extras
| Propriedade Extra RuB | Tipo | Campo Origem no ERP (JSON) | Descrição |
|---|---|---|---|
preco_desconto | Decimal | vlprecofinal / itens[].precos[].preco | Preço promocional/final de desconto do produto na loja |
inicio_desconto | Data/Hora | datainicial | Data inicial de vigência da promoção (dd/MM/yyyy) |
final_desconto | Data/Hora | datafinal | Data final de vigência da promoção (dd/MM/yyyy) |
fator_div_qtd | Decimal | fatorDivQtd | Fator divisor de quantidade para cálculo ou aplicação do desconto |
Configurações Avançadas e Aplicação
Acesse no RuB em Configurações > Configurações Avançadas > Integração > RPInfo:
| Configuração (Chave) | Tipo | Padrão | Descrição e Como é Aplicada |
|---|---|---|---|
URL de Descontos (rpinfoDescontoUrl) | Texto | (rpinfoUrl) | URL base da API de descontos. Se não preenchida, o job utiliza o endereço definido em rpinfoUrl. |
Usuário de Descontos (rpinfoDescontoAuthUser) | Texto | Vazio | Usuário enviado no cabeçalho HTTP usuario para autenticação no endpoint de descontos. |
Senha / Token de Descontos (rpinfoDescontoAuthPass) | Texto | Vazio | Senha/Token enviado no cabeçalho HTTP token para autenticação no endpoint de descontos. |
Tipo de Cliente CRM (rpinfoDescontoTipoCrm) | Texto | M | Sigla que identifica o tipo de cliente CRM enviada no parâmetro tipoclientecrm da query string. |
Dias Retroativos (rpinfoDescontoDiasRetroativos) | Inteiro | 0 | Quantidade de dias subtraídos da data atual para compor o filtro datainicial da consulta. |
Dias Futuros (rpinfoDescontoDiasFuturos) | Inteiro | 0 | Quantidade de dias somados à data atual para compor o filtro dataFinal da consulta. |
Tamanho da Página (rpinfoDescontoPageSize) | Inteiro | 10 | Quantidade de registros por página requisitados no parâmetro quantidade da query string. |
Dica de Operação:
Configure rpinfoDescontoDiasFuturos com um valor positivo (ex.: 1 ou 2) para carregar antecipadamente promoções agendadas para os próximos dias, garantindo que a gôndola e os leitores já conheçam os preços futuros.