Ir para o conteúdo principal

LojaReservaSaida

Documentação Técnica
Nome do cliente OSKLEN
Nome do projeto Integração LINX → ILLI (Reserva Saída)
Biblioteca wosk_loja_reserva_saida
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 Reserva Saída (LINX).

Descrição

Este serviço de reserva de saída e movimentos relacionados recebe o payload pelo endpoint, valida produtos quando informados, resolve filial e loja e ramifica o processamento conforme a natureza de operação.
Inclui fluxos de reserva (saída), retirada de uniforme e demais ramos definidos no código, com persistência em LOJA_RESERVA, LOJA_SAIDAS, LOJA_SAIDAS_PRODUTO e tabelas associadas.

Endpoint (API)

O endpoint aplica validação base, validação de produtos quando PRODUTOS vem preenchido, resolve FILIAL, COD_CLIFOR e dados em LOJAS_VAREJO, e executa o ramo conforme NATUREZA_OPERACAO_CODIGO (ex.: 5912 para reserva de saída com montagem de itens por tamanho; códigos 5910, 5910 U, 6910, 6910 U para saída tipo uniforme; outros ramos conforme implementação no arquivo-fonte).

  • Chamada: Requisição HTTP
  • Recurso: /bibliotecas/e831c4ce-6bc9-4cdc-900f-1ee4427a830a/wosk_loja_reserva_saida
  • Método HTTP: POST
Estruturação de Dados
Parâmetros de entrada do endpoint (payload recebido no processamento principal)
Campo Tipo Obrigatório Descrição
key string não Chave de autenticação/controle da chamada.
eventId string (UUID) não Identificador do evento de origem; o método executa o processamento principal não utiliza este campo.
COD_FILIAL string sim Código da filial (consulta em FILIAIS e LOJAS_VAREJO).
NATUREZA_OPERACAO_CODIGO string sim Define o ramo: 5912 (reserva de saída em LOJA_RESERVA / LOJA_RESERVA_PRODUTO); 5910, 5910 U, 6910, 6910 U (retirada de uniforme em LOJA_SAIDAS / LOJA_SAIDAS_PRODUTO). Outros códigos não entram nesses blocos no arquivo analisado.
CODIGO number/string condicional Usado na geração de NUMERO_RESERVA quando NUMERO está vazio nos ramos suportados.
NUMERO string condicional Número da reserva/romaneio; quando vazio nos ramos suportados, pode ser gerado por consulta o número da reserva.
DATA_EMISSAO, DATA_ENTREGA string (datetime) sim Emissão e previsão de retorno usadas no cabeçalho de reserva ou saída.
CODIGO_TAB_PRECO string sim Tabela de preço (validação de produtos e gravação).
NUMERO_NF, SERIE_NF number sim Número e série da NF associados ao movimento.
QTDE_TOTAL, VALOR_TOTAL number/string sim Totais do documento.
CODIGO_CLIENTE string não Cliente da operação.
OBS, VENDEDOR, RESPONSAVEL string não Observação, vendedor e responsável (com regras de preenchimento no fluxo).
CENTRO_CUSTO string não Quando informado no ramo de saída uniforme, validado em CTB_CENTRO_CUSTO.
UF_FILIAL, UF_CLIENTE string (2) não UFs de contexto; não referenciadas no executa o processamento principal analisado.
XML string não XML da NF-e quando enviado; o método executa o processamento principal não interpreta o XML.
INSUMO bool não Nos ramos suportados, insumo não é permitido (erro se informado como verdadeiro).
ID_EXCECAO_IMPOSTO string não No payload raiz; itens podem trazer ID_EXCECAO_IMPOSTO por linha.
PRODUTOS array de objetos condicional Itens com CODIGO_BARRA, QTDE, PRECO; após valida os produtos da wosk_loja_venda incluem PRODUTO, COR_PRODUTO, GRADE, TAMANHO.
ITEM, INSUMO (por item) number/bool não Metadados do item no payload.

Exemplo de payload enviado para o endpoint (JSON):

