Ir para o conteúdo principal

LojaTransferenciaSaida

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

Descrição

Este serviço de transferência de saída recebe dados pelo endpoint, valida produtos quando informados, resolve filiais de origem e destino e gera ou reutiliza o número de romaneio.
Persiste cabeçalho em LOJA_SAIDAS e itens em LOJA_SAIDAS_PRODUTO com distribuição de quantidades por grade.

Endpoint (API)

O fluxo principal valida entrada, resolve duas filiais em FILIAIS, obtém NUMERO por sequência quando vazio, chama registra saídas da loja e, com PRODUTOS, agrega por produto-cor e preenche colunas EN1EN48, quantidade e valor.

  • Chamada: Requisição HTTP
  • Recurso: /bibliotecas/304a84cd-c134-4265-aa2b-7420f774ea9a/wosk_loja_transferencia_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.
COD_FILIAL string sim Código da filial de origem (consulta em FILIAIS).
COD_FILIAL_DESTINO string sim Código da filial de destino (consulta em FILIAIS).
CODIGO number/string sim Identificador usado na geração do romaneio quando NUMERO está vazio.
DATA_EMISSAO string (datetime) sim Data/hora de emissão usada na sequência do romaneio e no cabeçalho em LOJA_SAIDAS.
NUMERO string condicional Romaneio (ROMANEIO_PRODUTO); quando vazio, é gerado automaticamente.
CODIGO_TAB_PRECO string sim Tabela de preço (validação de produtos e gravação em LOJA_SAIDAS).
NUMERO_NF_TRANSFERENCIA, SERIE_NF number/string sim Número e série da NF de transferência associada ao romaneio.
OBS string não Observações gravadas em LOJA_SAIDAS.
RESPONSAVEL string não Responsável (limitado a 25 caracteres na persistência).
QTDE_TOTAL, VALOR_TOTAL number/string sim Quantidade total e valor total da saída.
UF_FILIAL, UF_CLIENTE string (2) não UF da filial e do cliente (contexto do documento).
XML string não XML da NF-e quando enviado no payload; o método executa o processamento principal desta biblioteca não interpreta o XML (pode existir para correlação na plataforma ou em outros fluxos).
NATUREZA_OPERACAO_CODIGO string não Código da natureza da operação fiscal.
ID_EXCECAO_IMPOSTO string não Identificador de exceção de imposto no nível do payload (quando informado).
PRODUTOS array de objetos condicional Coleção de itens de saída recebidos no payload.
PRODUTOS[].ITEM number não Sequência do item no payload.
PRODUTOS[].CODIGO_BARRA string sim Código de barras usado para localizar o item em PRODUTOS_BARRA.
PRODUTOS[].QTDE numérico sim Quantidade informada para o item no payload.
PRODUTOS[].PRECO numérico sim Preço unitário informado para o item no payload.
PRODUTOS[].ID_EXCECAO_IMPOSTO string não Exceção de imposto no nível do item, quando informada.
PRODUTOS[].PRODUTO string sim (após validação) Código do produto retornado na validação em PRODUTOS_BARRA.
PRODUTOS[].COR_PRODUTO string sim (após validação) Código da cor do produto retornado na validação.
PRODUTOS[].GRADE string sim (após validação) Grade retornada em PRODUTOS_BARRA para o código de barras.
PRODUTOS[].TAMANHO number sim (após validação) Posição usada para distribuir quantidade nas colunas EN1 a EN48.
PRODUTOS_LINX array de objetos condicional Coleção de itens consolidados por PRODUTO e COR_PRODUTO, usada na gravação em LOJA_SAIDAS_PRODUTO.
PRODUTOS_LINX[].ROMANEIO_PRODUTO string sim Romaneio vinculado ao item consolidado.
PRODUTOS_LINX[].FILIAL string sim Filial de saída vinculada ao item consolidado.
PRODUTOS_LINX[].PRODUTO string sim Código do produto consolidado.
PRODUTOS_LINX[].COR_PRODUTO string sim Código da cor do produto consolidado.
PRODUTOS_LINX[].EN1, PRODUTOS_LINX[].EN2, PRODUTOS_LINX[].EN3, PRODUTOS_LINX[].EN4, PRODUTOS_LINX[].EN5, PRODUTOS_LINX[].EN6, PRODUTOS_LINX[].EN7, PRODUTOS_LINX[].EN8, PRODUTOS_LINX[].EN9, PRODUTOS_LINX[].EN10, PRODUTOS_LINX[].EN11, PRODUTOS_LINX[].EN12, PRODUTOS_LINX[].EN13, PRODUTOS_LINX[].EN14, PRODUTOS_LINX[].EN15, PRODUTOS_LINX[].EN16 numérico sim Quantidades por grade nas posições EN1 a EN16.
PRODUTOS_LINX[].EN17, PRODUTOS_LINX[].EN18, PRODUTOS_LINX[].EN19, PRODUTOS_LINX[].EN20, PRODUTOS_LINX[].EN21, PRODUTOS_LINX[].EN22, PRODUTOS_LINX[].EN23, PRODUTOS_LINX[].EN24, PRODUTOS_LINX[].EN25, PRODUTOS_LINX[].EN26, PRODUTOS_LINX[].EN27, PRODUTOS_LINX[].EN28, PRODUTOS_LINX[].EN29, PRODUTOS_LINX[].EN30, PRODUTOS_LINX[].EN31, PRODUTOS_LINX[].EN32 numérico sim Quantidades por grade nas posições EN17 a EN32.
PRODUTOS_LINX[].EN33, PRODUTOS_LINX[].EN34, PRODUTOS_LINX[].EN35, PRODUTOS_LINX[].EN36, PRODUTOS_LINX[].EN37, PRODUTOS_LINX[].EN38, PRODUTOS_LINX[].EN39, PRODUTOS_LINX[].EN40, PRODUTOS_LINX[].EN41, PRODUTOS_LINX[].EN42, PRODUTOS_LINX[].EN43, PRODUTOS_LINX[].EN44, PRODUTOS_LINX[].EN45, PRODUTOS_LINX[].EN46, PRODUTOS_LINX[].EN47, PRODUTOS_LINX[].EN48 numérico sim Quantidades por grade nas posições EN33 a EN48.
PRODUTOS_LINX[].VALOR numérico sim Valor total calculado do item consolidado.
PRODUTOS_LINX[].PRECO1 numérico sim Preço unitário usado no cálculo do item consolidado.
PRODUTOS_LINX[].QTDE_SAIDA numérico sim Quantidade total de saída do item consolidado.
PRODUTOS_LINX[].DATA_PARA_TRANSFERENCIA datetime sim Data de referência para transferência na gravação do item.

