Ir para conteúdo
  • Cadastre-se

dev botao

Consulta Retorno para Banco Bancoob


Ver Solução Respondido por Daniel InfoCotidiano,
  • Este tópico foi criado há 424 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

Olá.

Tentei implementar a consulta de retorno por período para o banco Bancoob, conforme o exemplo do Demo do ACBr. O código em minha aplicação ficou da seguinte forma:

  FiltrosAPI := ACBrBoleto.Configuracoes.WebService.Filtro;

  FiltrosAPI.Clear;
  FiltrosAPI.indicadorSituacao        := isbBaixado;
  FiltrosAPI.dataMovimento.DataInicio := IncDay(Date,-1);
  FiltrosAPI.dataMovimento.DataFinal  := Date;

  ACBrBoleto.Configuracoes.WebService.Operacao := tpConsulta;

  try
    Result := ACBrBoleto.Enviar;
    Retorno := ACBrBoleto.ListaConsultaRetornoWeb;

Porém recebi o seguinte retorno:

TBoletoW_BancoobOperação CONSULTA_BOLETO nao Implementado para este Banco

Gostaria de confirmar se de fato para o Bancoob não permite a consulta de boletos baixados por período, e se existe outra forma de fazer para receber o retorno de todos os boletos que foram pagos (semelhante ao arquivo de remessa baixado pelo banco)?

Obrigado.

  • Consultores
  • Solution
Postado

Bom dia @C4Dev
Infelizmente o Bancoob tem uma particuladirade que os outros bancos não tem que é a forma da consulta.
Hoje só está implementado a tpConsultaDetalhe
Pois a consulta que traz a lista de boletos (tpConsulta) como nos outros bancos é diferente, precisa solicitar, esperar o processamento e baixar a lista e nos testes ficou inviável pela demora, mais detalhes dos testes realizados:

 

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

  • Membros Pro
Postado

Obrigado @Daniel InfoCotidiano pelo retorno.

O problema que acabamos caindo é que a API do Bancoob está limitando a quantidade de requisições por minuto.

Pelo que identificamos o limite está em 20, pois se passamos mais de 20 boletos para consultar o retorno, retorna erro 500 a partir do 21, aí tem que esperar mais 1 minuto para consultar novamente.

Alguém talvez já relatou essa situação para vocês?

  • Membros Pro
Postado

@Daniel InfoCotidiano

Fiz contato com o atendimento do Sicoob para APIs e me passaram que não teria limite de consultas.

Fiz alguns testes pelo Insomnia e realmente não bloqueou, porém fazendo pelo ACBr chegava em um determinado momento que retornava o erro:

{"mensagens": [{"mensagem": "A URL requisitada foi rejeitada. Favor consultar seu Administrador.","codigo": "12082918984423845463"}]}

Debugando o ACBr encontrei um problema, que aparentemente ajustando resolveu.

Na classe ACBrBoletoW_Bancoob.pas, na procedure TBoletoW_Bancoob.RequisicaoConsultaDetalhe é adicionado no StringList o Header do client para cada boleto. Ficando repetido o mesmo Header várias vezes no FPHeaders .

No momento de fazer a request, na classe ACBrBoletoWS.Rest.pas, na procedure procedure TBoletoWSREST.Executar é adicionado o FPHeaders ao HTTP, porém ele vai estar com dezenas de linhas.

O que fiz foi na procedure TBoletoW_Bancoob.RequisicaoConsultaDetalhe da classe ACBrBoletoW_Bancoob.pas limpar o FPHeaders antes de passar o valor, e não ocorreu mais o erro.

  • Curtir 1
  • Consultores
Postado
Em 06/09/2023 at 14:19, C4Dev disse:

@Daniel InfoCotidiano

Fiz contato com o atendimento do Sicoob para APIs e me passaram que não teria limite de consultas.

Fiz alguns testes pelo Insomnia e realmente não bloqueou, porém fazendo pelo ACBr chegava em um determinado momento que retornava o erro:

{"mensagens": [{"mensagem": "A URL requisitada foi rejeitada. Favor consultar seu Administrador.","codigo": "12082918984423845463"}]}

Debugando o ACBr encontrei um problema, que aparentemente ajustando resolveu.

Na classe ACBrBoletoW_Bancoob.pas, na procedure TBoletoW_Bancoob.RequisicaoConsultaDetalhe é adicionado no StringList o Header do client para cada boleto. Ficando repetido o mesmo Header várias vezes no FPHeaders .

No momento de fazer a request, na classe ACBrBoletoWS.Rest.pas, na procedure procedure TBoletoWSREST.Executar é adicionado o FPHeaders ao HTTP, porém ele vai estar com dezenas de linhas.

O que fiz foi na procedure TBoletoW_Bancoob.RequisicaoConsultaDetalhe da classe ACBrBoletoW_Bancoob.pas limpar o FPHeaders antes de passar o valor, e não ocorreu mais o erro.

Bom dia!

Muito obrigado pela contribuição!

Por favor, pode disponibilizar o(s) arquivo(s) alterados para validação e possível inclusão no SVN?

  • Curtir 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

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 !!

  • Membros Pro
Postado

Boa tarde @Diego Foliene

Tentei anexar o arquivo, mas está a limitando 4.7Kb de anexos.

Segue trecho alterado na unit ACBrBoletoW_Bancoob.pas.

Antes:

procedure TBoletoW_Bancoob.RequisicaoConsultaDetalhe;
begin
  FPHeaders.Add(C_SICOOB_CLIENT+': '+Boleto.Cedente.CedenteWS.ClientID);
end;

 

Depois:

procedure TBoletoW_Bancoob.RequisicaoConsultaDetalhe;
begin
  FPHeaders.Clear;
  FPHeaders.Add(C_SICOOB_CLIENT+': '+Boleto.Cedente.CedenteWS.ClientID);
end;

Se tiver outra forma de lhe enviar o arquivo posso estar compartilhando também.

  • Curtir 1
  • Consultores
Postado

@C4Dev Boa tarde,

Aqui no forum mesmo... na parte superior no seu perfil tem uma opção "Meus anexos".

Nessa opção vc pode localizar anexos mais antigos e eliminar. Assim libera espaço e vc pode anexar novos documentos.

  • Curtir 1
Consultor SAC ACBr

Alexandre de Paula
Ajude o Projeto ACBr crescer - Assine o SAC                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

 

  • Consultores
Postado

Criada a TK-4419 para avaliar a contribuição.

Obrigado!

  • Curtir 1
Consultor SAC ACBr

Alexandre de Paula
Ajude o Projeto ACBr crescer - Assine o SAC                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

 

  • 2 semanas depois ...
  • Este tópico foi criado há 424 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.