Ir para conteúdo
  • Cadastre-se

dev botao

Consulta sem incluir título para API Boleto Sicoob. É possível?


Ver Solução Respondido por Daniel InfoCotidiano,

Recommended Posts

  • Membros Pro
Postado

Oi, boa tarde

estamos implementando aqui na empresa apenas agora a API do Boleto do Sicoob, não tivemos experiência anterior com API, apenas via CNAB. No CNAB, tínhamos o arquivo de retorno que informava os títulos pagos no último dia útil.

Como estou usando o Demo ACBR Boleto para entender o fluxo antes de implementar em meu ERP, fiquei confuso sobre o processo de consulta. Ela já está funcionando nos meus testes porém eu estou precisando informar os títulos antes na consulta clicando no "Incluir Título". Já fiz consultas informando Nosso Número de mais de 100 registros e todos retornando corretamente.

Mas eu gostaria de otimizar isso pois quando houver um volume muito grande de títulos (e.g. 5 mil), a consulta ficará muito pesada. Eu gostaria de ter uma opção mais parecida com o arquivo de retorno do CNAB, onde eu receberia as informações dos títulos pagos do dia anterior (ou de certa data), sem necessidade de eu informar os títulos antes. Por isso, gostaria de ajuda com essas perguntas:

1. consigo fazer uma consulta via API do Sicoob sem "incluir boleto", passando os parâmetros para retornar os títulos pagos entre data X e Y e ele me retornando esses títulos sem que eu tenha que informar previamente, parecido com o arquivo de retorno? Quais filtros eu passo pra ela, se existir?

2. existe limites diário de consultas? Digo, óbvio que sei que não posso realizar uma consulta por segundo mas existe um 'cooldown' entre uma consulta e outra para eu ter controle do quanto tempo posso deixar um monitor fazendo esse processo automaticamente?

3. existe também limite de títulos por consulta? Em alguns casos, temos até 10 mil títulos em aberto para serem consultados...

Se puderem ajudar, agradecemos

  • Consultores
Postado

Bom dia !

Existem 2 tipos de consulta para a Versão V3.
TpConsultaDetalhe, onde vc informa os dados do boleto especifico para consulta. ele retorna os dados daquele boleto.
TpConsulta que é uma consulta em lista.
Vc adiciona apenas uma vez o titulo (qq titulo) valor pode ser zero.. apenas para a solucao pegar outros dados como carteira, modalidade.. etc.
e logo apos vc realiza a consulta.
O Sicoob/Bancoob esta consulta é diferente de outros bancos. então temos um post sobre esta consulta.

 

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
1 hora atrás, Daniel InfoCotidiano disse:

Bom dia !

Existem 2 tipos de consulta para a Versão V3.
TpConsultaDetalhe, onde vc informa os dados do boleto especifico para consulta. ele retorna os dados daquele boleto.
TpConsulta que é uma consulta em lista.
Vc adiciona apenas uma vez o titulo (qq titulo) valor pode ser zero.. apenas para a solucao pegar outros dados como carteira, modalidade.. etc.
e logo apos vc realiza a consulta.
O Sicoob/Bancoob esta consulta é diferente de outros bancos. então temos um post sobre esta consulta.

 

Oi Daniel, bom dia

Obrigado por responder.

Eu já havia lido o artigo que você indicou, mas agora você explicou informando que pode ser qualquer título e entendi. Mas, mesmo assim, ainda está retornando 400. Não sei o que ainda estou fazendo de errado.

