LojaAjusteEstoqueSaidaNormal
Documentação Técnica
| Nome do cliente | OSKLEN |
| Nome do projeto | Integração LINX → ILLI (Ajuste de Estoque — Saída Normal) |
| Biblioteca | wosk_loja_ajuste_estoque_saida_normal |
| 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 Ajuste Estoque Saída Normal (LINX → ILLI). |
Descrição
Este serviço de ajuste de estoque (saída normal) identifica romaneios de saída no LINX com perfil de ajuste e operação de custo médio prevista e encaminha os dados ao ILLI.
Garante captura, fila e registro de sucesso ou erro na integração.
Capturador
A captura automática consulta ESTOQUE_PROD_SAI quando o serviço LojaAjusteEstoqueSaidaNormal está apto, com TIPO_ROMANEIO = 'AJUSTE', CM_OPERACAO = '011', filiais de loja (excluindo estoque central e centro de distribuição), DATA_PARA_TRANSFERENCIA mínima, ordenação por DATA_PARA_TRANSFERENCIA e ROMANEIO_PRODUTO e paginação conforme o limite configurado para o serviço LojaAjusteEstoqueSaidaNormal, alinhada ao processamento cronológico. Para cada linha, anexa ITENS de ESTOQUE_PROD1_SAI, monta a chave FILIAL-ROMANEIO_PRODUTO e grava na Fila de Processamento.
A captura por chave segue o padrão FILIAL-ROMANEIO_PRODUTO, com releitura e reenfileiramento preservando token quando existir.
Fonte
Origem consultada: tabela ESTOQUE_PROD_SAI. Itens: ESTOQUE_PROD1_SAI.
Consulta principal:
SELECT
ROMANEIO_PRODUTO,
FILIAL,
EMISSAO,
OBS,
CM_OPERACAO,
TIPO_ROMANEIO,
DATA_DIGITACAO,
DATA_PARA_TRANSFERENCIA
FROM
ESTOQUE_PROD_SAI (NOLOCK)
Operações com Dados
Leitura: conforme Fonte; itens por ROMANEIO_PRODUTO em ESTOQUE_PROD1_SAI com colunas SA_1 a SA_48 e CUSTO1.
Consulta dinâmica (captura automática): FILIAL IN (...), TIPO_ROMANEIO = 'AJUSTE', CM_OPERACAO = '011', DATA_PARA_TRANSFERENCIA >= filtro, ORDER BY DATA_PARA_TRANSFERENCIA ASC, ROMANEIO_PRODUTO ASC, OFFSET ... FETCH NEXT ... conforme limite do serviço LojaAjusteEstoqueSaidaNormal.
Consulta dinâmica (captura por chave): WHERE FILIAL = ... AND ROMANEIO_PRODUTO = ....
Validação (captura por chave): chave em duas partes; senão erro de chave inválida.
Persistência: serviço LojaAjusteEstoqueSaidaNormal, chave FILIAL-ROMANEIO_PRODUTO e estado do capturador.
Fila de Processamento
A fila recupera um registro pendente e utiliza o conteúdo do registro como base do payload de integração. Em seguida, aplica transformações obrigatórias de padronização e realiza a chamada ao ILLI.
O envio ocorre via aplica ajuste de saída normal; o retorno atualiza situação e mensagem na tabela da fila de integração.
Estruturação de Dados
| Campo no payload | Campo de origem |
ROMANEIO_PRODUTO |
ROMANEIO_PRODUTO |
FILIAL |
FILIAL |
EMISSAO |
EMISSAO |
OBS |
OBS |
CM_OPERACAO |
CM_OPERACAO |
TIPO_ROMANEIO |
TIPO_ROMANEIO |
DATA_DIGITACAO |
DATA_DIGITACAO |
DATA_PARA_TRANSFERENCIA |
DATA_PARA_TRANSFERENCIA |
ITENS |
Array de ESTOQUE_PROD1_SAI (SA_1 a SA_48, CUSTO1, etc.) |
| Campo | Tipo | Obrigatório | Descrição |
PRODUTO |
string | sim | Código do produto vinculado ao romaneio. |
COR_PRODUTO |
string | sim | Cor do produto na grade. |
SA_1, SA_2, SA_3, SA_4, SA_5, SA_6, SA_7, SA_8, SA_9, SA_10, SA_11, SA_12, SA_13, SA_14, SA_15, SA_16, SA_17, SA_18, SA_19, SA_20, SA_21, SA_22, SA_23, SA_24, SA_25, SA_26, SA_27, SA_28, SA_29, SA_30, SA_31, SA_32, SA_33, SA_34, SA_35, SA_36, SA_37, SA_38, SA_39, SA_40, SA_41, SA_42, SA_43, SA_44, SA_45, SA_46, SA_47, SA_48 |
string | não | Posições de quantidade por grade/tamanho da saída normal. |
CUSTO1 |
string | não | Valor de custo da linha do item. |
Exemplo ilustrativo de corpo enviado ao ILLI (estrutura alinhada ao conteudo):
{
"ROMANEIO_PRODUTO": "<ROMANEIO_PRODUTO>",
"FILIAL": "<FILIAL>",
"EMISSAO": "<EMISSAO>",
"OBS": "<OBS>",
"CM_OPERACAO": "<CM_OPERACAO>",
"TIPO_ROMANEIO": "<TIPO_ROMANEIO>",
"DATA_DIGITACAO": "<DATA_DIGITACAO>",
"DATA_PARA_TRANSFERENCIA": "<DATA_PARA_TRANSFERENCIA>",
"ITENS": []
}
Tratamento de Dados
ITENS: linhas deESTOQUE_PROD1_SAIpara oROMANEIO_PRODUTOatual, comSA_1aSA_48eCUSTO1.- Envio:
conteudocomo JSON sem mapeamento adicional no arquivo analisado.
Integração com o ILLI
- Chamada:
Requisição HTTP - Recurso:
/bibliotecas/e3a6737d-ac74-4ed6-9668-e3921320c29f/ilx_ajuste_estoque/aplica ajuste de saída normal - Método HTTP:
POST - Corpo:
conteudodo registro na fila.
Tratamento de retorno
Ausência de resposta ou retorno sem success e sem message gera exceção e situação erro. Quando success não está vazio, situação sucesso; caso contrário situação erro. Em exceção, mensagem persistida; retorno não reconhecido pode estruturar erro e dados.
Notificação
A notificação de erros consulta registros com falha na tabela da fila de integração para o serviço LojaAjusteEstoqueSaidaNormal e situação de erro, ordenando pelo horário de processamento para priorizar ocorrências mais antigas.
Fluxo do Processo
Critérios de Aceitação
| Processo | Subprocesso | Descrição | Situação esperada |
| Capturador | Captura automática | Deve filtrar ESTOQUE_PROD_SAI com TIPO_ROMANEIO = 'AJUSTE' e CM_OPERACAO = '011', anexar ESTOQUE_PROD1_SAI e gravar na fila LojaAjusteEstoqueSaidaNormal. |
Registro pendente com payload completo. |
| Capturador | Captura por chave | Deve valida os dados chave em duas partes e reenfileirar com token quando existir. | Chave inválida interrompe com exceção. |
| Fila de Processamento | Integração ILLI | Deve enviar ao recurso /bibliotecas/e3a6737d-ac74-4ed6-9668-e3921320c29f/ilx_ajuste_estoque/aplica ajuste de saída normal, interpretar sucesso ou erro com mensagem e persistir situação na tabela da fila de integração. |
Situação final e detalhes alinhados ao retorno do ILLI. |

Nenhum comentário