Ir para conteúdo
  • Cadastre-se

dev botao

Recommended Posts

Postado

ola pessoal alguem pode me passar a dica para consultar boleto via api v3 do sicoob

gostaria apenas de consultar pelo nr do titudo, ou nosso numero e trazer o status dele se ta pago ou em aberto para poder atualizar os boletos.

e tambem se alguem tiver ai ja posta a opção para dowload do pdf da segunda via do boleto

 

Postado (editado)

vou olhar melhor mas eu não consegui entender bem ali pois e passado os parametros. datainicial e final. 

pois me pedia um codigo de solicitação. e ai nao consegui.

 

eu preciso um a um mesmo. e nao por data. talvez na hora de passar o parametro de filtro que nao entendi.

  FiltrosAPI.modalidadeCobranca:=1;
  FiltrosAPI.dataRegistro.DataInicio := strtodate('18/08/2025');
  FiltrosAPI.dataRegistro.DataFinal  := strtodate('19/08/2025');
 

so encontrei essa passagem 

Editado por Neudimar
Postado

ok Juliomar consegui entender ali.

so que estou passando o nossonumero para pesquisa exemplo  430-0 que e o nossonumero que o banco gerou se eu passo 430

  if( aTitulo <> nil ) then
    LNossoNumero := ACBrUtil.Strings.RemoveZerosEsquerda(OnlyNumber(aTitulo.NossoNumero)+aTitulo.ACBrBoleto.Banco.CalcularDigitoVerificador(aTitulo));

nessa linha ele coloca 4307  ou seja o digito deveria ser 4300

image.thumb.png.7c4eaba6d24090a9d4e826fcd7585c30.png

Postado (editado)

bom dia Juliomar, estou informando o nosso numero conforme esta no banco. mas ele gera o digito errado. se fizer o teste vai observar.

editei o fonte, para nao gerar o digito dai passo so o nosso nr sem a formatação e ai ele baixa normal.

image.thumb.png.3b2ab27c99e61eb4087f565683158357.png

Editado por Neudimar
Postado
Em 19/08/2025 at 19:45, Neudimar disse:

ok Juliomar consegui entender ali.

so que estou passando o nossonumero para pesquisa exemplo  430-0 que e o nossonumero que o banco gerou se eu passo 430

  if( aTitulo <> nil ) then
    LNossoNumero := ACBrUtil.Strings.RemoveZerosEsquerda(OnlyNumber(aTitulo.NossoNumero)+aTitulo.ACBrBoleto.Banco.CalcularDigitoVerificador(aTitulo));

nessa linha ele coloca 4307  ou seja o digito deveria ser 4300

image.thumb.png.7c4eaba6d24090a9d4e826fcd7585c30.png

Dia desses me peguei com esse dilema do sicoob, após uma funcionária do banco ter dado o codigo do cedente com um numero a mais, e não ter dado falha no ato do registro (arquivo cnae240 ainda), logo, pude notar que mesmo o dv meu ter ido errado eles ajustaram a segunda via, com o mesmo dv que mandei, mas a linha digitavel ficava diferente da minha impressa. Eles tem o codigo do cedente correto, ao gerar segunda via, parece que processaram o numero certo.

tudo isso, é para vc analisar, que ele entra no calculo do DV. Confere se parametrizou o objeto do boleto antes de rodar essa ação.
repara o fonte que precisa para calcular o dv:

 if fpLayoutVersaoArquivo =-81 then
     LNossoNumero := PadLeft(copy(ACBrTitulo.NossoNumero,1,6), 7, '0')
   else
     LNossoNumero := PadLeft(trim(ACBrUtil.Strings.RemoveZerosEsquerda(ACBrTitulo.NossoNumero)), 7, '0') ;

   Num :=  PadLeft(ACBrTitulo.ACBrBoleto.Cedente.Agencia, 4, '0') +
           PadLeft(ACBrTitulo.ACBrBoleto.Cedente.CodigoCedente, 10, '0') +
           LNossoNumero;
 

6 minutos atrás, Neudimar disse:

bom dia Juliomar, estou informando o nosso numero conforme esta no banco. mas ele gera o digito errado. se fizer o teste vai observar.

editei o fonte, para nao gerar o digito dai passo so o nosso nr sem a formatação e ai ele baixa normal.

image.thumb.png.3b2ab27c99e61eb4087f565683158357.png

vc coloca no acbr o nosso numero completo com DV ou sem ? no ato da segunda via.

  • Curtir 1
Postado

Bom dia Antonio, 

na questão do DV ok tudo certo para envio. 

o meu questionamento seria para consulta do titulo e da seg. via.

o DV não precisaria ser calculado, seria somente enviar o nossonumero sem formatacao ou seja nossonr+dv na pesquisa mas nao fazer o calculo do dv 

passar como string mesmo assim evita de o DV ficar diferente do que esta no registro do banco.

Postado

vc coloca no acbr o nosso numero completo com DV ou sem ? no ato da segunda via.

 

estou colocando nossonumero com o dv   pois se colocar sem nao consulta

 

10 minutos atrás, Juliomar Marchetti disse:

conforme nosso amigo postou. creio que o registro está errado

se tu pegar e consultar eles devem ter ajustado lá no banco com o DV correto

nao entendi. ser era pra mim ou para o antonio a msg.

mas não sei qual e o processo la no banco para gerar o DV mas como pude observar todos os boletos que enviei. eles ficam na sequencia, ou seja o DV nao e gerado no banco.

eles ficaram por exemplo:  429-8, 429-9, 430-0

mas ok não importa pra mim isso nessa questão pois o envio esta correto e esta registrando normal.

meu questionamento e que na hora da consulta eu nao preciso gerar o DV e so informar nosso numero+dv por exemplo 4300  ai evita de a consulta nao ficar condizente com o que esta no banco.

  • Moderadores
Postado
23 minutos atrás, Neudimar disse:

meu questionamento e que na hora da consulta eu nao preciso gerar o DV e so informar nosso numero+dv por exemplo 4300  ai evita de a consulta nao ficar condizente com o que esta no banco.

e para a consulta ele tem que estar gerando certo.

faça o seguinte abra a consulta pelo site do banco e lá mande gerar a segunda via do boleto

dai confere com o que tem impresso

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado
11 minutos atrás, Juliomar Marchetti disse:

e para a consulta ele tem que estar gerando certo.

faça o seguinte abra a consulta pelo site do banco e lá mande gerar a segunda via do boleto

dai confere com o que tem impresso

O nosso numero quando é por api, a gente nao gera cara, acho que é isso que ele está tentando explicar...

O banco retorna isso tudo. Logo, a necessidade de recalcular, que ele está questionando, é um ponto a pensar, tem pix, api, precisa de fato recalcular isso? Pense... Uma vez, que a informação veio do banco, que detém a informação correta... até segunda ordem kkkkkkk

  • Moderadores
Postado
13 minutos atrás, Antonio Gomes disse:

O nosso numero quando é por api, a gente nao gera cara, acho que é isso que ele está tentando explicar...

Interessante. até to revisando o sistema e chamando o suporte pois temos clientes a tempos desde a versão anterior do sicoob rodando via API. mas a princípio nao tenho relatos, emitimos, baixamos, cancelamos e consultamos os boletos.
pedi as credenciais de um cliente em produção para validar isso.

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

  • Moderadores
Postado
1 hora atrás, Neudimar disse:

meu questionamento e que na hora da consulta eu nao preciso gerar o DV e so informar nosso numero+dv por exemplo 4300  ai evita de a consulta nao ficar condizente com o que esta no banco.

Com LayoutVersaoArquivo = 810 você informa o nosso número completo, 8 dígitos.

Com LayoutVersaoArquivo = 81 você informa máximo e  7 dígitos e o ACBr calcula o DV.

O Sicoob não valida o dígito, de qualquer forma.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Postado
1 hora atrás, Juliomar Marchetti disse:

Interessante. até to revisando o sistema e chamando o suporte pois temos clientes a tempos desde a versão anterior do sicoob rodando via API. mas a princípio nao tenho relatos, emitimos, baixamos, cancelamos e consultamos os boletos.
pedi as credenciais de um cliente em produção para validar isso.

gerado segunda via direto no site sicoob o DV não muda.

image.thumb.png.f47a60a01bf46a7aa5f329dfcab4510c.png

42 minutos atrás, BigWings disse:

Com LayoutVersaoArquivo = 810 você informa o nosso número completo, 8 dígitos.

Com LayoutVersaoArquivo = 81 você informa máximo e  7 dígitos e o ACBr calcula o DV.

O Sicoob não valida o dígito, de qualquer forma.

sim quando ao fato de validar o digito ok o sicoob nao valida blz. 

mas como não e o meu caso d remessa eu acho que o layout nao e o meu caso.

meu caso e so a consulta para saber o status do titulo.

o qual reforço nao preciso calcular o DV para essa consulta e so passar nossonumero direto.

o que fiz foi mudar nessa linha para que na hora da consulta detalhada não seja calculado o dv dai ok funciona normal.

    LNossoNumero := ACBrUtil.Strings.RemoveZerosEsquerda(OnlyNumber(aTitulo.NossoNumero));
    //+aTitulo.ACBrBoleto.Banco.CalcularDigitoVerificador(aTitulo));
 

 

  • Moderadores
Postado
17 minutos atrás, Neudimar disse:

o que fiz foi mudar nessa linha para que na hora da consulta detalhada não seja calculado o dv dai ok funciona normal.

    LNossoNumero := ACBrUtil.Strings.RemoveZerosEsquerda(OnlyNumber(aTitulo.NossoNumero));
    //+aTitulo.ACBrBoleto.Banco.CalcularDigitoVerificador(aTitulo));

