LiquidacaoReceber
Liquidação e cancelamento de liquidação de títulos do Contas a Receber
(tabela SE1) via rotina automática FINA460
do Protheus. Endpoint Tier 3 — verbo no path com
prefixo underscore: /_liquidar (nOper=3) e
/_cancelar (nOper=5). POST único com dispatcher por
último segmento da URL.
MSBLQL diretamente. Bloqueio relevante recai sobre o cliente (SA1) e os títulos origem (SE1), avaliado pelo próprio FINA460.Endpoint OAuth2
Sem credenciais? Você pode pegar o token rodando
./src/scripts/get-token.sh na biblioteca e
colar o access_token aqui no campo de refresh
(ou clique em "Logout" para limpar e voltar ao fake).
Vinculação com o ERP
Convenções
Verbo no path (Tier 3). O endpoint expõe duas ações
via POST único com dispatcher pelo último segmento
da URL: /_liquidar (FINA460 nOper=3) e
/_cancelar (FINA460 nOper=5). Qualquer outro segmento
retorna 404 com mensagem listando as ações aceitas.
Identificação dos títulos por RECNO. A lista
titulos[] traz objetos {recno: N}. O endpoint
posiciona a SE1 com DbGoTo(N) e captura
E1_PREFIXO+E1_NUM+E1_PARCELA+E1_VENCTO+E1_VALOR para
montar o sub-array aAutoIts. RECNO inválido
ou registro não encontrado retorna 422.
Cabeçalho da liquidação. Os campos
cliente, loja, natureza e
tipo são obrigatórios. Ausência de
qualquer um retorna 422. moeda default
1 (Real). marcaPix vazio = não usar;
não-vazio = ativa AUTMRKPIX=.T. no array.
Cancelamento. A ação /_cancelar
aceita apenas numeroLiquidacao (obrigatório) e
filialOrigem (opcional, vira sentinela
cAutoFil no cabeçalho do FINA460).
Status HTTP.
200 em sucesso;
400 body ausente ou JSON malformado;
404 ação desconhecida;
422 validação ou FINA460 rejeitou (campos obrigatórios,
RECNO inválido, regra de negócio);
500 exceção não tratada (capturada por
Begin Sequence).
Liquidação de Títulos a Receber (FINA460)
Liquidação e cancelamento via FINA460 — Tier 3 (verbo no path)Descrição
Processa a liquidação de uma lista de títulos a receber via
FINA460 com nOper=3. Os títulos são
identificados por RECNO na tabela SE1;
o endpoint posiciona o registro, captura prefixo / número /
parcela / vencimento / valor e monta o sub-array
aAutoIts esperado pelo wrapper
U_FN460Exc.
Status HTTP.
200— liquidação processada com sucesso.400— body ausente / JSON malformado.422— campo obrigatório ausente, RECNO inválido ou FINA460 rejeitou.500— exceção não tratada.
Cenário
LiquidarRequest) —
varia a combinação enviada.
Request body
LiquidarRequest.
1.AUTMRKPIX=.T..SE1 (1 por item da lista).Exemplo da requisição (cenário ativo)
POST https://erpapi.jetme.com.br/api/99/01/WsLiqReceber/_liquidar Authorization: Bearer eyJhbGciOiJIUzI1NiIs… Content-Type: application/json Accept: application/json { "condicao": "001", "natureza": "1101", "tipo": "RC", "cliente": "000001", "loja": "01", "moeda": 1, "marcaPix": "", "titulos": [ { "recno": 12345 } ] }
POST https://erpapi.jetme.com.br/api/99/01/WsLiqReceber/_liquidar Authorization: Bearer eyJhbGciOiJIUzI1NiIs… Content-Type: application/json Accept: application/json { "condicao": "001", "natureza": "1101", "tipo": "RC", "cliente": "000001", "loja": "01", "moeda": 1, "marcaPix": "", "titulos": [ { "recno": 12345 }, { "recno": 12346 }, { "recno": 12347 } ] }
Respostas
RespostaSucesso.Begin Sequence). Tier: business-error.Exemplo de resposta
{
"success": true,
"message": "Liquidacao processada com sucesso.",
"data": "OK"
}
Descrição
Cancela uma liquidação previamente gerada via
FINA460 com nOper=5. O cabeçalho do
MsExecAuto recebe a sentinela
cNumLiqCan com o número da liquidação;
aAutoIts permanece vazio.
Status HTTP.
200— cancelamento processado com sucesso.400— body ausente / JSON malformado.422— número ausente ou FINA460 rejeitou.500— exceção não tratada.
Request body
cAutoFil).Exemplo da requisição (cenário ativo)
POST https://erpapi.jetme.com.br/api/99/01/WsLiqReceber/_cancelar Authorization: Bearer eyJhbGciOiJIUzI1NiIs… Content-Type: application/json Accept: application/json { "numeroLiquidacao": "000000001", "filialOrigem": "01" }
Respostas
Exemplo de resposta
{
"success": true,
"message": "Cancelamento de liquidacao processado com sucesso.",
"data": "OK"
}
Schemas
Definições canônicas — campos com origemSX3 rastreável
POST /_liquidar. Cabeçalho da liquidação
+ lista de títulos identificados por RECNO.
1.AUTMRKPIX=.T..titulos[]. Identifica o título origem
pelo RECNO na tabela SE1.
POST /_cancelar. Identifica a liquidação
a cancelar pelo número e (opcionalmente) filial origem.
200 para
_liquidar e _cancelar.
true em 200."OK" em sucesso.400 / 404 /
422 / 500.
false em erro.Cenários
Catálogo de combinações de payload reconhecidas pelas ações/_liquidar e /_cancelar.
Quando usar: recebimento avulso de cliente, sem agrupamento.
Pré-condições: existe um título em
SE1 liquidável; cliente SA1 não
bloqueado; natureza SED cadastrada.
Próximos passos: guardar
E1_NUMLIQ gerado para eventual
/_cancelar.
Quando usar: recebimento consolidado (transferência única referente a várias parcelas / notas).
Pré-condições: todos os RECNOs apontam para títulos do mesmo cliente/loja informados no cabeçalho; títulos liquidáveis.
Validação: RECNO inválido / título não encontrado interrompe o processamento e retorna 422.
1 (Real).{recno}.Quando usar: liquidação digitada por engano, recebimento estornado pelo banco.
Pré-condições: liquidação existente (
E1_NUMLIQ conhecido); na mesma filial origem
quando filialOrigem for informado.
Resultado: 200 OK e os títulos voltam ao estado anterior à liquidação.
cAutoFil).Pendências conhecidas (rev1)
Identificação por RECNO acopla integração ao layout
físico. A entrada titulos[].recno exige
que o consumidor descubra o RECNO do título origem
(consulta SE1 ou endpoint dedicado). Evolução
natural: aceitar também
{prefixo,num,parcela,tipo} e resolver internamente
para RECNO. Sem pressa enquanto o front consumir só
o endpoint de listagem de títulos.
Smoke happy-path depende de RECNO real. O
script test-liquidacao-receber.sh cobre apenas
negativos por default; happy-path precisa
--recno N1 --recno N2 com RECNOs válidos da base.
Refinar para descobrir RECNO automaticamente via cliente sentinel
no próximo ciclo.
Sem GET de consulta. Endpoint de processo;
não expõe consulta direta da liquidação gerada (apenas o
E1_NUMLIQ retornado pelo cliente, via consulta na
SE1). Avaliar GET _byNumLiq em revisão futura
conforme demanda do front.