Páginas filhas
  • 17242070 DMANFINLGX-22673 Colaborativo FSWLGX-3130 API para Exclusão de pagamentos de Contas a Receber


01. DADOS GERAIS

Produto:

TOTVS Backoffice

Linha de Produto:

Linha Logix

Segmento:

Manufatura

Módulo:

TOTVS Backoffice (Linha Logix) - Finanças

Função:DischargeDoc.v2 - API baixa de duplicatas & exclusão da baixa
País:Brasil
Ticket:17242070
Requisito/Story/Issue (informe o requisito relacionado) :DMANFINLGX-22673


02. SITUAÇÃO/REQUISITO

Criação da API de exclusão da baixa de duplicatas/títulos de forma automática, carregando as informações e fazendo as validações necessárias para a exclusão da baixa, conforme FIN10061 - Exclusão da baixa de títulos.

03. SOLUÇÃO

A versão v2 da API faz tanto o POST (inclusão da baixa do título) quanto o DELETE (exclusão da baixa):

  • Habilitar servidor REST
  • Verbo/Método: DELETE ({{host}}/api/financeiro/v2/DischargeDoc)
  • Ao realizar o método DELETE, deve-se informar os parâmetros (chave) da baixa a ser excluída, passando os parâmetros na requisição.
  • A chave para a exclusão da baixa é: Empresa, número do documento, tipo do documento e a sequência de pagamento a ser excluída.
    • Os valores dos parâmetros, devem seguir a seguinte sequência, como nome do parâmetro e valor, iniciando com ? e separados por &:
    • Exemplo: http://{localhost:[porta]}/api/fin/v2/dischargeDoc?cod_empresa=01&num_docum=01042022-01&ies_tip_docum=DP&num_seq_docum=2
    • Os valores não devem estar entre aspas, ele entende tudo como uma única string/char e validará o tamanho dos campos informados, por exemplo: O campo cod_empresa com mais de 2 posições; validará se o campo num_seq_docum, que deve ser numérico, tiver caracteres alfanuméricos informado.
    • A API validará inicialmente se os parâmetros informados estão corretos e se documento e sequência de baixa existem nas tabelas docum e na docum_pgto. Após, seguirá com todas as validações feitas pelas funções padrões FIN, da mesma forma como se estivesse sendo realizada através do programa de exclusão da baixa FIN10061 (tela "Detalhe").
    • Não foi possível fazer a exclusão informando vários documentos na mesma requisição (como feito na baixa), pois o padrão do método DELETE exige que a API envie/receba a chave a ser excluída. Por isso, se necessário a exclusão de várias baixas, deverá ser feita uma requisição para cada documento/chave a ser excluído.


Layout Json retorno:

  • Retornará mensagem de exclusão efetuada com sucesso quando processamento com sucesso (status ok);
  • Retornará mensagem de erro quando ocorrer problema;


Exemplo Json retorno ok:

{

    "code": "204",

    "message": "Exclusão da baixa de pagamento efetuada com sucesso.",

    "detailMessage": ""

}

    

Exemplo Json retorno erro:

{

    "code": "404",

    "message": "Erro durante a exclusão da baixa do pagamento.",

    "detailMessage": "Sequência de pagamento (2   ) não existente para o documento (10009/DP) na empresa 01."

}


Outro exemplo, com detalhe do documento que ocorreu o problema:

04. DEMAIS INFORMAÇÕES

  • No FIN10061, na validação dos dados, ao verificar se o título tem cobrança descontada e se o parâmetro (utiliz_cobr_desconto_manual) não estiver marcado, o programa apresenta a seguinte mensagem ao usuário "O título tem cobrança descontada. A exclusão da baixa cancelará o portador do título. Confirma?", solicitando confirmação. Na API, vamos assumir como se a resposta fosse sim, para efetivar a exclusão que está sendo enviada (caso contrário, ele sairia sem excluir).
  • Outra validação do FIN10061 é em relação ao tipo de documento. Se for ND (Nota de Débito) e estiver vinculada a uma DP (Duplicata), não permite a exclusão. Retornará mensagem de erro.
  • No FIN10060 (Baixa de título), ou através da API, o usuário informa os dados da conciliação bancária quando há a integração com o TRB (Transações Bancárias). No FIN10061 (Exclusão de baixas), quando ao excluir uma baixa realizada o programa encontrar mais de um registro no TRB para aquele título/lote, o programa abre uma tela de interação com o usuário, para informar os dados de estorno no TRB. No caso da API, como não temos como abrir tela e identificar esse estorno, assumiremos um rateio do maior valor para o menor para fazer o estorno, até zerar o valor/saldo do documento que está sendo excluído.
  • Não prevê conceito de multimoeda.


05. ASSUNTOS RELACIONADOS