Neudimar Postado Terça as 21:52 Postado Terça as 21:52 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 Terça as 22:07 Moderadores Postado Terça as 22:07 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 Terça as 22:14 Autor Postado Terça as 22:14 (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 Terça as 22:18 por Neudimar
Neudimar Postado Terça as 22:45 Autor Postado Terça as 22:45 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 Quinta as 01:14 Moderadores Postado Quinta as 01:14 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 Quinta as 11:01 Autor Postado Quinta as 11:01 (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 Quinta as 11:05 por Neudimar
Antonio Gomes Postado Quinta as 11:04 Postado Quinta as 11:04 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 Quinta as 11:45 Autor Postado Quinta as 11:45 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 Quinta as 11:50 Moderadores Postado Quinta as 11:50 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 Quinta as 12:00 Autor Postado Quinta as 12:00 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 Quinta as 12:24 Moderadores Postado Quinta as 12:24 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 Quinta as 12:37 Postado Quinta as 12:37 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 Quinta as 12:55 Moderadores Postado Quinta as 12:55 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 Quinta as 13:25 Moderadores Postado Quinta as 13:25 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 Quinta as 14:06 Autor Postado Quinta as 14:06 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 Quinta as 14:24 Moderadores Postado Quinta as 14:24 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 Quinta as 16:21 Autor Postado Quinta as 16:21 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 Quinta as 17:37 Postado Quinta as 17:37 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 Quinta as 18:19 Moderadores Postado Quinta as 18:19 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 Quinta as 19:19 Autor Postado Quinta as 19:19 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 Quinta as 20:02 Moderadores Postado Quinta as 20:02 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 Quinta as 20:48 Postado Quinta as 20:48 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 Quinta as 22:28 Autor Postado Quinta as 22:28 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 Sexta as 01:12 Autor Postado Sexta as 01:12 (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 Sexta as 01:12 por Neudimar 1
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