Ir para conteúdo
  • Cadastre-se

dev botao

Recommended Posts

Postado

Bom dia, galera!

Estou enfrentando um erro ao tentar enviar boletos pela API do Bradesco usando o ACBrMonitor. Já realizei o cadastro na plataforma Bradesco Developers, onde recebi o ClientID, ClientSecret e também o certificado .cer.

No entanto, ao tentar realizar a transmissão do boleto, o ACBrMonitor retorna o seguinte erro:
ERRO: Falha ao Enviar Boleto.  
Erro: Error loading Private Key  
Error: 151584876 - error:0909006C:PEM routines:get_name:no start line

 

Pelo que entendi, o ACBr está tentando carregar a chave privada (.key), mas não recebi esse arquivo no processo de cadastro na API.

Alguém já passou por isso? Sabem como gerar ou obter o arquivo .key necessário para configurar corretamente o certificado no ACBrMonitor?

Desde já, agradeço qualquer ajuda!

 

  • 3 semanas depois ...
Postado

Bom dia Estou com esse erro  Falha Envio: Error loading Private Key

mais já tenho os certificados 

 

      {$REGION 'BRADESCO'}
      if  Boleto.Banco.TipoCobranca = cobBradesco  then begin

        if  QrContas.FieldByName('AMBIENTE').Value = 2 then begin
         Boleto.Homologacao := True;
         Boleto.Configuracoes.WebService.Ambiente := tawsHomologacao;
        end else begin
         Boleto.Homologacao := false;
         Boleto.Configuracoes.WebService.Ambiente := tawsProducao;
        end;

       Boleto.Configuracoes.WebService.UseCertificateHTTP := true;
       Boleto.Configuracoes.Arquivos.NomeArquivoLog     := RxContaCorrente.Text +  'LoggBoletoBradesco.txt' ;
       Boleto.Configuracoes.Arquivos.PathGravarRegistro := frmPrincipal.QrMpadraoPASTA_PUBLICA.AsString;


       Boleto.Cedente.CedenteWS.ClientID             := CLIENT_ID;
       Boleto.Cedente.CedenteWS.ClientSecret         := CLIENT_SECRET;

       Boleto.Configuracoes.WebService.ArquivoCRT    := frmPrincipal.QrMpadraoPASTA_PUBLICA.AsString + '\remessa' + QrContas.FieldByName('PASTAR').Value +  '\parceiro.homologacao.cert.pem';
       Boleto.Configuracoes.WebService.ArquivoKEY    := frmPrincipal.QrMpadraoPASTA_PUBLICA.AsString + '\remessa' + QrContas.FieldByName('PASTAR').Value +  '\parceiro.homologacao.key.pem';
      

      end;
     {$ENDREGION}

 

  pelo que estava vendo o ArquivoKEY    está sendo limpo na hora da requisição.

Em 10/03/2025 at 19:49, Juliomar Marchetti disse:

 em princípio seria esse. pois ele não consegue retornar o token e dai não ocorre mais nada

consegue conferir que está certo as credenciais?

 

  • Moderadores
Postado
4 horas atrás, João vitor Batista disse:

Bom dia Estou com esse erro  Falha Envio: Error loading Private Key

mais já tenho os certificados 

 

      {$REGION 'BRADESCO'}
      if  Boleto.Banco.TipoCobranca = cobBradesco  then begin

        if  QrContas.FieldByName('AMBIENTE').Value = 2 then begin
         Boleto.Homologacao := True;
         Boleto.Configuracoes.WebService.Ambiente := tawsHomologacao;
        end else begin
         Boleto.Homologacao := false;
         Boleto.Configuracoes.WebService.Ambiente := tawsProducao;
        end;

       Boleto.Configuracoes.WebService.UseCertificateHTTP := true;
       Boleto.Configuracoes.Arquivos.NomeArquivoLog     := RxContaCorrente.Text +  'LoggBoletoBradesco.txt' ;
       Boleto.Configuracoes.Arquivos.PathGravarRegistro := frmPrincipal.QrMpadraoPASTA_PUBLICA.AsString;


       Boleto.Cedente.CedenteWS.ClientID             := CLIENT_ID;
       Boleto.Cedente.CedenteWS.ClientSecret         := CLIENT_SECRET;

       Boleto.Configuracoes.WebService.ArquivoCRT    := frmPrincipal.QrMpadraoPASTA_PUBLICA.AsString + '\remessa' + QrContas.FieldByName('PASTAR').Value +  '\parceiro.homologacao.cert.pem';
       Boleto.Configuracoes.WebService.ArquivoKEY    := frmPrincipal.QrMpadraoPASTA_PUBLICA.AsString + '\remessa' + QrContas.FieldByName('PASTAR').Value +  '\parceiro.homologacao.key.pem';
      

      end;
     {$ENDREGION}

 

  pelo que estava vendo o ArquivoKEY    está sendo limpo na hora da requisição.

 

