Neudimar Postado 19 Agosto Postado 19 Agosto 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
Moderadores Juliomar Marchetti Postado 19 Agosto Moderadores Postado 19 Agosto quando sentir dúvidas olha os fontes veja, consulta detalhe, mas é um a um tpConsultaDetalhe: FPURL.SetPathURI( '/boletos?numeroCliente='+LContrato+'&codigoModalidade=1&nossoNumero='+LNossoNumero ); Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
Neudimar Postado 19 Agosto Autor Postado 19 Agosto (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 19 Agosto por Neudimar
Neudimar Postado 19 Agosto Autor Postado 19 Agosto 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
Moderadores Juliomar Marchetti Postado 21 Agosto Moderadores Postado 21 Agosto verifica senão veio diferentre os dados ou imprimiu errado pois sim é usado ali conforme viu no fonte pois é isso que deve ser passado Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
Neudimar Postado 21 Agosto Autor Postado 21 Agosto (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. Editado 21 Agosto por Neudimar
Antonio Gomes Postado 21 Agosto Postado 21 Agosto 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 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. vc coloca no acbr o nosso numero completo com DV ou sem ? no ato da segunda via. 1
Neudimar Postado 21 Agosto Autor Postado 21 Agosto 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.
Moderadores Juliomar Marchetti Postado 21 Agosto Moderadores Postado 21 Agosto 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 Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
Neudimar Postado 21 Agosto Autor Postado 21 Agosto 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 Juliomar Marchetti Postado 21 Agosto Moderadores Postado 21 Agosto 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 Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
Antonio Gomes Postado 21 Agosto Postado 21 Agosto 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 Juliomar Marchetti Postado 21 Agosto Moderadores Postado 21 Agosto 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. Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
Moderadores BigWings Postado 21 Agosto Moderadores Postado 21 Agosto 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. BigWingsAjude o Projeto ACBr crescer - Assine o SAC
Neudimar Postado 21 Agosto Autor Postado 21 Agosto 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. 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 BigWings Postado 21 Agosto Moderadores Postado 21 Agosto 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. BigWingsAjude o Projeto ACBr crescer - Assine o SAC
Neudimar Postado 21 Agosto Autor Postado 21 Agosto 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.
Antonio Gomes Postado 21 Agosto Postado 21 Agosto 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 BigWings Postado 21 Agosto Moderadores Postado 21 Agosto 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. 1 BigWingsAjude o Projeto ACBr crescer - Assine o SAC
Neudimar Postado 21 Agosto Autor Postado 21 Agosto 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? gerarPdf boolean (query) Identificador para o sistema devolver ou não o PDF do Boleto. O PDF será retornado na Base64.
Moderadores BigWings Postado 21 Agosto Moderadores Postado 21 Agosto 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. BigWingsAjude o Projeto ACBr crescer - Assine o SAC
Antonio Gomes Postado 21 Agosto Postado 21 Agosto 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? 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
Neudimar Postado 21 Agosto Autor Postado 21 Agosto 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.
Neudimar Postado 22 Agosto Autor Postado 22 Agosto (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 22 Agosto por Neudimar 1
Neudimar Postado Segunda as 22:15 Autor Postado Segunda as 22:15 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.
Recommended Posts
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 contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora