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
| 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 deNATUREZA_OPERACAO_CODIGO. - Produtos: quando
PRODUTOSestá informado, delegação paravalida os produtosda biblioteca (resolução emPRODUTOS_BARRAe preço demarcado). - Filial e loja: consulta em
FILIAISeLOJAS_VAREJO; preenchem-seFILIAL,COD_CLIFOR,CODIGO_FILIALeGERENTE_LOJA. - Ramo
5912(reserva de saída): rejeita insumo; seNUMEROvazio, geraNUMERO_RESERVA; executaregistra reserva de saídaemLOJA_RESERVA; com produtos validados, agrega porPRODUTO-COR_PRODUTO, grava itens emLOJA_RESERVA_PRODUTO. - Ramo
5910,5910 U,6910,6910 U(retirada de uniforme): rejeita insumo; seNUMEROvazio, gera número; executaregistra saída da lojaemLOJA_SAIDAS; com produtos, agrega e grava emLOJA_SAIDAS_PRODUTO.
Tratamento de Dados
Modificações explícitas aplicadas aos dados de entrada ou montadas para gravação:
- Consulta de filial:
COD_FILIALcom preenchimento à esquerda até 6 posições antes da busca emFILIAIS. - Validação de produtos (venda):
CODIGO_TAB_PRECOcom preenchimento à esquerda até 2 caracteres; itens mesclados com dados dePRODUTOS_BARRAeDEMARCADOviabusca preço demarcado. - Geração de número: nos ramos suportados, se
NUMEROestiver vazio,NUMEROpassa a ser o retorno deconsulta o número da reservacom base emCODIGOeDATA_EMISSAO. registra reserva de saída(5912):VENDEDORassumeGERENTE_LOJAquando vazio;EMISSAOePREVISAO_RETORNOderivados da parte de data deDATA_EMISSAOeDATA_ENTREGA;QTDE_TOTALeVALOR_TOTALcom normalização numérica;CODIGO_TAB_PRECOeNUMERO_NFcom preenchimento à esquerda;CODIGO_RESERVAfixo01;LX_STATUS_RESERVA0.registra saída da loja(uniforme):CODIGO_TAB_PRECOeNUMERO_NF_TRANSFERENCIAcom preenchimento à esquerda;RESPONSAVELa partir deVENDEDORouRESPONSAVELquando informado; demais constantes de tipo de movimento e flags conforme o código;CENTRO_CUSTOresolvido emCTB_CENTRO_CUSTOquando informado.- Agregação de itens: consolidação por
PRODUTOeCOR_PRODUTO; soma nas colunasEN1–EN48conformeTAMANHO; recálculo deQTDE_SAIDAeVALORcom funções numéricas.
Tratamento de retorno
Sucesso: Mensagem OK. Falha: ERROR com detalhe da exceção.
Fluxo do Processo
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. |

Nenhum comentário