Então faz o debug e veja em que momento ocorre isso e tente mudar ou pular para não remover o certificado

e dai retorna aqui se resolveu

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

image.thumb.png.bc93a06c68f4527062d843edd1a3edac.png pelo que eu estava vendo essa nova api esta diferente das configurações da  atual.

curl --location 'https://openapisandbox.prebanco.com.br/auth/server-mtls/v2/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Cookie: ak_bmsc=E3BCE9AC5B817EFEF3735977ABFB0C28~000000000000000000000000000000~YAAQCmwQAl7RXhaYAQAAo3EDLRwOVGXHvyj08G7XwrkQVFaCohna1nvWF/zpkCP2o2xrwwRFnt1lyukC00q6PVo1PTRTBR7QuUB9atDYygVYm58jDKTmBMxxq4Y8UJ7FCHW8qwsRjfaz9Cv27hvdPsTl+pMNbhQ0274W7Vz1WlX8lRKKQKDwfFAfBw5Gt9hQnByyIEPxLE9KLUDZamKy8QAsw+ggSfCZ+sLGHR/twVI7S+C9TAtG4+AhsJoP+YgC08Mzu+sGlayUnaK+pphyF6EXmCciWdYzcpUFd64r6qUkW0F/g2aaCKmgHBKWudhjUEtvmjX7ePQxwpgdbPDSg5BSx9n/h1+zfFufQdnRjuXqSbQIpkI2o7v0qZIs5XN0aw+wpuRm7N3Z; bm_sv=2519296BDC24C5403C781F4D28A9B0C6~YAAQC2wQAou3bPiXAQAANj8HLRwoRevktYdbRKnoSG7PqVTXW+SWrtsvQEkVTBbo9hMqkQCgtPxbSXBTUyG5ysK1020BWxOHTh6oylCYjwtS0iClQYqNCrNQa/YU0Vka2eUG1R8+R9sXP+2uhQf4d5NfZuxGioLzNr0RysO4h+74hOD6H8ih767Ifzijzxiqueh8jNBEwwh2qlEBgIA6iqeXgk2ECPitgb3Icj/fneofqZAPrhIc8qQ7z9oLr+NjgXv0lfo=~1; f0ee00a3c6086fde9072d03fe06f4365=29718e221b30149c658bd884744f6547' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=&' \
--data-urlencode 'client_secret=&'
 
hoje esta assim
aqui nessa unit ACBrBoletoW_Bradesco;
Em 17/07/2025 at 17:11, Juliomar Marchetti disse:

Então faz o debug e veja em que momento ocorre isso e tente mudar ou pular para não remover o certificado

e dai retorna aqui se resolveu

 

function TBoletoW_Bradesco.GerarTokenAutenticacao: string;
const PARAMS_OAUTH = '';
var
  LVersao : String;
  LJSonObject : TACBrJSONObject;
begin
  OAuth.Payload := True;
  result:= '';

  //FUnixTime := DateTimeToUnix(Now, False);
  FUnixTime := DateTimeToUnix(ACBrUtil.DateTime.DateTimeUniversal(ACBrUtil.DateTime.GetUTCSistema,Now));

  if OAuth.Ambiente = tawsProducao then
  begin
    OAuth.URL.URLProducao := C_URL_OAUTH_PROD;
    LVersao := '1.1';
  end else
  if OAuth.Ambiente = tawsHomologacao then
  begin
    OAuth.URL.URLHomologacao := C_URL_OAUTH_HOM;
    if Boleto.Cedente.CedenteWS.IndicadorPix then
      LVersao := '1.2'
    else
      LVersao := '1.1';
  end;

  case Boleto.Configuracoes.WebService.Ambiente of
    tawsProducao: OAuth.URL.URLProducao := Format(OAuth.URL.URLProducao,['1.1']); //página 7;
    tawsHomologacao: OAuth.URL.URLHomologacao := Format(OAuth.URL.URLHomologacao,[LVersao]);
  end;

  if Assigned(OAuth) then
  begin
    OAuth.AuthorizationType := atJWT;
    OAuth.GrantType   := 'urn:ietf:params:oauth:grant-type:jwt-bearer';
    try
      LJSonObject := TACBrJSONObject.Create
                     .AddPair('aud',OAuth.URL.GetURL)
                     .AddPair('sub',Trim(Boleto.Cedente.CedenteWS.ClientID))
                     .AddPair('iat',FUnixTime - 3600 )
                     .AddPair('exp',FUnixTime + 3600)
                     .AddPair('jti',FUnixTime * 1000)
                     .AddPair('ver',LVersao);
      OAuth.ParamsOAuth := LJSonObject.ToJSON;
    finally
      LJSonObject.Free;
    end;

    OAuth.AddHeaderParam('Accept-Encoding', C_ACCEPT_ENCODING);
    OAuth.AddHeaderParam('Accept-Charset' , C_ACCEPT_CHARSET);
    OAuth.AddHeaderParam('Accept','*/*');
    if OAuth.GerarToken then
      result := OAuth.Token
    else
      raise EACBrBoletoWSException.Create(ClassName + Format( S_ERRO_GERAR_TOKEN_AUTENTICACAO, [OAuth.ErroComunicacao] ));
  end;
