lucasborges8068 Postado 24 Junho Postado 24 Junho Ajuste no retorno de consulta em lote do Asaas - LerListaRetorno Identifiquei um problema na unit ACBrBoletoRet_Asaas, no método TRetornoEnvio_Asaas.LerListaRetorno. Na consulta de cobranças do Asaas, a API retorna uma estrutura de lista, onde os dados gerais da paginação ficam no JSON raiz, e os dados de cada cobrança ficam dentro do array data[]. No método LerListaRetorno, dentro do loop do array data[], alguns campos da cobrança estavam sendo lidos a partir do objeto raiz LJSON: ListaRetorno.DadosRet.TituloRet.ValorDocumento := LJSON.AsFloat['originalValue']; ListaRetorno.DadosRet.TituloRet.ValorDocumento := LJSON.AsFloat['value']; ListaRetorno.DadosRet.TituloRet.ValorAtual := LJSON.AsFloat['value']; ListaRetorno.DadosRet.TituloRet.ValorPago := LJSON.AsFloat['value']; ListaRetorno.DadosRet.TituloRet.ValorRecebido := LJSON.AsFloat['netValue']; Porém esses campos não existem no objeto raiz. Eles pertencem ao objeto da cobrança atual, obtido por: LJSONObject := LJSONArray.ItemAsJSONObject[I]; Com isso, em consultas de retorno/listagem, os valores de ValorDocumento, ValorAtual, ValorPago e ValorRecebido podiam vir zerados, mesmo a API retornando value/netValue corretamente dentro de data[]. A correção foi alterar a leitura desses campos para usar LJSONObject. Motivo da alteração: - LJSON representa a resposta completa/lista/paginação. - LJSONObject representa a cobrança atual dentro de data[]. - Os campos value, netValue e originalValue são propriedades da cobrança, não da resposta raiz. Com esse ajuste, a consulta em lote do Asaas passa a preencher corretamente os valores da cobrança retornada, permitindo processar baixas/retornos com os valores corretos. ACBrBoletoRet_Asaas.pas
Consultores juliomar.marchetti Postado 26 Junho Consultores Postado 26 Junho Boa noite validado no manual no svn At revision: 46905 Juliomar Marchetti Ajude o Projeto ACBr crescer - Seja Pro discord: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!
Recommended Posts
Crie uma conta ou entre para comentar
Você precisar ser um membro para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora