Produto

Sincroniza produtos por unidade (loja), preços, custos, saldos de estoque e propriedades logísticas entre o RPInfo e o RuB.

Identificação na Agenda de Execuções

  • Nome do Job: Produto
  • Grupo: RPInfo
  • Chave do Job: rpintoPRODUTO
  • Endpoints:
    • v2.9 (padrão): /v2.9/produtounidade/listaprodutos/{lastId}/unidade/{cnpj}/detalhado
    • v3.2: /v3.2/produtounidade/listaprodutos/{lastId}/unidade/{cnpj}/detalhado, com suporte a /dataHoraManutencao/{dd-MM-yyyy HH:mm:ss}

Funcionamento Geral

O job consulta os produtos por unidade (loja), identifica ofertas, atualiza saldos de estoque (inclusive itens pesáveis), mapeia vida útil, calcula dias de venda (DDV), associa produtos pai e utiliza a tabela rpinfo_produto_depara para de-para de códigos.

Fluxo de Execução

graph TD
    A["Job Produto Agendado por Loja (CNPJ)"] --> B{"Versão Endpoint?"}
    B -- "v2.9" --> C["GET /v2.9/produtounidade/listaprodutos/{lastId}/unidade/{cnpj}/detalhado"]
    B -- "v3.2" --> D["GET /v3.2/produtounidade/listaprodutos/{lastId}/unidade/{cnpj}/detalhado (ou dataHoraManutencao)"]
    C --> E["Processar Lote de Produtos"]
    D --> E
    E --> F["De-Para de Código (rpinfo_produto_depara)"]
    F --> G["Mapear Preços, Custos e Estoques (jobProdutoProcessarEstoque)"]
    G --> H["Calcular DDV (dias_venda) e Vida Útil (rpinfoCampoVidaUtil)"]
    H --> I["Compor codigo_preco (formatoCodigoPreco) e Identificar Ofertas"]
    I --> J["Extrair Curvas ABC e Nós Dinâmicos 'Extras'"]
    J --> K[("Salvar Produto e Propriedades no RuB")]

Configurações Avançadas e Aplicação

Acesse no RuB em Configurações > Configurações Avançadas > Integração > RPInfo:

Configuração (Chave)TipoPadrãoDescrição e Como é Aplicada
Versão do Endpoint (configRPInfoEndPointProduto)EnumENDPOINT_V29Define a versão da API utilizada (ENDPOINT_V29 para v2.9 ou ENDPOINT_V32 para v3.2).
Somente Alterados (rpinfoProdutoParamSomenteAlterados)BooleanofalseExclusivo da v3.2. Quando ativo, realiza a busca incremental baseada na data de manutenção (dataHoraManutencao).
Processar Estoque (jobProdutoProcessarEstoque)BooleanotrueDefine se os saldos de estoque (mínimo, máximo, estoques 2 a 5 e estoque principal) devem ser atualizados.
Somente Ativos (rpinfoProdutoParamSomenteAtivos)BooleanofalseEnvia o parâmetro somenteAtivos=true na requisição à API para filtrar itens inativos.
Cadastrar Inativo (rpinfoProdutoParamCadastraInativo)BooleanofalsePermite cadastrar e atualizar produtos marcados como inativos no RuB.
Solicitar Campos Extras (rpinfoProdutoParamOutrosExtras)BooleanotrueEnvia o parâmetro outrosExtras=true na requisição para obter os campos extras (Extra1 a Extra9, Extras, etc.).
Carregar Tributação (rpinfoProdutoParamLoadTributacao)BooleanofalseEnvia o parâmetro loadTributacao=true na requisição à API.
Considerar Cancelados (rpinfoProdutoParamConsiderarCancelados)BooleanotrueEnvia o parâmetro considerarCancelados=true na requisição à API.
Somente Preço 2 (rpinfoProdutoParamSomentePreco2)BooleanofalseEnvia o parâmetro somentePreco2=true na requisição à API.
Campo de Vida Útil (rpinfoCampoVidaUtil)TextoValidadeNome do campo no JSON de resposta utilizado para preencher a propriedade vida_util do produto.
Chave do Preço Normal (chaveDoPrecoNormal)TextoPrecoNome do atributo no JSON que representa o preço regular do produto.
Chave do Preço de Oferta (chaveDoPrecoOferta)TextoPrecoVenda2Nome do atributo no JSON que representa o preço promocional de oferta.
Formato do Código de Preço (formatoCodigoPreco)Texto${Preco}-${PrecoVenda2}-${PrecoVenda3}Máscara de interpolação para compor o código identificador de agrupamento de preços.
Chave de Gerenciado (chaveGerenciado)TextoVazioNome do campo no JSON utilizado para identificar se o produto é gerenciado por ruptura.
Valores de Definição de Gerenciado (valoresDefinicaoProdutoGerenciado)TextoVazioLista de valores válidos (separados por vírgula) que marcam o produto como gerenciado.
Ignora Lógica de Gerenciado (rpinfoProdutoParamIgnoraLogicaGerenciado)BooleanofalseQuando ativo, desconsidera a validação customizada e mantém o status padrão de gerenciamento.
Funções a Ignorar (rpinfoFuncoesIgnorarProduto)TextoVazioCódigos de funções de agrupamento de produto no ERP a serem desconsiderados durante a importação.