end;

 

Postado

deu certo eu fiz uma nova classe , 

 

21/07/25 13:34:53:896 -03:00 - Body Resposta (payload):{
    "access_token" : "eyJhbGciOiJQUzI1NiJ9.ew0KICAgICJ2ZXIiOiAiMi4wIiwNCiAgICAic3ViIjogImU2OGFiMzUwLWZjZjctNDA3ZC1hNTFmLWU1N2NmYWMzOTZlNiIsDQogICAgImlzcyI6ICJodHRwczovL2FwaS1wbGF0ZnUtc2JveC5hcHBzLmFyb2hvcGxhdGZ1cGkuYXJvY29ycHAuYnJhZGVzY28uY29tLmJyL2F1dGgvc2VydmVyLW10bHMvdjIvdG9rZW4iLA0KICAgICJhdWQiOiAiaHR0cHM6Ly9hcGktcGxhdGZ1LXNib3guYXBwcy5hcm9ob3BsYXRmdXBpLmFyb2NvcnBwLmJyYWRlc2NvLmNvbS5iciIsDQogICAgImlhdCI6IDE3NTMxMTU2OTMsDQogICAgImV4cCI6IDE3NTMxMTkyOTMsDQogICAgInNjcCI6ICJDQk9OIiwNCiAgICAianRpIjogInJlcTY1aVJLczI2Z09hTjZRbVFVbXI9IiwNCiAgICAiY25mIjogew0KCSJ4NXQjMjU2IiA6ICJXNDFtRHNTU0xlMTBxaDQ3SWgvVE5MNUxDVTRBczY5U005Yk9oMk5ieXlnPSINCn0sDQogICAgInRva2VuVHlwZSI6ICJhY2Nlc3MiLA0KICAgICJjbGllbnRUeXBlIjogInNlcnZlci1tdGxzIiwNCiAgICAiYXV0aERhdGEiOiAiZXlKbGJtTWlPaUpCTWpVMlIwTk5JaXdpWVd4bklqb2lVbE5CTFU5QlJWQXRNalUySW4wLkdweWVUUlU2dXoxRmxGSDhMdmFkODNTSU84OFlLems0aDNqRlFSMUMzVHhmdnhMZ1lRc0c5aml6UmtmQnFDVEhmcTdNVkdNNTR0N2lXT21maWVsa3JCcHFWYkVsOEc0ekhsLWIxcU96VFd6X2Z3ZWE4dEIwb0Y1dHpQNjRULU1wcHZyOUNROV9vaEFXUlRIMlFOR3NWcU5PS3pjZXNUSzJBVzg2Ry1QX0JpSXBvbWFXckVFX2JXUU1EZHB6elNBclVYUThyaEVpZkVBa0hOTVBELXBZNW4xeWFCS3EwMnM3UVBsSFpvOFJiNmlJVFhpNVd3RXZRUlE3bVYwai1iNmM1MkVnX3dpZE9ZX3JhX0ZQMXM3cU52VnlRcGNhUUp3QnJ6bFdJQmxJS29udU1oX1pnN0J2OW51b2FqTDhBeFRoRmJ4R3N4SHhfNjRQMVV5eEQyX2ZUTWpBeWE2UkJwUkI5Zjk3YjRJcVpTNE5XZmpCYUtqVEYzT3ZZd0N4aEpmUEFjbWktekl0M0VabURubUR6cVdEMnRUZmlaVHJ3aFR3dGtVMU03RFYyOTJoSHVzcDR1dlFPS3IzS181eGRJRHRGNWNSM2VQRlRMNTZpTm1iR2FuRjItbDZMRGNhSzB4eXhkbnNHb2hxMGR4ejdJU0xNUDVaRk1WdUFZTkJYZjVyaFdZSS1aSnpfRFZiLVBtWGR2NWhuYzdlX2ZxbUJrcUxSYlhkRXdsdVpid3VTYlNlNVBUMHgxQkpLS241cG1sNUdDTTVQMzlMQmNIM2hTZ3ZLSkxrN1NONWNyby1yWEdUSFlxcVFRTWItclZyQVhGdWx2Q1hTbm1tRjVKX2dXajV4UUluc0xoYWhWcUFJNnRWVGRfNUlTRU1WZTRwOV9NRURSR1RPa2I4YzI4LjVSdlZ4NU5hSHRmeEtYT0YubUtrUkszTjhFTUowMGlCdHRnWmhkSG82SWI1ZVcyN3BwVDQ0dVFrNzhHV3ZDdU5aNXExcVFneEVaOXZ3WWpxTHhZckYwcWtVZmxvenpJVjVkZmJ0NFE4MHE2MlFsVDB5NFZ5VW94M3p3R2s4LW5fU3J3UmZ0U0s3bjdJU09vQUVQWUt5QmpPeUFYLWVUY3BKdHkwOV95TTFQWXdqRFQ2Z0RlWGh2Yi1MUmRfZl9WWGs4T3BDTFNxdlpJSkF0bzREblEtR3VVUkh6R20wNG9jY3ZwMEJjUnBPT0QyMWlOeXZqaVdwc3B5U0pwZVhNLUpRNnhvV0ZNa3ZJQllJUjM0ZG0xWjVxSUt4WFVIbU9vbE9iVmk4VzdkM3YxM2xhckVFaGk5djFyQWtrZWpCRlkwSnkyTjNuNlpiWE9nU3dPY1l4VWVpMHY2NjVQNjZ0MGN0cXh5TzN5cm5VZ01jWjFZRHpPNmJZS0VVcEdIVDEyNVZFbEJ0MzZ2ZFREbkJld05CenVzTDB3bHhLZ3ZhLU5UbDRNLUJ2ZUU5aWdVanB6VUxGOUZENmMtU19sVm91RTF6UlpYT3N5b2h3azFQVTViczdqTDhzZUxCQ2tkUkx6SlBCOURRM0lpYmQ1TlF4Q0R5NTJKNXVaSmxSUzhPZzlWLS1idUhWSHJlcWhtVVp3Wl9xdUYyaGFrVnhZNTdYNHVCNnQ4RGRkUjVmcVRTOW1mR2V1TU1BOUFmd3Z4RU5oSmxVeTFubXc1WUxmY29qNnlqR3Y5SkdpcjhiYW1ob1FYdHQtTXFCYTJGempTYS43RG1VS0JybDBJY3pPMTFMaHVIVGZRIg0KfQ.HcvvoOL9SiNSJhGVrEj8ZNq-rA2GydCr_oR1QKMLDnBn-3rWck0YZXrZyg1-H33CVeoeIdqnbtuctunls6IzinDdNZhGTWL0QFk1RtNSl_-RpVB6UBkPc4cqYGAGkFEwYZxyNp02ybDfCaIF27S2UfUwpJBFJMu0oTalZfQzCn8u-aOf1yDpJdk-4BKMg6PfKCvA7uViVPS_FW4gD7G3rjD8WurNgcRGl0wY2vjY80hpPZATty9gLueLN5TSWgFG7O4PbFpIoz9lImqFALS3rwGoMn2Ukay-hVtYz7lRacxQuGggS9wskMKCb3DI13gn-h5b9RhglSNIXiuz3_j3LmBSu9wX3X5IMRZucXiPNMjtiRe_rpqKrY6Wvada-X9VB1GQMMQZIt0PgHHf-K6wMxhs1XHMOTDuHnQaln9QNbckgHMbw7ouwlaKHA4yBgc25m7OxmAarhOuk_gDDVmvyxC-TtJmEyfJXhOXQ_mdRZMFQEK1fhTv2Yu11W3OOU1HZmmPRXFufRnCVJqE0zteN3_yPvA6FkddWRqNnzNEHULIi0Ux0ZSJY3IqZR8JoA0P64RBIRxU2HDn4YEjfiICXCqvPXBp993sFPvZBPvvke6G9VkvpgFplt8MYbAvljZwbnbCmULNu6lKdY5dGHWfrRQ22x7p6ZpKduWoMMl4Z3k",
    "token_type" : "Bearer",
    "expires_in" : "3600",
    "scope" : "CBON"
}

