Ir para conteúdo
  • Cadastre-se

  • Este tópico foi criado há 290 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

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

 

  • Consultores
Postado

quando sentir dúvidas olha os fontes veja, consulta detalhe, mas é um a um

image.png

 

    tpConsultaDetalhe:  FPURL.SetPathURI( '/boletos?numeroCliente='+LContrato+'&codigoModalidade=1&nossoNumero='+LNossoNumero );

 

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
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 !!

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

  • Consultores
Postado

verifica senão veio diferentre os dados ou imprimiu errado

pois sim é usado ali conforme viu no fonte pois é isso que deve ser passado

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
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 !!

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.

  • Consultores
Postado

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

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
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 !!

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.

  • Consultores
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

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
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 !!

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

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

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
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 !!

  • 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
Postado

boa noite, na opção de baixa do boleto sicoob esta faltando o codigo da modalidade.

    tpBaixa:  FPURL.SetPathURI( '/boletos/'+LNossoNumero+'/baixar'+'&codigoModalidade=1' );

favor adms verificar essa situação para incluir e para que baixe o boleto corretamente ok.

 

  • Este tópico foi criado há 290 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

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.