Propriedades Extras

Atributo / Propriedade RuBOrigem JSON / CálculoDescrição
custo_empresa, custo_fiscal, custo_medio, custo_transferencia, custo_vendaCustoEmpresa, CustoFiscal, CustoMedio, CustoTranferencia, CustoVendaCustos detalhados do produto na loja
estoque_minimo, estoque_maximo, estoque2 a estoque5EstoqueMinimo, EstoqueMaximo, Estoque2 a Estoque5Estoques mínimos/máximos e saldos de estoques adicionais
venda_media_por_diaVendaMediaDiariaMédia diária de vendas do produto
dias_vendaCalculado (Estoque1 / VendaMediaDiaria)Dias de venda estimados (DDV)
vida_utilValidade (ou campo definido em rpinfoCampoVidaUtil)Vida útil / validade em dias
codigo_compradorCodigoCompradorCódigo do comprador responsável
ofertaOfertaIndicador booleano de oferta (true quando diferente de "N")
data_ofertaDataOfertaData da oferta (formato dd-MM-yyyy)
preco_normal, preco_pdv, preco_pdv_2 a preco_pdv_5PrecoNormal, PrecoPDV, PrecoPDV2 a PrecoPDV5Preços normais e de PDV
preco_etiqueta, preco_cartazPrecoEtiqueta, PrecoCartazPreços para confecção de etiquetas e cartazes
preco_venda_2 a preco_venda_5PrecoVenda2 a PrecoVenda5Preços de venda alternativos / faixas de preço
preco_unidade_medida, preco_pdv_unidade_medida, preco_venda_2_unidade_medida a preco_venda_5_unidade_medidaPrecoUnidadeMedida, PrecoPDVUnidadeMedida, PrecoVenda2UnidadeMedida a PrecoVenda5UnidadeMedidaPreços por unidade de medida
fator_pr_3, fator_pr_4, fator_pr_5FatorPr3, FatorPr4, FatorPr5Fatores multiplicadores/divisores de preço
${preco}_${tipoAgOf}Composição dinâmica com TipoAgOfPreço associado ao tipo de oferta (ex.: preco_normal_oferta)
codigo_precoCalculado via formatoCodigoPrecoComposição da chave/código de preço
extra1 a extra9, prod_extra1 a prod_extra9Extra1 a Extra9, Prod_Extra1 a Prod_Extra9Campos extras genéricos da unidade e do produto
abc_geral_qtd, abc_geral_valor, abc_geral_lucroCurvasABC.Geral (Quantidade, Valor, Lucro)Classificação da Curva ABC geral
abc_departamento_qtd, abc_departamento_valor, abc_departamento_lucroCurvasABC.Departamento (Quantidade, Valor, Lucro)Classificação da Curva ABC por departamento
abc_grupo_qtd, abc_grupo_valor, abc_grupo_lucroCurvasABC.Grupo (Quantidade, Valor, Lucro)Classificação da Curva ABC por grupo
preco_desconto, inicio_desconto, final_desconto, fator_div_qtdJob DESCONTOSPreço promocional, vigência do desconto e fator divisor de quantidade

Elementos do nó Extras com nome e valor preenchem dinamicamente propriedades adicionais de mesmo nome no RuB.

Tabelas

  • rpinfo_controle: controle de sincronização (lastId ou dataHora) por loja.
  • rpinfo_produto_depara: mapeamento de códigos entre RuB e RPInfo.