estou ajustando para emitir o o boleto 

deseja ver os fontes ?

  • Consultores
Postado
11 minutos atrás, João vitor Batista disse:

deu certo eu fiz uma nova classe , 

 

21/07/25 13:34:53:896 -03:00 - Body Resposta (payload):{
    "access_token" : "eyJhbGciOiJQUzI1NiJ9.ew0KICAgICJ2ZXIiOiAiMi4wIiwNCiAgICAic3ViIjogImU2OGFiMzUwLWZjZjctNDA3ZC1hNTFmLWU1N2NmYWMzOTZlNiIsDQogICAgImlzcyI6ICJodHRwczovL2FwaS1wbGF0ZnUtc2JveC5hcHBzLmFyb2hvcGxhdGZ1cGkuYXJvY29ycHAuYnJhZGVzY28uY29tLmJyL2F1dGgvc2VydmVyLW10bHMvdjIvdG9rZW4iLA0KICAgICJhdWQiOiAiaHR0cHM6Ly9hcGktcGxhdGZ1LXNib3guYXBwcy5hcm9ob3BsYXRmdXBpLmFyb2NvcnBwLmJyYWRlc2NvLmNvbS5iciIsDQogICAgImlhdCI6IDE3NTMxMTU2OTMsDQogICAgImV4cCI6IDE3NTMxMTkyOTMsDQogICAgInNjcCI6ICJDQk9OIiwNCiAgICAianRpIjogInJlcTY1aVJLczI2Z09hTjZRbVFVbXI9IiwNCiAgICAiY25mIjogew0KCSJ4NXQjMjU2IiA6ICJXNDFtRHNTU0xlMTBxaDQ3SWgvVE5MNUxDVTRBczY5U005Yk9oMk5ieXlnPSINCn0sDQogICAgInRva2VuVHlwZSI6ICJhY2Nlc3MiLA0KICAgICJjbGllbnRUeXBlIjogInNlcnZlci1tdGxzIiwNCiAgICAiYXV0aERhdGEiOiAiZXlKbGJtTWlPaUpCTWpVMlIwTk5JaXdpWVd4bklqb2lVbE5CTFU5QlJWQXRNalUySW4wLkdweWVUUlU2dXoxRmxGSDhMdmFkODNTSU84OFlLems0aDNqRlFSMUMzVHhmdnhMZ1lRc0c5aml6UmtmQnFDVEhmcTdNVkdNNTR0N2lXT21maWVsa3JCcHFWYkVsOEc0ekhsLWIxcU96VFd6X2Z3ZWE4dEIwb0Y1dHpQNjRULU1wcHZyOUNROV9vaEFXUlRIMlFOR3NWcU5PS3pjZXNUSzJBVzg2Ry1QX0JpSXBvbWFXckVFX2JXUU1EZHB6elNBclVYUThyaEVpZkVBa0hOTVBELXBZNW4xeWFCS3EwMnM3UVBsSFpvOFJiNmlJVFhpNVd3RXZRUlE3bVYwai1iNmM1MkVnX3dpZE9ZX3JhX0ZQMXM3cU52VnlRcGNhUUp3QnJ6bFdJQmxJS29udU1oX1pnN0J2OW51b2FqTDhBeFRoRmJ4R3N4SHhfNjRQMVV5eEQyX2ZUTWpBeWE2UkJwUkI5Zjk3YjRJcVpTNE5XZmpCYUtqVEYzT3ZZd0N4aEpmUEFjbWktekl0M0VabURubUR6cVdEMnRUZmlaVHJ3aFR3dGtVMU03RFYyOTJoSHVzcDR1dlFPS3IzS181eGRJRHRGNWNSM2VQRlRMNTZpTm1iR2FuRjItbDZMRGNhSzB4eXhkbnNHb2hxMGR4ejdJU0xNUDVaRk1WdUFZTkJYZjVyaFdZSS1aSnpfRFZiLVBtWGR2NWhuYzdlX2ZxbUJrcUxSYlhkRXdsdVpid3VTYlNlNVBUMHgxQkpLS241cG1sNUdDTTVQMzlMQmNIM2hTZ3ZLSkxrN1NONWNyby1yWEdUSFlxcVFRTWItclZyQVhGdWx2Q1hTbm1tRjVKX2dXajV4UUluc0xoYWhWcUFJNnRWVGRfNUlTRU1WZTRwOV9NRURSR1RPa2I4YzI4LjVSdlZ4NU5hSHRmeEtYT0YubUtrUkszTjhFTUowMGlCdHRnWmhkSG82SWI1ZVcyN3BwVDQ0dVFrNzhHV3ZDdU5aNXExcVFneEVaOXZ3WWpxTHhZckYwcWtVZmxvenpJVjVkZmJ0NFE4MHE2MlFsVDB5NFZ5VW94M3p3R2s4LW5fU3J3UmZ0U0s3bjdJU09vQUVQWUt5QmpPeUFYLWVUY3BKdHkwOV95TTFQWXdqRFQ2Z0RlWGh2Yi1MUmRfZl9WWGs4T3BDTFNxdlpJSkF0bzREblEtR3VVUkh6R20wNG9jY3ZwMEJjUnBPT0QyMWlOeXZqaVdwc3B5U0pwZVhNLUpRNnhvV0ZNa3ZJQllJUjM0ZG0xWjVxSUt4WFVIbU9vbE9iVmk4VzdkM3YxM2xhckVFaGk5djFyQWtrZWpCRlkwSnkyTjNuNlpiWE9nU3dPY1l4VWVpMHY2NjVQNjZ0MGN0cXh5TzN5cm5VZ01jWjFZRHpPNmJZS0VVcEdIVDEyNVZFbEJ0MzZ2ZFREbkJld05CenVzTDB3bHhLZ3ZhLU5UbDRNLUJ2ZUU5aWdVanB6VUxGOUZENmMtU19sVm91RTF6UlpYT3N5b2h3azFQVTViczdqTDhzZUxCQ2tkUkx6SlBCOURRM0lpYmQ1TlF4Q0R5NTJKNXVaSmxSUzhPZzlWLS1idUhWSHJlcWhtVVp3Wl9xdUYyaGFrVnhZNTdYNHVCNnQ4RGRkUjVmcVRTOW1mR2V1TU1BOUFmd3Z4RU5oSmxVeTFubXc1WUxmY29qNnlqR3Y5SkdpcjhiYW1ob1FYdHQtTXFCYTJGempTYS43RG1VS0JybDBJY3pPMTFMaHVIVGZRIg0KfQ.HcvvoOL9SiNSJhGVrEj8ZNq-rA2GydCr_oR1QKMLDnBn-3rWck0YZXrZyg1-H33CVeoeIdqnbtuctunls6IzinDdNZhGTWL0QFk1RtNSl_-RpVB6UBkPc4cqYGAGkFEwYZxyNp02ybDfCaIF27S2UfUwpJBFJMu0oTalZfQzCn8u-aOf1yDpJdk-4BKMg6PfKCvA7uViVPS_FW4gD7G3rjD8WurNgcRGl0wY2vjY80hpPZATty9gLueLN5TSWgFG7O4PbFpIoz9lImqFALS3rwGoMn2Ukay-hVtYz7lRacxQuGggS9wskMKCb3DI13gn-h5b9RhglSNIXiuz3_j3LmBSu9wX3X5IMRZucXiPNMjtiRe_rpqKrY6Wvada-X9VB1GQMMQZIt0PgHHf-K6wMxhs1XHMOTDuHnQaln9QNbckgHMbw7ouwlaKHA4yBgc25m7OxmAarhOuk_gDDVmvyxC-TtJmEyfJXhOXQ_mdRZMFQEK1fhTv2Yu11W3OOU1HZmmPRXFufRnCVJqE0zteN3_yPvA6FkddWRqNnzNEHULIi0Ux0ZSJY3IqZR8JoA0P64RBIRxU2HDn4YEjfiICXCqvPXBp993sFPvZBPvvke6G9VkvpgFplt8MYbAvljZwbnbCmULNu6lKdY5dGHWfrRQ22x7p6ZpKduWoMMl4Z3k",
    "token_type" : "Bearer",
    "expires_in" : "3600",
    "scope" : "CBON"
}

