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
- Liberação da API de baixa 15359022 DMANFINLGX-21402 Colaborativo FSWLGX-2415 - Criar API para baixar duplicatas a receber
- Habilitar servidor REST → Detalhes de como habilitar o serviço de API’s podem ser consultadas em: https://tdn.totvs.com/pages/viewpage.action?pageId=185747842