Ir para conteúdo
  • Cadastre-se

luciano_f

Membros
  • Total de ítens

    291
  • Registro em

  • Última visita

2 Seguidores

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

luciano_f's Achievements

Community Regular

Community Regular (8/14)

  • Dedicated Rare
  • Reacting Well Rare
  • First Post
  • Collaborator Rare
  • Week One Done

Recent Badges

24

Reputação

2

Community Answers

  1. o retorno que eu tenho é esse: JSON Retorno = {"_pageable":{"_limit":1000,"_offset":0,"_pageNumber":null,"_pageElements":0,"_totalPages":null,"_totalElements":0},"_content":[]} ------------------------------------------------------------------------------------------------------------ 13/05/26 19:47:31:477 -03:00 - Autenticando Token... 13/05/26 19:47:31:479 -03:00 - Comando Enviar: TOAuth 13/05/26 19:47:31:481 -03:00 - URL: [POST] https://trust-open.api.santander.com.br/auth/oauth/v2/token 13/05/26 19:47:31:854 -03:00 - Validade: 13/05/2026 20:02:31 13/05/26 19:47:31:858 -03:00 - Comando Enviar: TBoletoW_Santander_API 13/05/26 19:47:31:862 -03:00 - Comando Enviar: 13/05/26 19:47:31:863 -03:00 - URL: [GET] https://trust-open.api.santander.com.br/collection_bill_management/v2/workspaces/e12ccaac-86ea-42c5-9ee9-513184f925b3/bank_slips?_limit=1000&paymentDateInitial=2026-04-20&paymentDateFinal=2026-05-13&status=LIQUIDADO 13/05/26 19:47:32:104 -03:00 - Retorno Envio: TBoletoW_Santander_API 13/05/26 19:47:32:108 -03:00 - Código do Envio: 200 1.1 OK Fazendo a consulta de Apenas um Boleto alimentando do Titulo eu consigo um retorno valido Index = 1 Numero Boleto (NSU) = 19598 Seu Numero = 19598 Valor Original = R$ 1,00 Valor Pago = R$ 1,00 Data Vencimento = 05/07/2026 Data Movimento = 11/05/2026 Data Credito = 12/05/2026 Codigo Estado Titulo Cobrança = 06 Estado Titulo Cobranca = Liquidado
  2. Olá boa noite. Pessoal eu consigo fazer o envio e registro do Boleto 100% Porém estou perdido em como fazer a consulta. todas pesquisas que fiz aqui no forum se resume a esse tipo de codigo: FiltrosAPI := ACBrBoleto.Configuracoes.WebService.Filtro; FiltrosAPI.Clear; FiltrosAPI.indicadorSituacao := isbBaixado; FiltrosAPI.dataMovimento.DataInicio := IncDay(date,-30); FiltrosAPI.dataMovimento.DataFinal := Date; FiltrosAPI.indiceContinuidade := 0; ACBrBoleto.Configuracoes.WebService.Operacao := tpConsulta; ACBrBoleto.Enviar; Porém usando "TpConsulta" dá erro dizendo que não é implementado para o Banco "Santander" Usando "tpConsultaDetalhe" funciona porém não traz registro algum Apôs o codigo de cima eu faço um for da seguinte forma: Retorno := ACBrBoleto.ListaConsultaRetornoWeb; if Retorno.Count > 0 then begin for I := 0 to Pred(Retorno.Count) do begin // Comandos internos do meu ERP end; end else if ACBrBoleto.TotalListaRetornoWeb > 0 then begin for I := 0 to Pred(AcbrCobranca.ListadeBoletos.Count) do begin // Comandos internos do meu ERP end; end; Porém se eu fizer uma consulta de Apenas um Boleto alimentando o Titulo do Boleto antes de "Enviar" eu consigo obter todos os resultados do mesmo se foi pago ou não então minha duvida ? Eu de fato preciso alimentar os Titulos para conseguir fazer uma consulta ? Eu Também já tentei o seguinte codigo que vi aqui no forum porém não funciona Titulo := ACBrBoleto.CriarTituloNaLista; With Titulo do begin FiltrosAPI := ACBrBoleto.Configuracoes.WebService.Filtro; FiltrosAPI.Clear; FiltrosAPI.indicadorSituacao := isbBaixado; FiltrosAPI.dataMovimento.DataInicio := IncDay(date,-30); FiltrosAPI.dataMovimento.DataFinal := Date; FiltrosAPI.indiceContinuidade := 0; ACBrBoleto.Configuracoes.WebService.Operacao := tpConsultaDetalhe; ACBrBoleto.Enviar; End;
  3. Boa tarde aos Administradores Alguma posição ?
  4. Estou migrando para o "TACBrTEFAPI" porem não quero usar a Classe "uVendaClass" do demo e mesmo estudando essa classe eu não consegui entender como ela capturar esse dados: Em "TACBrTEFResp" eu não encontrei TipoPagamento SaldoAPagar SaldoRestante TotalPago
  5. Aos Administradores algum feedback do que fiz ???
  6. Pessoal uma outra forma de resolver isso sem precisar mexer no Evento citado acima seria cria uma nova property em "TACBrArquivos" property ListaArquivoLog : TStrings read FListaArquivoLog write FListaArquivoLog; Eu fiz algumas alterações apenas acrescentando a funcionalidade sem precisar alterar as já existentes Em anexo as 3 Units que Modifiquei Baixei a ultima versão do ACBR hoje e modifiei coloquei o comentario // Luciano na frente do codigo para o Administradores conseguir localizar e analisar o fiz se é possivel subir no Trunk dessa forma que eu fiz fica mais simples de administrar os retornos simples sem precisar ficar salvando no Disco. ACBrBoleto.pas ACBrBoletoWS.pas ACBrBoletoWS.Rest.OAuth.pas
  7. Pelo que entendi existe um problema com o Evento: TACBrGravarLog = procedure(const ALogLine: String; var Tratado: Boolean) of object ; Pois por esse evento eu não consigo saber o nivel de log Seria bom se tivesse outra opção nesse evento que ficaria assim: TACBrGravarLog = procedure(const ALogLine: String; var Tratado: Boolean; const ANivelSeveridadeLog : TNivelLog) of object ; Desse forma eu conseguiria obter um Log simples com esse evento pois em: procedure TOAuth.DoLog(const AString: String; const ANivelSeveridadeLog : TNivelLog); var Tratado: Boolean; LLog : string; begin Tratado := False; if ANivelSeveridadeLog = logNenhum then Exit; LLog := NativeStringToAnsi(AString); if Assigned(FACBrBoleto.Configuracoes.Arquivos.OnGravarLog) then FACBrBoleto.Configuracoes.Arquivos.OnGravarLog(LLog, Tratado, ANivelSeveridadeLog); // Alterado para passar o tipo de log para ser tratato no evento if Tratado or (FACBrBoleto.Configuracoes.Arquivos.LogNivel >= ANivelSeveridadeLog) then GravaLog(LLog); end;
  8. Pessoal voltando nessa questão alguma ajuda ? Grato a todos
  9. Fazendo homologação para o Santander eles me pediram para informar a URL de envio da produção Sei a que a URL tem o Token junto tem uma propriedade do Componente que eu consigo capturar essa URL quando vou fazer o envio sem precisar depurar ?
  10. Na Classe "TBoletoWSClass" tem "ATitulo" que é acessada em todas as unit API dos bancos Porém não sei como acessar o retorno desse "ATitulo" quando faço uma consulta para não ter que fazer um Loop e usar esse tipo de código: for I := 0 to Pred(Retorno.Count) do begin Titulo := AcbrCobranca.CriarTituloNaLista; Titulo.NossoNumero := Retorno[I].DadosRet.TituloRet.NossoNumero; Etc..... End; Se alguém puder postar um exemplo que como Carrego a lista de títulos de uma consulta WS fico muito grato.
  11. @Juliomar Marchetti Ainda não sei como alimentar os titulos de forma automática. Até encontrei esse outro tópico porém não sei ao certo como fazer poderia me explicar melhor. https://www.projetoacbr.com.br/forum/topic/88636-acbr-8655implementação-de-lista-de-boletos-liquido-com-qr-code-bradesco-via-api-do-site-bradesco-developers/
  12. @Juliomar Marchetti Acredito que o amigo não entendeu, Eu resolvi e se algum colega precisar Carregar a Lista Web para os titulos: FiltrosAPI := AcbrCobranca.Configuracoes.WebService.Filtro; FiltrosAPI.Clear; FiltrosAPI.indicadorSituacao := isbBaixado; FiltrosAPI.dataMovimento.DataInicio := Ed_DataBWS1.Date; FiltrosAPI.dataMovimento.DataFinal := Ed_DataBWS2.Date; FiltrosAPI.indiceContinuidade := 0; AcbrCobranca.Configuracoes.WebService.Operacao := tpConsulta; AcbrCobranca.Enviar; Retorno := AcbrCobranca.ListaConsultaRetornoWeb; if Retorno.Count > 0 then begin for I := 0 to Pred(Retorno.Count) do begin Titulo := AcbrCobranca.CriarTituloNaLista; AcbrCobranca.NumeroArquivo := I; AcbrCobranca.DataArquivo := Now; Titulo.NossoNumero := Retorno[I].DadosRet.TituloRet.NossoNumero; Titulo.SeuNumero := Retorno[I].DadosRet.TituloRet.SeuNumero; Titulo.NumeroDocumento := Retorno[I].DadosRet.TituloRet.NumeroDocumento; Titulo.DataDocumento := Retorno[I].DadosRet.TituloRet.DataDocumento; Titulo.DataProcessamento := Retorno[I].DadosRet.TituloRet.DataProcessamento; Titulo.Vencimento := Retorno[I].DadosRet.TituloRet.Vencimento; Titulo.DataCredito := Retorno[I].DadosRet.TituloRet.DataCredito; Titulo.DataBaixa := Retorno[I].DadosRet.TituloRet.DataBaixa; Titulo.DataProtesto := Retorno[I].DadosRet.TituloRet.DataProtesto; Titulo.DataBaixa := Retorno[I].DadosRet.TituloRet.DataBaixa; Titulo.DataCredito := Retorno[I].DadosRet.TituloRet.DataCredito; Titulo.ValorDocumento := Retorno[I].DadosRet.TituloRet.ValorDocumento; Titulo.ValorDespesaCobranca := Retorno[I].DadosRet.TituloRet.ValorDespesaCobranca; Titulo.ValorAbatimento := Retorno[I].DadosRet.TituloRet.ValorAbatimento; Titulo.ValorDesconto := Retorno[I].DadosRet.TituloRet.ValorDesconto; Titulo.ValorMoraJuros := Retorno[I].DadosRet.TituloRet.ValorMoraJuros; Titulo.ValorOutrosCreditos := Retorno[I].DadosRet.TituloRet.ValorOutrosCreditos; Titulo.ValorOutrasDespesas := Retorno[I].DadosRet.TituloRet.ValorOutrasDespesas; Titulo.ValorRecebido := Retorno[I].DadosRet.TituloRet.ValorRecebido; Titulo.ValorIOF := Retorno[I].DadosRet.TituloRet.ValorIOF; Titulo.Carteira := Retorno[I].DadosRet.TituloRet.Carteira; Titulo.DataOcorrencia := Retorno[I].DadosRet.TituloRet.DataProcessamento; Titulo.OcorrenciaOriginal.Tipo := toRetornoBaixado; Titulo.DescricaoMotivoRejeicaoComando.Text := Retorno[I].DadosRet.TituloRet.estadoTituloCobranca; Titulo.Sacado.NomeSacado := Retorno[I].DadosRet.TituloRet.Sacado.NomeSacado; Titulo.Sacado.CNPJCPF := Retorno[I].DadosRet.TituloRet.Sacado.CNPJCPF; Titulo.Instrucao1 := Retorno[I].DadosRet.TituloRet.Instrucao1; Titulo.Instrucao2 := Retorno[I].DadosRet.TituloRet.Instrucao2; end; end; Porque eu preciso do alimentar os titulos ? Quando faço leitura do arquivo remessa a Classe "TACBrTitulo" é alimentada automaticamente pelo componente e Eu faço uso dos Titulos para varias analises do meu EPR para baixa em meu banco de dados dos documentos.
  13. Quando executo o comando: FiltrosAPI := AcbrCobranca.Configuracoes.WebService.Filtro; FiltrosAPI.Clear; FiltrosAPI.indicadorSituacao := isbBaixado; FiltrosAPI.dataMovimento.DataInicio := Ed_DataBWS1.Date; FiltrosAPI.dataMovimento.DataFinal := Ed_DataBWS2.Date; FiltrosAPI.indiceContinuidade := 0; AcbrCobranca.Configuracoes.WebService.Operacao := tpConsulta; AcbrCobranca.Enviar; Retorno := AcbrCobranca.ListaConsultaRetornoWeb; if Retorno.Count > 0 then begin for I := 0 to Pred(Retorno.Count) do begin SLRetorno.Add('Codigo Estado Titulo Cobranca = ' + Retorno[I].DadosRet.TituloRet.codigoEstadoTituloCobranca); SLRetorno.Add('Estado Titulo Cobranca = ' + Retorno[I].DadosRet.TituloRet.estadoTituloCobranca); End; Eu não sei como saber: OcorrenciaOriginal.Tipo // da classe "TACBrTipoOcorrencia" Quando a leitura é por arquivo Remessa o componente faz algo assim: procedure TACBrBancoSantander.LerRetorno400(ARetorno: TStringList); Begin OcorrenciaOriginal.Tipo := CodOcorrenciaToTipo(StrToIntDef(copy(Linha,109,2),0)); No aquivo retorno WS tem o codigo: function TRetornoEnvio_Santander_API.RetornaCodigoOcorrencia(pSituacaoGeralBoleto: string) : String; var LSituacao : string; begin LSituacao := AnsiUpperCase(pSituacaoGeralBoleto); if (LSituacao = 'ATIVO') then Result := '02' else if (LSituacao = 'LIQUIDADO') then Result := '06' else if (LSituacao = 'BAIXADO') then Result := '09' else Result := '99'; end; porém esse codigo assima não refrete todos os tipos de ocorrencias da classe "TACBrTipoOcorrencia"
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.