estou ajustando para emitir o o boleto 

deseja ver os fontes ?

Se for desenvolvimento Delphi utilize essas units em anexo para os testes,

o novo usa certificado, 
CRT e KEY
usecertificatehttp = true;;

o antigo (Legado)
KEY
usecertificatehttp = False;

ACBrBoletoRet_Bradesco.pas ACBrBoletoW_Bradesco.pas

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

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 !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Postado

eu fiz assim

 

 cobBradesco :
      begin

        if (LVersaoDF = 'V2') or (LVersaoDFInt = 2) then
        begin
         FBoletoWSClass := TBoletoW_BradescoV2.Create(Self, FBoleto);
         FRetornoBanco  := TRetornoEnvio_Bradesco.Create(FBoleto);
        end else begin

         FBoletoWSClass := TBoletoW_Bradesco.Create(Self, FBoleto);
         FRetornoBanco  := TRetornoEnvio_Bradesco.Create(FBoleto);
        end;
      end;

 

function TBoletoW_BradescoV2.GerarTokenAutenticacao: string;
begin
  Result := '';
  if Assigned(OAuth) then
  begin
    OAuth.GrantType := 'client_credentials';
    OAuth.ParamsOAuth := 'grant_type=client_credentials&client_id=' +
      Boleto.Cedente.CedenteWS.ClientID + '&client_secret=' +
      Boleto.Cedente.CedenteWS.ClientSecret;

    OAuth.ContentType := 'application/x-www-form-urlencoded';
    if OAuth.GerarToken then
      Result := OAuth.Token
    else
      raise EACBrBoletoWSException.Create
        (ClassName + Format(S_ERRO_GERAR_TOKEN_AUTENTICACAO,
        [OAuth.ErroComunicacao]));
  end;
