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á 520 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á 520 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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...