Ir para o conteúdo principal

LojaTransferenciaEntrada

Documentação Técnica
Nome do clienteOSKLEN
Nome do projetoIntegração LINX → ILLI (Transferência Entrada)
Bibliotecawosk_loja_transferencia_entrada
Data26/03/2026

Histórico de Versões
DataVersãoModificado porDescrição da Mudança
26/03/20261.0Maykon/GustavoCriação da documentação técnica do processo Loja Transferência Entrada (LINX → ILLI).

Descrição

A biblioteca combina um endpoint de conferência de entrada no LINX com captura e fila que envia transferências de entrada ao ILLI.
O monitor lê entradas abertas com enriquecimento fiscal opcional via FATURAMENTO; a fila envia o romaneio ao serviço de origem CD no ILLI com tabela de preço padrão LM quando ausente.

Capturador

Descrição Conceitual

A captura automática consulta LOJA_ENTRADAS com LEFT JOIN FATURAMENTO quando o serviço LojaTransferenciaEntrada está apto, com filtro de data mínima e paginação conforme o limite configurado para o serviço LojaTransferenciaEntrada. Itens do romaneio são carregados por método auxiliar em LOJA_ENTRADAS_PRODUTO e anexados ao conteúdo antes do enfileiramento. A chave é ROMANEIO_PRODUTO-FILIAL.

A captura manual usa a mesma chave composta para reler cabeçalho e itens.

Fonte

Origem consultada: tabela LOJA_ENTRADAS com LEFT JOIN em FATURAMENTO (campos de NF e totais).

Consulta principal (cabeçalho):

SELECT
    LE.ROMANEIO_PRODUTO,
    LE.FILIAL,
    LE.CODIGO_TAB_PRECO,
    LE.TIPO_ENTRADA_SAIDA,
    LE.FILIAL_ORIGEM,
    LE.NUMERO_NF_TRANSFERENCIA,
    LE.ROMANEIO_NF_SAIDA,
    LE.EMISSAO,
    LE.DATA_SAIDA,
    LE.DATA_PARA_TRANSFERENCIA,
    FT.NF_FATURA,
    FT.VALOR_TOTAL AS VALOR_NF
FROM
    LOJA_ENTRADAS LE (NOLOCK)
    LEFT JOIN FATURAMENTO FT (NOLOCK)
        ON (FT.NOME_CLIFOR = LE.FILIAL AND FT.NF_SAIDA = LE.NUMERO_NF_TRANSFERENCIA)

Operações com Dados

Leitura: cabeçalho conforme Fonte; itens via consulta a LOJA_ENTRADAS_PRODUTO por ROMANEIO_PRODUTO e FILIAL.

Persistência: grava na Fila de Processamento com serviço LojaTransferenciaEntrada e chave ROMANEIO_PRODUTO-FILIAL.

Fila de Processamento

Descrição Conceitual

Se CODIGO_TAB_PRECO estiver vazio, define-se LM. O conteudo é enviado ao ILLI no recurso de transferência de entrada. O fluxo interpreta success e message e persiste situação na tabela da fila de integração.