end;

 

 C_URL_HOM         = 'https://openapisandbox.prebanco.com.br/boleto';

 C_URL_OAUTH_HOM   = 'https://openapisandbox.prebanco.com.br/auth/server-mtls/v2/token';

 

estou no processo da geracao do boleto agora , 

na validacao desse body da api 

 

{
  "qtdeDiasJuros": "37",
  "nomeSacadorAvalista": "string",
  "vlBonificacao": "52289013560945766",
  "indicadorMoeda": "64115",
  "qtdePagamentoParcial": "835",
  "nuLogradouroPagador": "123A",
  "idProduto": "st",
  "dtEmissaoTitulo": "01.01.2024",
  "cepPagador": "99999",
  "complementoLogradouroSacadorAvalista": "string",
  "controleParticipante": "string",
  "razaoDoDebAutomatico": "181612",
  "complementoCepSacadorAvalista": "773",
  "vlJuros": "10099",
  "listaMsgs": [
    {
      "mensagem": "string"
    }
  ],
  "ctrlCPFCNPJ": "99",
  "bancoDoDebAutomatico": "406",
  "ufSacadorAvalista": "st",
  "debitoAutomatico": "S",
  "enderecoSacadorAvalista": "string",
  "cdEspecieTitulo": "63",
  "complementoLogradouroPagador": "string",
  "bairroSacadorAvalista": "string",
  "nuTitulo": "57208759700",
  "logradouroSacadorAvalista": "string",
  "dtLimiteBonificacao": "01.01.2024",
  "nuCpfcnpjSacadorAvalista": "string",
  "percentualBonificacao": "85942734",
  "cdIndCpfcnpjSacadorAvalista": "s",
  "tipoPrazoDecursoTres": "751",
  "endEletronicoPagador": "string",
  "foneSacado": "78989457673",
  "municipioPagador": "São Paulo",
  "complementoCepPagador": "999",
  "cepSacadorAvalista": "15131",
  "vlDesconto3": "58446328108762764",
  "cdIndCpfcnpjPagador": "3",
  "vlMulta": "78124367090787723",
  "vlAbatimento": "22858549338062546",
  "vlDesconto1": "97582662177232066",
  "vlDesconto2": "44531175679738520",
  "municipioSacadorAvalista": "string",
  "vlNominalTitulo": "6299438928",
  "prazoProtestoAutomaticoNegativacao": "14",
  "percentualDesconto3": "95191707",
  "filialCPFCNPJ": "9999",
  "percentualDesconto2": "90620379",
  "percentualDesconto1": "37764843",
  "percentualMulta": "58496404",
  "agenciaDoProtesto": "strin",
  "digitoAgenciaDoDebAutomat": "9",
  "bairroPagador": "Centro",
  "cindcdAceitSacdo": "s",
  "agenciaDoDebAutomatico": "57065",
  "dddFoneSacadorAvalista": "355",
  "contaDoDebAutomatico": "9398885169302",
  "nuLogradouroSacadorAvalista": "string",
  "vlIOF": "92410855848348825",
  "ufPagador": "SP",
  "foneSacadorAvalista": "string",
  "percentualJuros": "57921173",
  "codBancoDoProtesto": "str",
  "nuCliente": "string",
  "nuCPFCNPJ": "999999999",
  "qmoedaNegocTitlo": "25581185340346",
  "dataLimiteDesconto3": "01.01.2024",
  "nomePagador": "string",
  "qtdeDiasMulta": "834",
  "dataLimiteDesconto2": "01.01.2024",
  "dataLimiteDesconto1": "01.01.2024",
  "logradouroPagador": "Rua das Flores",
  "nuNegociacao": "1642472642703371",
  "cdPagamentoParcial": "N",
  "dddFoneSacado": "023",
  "prazoBonificacao": "49",
  "tpProtestoAutomaticoNegativacao": "39",
  "dtVencimentoTitulo": "01.01.2024",
  "nuCpfcnpjPagador": "64373184162796"
}
  • Consultores