Exemplo de payload enviado para o endpoint (JSON):

{
  "OBS": "Transferência de Estoque Entre Lojas, NF: 62224",
  "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": 1397029,
  "NUMERO": "",
  "eventId": "87038aa8-c9eb-47ad-a18a-98ff4ac2e74f",
  "PRODUTOS": [
    {
      "ITEM": 2,
      "QTDE": 1,
      "PRECO": 102.63,
      "CODIGO_BARRA": "758621038UN",
      "ID_EXCECAO_IMPOSTO": "13559"
    }
  ],
  "SERIE_NF": 55,
  "UF_FILIAL": "SP",
  "COD_FILIAL": "000224",
  "QTDE_TOTAL": 1,
  "UF_CLIENTE": "SP",
  "RESPONSAVEL": "",
  "VALOR_TOTAL": "102.63",
  "DATA_EMISSAO": "2026-03-30 15:12:22",
  "CODIGO_TAB_PRECO": "LM",
  "COD_FILIAL_DESTINO": "000206",
  "ID_EXCECAO_IMPOSTO": "",
  "NUMERO_NF_TRANSFERENCIA": 62224,
  "NATUREZA_OPERACAO_CODIGO": "5152"
}
Operações com Dados

No fluxo principal do endpoint:

  • Validação: validação base do serviço (valida os dados).
  • Produtos: quando PRODUTOS está informado, delegação para valida os produtos da biblioteca, que resolve cada código de barras em PRODUTOS_BARRA e monta o array de itens enriquecido.
  • Filiais: consulta em FILIAIS para origem e destino; preenchem-se FILIAL, FILIAL_DESTINO, COD_CLIFOR e COD_CLIFOR_DESTINO.
  • Romaneio: quando NUMERO está vazio, geração de ROMANEIO_PRODUTO pela sequência SQL (consulta o romaneio do produto) com base em CODIGO e DATA_EMISSAO.
  • Cabeçalho: registra saídas da loja grava ou atualiza LOJA_SAIDAS conforme existência de registro por FILIAL e ROMANEIO_PRODUTO (incluindo atualização condicional de NF de transferência quando o registro já existe e o número de NF ainda não estava preenchido).
  • Itens: com PRODUTOS validados, agregação por combinação PRODUTO e COR_PRODUTO, distribuição de quantidades nas colunas EN1EN48 conforme TAMANHO, e para cada agregado gravado chama-se atualiza itens da saída (insert em LOJA_SAIDAS_PRODUTO quando não existir linha).
Tratamento de Dados

Modificações explícitas aplicadas aos dados de entrada antes ou durante a gravação:

  • Consulta de filiais: COD_FILIAL e COD_FILIAL_DESTINO são alinhados com preenchimento à esquerda até 6 posições antes da busca em FILIAIS.
  • Validação de produtos (venda): CODIGO_TAB_PRECO recebe preenchimento à esquerda até 2 caracteres; cada item de PRODUTOS é mesclado com PRODUTO, COR_PRODUTO, GRADE, TAMANHO vindos de PRODUTOS_BARRA; é calculado DEMARCADO via busca preço demarcado para o par produto/cor e tabela de preço.
  • LOJA_SAIDAS (cabeçalho): CODIGO_TAB_PRECO novamente com preenchimento à esquerda até 2 posições; NUMERO_NF_TRANSFERENCIA com preenchimento à esquerda até 9 posições; RESPONSAVEL limitado aos primeiros 25 caracteres; EMISSAO derivada da parte de data de DATA_EMISSAO no formato gravado no banco; QTDE_TOTAL e VALOR_TOTAL normalizados por rotinas numéricas (normaliza número / converte para número).
  • Agregação de itens: linhas de PRODUTOS são consolidadas por PRODUTO e COR_PRODUTO; quantidades são somadas na coluna EN correspondente ao TAMANHO retornado; QTDE_SAIDA e VALOR são recalculados a partir das quantidades agregadas e do preço unitário (PRECO1), com normalização numérica nas somas.
Tratamento de retorno

Sucesso: Mensagem OK. Falha: ERROR.

Fluxo do Processo

wosk_loja_transferencia_saida.drawio.jpg


Critérios de Aceitação
Processo Subprocesso Descrição Situação esperada
Endpoint (API) Romaneio Deve criar ou localizar romaneio e gravar itens com grades corretas. Registros em LOJA_SAIDAS e produtos consistentes.