ASSUNTO

Implementação de geração de logs em arquivo .txt para o processamento de pedidos da integração Junsoft, replicando os principais pontos já registrados no log do banco e melhorando a rastreabilidade do fluxo.

Produto

Linx DMS Web

Menu

Oficina > Recapagem > Log Comunicação API Junsoft

Data 

 

Autor

Alison Romeu Lamas da Silva

Uso Interno

AUTO-89587

Área

Automotivo P&D


OBJETIVO

Melhorar a rastreabilidade da integração com a JunSoft, permitindo consultar em arquivo .txt o histórico do processamento dos pedidos, inclusive em casos de erro ou interrupção antes da finalização completa do processo.

PÚBLICO-ALVO

Este documento se destina a todos dos clientes que utilizam o Linx DMS.

PRÉ-REQUISITOS

Para que a geração do log em arquivo .txt funcione corretamente, é necessário que a integração JunSoft esteja devidamente parametrizada para a empresa e revenda em execução, incluindo a URL do serviço, código da empresa JunSoft e os parâmetros de movimentação utilizados no processamento dos pedidos. Também é necessário que o endpoint ProcessaPedidosPendentes esteja sendo executado com empresa, revenda e usuário válidos.

PASSO A PASSO DA FUNCIONALIDADE
  • Início do processamento
    O endpoint é executado para uma determinada empresa e revenda, iniciando o fluxo de integração com a JunSoft.
  • Geração do arquivo de log TXT
    O sistema monta o caminho do arquivo de log diário em:

    Documentos\Logs\Pedidos Pendentes

    O arquivo é gerado com o nome do dia, por exemplo:

    ProcessaPedidosPendentes_20260512.txt
  • Busca de pedidos pendentes na JunSoft
    O sistema registra no log TXT a chamada de busca dos pedidos pendentes, informando a URL da JunSoft, o endpoint utilizado e os parâmetros da empresa JunSoft.
  • Retorno da busca de pedidos
    Após a resposta da JunSoft, o sistema registra no TXT a quantidade de pedidos recebidos, os pedidos retornados e as empresas JunSoft identificadas no retorno.
  • Filtro por empresa JunSoft
    Os pedidos retornados são filtrados conforme o CodigoEmpresaJunsoft parametrizado para a empresa e revenda em processamento. Caso nenhum pedido pertença à empresa parametrizada, isso também é registrado no log TXT.
  • Validações antes do processamento
    Para cada pedido filtrado, o sistema valida informações necessárias, como cadastro do cliente, movimentações parametrizadas, cadastro dos itens e quantidade em litígio disponível. Se alguma validação impedir o processamento, o motivo é gravado no TXT.
  • Processamento do pedido
    Quando o pedido está válido, o sistema realiza o processamento no Linx DMS, podendo criar pedido, OS, movimentações de peças, serviços, notas fiscais ou cancelamentos, conforme o status e os itens do pedido.
  • Commit da transação principal
    Após processar o pedido com sucesso, o sistema realiza o commit da transação principal no banco. Esse momento é registrado no TXT para comprovar que o banco foi confirmado antes da confirmação na JunSoft.
  • Envio da confirmação para a JunSoft
    Somente depois do commit, o sistema envia a confirmação do processamento para a JunSoft pelo endpoint de confirmação do pedido.
  • Retorno da confirmação
    O retorno da JunSoft também é gravado no TXT, contendo os dados recebidos após o envio da confirmação.
  • Atualização do status de envio
    Após confirmar o pedido na JunSoft, o sistema atualiza o status de envio no Linx DMS para indicar que o pedido foi confirmado.
  • Tratamento de erros
    Caso ocorra erro em qualquer ponto crítico do processo, como busca de pedidos, processamento, confirmação ou atualização de status, o erro é registrado no TXT com a exceção detalhada.
  • Finalização do processo
    Ao final da execução, o sistema registra no TXT o encerramento do processamento e a quantidade de pedidos filtrados para aquela execução.




======================================================================
Data/Hora : 12/05/2026 17:10:07
Empresa   : 1
Revenda   : 22
Mensagem  : Início da execução do ProcessaPedidosPendentes.
JSON:
{
  "Empresa": 1,
  "Revenda": 22,
  "Usuario": 0
}