{
  "OBS": "osklenbroscarfreire: SLR-1621301265515-01",
  "XML": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><nfeProc versao=\"4.00\" xmlns=\"http://www.portalfiscal.inf.br/nfe\"><NFe>...</NFe><protNFe>...</protNFe></nfeProc>",
  "key": "df9b5d7f-da04-42f1-80b2-6b6bbbc39152",
  "CODIGO": 1397270,
  "INSUMO": false,
  "NUMERO": "",
  "eventId": "20cf5180-3520-4985-8932-587698d611ed",
  "PRODUTOS": [
    {
      "ITEM": 1,
      "QTDE": 1,
      "PRECO": 696.99,
      "INSUMO": false,
      "CODIGO_BARRA": "720601743",
      "ID_EXCECAO_IMPOSTO": "16600"
    }
  ],
  "SERIE_NF": 55,
  "VENDEDOR": "",
  "NUMERO_NF": 101862,
  "UF_FILIAL": "SP",
  "COD_FILIAL": "000046",
  "QTDE_TOTAL": 1,
  "UF_CLIENTE": "SP",
  "RESPONSAVEL": "",
  "VALOR_TOTAL": "719.18",
  "CENTRO_CUSTO": "",
  "DATA_EMISSAO": "2026-03-30 15:31:44",
  "DATA_ENTREGA": "2026-03-30 15:31:44",
  "CODIGO_CLIENTE": "43371954838",
  "CODIGO_TAB_PRECO": "00",
  "ID_EXCECAO_IMPOSTO": "",
  "NATUREZA_OPERACAO_CODIGO": "10049IO"
}

Nota: o exemplo usa NATUREZA_OPERACAO_CODIGO 10049IO; os ramos com persistência detalhada nesta página são 5912 e 5910 / 5910 U / 6910 / 6910 U. Ajuste o código conforme a operação real para executar registra reserva de saída ou registra saída da loja.

Operações com Dados

No fluxo principal do endpoint:

  • Validação: validação base (valida os dados); obrigatoriedade de NATUREZA_OPERACAO_CODIGO.
  • Produtos: quando PRODUTOS está informado, delegação para valida os produtos da biblioteca (resolução em PRODUTOS_BARRA e preço demarcado).
  • Filial e loja: consulta em FILIAIS e LOJAS_VAREJO; preenchem-se FILIAL, COD_CLIFOR, CODIGO_FILIAL e GERENTE_LOJA.
  • Ramo 5912 (reserva de saída): rejeita insumo; se NUMERO vazio, gera NUMERO_RESERVA; executa registra reserva de saída em LOJA_RESERVA; com produtos validados, agrega por PRODUTO-COR_PRODUTO, grava itens em LOJA_RESERVA_PRODUTO.
  • Ramo 5910, 5910 U, 6910, 6910 U (retirada de uniforme): rejeita insumo; se NUMERO vazio, gera número; executa registra saída da loja em LOJA_SAIDAS; com produtos, agrega e grava em LOJA_SAIDAS_PRODUTO.
Tratamento de Dados

Modificações explícitas aplicadas aos dados de entrada ou montadas para gravação:

  • Consulta de filial: COD_FILIAL com preenchimento à esquerda até 6 posições antes da busca em FILIAIS.
  • Validação de produtos (venda): CODIGO_TAB_PRECO com preenchimento à esquerda até 2 caracteres; itens mesclados com dados de PRODUTOS_BARRA e DEMARCADO via busca preço demarcado.
  • Geração de número: nos ramos suportados, se NUMERO estiver vazio, NUMERO passa a ser o retorno de consulta o número da reserva com base em CODIGO e DATA_EMISSAO.
  • registra reserva de saída (5912): VENDEDOR assume GERENTE_LOJA quando vazio; EMISSAO e PREVISAO_RETORNO derivados da parte de data de DATA_EMISSAO e DATA_ENTREGA; QTDE_TOTAL e VALOR_TOTAL com normalização numérica; CODIGO_TAB_PRECO e NUMERO_NF com preenchimento à esquerda; CODIGO_RESERVA fixo 01; LX_STATUS_RESERVA 0.
  • registra saída da loja (uniforme): CODIGO_TAB_PRECO e NUMERO_NF_TRANSFERENCIA com preenchimento à esquerda; RESPONSAVEL a partir de VENDEDOR ou RESPONSAVEL quando informado; demais constantes de tipo de movimento e flags conforme o código; CENTRO_CUSTO resolvido em CTB_CENTRO_CUSTO quando informado.
  • Agregação de itens: consolidação por PRODUTO e COR_PRODUTO; soma nas colunas EN1EN48 conforme TAMANHO; recálculo de QTDE_SAIDA e VALOR com funções numéricas.
Tratamento de retorno

Sucesso: Mensagem OK. Falha: ERROR com detalhe da exceção.

Fluxo do Processo

wosk_loja_reserva_saida.jpg


Critérios de Aceitação
Processo Subprocesso Descrição Situação esperada
Endpoint (API) Ramos por natureza Deve aplicar apenas o ramo compatível com NATUREZA_OPERACAO_CODIGO e regras de insumo. Persistência coerente ou erro explícito.