Estruturação de Dados (fila)
Campos principais do conteudo enfileirado
CampoTipoObrigatórioDescrição
keystringnãoChave de API quando exigida pela plataforma.
ROMANEIO_PRODUTOstringsimIdentificador do romaneio na filial.
FILIALstringsimFilial de destino da entrada.
CODIGO_TAB_PRECOstringcondicionalPreenchido com LM no envio se vazio.
ITENSarraysimColeção de itens do romaneio, anexada ao conteudo antes do enfileiramento.
ITENS[].ROMANEIO_PRODUTOstringsimIdentificador do romaneio do item; deve corresponder ao ROMANEIO_PRODUTO do cabeçalho enfileirado.
ITENS[].FILIALstringsimFilial do item; deve corresponder à FILIAL do cabeçalho para compor o mesmo lote de transferência.
ITENS[].PRODUTOstringsimCódigo do produto no item da transferência.
ITENS[].COR_PRODUTOstringsimCor/variação do produto no item.
ITENS[].EN1, ITENS[].EN2, ITENS[].EN3, ITENS[].EN4, ITENS[].EN5, ITENS[].EN6, ITENS[].EN7, ITENS[].EN8, ITENS[].EN9, ITENS[].EN10, ITENS[].EN11, ITENS[].EN12, ITENS[].EN13, ITENS[].EN14, ITENS[].EN15, ITENS[].EN16numéricosimQuantidades por grade do item (posições EN1 a EN16), lidas diretamente de LOJA_ENTRADAS_PRODUTO.
ITENS[].EN17, ITENS[].EN18, ITENS[].EN19, ITENS[].EN20, ITENS[].EN21, ITENS[].EN22, ITENS[].EN23, ITENS[].EN24, ITENS[].EN25, ITENS[].EN26, ITENS[].EN27, ITENS[].EN28, ITENS[].EN29, ITENS[].EN30, ITENS[].EN31, ITENS[].EN32numéricosimQuantidades por grade do item (posições EN17 a EN32), lidas diretamente de LOJA_ENTRADAS_PRODUTO.
ITENS[].EN33, ITENS[].EN34, ITENS[].EN35, ITENS[].EN36, ITENS[].EN37, ITENS[].EN38, ITENS[].EN39, ITENS[].EN40, ITENS[].EN41, ITENS[].EN42, ITENS[].EN43, ITENS[].EN44, ITENS[].EN45, ITENS[].EN46, ITENS[].EN47, ITENS[].EN48numéricosimQuantidades por grade do item (posições EN33 a EN48), lidas diretamente de LOJA_ENTRADAS_PRODUTO.
ITENS[].VALORnuméricosimValor total do item na entrada.
ITENS[].PRECO1numéricosimPreço unitário base do item.
ITENS[].QTDE_ENTRADAnuméricosimQuantidade total de entrada do item.
ITENS[].DATA_PARA_TRANSFERENCIAdatetimesimData de referência do item para transferência.
ITENS[].ATUALIZOU_ESTOQUEstringsimIndicador de atualização de estoque no item.
Regra de anexação no monitor: para cada registro de cabeçalho lido em LOJA_ENTRADAS, o monitor executa a busca de itens em LOJA_ENTRADAS_PRODUTO filtrando por ROMANEIO_PRODUTO e FILIAL. O resultado dessa leitura é anexado ao mesmo conteudo que segue para a fila, garantindo que o envio da transferência contenha cabeçalho e itens do mesmo romaneio.

Exemplo de payload enviado na integração (JSON) — resumo:

{
  "ROMANEIO_PRODUTO": "<ROMANEIO>",
  "FILIAL": "<FILIAL>",
  "CODIGO_TAB_PRECO": "LM",
  "FILIAL_ORIGEM": "<ORIGEM>"
}
Tratamento de Dados (fila)

Definição de CODIGO_TAB_PRECO padrão LM quando ausente.

Integração com o ILLI
  • Chamada: Requisição HTTP
  • Recurso: /bibliotecas/4415a517-b13e-4d39-9e4c-eaccb1386dfc/ilx_transferencia_entrada/define origem no centro de distribuição
  • Método HTTP: POST
  • Corpo: conteudo do registro na fila (com itens quando capturados).
Tratamento de retorno (fila)

A situação quando success presente; caso contrário de erro; ausência de resposta ou JSON não reconhecido conforme tratamento padrão.

Notificação

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

Endpoint (API)