======================================================================
Data/Hora : 12/05/2026 17:10:07
Empresa   : 1
Revenda   : 22
Mensagem  : Busca de Pedidos pendentes na JunSoft - URL http://junsoftmobile.sipal.com.br:8081/JunsoftApolloAS/api/
JSON:
{
  "Metodo": "GET",
  "Url": "http://junsoftmobile.sipal.com.br:8081/JunsoftApolloAS/api/",
  "Endpoint": "/pedido",
  "CodigoEmpresaJunsoft": "1"
}

======================================================================
Data/Hora : 12/05/2026 17:10:15
Empresa   : 1
Revenda   : 22
Mensagem  : Nenhum pedido foi processado após o filtro por empresa JunSoft. A JunSoft retornou pedidos, porém nenhum pertence ao CodigoEmpresaJunsoft parametrizado para esta empresa/revenda.
JSON:
{
  "CodigoEmpresaJunsoftParametro": "1",
  "TotalPedidosRecebidosJunsoft": 1,
  "IdsEmpresasRecebidas": [
    5
  ],
  "PedidosRecebidos": [
    {
      "Pedido": 6082,
      "IdEmpresa": 5,
      "Cliente": "GUILHERME PERTILE PINHEIRO",
      "CpfCnpj": "029.622.061-23",
      "StatusPedido": "N"
    }
  ]
}

======================================================================
Data/Hora : 12/05/2026 17:10:15
Empresa   : 1
Revenda   : 22
Mensagem  : Retorno da busca de Pedidos pendentes na JunSoft - URL http://junsoftmobile.sipal.com.br:8081/JunsoftApolloAS/api/
JSON:
{
  "Metodo": "GET",
  "Url": "http://junsoftmobile.sipal.com.br:8081/JunsoftApolloAS/api/",
  "Endpoint": "/pedido",
  "CodigoEmpresaJunsoftParametro": "1",
  "TotalRecebido": 1,
  "IdsEmpresasRecebidas": [
    5
  ],
  "PedidosRecebidos": [
    {
      "Pedido": 6082,
      "IdEmpresa": 5,
      "Cliente": "GUILHERME PERTILE PINHEIRO",
      "CpfCnpj": "029.622.061-23",
      "StatusPedido": "N"
    }
  ],
  "TotalFiltradoEmpresa": 0,
  "RetornoFiltrado": []
}

======================================================================
Data/Hora : 12/05/2026 17:10:15
Empresa   : 1
Revenda   : 22
Mensagem  : Fim da execução do ProcessaPedidosPendentes.
JSON:
{
  "TotalPedidosFiltrados": 0
}

======================================================================

Data/Hora : 13/05/2026 09:44:06
Empresa   : 1
Revenda   : 22
Mensagem  : Início da execução do ProcessaPedidosPendentes.
JSON:
{
  "Empresa": 1,
  "Revenda": 22,
  "Usuario": 0
}

======================================================================
Data/Hora : 13/05/2026 09:44:06
Empresa   : 1
Revenda   : 22
Mensagem  : Busca de Pedidos pendentes na JunSoft - URL http://junsoftmobile.sipal.com.br:8081/JunsoftApolloAS/api/
JSON:
{
  "Metodo": "GET",
  "Url": "http://junsoftmobile.sipal.com.br:8081/JunsoftApolloAS/api/",
  "Endpoint": "/pedido",
  "CodigoEmpresaJunsoft": "5"
}