Postado
2 minutos atrás, João vitor Batista disse:

eu fiz assim

 

 cobBradesco :
      begin

        if (LVersaoDF = 'V2') or (LVersaoDFInt = 2) then
        begin
         FBoletoWSClass := TBoletoW_BradescoV2.Create(Self, FBoleto);
         FRetornoBanco  := TRetornoEnvio_Bradesco.Create(FBoleto);
        end else begin

         FBoletoWSClass := TBoletoW_Bradesco.Create(Self, FBoleto);
         FRetornoBanco  := TRetornoEnvio_Bradesco.Create(FBoleto);
        end;
      end;

 

function TBoletoW_BradescoV2.GerarTokenAutenticacao: string;
begin
  Result := '';
  if Assigned(OAuth) then
  begin
    OAuth.GrantType := 'client_credentials';
    OAuth.ParamsOAuth := 'grant_type=client_credentials&client_id=' +
      Boleto.Cedente.CedenteWS.ClientID + '&client_secret=' +
      Boleto.Cedente.CedenteWS.ClientSecret;

    OAuth.ContentType := 'application/x-www-form-urlencoded';
    if OAuth.GerarToken then
      Result := OAuth.Token
    else
      raise EACBrBoletoWSException.Create
        (ClassName + Format(S_ERRO_GERAR_TOKEN_AUTENTICACAO,
        [OAuth.ErroComunicacao]));
  end;