Usando o Demo ACBr Boleto, eu acabei de Registrar Boleto On Line na versão v3 e funcionou. O meu código alterado está assimno botão "Registrar":

  Boleto := FACBrBoleto;

  //Função de Envio
  Boleto.Configuracoes.WebService.Operacao := tpInclui;

  Boleto.Configuracoes.WebService.Ambiente := tawsProducao;
  Boleto.Configuracoes.WebService.ArquivoCRT := 'C:\Temp\OpenSSL\certificado.pem';
  Boleto.Configuracoes.WebService.ArquivoKEY := 'C:\Temp\OpenSSL\certificado.key';
  Boleto.Configuracoes.WebService.VersaoDF := 'V3';
  Boleto.Cedente.CedenteWS.KeyUser := '';

  Boleto.Configuracoes.WebService.SSLCryptLib        := cryOpenSSL;
  Boleto.Configuracoes.WebService.SSLHTTPLib         := httpOpenSSL;
  Boleto.Configuracoes.WebService.SSLType            := LT_TLSv1_2;
  Boleto.Configuracoes.WebService.TimeOut            := 30000;
  Boleto.Configuracoes.WebService.UseCertificateHTTP := True;

  Boleto.Cedente.CedenteWS.Scope := 'boletos_inclusao boletos_consulta boletos_alteracao';

  Boleto.Enviar; // <<< retorna como false se o httpresult code for diferente de 200,201,202

Esse título já realizei o pagamento. Porém, quando faço a consulta dos liquidados, para ver ele pago, retorna "400" (como se as credenciais estivessem incorretas). Mas eu usei exatamente os mesmos dados que gerei do título (carteira, modalidade etc) pra fazer a consulta e não funciona. Eu devo estar fazendo algo errado. Eu zerei a lista de boletos, inclui o boleto com os mesmos dados que fiz pra gerar e cliquei no botão Consultar Boleto com esse código que alterei, pra tentar deixar da mesma forma que no Registrar que funcionou:

  //Exemplo utilizando como Banco do Brasil API
  Boleto     := FACBrBoleto;
  Boleto.Configuracoes.WebService.Operacao := tpConsulta;
  Boleto.Configuracoes.WebService.Ambiente := tawsProducao;
  Boleto.Configuracoes.WebService.VersaoDF := 'V3';
  Boleto.Cedente.CedenteWS.Scope := 'boletos_inclusao boletos_consulta boletos_alteracao';
  
  Boleto.Configuracoes.WebService.ArquivoCRT := 'C:\Temp\OpenSSL\certificado.pem';
  Boleto.Configuracoes.WebService.ArquivoKEY := 'C:\Temp\OpenSSL\certificado.key';
  Boleto.Cedente.CedenteWS.KeyUser := '';
  
  Boleto.Configuracoes.WebService.SSLCryptLib        := cryOpenSSL;
  Boleto.Configuracoes.WebService.SSLHTTPLib         := httpOpenSSL;
  Boleto.Configuracoes.WebService.SSLType            := LT_TLSv1_2;
  Boleto.Configuracoes.WebService.TimeOut            := 30000;
  Boleto.Configuracoes.WebService.UseCertificateHTTP := True;

  FiltrosAPI := Boleto.Configuracoes.WebService.Filtro;

  FiltrosAPI.Clear;
  FiltrosAPI.indicadorSituacao        := isbBaixado;
  FiltrosAPI.dataMovimento.DataInicio := DateTimePicker1.Date;
  FiltrosAPI.dataMovimento.DataFinal  := DateTimePicker2.Date;
  FiltrosAPI.indiceContinuidade       := 0;
	
  Boleto.Enviar;

Os dois "DateTimePicker" eu coloquei apenas para escolher as datas, mas estão passando corretamente no período que quero pra consultar os liquidados.

Saberia dizer o que estou fazendo de errado? Fiz algo a mais, a menos? Estou tentando alterar algumas coisas por conta própria mas não consigo realizar a consulta

Obrigado novamente por ajudar

  • Consultores
Postado

No exemplo eu apenas coloco isso nas ultimas linhas no OnCreate do form:

  FACBrBoleto.Configuracoes.WebService.VersaoDF:='V3';
  FACBrBoleto.Configuracoes.WebService.UseCertificateHTTP :=true;
  FACBrBoleto.Configuracoes.WebService.ArquivoKEY:='E:\pastaCertificado\certificado.key';
  FACBrBoleto.Configuracoes.WebService.ArquivoCRT:='E:\pastaCertificado\certificado.pem';

Única coisa, que precisa clicar no salvar antes de incluir um boleto.
Tente desta forma que é mais fácil.

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
48 minutos atrás, Daniel InfoCotidiano disse:

No exemplo eu apenas coloco isso nas ultimas linhas no OnCreate do form:

  FACBrBoleto.Configuracoes.WebService.VersaoDF:='V2';
  FACBrBoleto.Configuracoes.WebService.UseCertificateHTTP :=true;
  FACBrBoleto.Configuracoes.WebService.ArquivoKEY:='E:\pastaCertificado\certificado.key';
  FACBrBoleto.Configuracoes.WebService.ArquivoCRT:='E:\pastaCertificado\certificado.pem';

Única coisa, que precisa clicar no salvar antes de incluir um boleto.
Tente desta forma que é mais fácil.

Oi Daniel, boa tarde

Posso tentar isso sim, mas para utilizar a tpConsulta, eu não sou obrigado a utilizar a versão v3?

  • Consultores
Postado
1 hora atrás, SisMaster Sistemas disse:

Posso tentar isso sim, mas para utilizar a tpConsulta, eu não sou obrigado a utilizar a versão v3?

Isso tpConsulta só funciona na V3.
Se estiver na V2, e com muitos casos de retorno para consultar. dai tem q ser via CNAB ou pedir para o banco migrar p V3, as credenciais sao diferentes

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
15 horas atrás, Daniel InfoCotidiano disse:

Isso tpConsulta só funciona na V3.
Se estiver na V2, e com muitos casos de retorno para consultar. dai tem q ser via CNAB ou pedir para o banco migrar p V3, as credenciais sao diferentes

Bom dia, Daniel

Desculpa se talvez seja óbvio mas eu não entendi sua colocação de pedir ao banco para migrar pra v3. Acho que foi uma falha minha não ter explicado direito.

Quando comecei a testar a API, de fato, estava usando o v2, pois li em algum lugar que o v3 ainda não estaria em produção. Mas quando você me ajudou nesse tópico falando para eu usar a tpConsulta ao invés da tpConsultaDetalhe para trazer os resultados que eu gostaria, eu já fiz o Registrar Boleto On Line em v3 (produção) e ele gerou corretamente, paguei no banco e gostaria de testar a consulta. Com isso, eu entendi que o v3 já está funcionando para minha conta/credenciais em produção.

Então, mesmo assim, eu ainda preciso pedir algo para o banco? Seria uma credencial diferente para consultar em v3, uma vez que eu já estou conseguido registrar títulos em v3 em produção?

Só pra não gerar mais algum tipo de dúvida, estou deixando um print do meu cadastro no developers do Sicoob, ocultando os dados essenciais mas mostrando que a v3 está nas opções do App que registrei pra obter o ClientID:

image.thumb.png.542532d4debb42fd2730bda5f9450868.png

 

E, só pra constar, eu inseri o código (com v3) no OnCreate do Demo ACBR Boleto e cliquei no botão salvar, mas ainda continua retornando "400", mesmo eu conseguindo registrar título com os mesmos dados.

Agradeço novamente a ajuda

 

  • Consultores
  • Solution
Postado
17 minutos atrás, SisMaster Sistemas disse:

eu já fiz o Registrar Boleto On Line em v3 (produção) e ele gerou corretament

então você ja pode realizar as consultas.
 

 

18 minutos atrás, SisMaster Sistemas disse:

Então, mesmo assim, eu ainda preciso pedir algo para o banco?

não, se passou uma inclusao de titulo (registro on line) na V3, com suas credenciais de produção. pode realizar as consultas.
 

 

19 minutos atrás, SisMaster Sistemas disse:

Só pra não gerar mais algum tipo de dúvida, estou deixando um print do meu cadastro no developers do Sicoob, ocultando os dados essenciais mas mostrando que a v3 está nas opções do App que registrei pra obter o ClientID:

tem razão, já esta apto  a trabalhar com a V3 !

para consultar, so seguir estes passos:
https://www.projetoacbr.com.br/forum/topic/79746-boas-notícias-consulta-movimentação-sicoob-api-disponível/

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

×
×
  • 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...