======================================================================
Data/Hora : 13/05/2026 09:44:17
Empresa   : 1
Revenda   : 22
Mensagem  : Retorno da busca de Pedidos pendentes na JunSoft - URL http://junsoftmobile.sipal.com.br:8081/JunsoftApolloAS/api/
JSON:
{
  "Metodo": "GET",
  "Url": "http://junsoftmobile.sipal.com.br:8081/JunsoftApolloAS/api/",
  "Endpoint": "/pedido",
  "CodigoEmpresaJunsoftParametro": "5",
  "TotalRecebido": 1,
  "IdsEmpresasRecebidas": [
    5
  ],
  "PedidosRecebidos": [
    {
      "Pedido": 6082,
      "IdEmpresa": 5,
      "Cliente": "GUILHERME PERTILE PINHEIRO",
      "CpfCnpj": "029.622.061-23",
      "StatusPedido": "N"
    }
  ],
  "TotalFiltradoEmpresa": 1,
  "RetornoFiltrado": [
    {
      "id": 6082,
      "idEmpresa": 5,
      "cliente": {
        "cdPessoa": 150519,
        "nmRazaoSocial": "GUILHERME PERTILE PINHEIRO",
        "nmFantasia": "",
        "nrCpfCnpj": "029.622.061-23",
        "email": "gui.pertile89@gmail.com",
        "observacao": "conversao inga - 30/10/23",
        "enderecoPessoa": {
          "dsEndereco": "RUA PARANAIBA, 34",
          "nrEndereco": 0,
          "cep": "75570000",
          "cdIbge": 5203500,
          "complemento": "QD 70 LT4",
          "telefone": "64981446767",
          "celular": "64981446767",
          "bairro": "OLIMPIA III"
        },
        "cdPessoaApollo": "175835"
      },
      "emissao": "2025-08-27T00:00:00.000-0300",
      "entrega": "2025-08-31T00:00:00.000-0300",
      "cdVendedor": 1168,
      "observacao": "Nr Ord Prod Pneu: 255209\nNr Lote Prod: 255209\nNr Placa: . Cond. Pagto.: 28/56/84/112",
      "itensPedido": [
        {
          "item": {
            "id": 536,
            "descricao": "RECAP 295/80R22.5 XZE2 PR 3,41 240",
            "grupo": {
              "cdGrupoErp": 1,
              "descricao": "PRODUTO ACABADO",
              "cdGrupoApollo": null
            },
            "idMarca": 2,
            "unMedida": "SV",
            "cdItemApollo": null,
            "cdSubGrupo": null
          },
          "idMovimentacao": 25,
          "qtd": 1.0,
          "vlUnitario": 823.0,
          "vlTotal": 823.0,
          "vlDesconto": 0.0,
          "observacao": "Série: SM; DOT: 0822; Fogo: ",
          "nrOrdemProducaoRecap": "255208",
          "dsSituacaoPneu": "APROVADO",
          "nrBloco": null,
          "dsEspecificacao": "Marca: APOLLO; Modelo: ENDURACERA",
          "nrSeqPneu": "1/2"
        },
        {
          "item": {
            "id": 536,
            "descricao": "RECAP 295/80R22.5 XZE2 PR 3,41 240",
            "grupo": {
              "cdGrupoErp": 1,
              "descricao": "PRODUTO ACABADO",
              "cdGrupoApollo": null
            },
            "idMarca": 2,
            "unMedida": "SV",
            "cdItemApollo": null,
            "cdSubGrupo": null
          },
          "idMovimentacao": 25,
          "qtd": 1.0,
          "vlUnitario": 823.0,
          "vlTotal": 823.0,
          "vlDesconto": 0.0,
          "observacao": "Série: SM; DOT: 1022; Fogo: ",
          "nrOrdemProducaoRecap": "255209",
          "dsSituacaoPneu": "APROVADO",
          "nrBloco": null,
          "dsEspecificacao": "Marca: APOLLO; Modelo: ENDURACERA",
          "nrSeqPneu": "2/2"
        },
        {
          "item": {
            "id": 571983,
            "descricao": "BANDA XZE2 PR 240 3,41",
            "grupo": {
              "cdGrupoErp": 2,
              "descricao": "MATÉRIA PRIMA",
              "cdGrupoApollo": null
            },
            "idMarca": 2,
            "unMedida": "UN",
            "cdItemApollo": null,
            "cdSubGrupo": null
          },
          "idMovimentacao": 0,
          "qtd": 1.0,
          "vlUnitario": 436.24,
          "vlTotal": 436.24,
          "vlDesconto": 0.0,
          "observacao": "Série: SM; DOT: 0822; Fogo: ",
          "nrOrdemProducaoRecap": "255208",
          "dsSituacaoPneu": "APROVADO",
          "nrBloco": null,
          "dsEspecificacao": "Marca: APOLLO; Modelo: ENDURACERA",
          "nrSeqPneu": "1/2"
        },
        {
          "item": {
            "id": 624698,
            "descricao": "RALEN 5-50-15",
            "grupo": {
              "cdGrupoErp": 2,
              "descricao": "MATÉRIA PRIMA",
              "cdGrupoApollo": null
            },
            "idMarca": 2,
            "unMedida": "KG",
            "cdItemApollo": null,
            "cdSubGrupo": null
          },
          "idMovimentacao": 0,
          "qtd": 0.13749,
          "vlUnitario": 22.038,
          "vlTotal": 3.03,
          "vlDesconto": 0.0,
          "observacao": "Série: SM; DOT: 0822; Fogo: ",
          "nrOrdemProducaoRecap": "255208",
          "dsSituacaoPneu": "APROVADO",
          "nrBloco": null,
          "dsEspecificacao": "Marca: APOLLO; Modelo: ENDURACERA",
          "nrSeqPneu": "1/2"
        },
        {
          "item": {
            "id": 549129,
            "descricao": "DISSOLUTION RECA RENIT 17.6",
            "grupo": {
              "cdGrupoErp": 2,
              "descricao": "MATÉRIA PRIMA",
              "cdGrupoApollo": null
            },
            "idMarca": 2,
            "unMedida": "LT",
            "cdItemApollo": null,
            "cdSubGrupo": null
          },
          "idMovimentacao": 0,
          "qtd": 0.43863,
          "vlUnitario": 15.1152,
          "vlTotal": 6.63,
          "vlDesconto": 0.0,
          "observacao": "Série: SM; DOT: 0822; Fogo: ",
          "nrOrdemProducaoRecap": "255208",
          "dsSituacaoPneu": "APROVADO",
          "nrBloco": null,
          "dsEspecificacao": "Marca: APOLLO; Modelo: ENDURACERA",
          "nrSeqPneu": "1/2"
        },
        {
          "item": {
            "id": 933646,
            "descricao": "RIVEN 7.5-12-30 BTE DE 6 BANDELETTES",
            "grupo": {
              "cdGrupoErp": 2,
              "descricao": "MATÉRIA PRIMA",
              "cdGrupoApollo": null
            },
            "idMarca": 2,
            "unMedida": "KG",
            "cdItemApollo": null,
            "cdSubGrupo": null
          },
          "idMovimentacao": 0,
          "qtd": 0.01627,
          "vlUnitario": 34.4192,
          "vlTotal": 0.56,
          "vlDesconto": 0.0,
          "observacao": "Série: SM; DOT: 0822; Fogo: ",
          "nrOrdemProducaoRecap": "255208",
          "dsSituacaoPneu": "APROVADO",
          "nrBloco": null,
          "dsEspecificacao": "Marca: APOLLO; Modelo: ENDURACERA",
          "nrSeqPneu": "1/2"
        },
        {
          "item": {
            "id": 330032,
            "descricao": "RIVEN 9-12-260 (BANDAS)",
            "grupo": {
              "cdGrupoErp": 2,
              "descricao": "MATÉRIA PRIMA",
              "cdGrupoApollo": null
            },
            "idMarca": 2,
            "unMedida": "KG",
            "cdItemApollo": null,
            "cdSubGrupo": null
          },
          "idMovimentacao": 0,
          "qtd": 1.43391,
          "vlUnitario": 32.3103,
          "vlTotal": 46.33,
          "vlDesconto": 0.0,
          "observacao": "Série: SM; DOT: 0822; Fogo: ",
          "nrOrdemProducaoRecap": "255208",
          "dsSituacaoPneu": "APROVADO",
          "nrBloco": null,
          "dsEspecificacao": "Marca: APOLLO; Modelo: ENDURACERA",
          "nrSeqPneu": "1/2"
        },
        {
          "item": {
            "id": 571983,
            "descricao": "BANDA XZE2 PR 240 3,41",
            "grupo": {
              "cdGrupoErp": 2,
              "descricao": "MATÉRIA PRIMA",
              "cdGrupoApollo": null
            },
            "idMarca": 2,
            "unMedida": "UN",
            "cdItemApollo": null,
            "cdSubGrupo": null
          },
          "idMovimentacao": 0,
          "qtd": 1.0,
          "vlUnitario": 436.24,
          "vlTotal": 436.24,
          "vlDesconto": 0.0,
          "observacao": "Série: SM; DOT: 1022; Fogo: ",
          "nrOrdemProducaoRecap": "255209",
          "dsSituacaoPneu": "APROVADO",
          "nrBloco": null,
          "dsEspecificacao": "Marca: APOLLO; Modelo: ENDURACERA",
          "nrSeqPneu": "2/2"
        },
        {
          "item": {
            "id": 624698,
            "descricao": "RALEN 5-50-15",
            "grupo": {
              "cdGrupoErp": 2,
              "descricao": "MATÉRIA PRIMA",
              "cdGrupoApollo": null
            },
            "idMarca": 2,
            "unMedida": "KG",
            "cdItemApollo": null,
            "cdSubGrupo": null
          },
          "idMovimentacao": 0,
          "qtd": 0.13792,
          "vlUnitario": 22.0418,
          "vlTotal": 3.04,
          "vlDesconto": 0.0,
          "observacao": "Série: SM; DOT: 1022; Fogo: ",
          "nrOrdemProducaoRecap": "255209",
          "dsSituacaoPneu": "APROVADO",
          "nrBloco": null,
          "dsEspecificacao": "Marca: APOLLO; Modelo: ENDURACERA",
          "nrSeqPneu": "2/2"
        },
        {
          "item": {
            "id": 549129,
            "descricao": "DISSOLUTION RECA RENIT 17.6",
            "grupo": {
              "cdGrupoErp": 2,
              "descricao": "MATÉRIA PRIMA",
              "cdGrupoApollo": null
            },
            "idMarca": 2,
            "unMedida": "LT",
            "cdItemApollo": null,
            "cdSubGrupo": null
          },
          "idMovimentacao": 0,
          "qtd": 0.44,
          "vlUnitario": 15.1136,
          "vlTotal": 6.65,
          "vlDesconto": 0.0,
          "observacao": "Série: SM; DOT: 1022; Fogo: ",
          "nrOrdemProducaoRecap": "255209",
          "dsSituacaoPneu": "APROVADO",
          "nrBloco": null,
          "dsEspecificacao": "Marca: APOLLO; Modelo: ENDURACERA",
          "nrSeqPneu": "2/2"
        },
        {
          "item": {
            "id": 933646,
            "descricao": "RIVEN 7.5-12-30 BTE DE 6 BANDELETTES",
            "grupo": {
              "cdGrupoErp": 2,
              "descricao": "MATÉRIA PRIMA",
              "cdGrupoApollo": null
            },
            "idMarca": 2,
            "unMedida": "KG",
            "cdItemApollo": null,
            "cdSubGrupo": null
          },
          "idMovimentacao": 0,
          "qtd": 0.01632,
          "vlUnitario": 34.3137,
          "vlTotal": 0.56,
          "vlDesconto": 0.0,
          "observacao": "Série: SM; DOT: 1022; Fogo: ",
          "nrOrdemProducaoRecap": "255209",
          "dsSituacaoPneu": "APROVADO",
          "nrBloco": null,
          "dsEspecificacao": "Marca: APOLLO; Modelo: ENDURACERA",
          "nrSeqPneu": "2/2"
        },
        {
          "item": {
            "id": 330032,
            "descricao": "RIVEN 9-12-260 (BANDAS)",
            "grupo": {
              "cdGrupoErp": 2,
              "descricao": "MATÉRIA PRIMA",
              "cdGrupoApollo": null
            },
            "idMarca": 2,
            "unMedida": "KG",
            "cdItemApollo": null,
            "cdSubGrupo": null
          },
          "idMovimentacao": 0,
          "qtd": 1.4384,
          "vlUnitario": 32.3137,
          "vlTotal": 46.48,
          "vlDesconto": 0.0,
          "observacao": "Série: SM; DOT: 1022; Fogo: ",
          "nrOrdemProducaoRecap": "255209",
          "dsSituacaoPneu": "APROVADO",
          "nrBloco": null,
          "dsEspecificacao": "Marca: APOLLO; Modelo: ENDURACERA",
          "nrSeqPneu": "2/2"
        }
      ],
      "cdCondPagto": 4,
      "stPedido": "N"
    }
  ]
}

