Ir para o conteúdo principal

LojaOperacao (STATUS: DOCUMENTADO)

Documentação Técnica
Nome do cliente OSKLEN
Nome do projeto Integração LINX → ILLI (Operação Loja)
Biblioteca wosk_loja_operacao
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 Operação (LINX → ILLI).

Descrição

Este serviço de natureza de operação da loja sincroniza configurações fiscais e contábeis do LINX com o ILLI por meio da fila de integração.
A captura parte da view de operação com joins em naturezas de entrada e saída; cada registro vira um envio ao endpoint de operação no ILLI.

Capturador

Descrição Conceitual

A captura automática consulta a projeção principal quando o serviço LojaOperacao está apto, com filtro mínimo em DATA_PARA_TRANSFERENCIA, ordenação ascendente e paginação conforme o limite configurado para o serviço LojaOperacao, alinhada ao processamento cronológico. A chave na fila é NATUREZA_OPERACAO_CODIGO concatenada a NATUREZA_E.

A captura por chave recebe o par NATUREZA_OPERACAO_CODIGO e NATUREZA_E, relê a mesma projeção com filtro nas duas colunas e reenfileira preservando token quando existir.

Fonte

Origem consultada: view LOJAS_NATUREZA_OPERACAO com LEFT JOIN em NATUREZAS_SAIDAS e NATUREZAS_ENTRADAS.

Consulta principal:

SELECT
    LNO.NATUREZA_OPERACAO_CODIGO,
    LNO.NATUREZA_OPERACAO,
    LNO.NATUREZA_DESCRICAO,
    LNO.MODULO_FILTRO,
    LNO.OPERACAO_DENTRO_ESTADO,
    LNO.DATA_PARA_TRANSFERENCIA,
    LNO.OBSERVACAO,
    LNO.INATIVO,
    LNO.NATUREZA_SAIDA,
    LNO.NATUREZA_ENTRADA,
    LNO.CTB_TIPO_OPERACAO,
    LNO.LX_TIPO_LANCAMENTO,
    LNO.LANCAMENTO_PADRAO,
    LNO.LANCAMENTO_PADRAO_IMPOSTO,
    LNO.LX_STATUS_REGISTRO,
    ISNULL(LNO.NATUREZA_SAIDA, LNO.NATUREZA_ENTRADA) AS NATUREZA_E,
    ISNULL(NS.DESC_NATUREZA, NE.DESC_NATUREZA) AS DESC_NATUREZA_E,
    ISNULL(NS.DESC_NF, NE.DESC_NF) AS DESC_NF_E,
    NS.ACERTO_CONTAS,
    NS.IRRF,
    NS.POSSUI_ICMS,
    ISNULL(NS.TIPO_OPERACAO, NE.TIPO_OPERACAO) AS TIPO_OPERACAO_E,
    ISNULL(NS.INATIVO, NE.INATIVO) AS INATIVO_E,
    ISNULL(NS.OBS1, NE.OBS1) AS OBS1_E,
    ISNULL(NS.OBS2, NE.OBS2) AS OBS2_E,
    ISNULL(NS.CLASIF_CONTABLE, NE.CLASIF_CONTABLE) AS CLASIF_CONTABLE_E,
    ISNULL(NS.CLASSIF_CONTABIL, NE.CLASSIF_CONTABIL) AS CLASSIF_CONTABIL_E,
    ISNULL(NS.CTB_TIPO_OPERACAO, NE.CTB_TIPO_OPERACAO) AS CTB_TIPO_OPERACAO_E,
    ISNULL(NS.LANCAMENTO_PADRAO, NE.LANCAMENTO_PADRAO) AS LANCAMENTO_PADRAO_E,
    ISNULL(NS.LX_TIPO_LANCAMENTO, NE.LX_TIPO_LANCAMENTO) AS LX_TIPO_LANCAMENTO_E,
    ISNULL(NS.NAO_MOSTRA_VALORES, NE.NAO_MOSTRA_VALORES) AS NAO_MOSTRA_VALORES_E,
    NS.NATUREZA_ENTRADA_AUTOMATICA,
    ISNULL(NS.LANCAMENTO_PADRAO_IMPOSTO, NE.LANCAMENTO_PADRAO_IMPOSTO) AS LANCAMENTO_PADRAO_IMPOSTO_E,
    ISNULL(NS.CM_ITEM_COMPOSICAO, NE.CM_ITEM_COMPOSICAO) AS CM_ITEM_COMPOSICAO_E,
    NS.ID_INFO_PGTO,
    NS.RATEIO_CENTRO_CUSTO_OSK,
    NS.TIPO_FATURAMENTO,
    NE.NATUREZA_CONTABILIZAR
