Ir para o conteúdo principal

LojaPrecoProduto (STATUS: DOCUMENTADO)

Documentação Técnica
Nome do cliente OSKLEN
Nome do projeto Integração LINX → ILLI (Preço de Produto)
Biblioteca wosk_loja_preco_produto
Data 26/03/2026

Histórico de Versões
Data Versão Modificado por Descrição da Mudança
26/03/2026 1.0 Maykon/Gustavo Criação da documentação técnica do processo Loja Preço Produto (LINX → ILLI).

Descrição

Este serviço de preços de produto lê a view de tabelas de preço no LINX, enriquece com grades (SKU) e envia ao ILLI um lote de itens de preço por produto, cor e tabela.
Quando não há grade, o fluxo pode marcar o registro como ignorado com sucesso para não bloquear a fila.

Capturador

Descrição Conceitual

A captura automática consulta VW_ILLI_TAB_PRECOS_PRODUTOS_LINHAS com filtro de tabelas de preço do ambiente, DATA_PARA_TRANSFERENCIA mínima e paginação conforme o limite configurado para o serviço LojaPrecoProduto. Para cada linha, carrega SKU a partir de PRODUTOS_BARRA. A chave na fila é PRODUTO-COR_PRODUTO-CODIGO_TAB_PRECO.

A captura por chave reutiliza a mesma projeção com filtro pelo trio produto-cor-tabela.

Fonte

Origem consultada: view VW_ILLI_TAB_PRECOS_PRODUTOS_LINHAS com filtro dinâmico de CODIGO_TAB_PRECO alinhado ao ambiente.

Consulta principal:

SELECT
    PRODUTO,
    COR_PRODUTO,
    CODIGO_TAB_PRECO,
    PRECO_TAB,
    PRECO_LIQ_TAB,
    DATA_PARA_TRANSFERENCIA
FROM
    VW_ILLI_TAB_PRECOS_PRODUTOS_LINHAS (NOLOCK)
WHERE
    CODIGO_TAB_PRECO IN (<LISTA_TABELAS_PRECO_AMBIENTE>)

Operações com Dados

Leitura: view de preços e consulta auxiliar a PRODUTOS_BARRA para montar SKU (grade por tamanho).

Consulta dinâmica (captura automática): filtro em DATA_PARA_TRANSFERENCIA, ordenação e OFFSET/FETCH conforme limite do serviço LojaPrecoProduto.

Persistência: grava na Fila de Processamento com serviço LojaPrecoProduto e chave tríplice produto-cor-tabela.

Fila de Processamento

Descrição Conceitual

A fila monta o array itens para o ILLI: para cada combinação de tamanho da grade, envia codigo, cor, tamanho (código da grade), codigo_tab_preco, valor, valor_demarcado e data_cadastro. Valores monetários derivam de PRECO_TAB e PRECO_LIQ_TAB com arredondamento. Ausência de SKU gera exceção tratada como ignorada com situação de sucesso quando a mensagem indica ausência de grade.

Estruturação de Dados
Payload efetivo ao ILLI (raiz)
Campo Tipo Obrigatório Descrição
key string não Chave de API quando exigida (não aplicada no objeto raiz do código analisado).
itens array sim Lista de preços por grade gerada no processamento da fila.
Estrutura de cada elemento de itens
Campo Tipo Obrigatório Descrição
codigo string sim PRODUTO de origem.
cor string sim COR_PRODUTO.
tamanho string sim Código da grade por tamanho.
codigo_tab_preco string sim Tabela de preço.
valor number sim Derivado de PRECO_TAB.
valor_demarcado number sim Derivado de PRECO_LIQ_TAB.
data_cadastro string sim DATA_PARA_TRANSFERENCIA do registro.

Exemplo de payload enviado para o endpoint (JSON):

{
  "itens": [
    {
      "codigo": "<PRODUTO>",
      "cor": "<COR>",
      "tamanho": "<GRADE>",
      "codigo_tab_preco": "<TAB>",
      "valor": 0,
      "valor_demarcado": 0,
      "data_cadastro": "<DATA_HORA>"
    }
  ]
}
Tratamento de Dados
  • PRECO_TAB / PRECO_LIQ_TAB: mapeados para PRECO1 e PRECO_LIQUIDO1, arredondados com duas casas quando informados e diferentes de .00.
  • SKU: obrigatório; ausência gera mensagem de erro específica; em certas condições o fluxo marca como ignorado com situação final de sucesso.
Integração com o ILLI
  • Chamada: Requisição HTTP
  • Recurso: /bibliotecas/9750fbda-368f-4f63-87f9-667356bc040b/ilx_produto/api/setPrecos
  • Método HTTP: POST
  • Corpo: objeto com propriedade itens conforme tabela acima.
Tratamento de retorno

Mesmo padrão dos demais serviços: ausência de resposta ou retorno não reconhecido gera situação erro; success preenchido implica situação sucesso. Mensagem de ausência de grade pode ser tratada como ignorada com sucesso.

Notificação

A notificação de erros consulta registros com falha na tabela da fila de integração para o serviço LojaPrecoProduto e situação de erro, ordenando pelo horário de processamento para priorizar ocorrências mais antigas.

Fluxo do Processo

Diagrama do processo


Critérios de Aceitação
Processo Subprocesso Descrição Situação esperada
Fila de Processamento Montagem de itens Deve expandir preços por cada tamanho da grade e chamar setPrecos, interpretando sucesso ou erro com mensagem e persistindo na tabela da fila de integração. situação sucesso ou 4 coerente com o retorno.