======================================================================
Data/Hora : 13/05/2026 09:44:28
Empresa   : 1
Revenda   : 22
Mensagem  : Item do pedido não processado. Não encontrou cadastro do Item no Linx DMS. Item 571983 - BANDA XZE2 PR 240 3,41
JSON:
{
  "Pedido": 6082,
  "ItemJunsoft": 571983,
  "Descricao": "BANDA XZE2 PR 240 3,41",
  "IdMovimentacao": 0
}

======================================================================
Data/Hora : 13/05/2026 09:44:28
Empresa   : 1
Revenda   : 22
Mensagem  : Pedido 6082 não foi confirmado na JunSoft porque houve rollback no processamento dos itens.
JSON:
{
  "Pedido": 6082,
  "Cliente": "GUILHERME PERTILE PINHEIRO"
}

======================================================================
Data/Hora : 13/05/2026 09:44:29
Empresa   : 1
Revenda   : 22
Mensagem  : Fim da execução do ProcessaPedidosPendentes.
JSON:
{
  "TotalPedidosFiltrados": 1
}


DÚVIDAS

Em caso de dúvidas sobre o conteúdo deste documento, entre em contato com o Suporte Nacional, através do site cliente.linx.com.br.


Seu período de teste Premium terminouSeu período de teste Premium terminou