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 EN1–EN48, 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
PRODUTOSestá informado, delegação paravalida os produtosda biblioteca, que resolve cada código de barras emPRODUTOS_BARRAe monta o array de itens enriquecido. - Filiais: consulta em
FILIAISpara origem e destino; preenchem-seFILIAL,FILIAL_DESTINO,COD_CLIFOReCOD_CLIFOR_DESTINO. - Romaneio: quando
NUMEROestá vazio, geração deROMANEIO_PRODUTOpela sequência SQL (consulta o romaneio do produto) com base emCODIGOeDATA_EMISSAO. - Cabeçalho:
registra saídas da lojagrava ou atualizaLOJA_SAIDASconforme existência de registro porFILIALeROMANEIO_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
PRODUTOSvalidados, agregação por combinaçãoPRODUTOeCOR_PRODUTO, distribuição de quantidades nas colunasEN1–EN48conformeTAMANHO, e para cada agregado gravado chama-seatualiza itens da saída(insert emLOJA_SAIDAS_PRODUTOquando 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_FILIALeCOD_FILIAL_DESTINOsão alinhados com preenchimento à esquerda até 6 posições antes da busca emFILIAIS. - Validação de produtos (venda):
CODIGO_TAB_PRECOrecebe preenchimento à esquerda até 2 caracteres; cada item dePRODUTOSé mesclado comPRODUTO,COR_PRODUTO,GRADE,TAMANHOvindos dePRODUTOS_BARRA; é calculadoDEMARCADOviabusca preço demarcadopara o par produto/cor e tabela de preço. LOJA_SAIDAS(cabeçalho):CODIGO_TAB_PRECOnovamente com preenchimento à esquerda até 2 posições;NUMERO_NF_TRANSFERENCIAcom preenchimento à esquerda até 9 posições;RESPONSAVELlimitado aos primeiros 25 caracteres;EMISSAOderivada da parte de data deDATA_EMISSAOno formato gravado no banco;QTDE_TOTALeVALOR_TOTALnormalizados por rotinas numéricas (normaliza número/converte para número).- Agregação de itens: linhas de
PRODUTOSsão consolidadas porPRODUTOeCOR_PRODUTO; quantidades são somadas na colunaENcorrespondente aoTAMANHOretornado;QTDE_SAIDAeVALORsã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
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. |

Nenhum comentário