O serviço HTTP de conferência recebe COD_FILIAL, localiza a filial, executa o fluxo que atualiza LOJA_ENTRADAS via procedimento LX_LOJA_ENTRADAS_ILLIMITAR e valida DATA_ENTRADA_CONFERIDA, com referência a NUMERO ou NUMERO_ORIGEM conforme o preenchimento do payload.

  • Chamada: Requisição HTTP
  • Recurso: /bibliotecas/6b1349c5-90e0-4344-b9b7-77878e11ae87/wosk_loja_transferencia_entrada
  • Método HTTP: POST
Estruturação de Dados (endpoint)
Parâmetros de entrada do endpoint (payload recebido no processamento principal)
CampoTipoObrigatórioDescrição
keystringnãoChave de autenticação/controle da chamada.
eventIdstring (UUID)nãoIdentificador do evento de origem; o método executa o processamento principal desta biblioteca não utiliza este campo.
COD_FILIALstringsimCódigo da filial (resolvido em FILIAIS).
NUMEROstringcondicionalRomaneio (ROMANEIO_PRODUTO) quando a busca é pelo próprio romaneio; obrigatório se NUMERO_ORIGEM não for informado.
NUMERO_ORIGEMstringcondicionalRomaneio NF de saída (ROMANEIO_NF_SAIDA) quando a localização do registro usa esse campo em vez de NUMERO.
DATA_RECEBIDOstring (datetime)simData/hora de recebimento ou conferência; base para datas gravadas na conferência.
DATAstring (datetime)nãoPode integrar o payload da plataforma; o método executa o processamento principal desta biblioteca não utiliza este campo.

Exemplo de payload enviado para o endpoint (JSON):

{
  "key": "df9b5d7f-da04-42f1-80b2-6b6bbbc39152",
  "DATA": "2026-03-27 00:00:00",
  "NUMERO": "A0300238",
  "eventId": "55910f5b-3c81-4c40-8acf-c5852a30830f",
  "COD_FILIAL": "000245",
  "DATA_RECEBIDO": "2026-03-30 15:18:38"
}
Operações com Dados (endpoint)

No fluxo principal do endpoint:

  • Validação: validação base do serviço (valida os dados).
  • Filial: consulta em FILIAIS pelo COD_FILIAL recebido; com registro encontrado, preenche-se FILIAL (nome interno da filial).
  • Conferência: registra entradas da loja localiza o cabeçalho em LOJA_ENTRADAS por FILIAL e por ROMANEIO_PRODUTO (via NUMERO) ou por ROMANEIO_NF_SAIDA (via NUMERO_ORIGEM); em seguida executa o procedimento armazenado LX_LOJA_ENTRADAS_ILLIMITAR com os parâmetros de conferência e encerramento.
  • Consistência: após a execução, nova leitura de LOJA_ENTRADAS para confirmar que DATA_ENTRADA_CONFERIDA foi registrada; caso contrário, lança exceção.
Tratamento de Dados (endpoint)

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

  • Consulta de filial: COD_FILIAL é alinhado com preenchimento à esquerda até 6 posições antes da busca em FILIAIS.
  • Datas a partir de DATA_RECEBIDO: DATA_ENTRADA_CONFERIDA e DATA_EMISSAO usadas no procedimento são derivadas apenas da parte de data (sem hora) de DATA_RECEBIDO, no formato gravado pelo código.
  • Flags de entrada: definem-se ENTRADA_ENCERRADA e ENTRADA_CONFERIDA com valor 1 antes da chamada ao procedimento.
Tratamento de retorno (endpoint)

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

Fluxo do Processo

wosk_loja_transferencia_entrada.jpg


Critérios de Aceitação
ProcessoSubprocessoDescriçãoSituação esperada
CapturadorEntrada em trânsitoDeve enfileirar romaneios com itens para o ILLI.Registro na fila com chave válida.
Fila de ProcessamentoILLIDeve chamar define origem no centro de distribuição e persistir situação na tabela da fila de integração.Situação coerente com o retorno.
Endpoint (API)ConferênciaDeve atualizar entrada conferida no LINX via procedimento.Mensagem OK ou erro explícito.