end;

 

 C_URL_HOM         = 'https://openapisandbox.prebanco.com.br/boleto';

 C_URL_OAUTH_HOM   = 'https://openapisandbox.prebanco.com.br/auth/server-mtls/v2/token';

 

estou no processo da geracao do boleto agora , 

na validacao desse body da api 

 

{
  "qtdeDiasJuros": "37",
  "nomeSacadorAvalista": "string",
  "vlBonificacao": "52289013560945766",
  "indicadorMoeda": "64115",
  "qtdePagamentoParcial": "835",
  "nuLogradouroPagador": "123A",
  "idProduto": "st",
  "dtEmissaoTitulo": "01.01.2024",
  "cepPagador": "99999",
  "complementoLogradouroSacadorAvalista": "string",
  "controleParticipante": "string",
  "razaoDoDebAutomatico": "181612",
  "complementoCepSacadorAvalista": "773",
  "vlJuros": "10099",
  "listaMsgs": [
    {
      "mensagem": "string"
    }
  ],
  "ctrlCPFCNPJ": "99",
  "bancoDoDebAutomatico": "406",
  "ufSacadorAvalista": "st",
  "debitoAutomatico": "S",
  "enderecoSacadorAvalista": "string",
  "cdEspecieTitulo": "63",
  "complementoLogradouroPagador": "string",
  "bairroSacadorAvalista": "string",
  "nuTitulo": "57208759700",
  "logradouroSacadorAvalista": "string",
  "dtLimiteBonificacao": "01.01.2024",
  "nuCpfcnpjSacadorAvalista": "string",
  "percentualBonificacao": "85942734",
  "cdIndCpfcnpjSacadorAvalista": "s",
  "tipoPrazoDecursoTres": "751",
  "endEletronicoPagador": "string",
  "foneSacado": "78989457673",
  "municipioPagador": "São Paulo",
  "complementoCepPagador": "999",
  "cepSacadorAvalista": "15131",
  "vlDesconto3": "58446328108762764",
  "cdIndCpfcnpjPagador": "3",
  "vlMulta": "78124367090787723",
  "vlAbatimento": "22858549338062546",
  "vlDesconto1": "97582662177232066",
  "vlDesconto2": "44531175679738520",
  "municipioSacadorAvalista": "string",
  "vlNominalTitulo": "6299438928",
  "prazoProtestoAutomaticoNegativacao": "14",
  "percentualDesconto3": "95191707",
  "filialCPFCNPJ": "9999",
  "percentualDesconto2": "90620379",
  "percentualDesconto1": "37764843",
  "percentualMulta": "58496404",
  "agenciaDoProtesto": "strin",
  "digitoAgenciaDoDebAutomat": "9",
  "bairroPagador": "Centro",
  "cindcdAceitSacdo": "s",
  "agenciaDoDebAutomatico": "57065",
  "dddFoneSacadorAvalista": "355",
  "contaDoDebAutomatico": "9398885169302",
  "nuLogradouroSacadorAvalista": "string",
  "vlIOF": "92410855848348825",
  "ufPagador": "SP",
  "foneSacadorAvalista": "string",
  "percentualJuros": "57921173",
  "codBancoDoProtesto": "str",
  "nuCliente": "string",
  "nuCPFCNPJ": "999999999",
  "qmoedaNegocTitlo": "25581185340346",
  "dataLimiteDesconto3": "01.01.2024",
  "nomePagador": "string",
  "qtdeDiasMulta": "834",
  "dataLimiteDesconto2": "01.01.2024",
  "dataLimiteDesconto1": "01.01.2024",
  "logradouroPagador": "Rua das Flores",
  "nuNegociacao": "1642472642703371",
  "cdPagamentoParcial": "N",
  "dddFoneSacado": "023",
  "prazoBonificacao": "49",
  "tpProtestoAutomaticoNegativacao": "39",
  "dtVencimentoTitulo": "01.01.2024",
  "nuCpfcnpjPagador": "64373184162796"
}

não precisa de uma nova unit / versão.

faça um backup dos seus códigos, reverta e use os que eu anexei 

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

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 !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

  • 2 semanas depois ...
  • Consultores
  • Solution
Postado

Subimos uma nova implementação para o Bradesco.

Por favor atualize seus fontes, pelo SVN do ACBr... 

Já subimos para o nosso repositório de fontes, modificações que podem corrigir algum dos itens referentes a esse tópico...

Por favor atualize seus fontes, faça testes, e se possível comente em uma nova resposta, se o problema foi resolvido...

Dúvidas, sobre o uso do SVN ?  Clique aqui e veja um vídeo

Caso tenha problemas ou dúvidas por favor abra um novo tópico.

 

Consultor SAC ACBr

Alexandre de Paula
Ajude o Projeto ACBr crescer - Assine o SAC                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

 

Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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...
The popup will be closed in 10 segundos...