Ir para o conteúdo principal

ProtheusCondicaoPagamento (STATUS: REVISADO)

Documentação Técnica
Nome do cliente OSKLEN
Nome do projeto Integração LINX → Protheus
Biblioteca wosk_protheus_condicao_pagamento
Data 03/03/2026

Histórico de Versões
Data Versão Modificado por Descrição da Mudança
03/03/2026 1.0 Maykon/Gustavo Criação da documentação técnica do processo ProtheusCondicaoPagamento.

Descrição

Esse serviço integra as condições de pagamento do LINX para o Protheus, capturando registros pendentes e encaminhando cada um para processamento assíncrono.

Capturador

Descrição Conceitual
Permite a captura manual de um ou mais clientes específicos mediante a informação das chaves, com validação obrigatória do formato no padrão CODIGO IN (...). Caso a chave informada esteja fora do padrão, o processo é imediatamente interrompido com erro de chave inválida, garantindo integridade e previsibilidade no fluxo.


A origem dos dados é a view WOSK_SERVICO_ENVIA_PROTHEUS_COND_PGTO, consultada com projeção predefinida, sendo o filtro DATA_PARA_TRANSFERENCIA >= '...' e a ordenação por DATA_PARA_TRANSFERENCIA ASC com OFFSET/FETCH NEXT são aplicados na captura automática. Para cada registro retornado, a chave de fila é o próprio CODIGO e o registro é registrado na fila de processamento.

Fonte

Consulta principal: view WOSK_SERVICO_ENVIA_PROTHEUS_COND_PGTO.

SELECT
    CODIGO,
    TIPO,
    COND_PGTO,
    DESC_COND_PGTO,
    DDD,
    MSBLQL,
    DATA_PARA_TRANSFERENCIA
FROM
    WOSK_SERVICO_ENVIA_PROTHEUS_COND_PGTO

Consulta cronológica por lote (string dinâmica):

SELECT
    CODIGO,
    TIPO,
    COND_PGTO,
    DESC_COND_PGTO,
    DDD,
    MSBLQL,
    DATA_PARA_TRANSFERENCIA
FROM
    WOSK_SERVICO_ENVIA_PROTHEUS_COND_PGTO
WHERE
    DATA_PARA_TRANSFERENCIA >= '{DATA_PARA_TRANSFERENCIA}'
ORDER BY
    DATA_PARA_TRANSFERENCIA ASC
OFFSET
    {OFFSET} ROWS
FETCH NEXT
    {TOP} ROWS ONLY
 
Operações com Dados

Leitura (processamento cronológico): consulta registros com filtro por DATA_PARA_TRANSFERENCIA, ordena por DATA_PARA_TRANSFERENCIA ASC e pagina os resultados utilizando OFFSET/FETCH NEXT.

Captura manual: monta dinamicamente o filtro WHERE CODIGO IN ('...', '...') a partir da lista de códigos informados.

Fila de Processamento

Descrição Conceitual

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 Protheus.

Estruturação de Dados
Campo no payload Campo de origem
E4_CODIGO CODIGO
E4_TIPO TIPO
E4_COND COND_PGTO
E4_DESCRI DESC_COND_PGTO
E4_DDD DDD
E4_MSBLQL MSBLQL
 
Tratamento de Dados

O payload é montado via getConteudo sem transformações numéricas ou de padronização adicionais.

 

Integração com o Protheus

Chamada de integração com o Protheus

  • Chamada: Requisição HTTP
  • Recurso: /rest/condicaopgto
  • Método HTTP: padrão do integrador (não especificado explicitamente no código)

Exemplo de payload enviado

{
  "E4_CODIGO": "",
  "E4_TIPO": "",
  "E4_COND": "",
  "E4_DESCRI": "",
  "E4_DDD": "",
  "E4_MSBLQL": ""
}
Tratamento de retorno

Ausência de resposta: gera erro com mensagem JSON: NÃO HOUVE RESPOSTA.

Resposta inválida/inesperada: se não for array ou não contiver Mensagem, gera erro com JSON: NÃO FOI POSSÍVEL DECODIFICAR A RESPOSTA.

Condição de erro: quando existir code na resposta ou quando Mensagem = ERRO, o processamento é marcado como falha.

Condição de sucesso: quando não houver code e Mensagem for diferente de ERRO, o registro é finalizado como sucesso.

Mensagem detalhada: quando presente, Mensagem Detalhada é utilizada como base da mensagem final.

Persistência do resultado: o registro processado é atualizado na tabela Fila de Processamento (base integrador), registrando retorno, mensagem, requisição, tempo e situação de processamento.

Encaminhamento em cenário de erro

Quando ocorre falha no envio ou na validação da resposta, o registro permanece como erro com mensagem registrada para correção e reprocessamento.

 
Notificação
Existe um mecanismo de notificação que identifica os itens com erro na fila de processamento, ordenando por data de processamento e enviando em um relatório a destinatários pré-definidos.

Fluxo do Processo

Diagrama sem nome.jpg


Critérios de Aceitação
Processo Subprocesso Descrição Situação esperada
Capturador Captura cronológica e encaminhamento Ao consultar a view WOSK_SERVICO_ENVIA_PROTHEUS_COND_PGTO com filtro DATA_PARA_TRANSFERENCIA >= ..., ordenar por DATA_PARA_TRANSFERENCIA ASC e paginar com OFFSET/FETCH NEXT, deve registrar na Fila de Processamento um registro para cada registro retornado, com chave igual ao CODIGO. Registros pendentes registrados na fila, prontos para processamento.
Capturador Captura manual Ao informar um ou mais códigos, deve consultar a view com WHERE CODIGO IN (...) e registrar cada registro correspondente na fila. Registros pendentes registrados na fila para os códigos informados.
Fila de Processamento Integração e persistência do retorno Após enviar ao Protheus (recurso condicaopgto), deve validar a resposta (sucesso quando ausência de code e Mensagem diferente de ERRO) e registrar em Fila de Processamento o retorno, mensagem e situação final. Fila atualizada com situação final e detalhes de auditoria.