Veja a implementação do CalcularDigitoVerificador para o Sicoob:

function TACBrBancoSicoob.CalcularDigitoVerificador(const ACBrTitulo: TACBrTitulo ): String;
var
  Num, Res :String;
  i, base, digito : Integer;
  LNossoNumero : string;
const
  indice = '319731973197319731973';
begin

   if fpLayoutVersaoArquivo = 810 then
   begin
     Result := '';
     Exit;
   end;

[...]

Então basta você informar o LayoutVersaoArquivo = 810 antes de chamar o método de consulta.

 

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Postado
1 hora atrás, BigWings disse:

Veja a implementação do CalcularDigitoVerificador para o Sicoob:

function TACBrBancoSicoob.CalcularDigitoVerificador(const ACBrTitulo: TACBrTitulo ): String;
var
  Num, Res :String;
  i, base, digito : Integer;
  LNossoNumero : string;
const
  indice = '319731973197319731973';
begin

   if fpLayoutVersaoArquivo = 810 then
   begin
     Result := '';
     Exit;
   end;

[...]

Então basta você informar o LayoutVersaoArquivo = 810 antes de chamar o método de consulta.

 

bom nessa caso resolve o meu problema, obrigado amigo. vou testar.

Postado
3 horas atrás, BigWings disse:

Veja a implementação do CalcularDigitoVerificador para o Sicoob:

function TACBrBancoSicoob.CalcularDigitoVerificador(const ACBrTitulo: TACBrTitulo ): String;
var
  Num, Res :String;
  i, base, digito : Integer;
  LNossoNumero : string;
const
  indice = '319731973197319731973';
begin

   if fpLayoutVersaoArquivo = 810 then
   begin
     Result := '';
     Exit;
   end;

[...]

Então basta você informar o LayoutVersaoArquivo = 810 antes de chamar o método de consulta.

 

mas esse leiaute 810 é para ser usado quando é API ?

  • Moderadores
Postado
33 minutos atrás, Antonio Gomes disse:

mas esse leiaute 810 é para ser usado quando é API ?

Não, pode usar o layout 81 na API, usar o 810 com CNAB...

Aqui eu passei a usar o 810 nos meus boletos, e uso API e CNAB ao mesmo tempo, na mesma carteira, os boletos antigos e os novos, tratando sem problema.

A única coisa que precisei cuidar é não gerar em uma mesma remessa misturando os boletos antigos e os novos.

  • Curtir 1
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Postado

nao encontrei a opçao no DEMO para segunda via 

me parece a mesma regra de consulta. mas não vi ali a opção para donwload do pdf

no enviar.boleto  ele tem a opção do pdf consigo baixa normal.

preciso par segunda via. alguem tem a dica?

 

image.thumb.png.702d3eade8ceace24eed0c48357a5860.png

 

gerarPdf
boolean
 
(query)

Identificador para o sistema devolver ou não o PDF do Boleto. O PDF será retornado na Base64.

 

  • Moderadores
Postado
40 minutos atrás, Neudimar disse:

preciso par segunda via. alguem tem a dica?

Isso seria no endpoint /boletos/segunda-via.

Não está implementado no ACBr.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Postado
1 hora atrás, Neudimar disse:

nao encontrei a opçao no DEMO para segunda via 

me parece a mesma regra de consulta. mas não vi ali a opção para donwload do pdf

no enviar.boleto  ele tem a opção do pdf consigo baixa normal.

preciso par segunda via. alguem tem a dica?

 

image.thumb.png.702d3eade8ceace24eed0c48357a5860.png

 

gerarPdf
boolean
 
(query)

Identificador para o sistema devolver ou não o PDF do Boleto. O PDF será retornado na Base64.

 

Com os dados gravados mano, voce consegue gerar segunda via no seu sistema, no primeiro endpoint salva tudo, inclusive o txid

Postado
1 hora atrás, Antonio Gomes disse:

Com os dados gravados mano, voce consegue gerar segunda via no seu sistema, no primeiro endpoint salva tudo, inclusive o txid

sim mas eventualmente vamos ter que alterar o boleto, ou prorrogar o vencimento 

então precisa gerar a segunda via e baixar o pdf.

Postado (editado)

Boa noite. ADMS,

Atualizei os fontes para gerar o PDF da segunda via do boleto, conforme minha necessidade,  segue para avaliação.

desculpa, pois não entendo bem do ACBR mas copie a mesma regra da Consultadetalhada, com o retorno do EndPoint pdfBoleto

desta forma capturo o PDF atualizado.  

se puderem validar e subir no repositório seria bom assim na próxima atualização não preciso ter que refazer.

testado aqui ok.

Abraço.ACBrBoletoRet_Sicoob_V3.pasACBrBoletoW_Sicoob_V3.pas

Editado por Neudimar
  • Curtir 1

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 conta

Entrar

Já tem uma conta? Faça o login.

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