FROM
    LOJAS_NATUREZA_OPERACAO LNO (NOLOCK)
    LEFT JOIN NATUREZAS_SAIDAS NS (NOLOCK) ON (NS.NATUREZA_SAIDA = LNO.NATUREZA_SAIDA)
    LEFT JOIN NATUREZAS_ENTRADAS NE (NOLOCK) ON (NE.NATUREZA = LNO.NATUREZA_ENTRADA)

Operações com Dados

Leitura: conforme Fonte.

Consulta dinâmica (captura automática): WHERE LNO.DATA_PARA_TRANSFERENCIA >= filtro efetivo, ORDER BY LNO.DATA_PARA_TRANSFERENCIA ASC, OFFSET/FETCH conforme limite do serviço LojaOperacao.

Consulta dinâmica (captura por chave): WHERE NATUREZA_OPERACAO_CODIGO = ... AND NATUREZA_E = ....

Persistência: grava na Fila de Processamento com serviço LojaOperacao e chave NATUREZA_OPERACAO_CODIGO-NATUREZA_E.

Fila de Processamento

Descrição Conceitual

A fila recupera um registro pendente e envia o conteudo integral ao ILLI. O fluxo marca o registro em envio, interpreta o retorno JSON (success, message) e persiste situação, mensagem, tempo e auditoria na tabela da fila de integração.

Estruturação de Dados
Campos do conteudo (projeção da captura)
Campo Tipo Obrigatório Descrição
key string não Chave de API quando exigida pela plataforma.
Demais colunas retornadas pela consulta principal (incluindo NATUREZA_OPERACAO_CODIGO, NATUREZA_E, naturezas, flags contábeis e dados enriquecidos por joins) compõem o corpo enviado ao ILLI.

Exemplo ilustrativo de corpo alinhado ao envio:

{
  "NATUREZA_OPERACAO_CODIGO": "<CODIGO>",
  "NATUREZA_E": "<NATUREZA>",
  "DATA_PARA_TRANSFERENCIA": "<DATA_HORA>"
}
Tratamento de Dados

Sobre o registro atual: o conteudo é repassado sem transformação adicional no envio ao ILLI.

Integração com o ILLI
  • Chamada: Requisição HTTP
  • Recurso: /bibliotecas/4a8a61d6-7293-43b1-a218-3c93d4eace4d/ilx_operacao/api/setOperacao
  • Método HTTP: POST
  • Corpo: objeto JSON igual ao conteudo do 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 com prefixo de JSON não reconhecido, o retorno persistido pode incluir error e data.

Notificação

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

Fluxo do Processo

Diagrama do processo


Critérios de Aceitação
Processo Subprocesso Descrição Situação esperada
Capturador Captura automática Deve paginar a view com filtro de data e gravar na fila com chave composta e serviço LojaOperacao. Itens pendentes com chave válida.
Fila de Processamento Integração ILLI Deve enviar ao recurso /bibliotecas/4a8a61d6-7293-43b1-a218-3c93d4eace4d/ilx_operacao/api/setOperacao, interpretar sucesso ou erro com mensagem e persistir situação na tabela da fila de integração. Situação e mensagem coerentes com o retorno.