Ir para conteúdo
  • Cadastre-se

dev botao

Envio Boleto API Banco do Brasil erro http 401


Arnaldo Cruz
Ver Solução Respondido por Victor H. Gonzales - Panda,
  • Este tópico foi criado há 558 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Configurações
Dados do Cedente pego do site do BBDeveloper

FDataModule.ACBrBoleto1.Banco.TipoCobranca                           := cobBancoDoBrasilAPI;
FDataModule.ACBrBoleto1.Cedente.TipoCarteira                         := tctRegistrada;
FDataModule.ACBrBoletoFCFR1.DirLogo                                  := LocImagem;
FDataModule.ACBrBoleto1.ACBrBoletoFC.DirLogo                         := LocImagem;
FDataModule.ACBrBoleto1.ACBrBoletoFC.Filtro                          := fiNenhum;
FDataModule.ACBrBoleto1.ACBrBoletoFC.LayOut                          := TACBrBolLayOut(edtLayout.ItemIndex);
FDataModule.ACBrBoleto1.Banco.Digito                                 := DVBANCO;
FDataModule.ACBrBoleto1.Banco.Numero                                 := StrToInt(NBanco);
FDataModule.ACBrBoleto1.Banco.Nome                                   := 'Banco do Brasil';
FDataModule.ACBrBoleto1.Cedente.TipoInscricao                        := pJuridica;
FDataModule.ACBrBoleto1.Cedente.Agencia                              := Agencia;
FDataModule.ACBrBoleto1.Cedente.AgenciaDigito                        := DVAgencia;
FDataModule.ACBrBoleto1.Cedente.Conta                                := Conta;
FDataModule.ACBrBoleto1.Cedente.ContaDigito                          := DVConta;
FDataModule.ACBrBoleto1.Cedente.Nome                                 := 'TECIDOS FARIA DUARTE';
FDataModule.ACBrBoleto1.Cedente.CNPJCPF                              := '74910037000193';
FDataModule.ACBrBoleto1.Cedente.CodigoCedente                        := '4863177';//CodCedente;
FDataModule.ACBrBoleto1.Cedente.Convenio                             := '1014051';//CONVENIO;
FDataModule.ACBrBoleto1.Cedente.Modalidade                           := '35';
FDataModule.ACBrBoleto1.Cedente.Logradouro                           := EnderecoEmpresa;
FDataModule.ACBrBoleto1.Cedente.NumeroRes                            := NumeroEmpresa;
FDataModule.ACBrBoleto1.Cedente.Bairro                               := BairroEMpresa ;
FDataModule.ACBrBoleto1.Cedente.Cidade                               := CidadeEmpresa ;
FDataModule.ACBrBoleto1.Cedente.UF                                   := UFEmpresa ;
FDataModule.ACBrBoleto1.Cedente.CEP                                  := CepEmpresa ;
FDataModule.ACBrBoleto1.Cedente.ResponEmissao                        := tbCliEmite;
FDataModule.ACBrBoleto1.Cedente.IdentDistribuicao                    := tbClienteDistribui;
FDataModule.ACBrBoleto1.Cedente.CaracTitulo                          := tcSimples;
FDataModule.ACBrBoleto1.Cedente.CedenteWS.ClientID                   := CLIENTID;
FDataModule.ACBrBoleto1.Cedente.CedenteWS.ClientSecret               := CLIENTSECRET;
FDataModule.ACBrBoleto1.Cedente.CedenteWS.Scope                      := SCOPE;
FDataModule.ACBrBoleto1.Cedente.CedenteWS.KeyUser                    := KEYUSER;
FDataModule.ACBrBoleto1.Cedente.CedenteWS.IndicadorPix               := False;
FDataModule.ACBrBoleto1.Configuracoes.WebService.SSLCryptLib         := cryOpenSSL ;
FDataModule.ACBrBoleto1.Configuracoes.WebService.SSLHTTPLib          := httpOpenSSL;
FDataModule.ACBrBoleto1.Configuracoes.WebService.SSLType             := TSSLType(SSLIB);
FDataModule.ACBrBoleto1.Configuracoes.WebService.TimeOut             := 30000 ;
FDataModule.ACBrBoleto1.Configuracoes.WebService.UseCertificateHTTP  := False ;

Dados do titulo
Dados do sacado pego do site BBDeveloper

Titulo                   := ACBrBoleto1.CriarTituloNaLista;
Titulo.Vencimento        := 19/11/2022;
Titulo.DataDocumento     := 19/10/2022;
Titulo.NumeroDocumento   := '123456';
Titulo.EspecieDoc        := 'DM';
Titulo.Aceite            := atNao;
Titulo.DataProcessamento := 19/10/2022;
Titulo.Carteira          := '17';
Titulo.NossoNumero       := '2';
Titulo.ValorDocumento    := 80;
Titulo.Sacado.NomeSacado := 'VALERIO DE AGUIAR ZORZATO'; 
Titulo.Sacado.CNPJCPF    := '96050176876';
Titulo.Sacado.Logradouro := 'RUA LAQUEADA';
Titulo.Sacado.Numero     := '25';
Titulo.Sacado.Bairro     := 'CENTRO';
Titulo.Sacado.Cidade     := 'UIRAUNA';
Titulo.Sacado.UF         := 'PB';
Titulo.Sacado.CEP        := '58915000';
Titulo.ValorAbatimento   := 0;
Titulo.LocalPagamento    := 'PAGAR EM QUALQUER BANCO';
Titulo.ValorMoraJuros    := 0.50;
Titulo.ValorDesconto     := 0;
Titulo.ValorAbatimento   := 0;
Titulo.DataMoraJuros     := 0;
Titulo.DataDesconto      := 0;
Titulo.TipoDesconto      := tdNaoConcederDesconto;
Titulo.DataAbatimento    := 0;
Titulo.DataProtesto      := 0;
Titulo.PercentualMulta   := 2;
Titulo.CodigoMulta       := cmPercentual;
Titulo.CodigoMoraJuros   := cjValorDia;
Titulo.CodigoMora        := '1';
Titulo.Mensagem.Add(cdsBoletoADICIONAIS.AsString);
Titulo.OcorrenciaOriginal.Tipo := toRemessaRegistrar;
Titulo.Instrucao2        :=  IntToStr(NoN);
Titulo.QtdeParcelas           := 1;
Titulo.QtdePagamentoParcial   := 1;
Titulo.TipoPagamento          := tpNao_Aceita_Valor_Divergente;
Titulo.PercentualMinPagamento := 0;
Titulo.PercentualMaxPagamento := 0;
Titulo.ValorMinPagamento      := 0;
Titulo.ValorMaxPagamento      := 0;

19/10/22 13:23:17:645 - Autenticando Token... 
19/10/22 13:23:18:989 - Erro ao gerar token de Autenticação: HTTP_Code=400 Erro="Bad Request"
19/10/22 13:23:18:989 - Comando Enviar: 
{"numeroConvenio":1014051,
"numeroCarteira":17,
"numeroVariacaoCarteira":35,
"codigoModalidade":1,
"dataEmissao":"19.10.2022",
"dataVencimento":"19.11.2022",
"valorOriginal":80,
"valorAbatimento":0,
"codigoAceite":"N",
"codigoTipoTitulo":2,
"descricaoTipoTitulo":"DM",
"numeroTituloBeneficiario":"123456",
"campoUtilizacaoBeneficiario":"",
"numeroTituloCliente":"00010140510000000002",
"mensagemBloquetoOcorrencia":"2",
"jurosMora":{"tipo":1,
"valor":0.4},
"pagador":{"tipoInscricao":1,
"numeroInscricao":96050176876,
"nome":"VALERIO DE AGUIAR ZORZATO",
"endereco":"RUA LAQUEADA 25",
"cep":58915000,
"cidade":"UIRAUNA",
"bairro":"CENTRO",
"uf":"PB"},
"indicadorPix":"N"}
19/10/22 13:23:19:457 - Retorno Envio: HTTPCode=401
ErrorCode=0
Result={ "statusCode": 401, "error": "Unauthorized", "message": "Bad Credentials", "attributes": { "error": "Bad Credentials" } }

Link para o comentário
Compartilhar em outros sites

  • Consultores

Tópico movido para a área do SAC, para que o SLA de respostas seja considerado

Consultor SAC ACBr

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

Link para o comentário
Compartilhar em outros sites

  • Consultores
52 minutos atrás, Arnaldo Cruz disse:

Configurações
Dados do Cedente pego do site do BBDeveloper

FDataModule.ACBrBoleto1.Banco.TipoCobranca                           := cobBancoDoBrasilAPI;
FDataModule.ACBrBoleto1.Cedente.TipoCarteira                         := tctRegistrada;
FDataModule.ACBrBoletoFCFR1.DirLogo                                  := LocImagem;
FDataModule.ACBrBoleto1.ACBrBoletoFC.DirLogo                         := LocImagem;
FDataModule.ACBrBoleto1.ACBrBoletoFC.Filtro                          := fiNenhum;
FDataModule.ACBrBoleto1.ACBrBoletoFC.LayOut                          := TACBrBolLayOut(edtLayout.ItemIndex);
FDataModule.ACBrBoleto1.Banco.Digito                                 := DVBANCO;
FDataModule.ACBrBoleto1.Banco.Numero                                 := StrToInt(NBanco);
FDataModule.ACBrBoleto1.Banco.Nome                                   := 'Banco do Brasil';
FDataModule.ACBrBoleto1.Cedente.TipoInscricao                        := pJuridica;
FDataModule.ACBrBoleto1.Cedente.Agencia                              := Agencia;
FDataModule.ACBrBoleto1.Cedente.AgenciaDigito                        := DVAgencia;
FDataModule.ACBrBoleto1.Cedente.Conta                                := Conta;
FDataModule.ACBrBoleto1.Cedente.ContaDigito                          := DVConta;
FDataModule.ACBrBoleto1.Cedente.Nome                                 := 'TECIDOS FARIA DUARTE';
FDataModule.ACBrBoleto1.Cedente.CNPJCPF                              := '74910037000193';
FDataModule.ACBrBoleto1.Cedente.CodigoCedente                        := '4863177';//CodCedente;
FDataModule.ACBrBoleto1.Cedente.Convenio                             := '1014051';//CONVENIO;
FDataModule.ACBrBoleto1.Cedente.Modalidade                           := '35';
FDataModule.ACBrBoleto1.Cedente.Logradouro                           := EnderecoEmpresa;
FDataModule.ACBrBoleto1.Cedente.NumeroRes                            := NumeroEmpresa;
FDataModule.ACBrBoleto1.Cedente.Bairro                               := BairroEMpresa ;
FDataModule.ACBrBoleto1.Cedente.Cidade                               := CidadeEmpresa ;
FDataModule.ACBrBoleto1.Cedente.UF                                   := UFEmpresa ;
FDataModule.ACBrBoleto1.Cedente.CEP                                  := CepEmpresa ;
FDataModule.ACBrBoleto1.Cedente.ResponEmissao                        := tbCliEmite;
FDataModule.ACBrBoleto1.Cedente.IdentDistribuicao                    := tbClienteDistribui;
FDataModule.ACBrBoleto1.Cedente.CaracTitulo                          := tcSimples;
FDataModule.ACBrBoleto1.Cedente.CedenteWS.ClientID                   := CLIENTID;
FDataModule.ACBrBoleto1.Cedente.CedenteWS.ClientSecret               := CLIENTSECRET;
FDataModule.ACBrBoleto1.Cedente.CedenteWS.Scope                      := SCOPE;
FDataModule.ACBrBoleto1.Cedente.CedenteWS.KeyUser                    := KEYUSER;
FDataModule.ACBrBoleto1.Cedente.CedenteWS.IndicadorPix               := False;
FDataModule.ACBrBoleto1.Configuracoes.WebService.SSLCryptLib         := cryOpenSSL ;
FDataModule.ACBrBoleto1.Configuracoes.WebService.SSLHTTPLib          := httpOpenSSL;
FDataModule.ACBrBoleto1.Configuracoes.WebService.SSLType             := TSSLType(SSLIB);
FDataModule.ACBrBoleto1.Configuracoes.WebService.TimeOut             := 30000 ;
FDataModule.ACBrBoleto1.Configuracoes.WebService.UseCertificateHTTP  := False ;

Dados do titulo
Dados do sacado pego do site BBDeveloper

Titulo                   := ACBrBoleto1.CriarTituloNaLista;
Titulo.Vencimento        := 19/11/2022;
Titulo.DataDocumento     := 19/10/2022;
Titulo.NumeroDocumento   := '123456';
Titulo.EspecieDoc        := 'DM';
Titulo.Aceite            := atNao;
Titulo.DataProcessamento := 19/10/2022;
Titulo.Carteira          := '17';
Titulo.NossoNumero       := '2';
Titulo.ValorDocumento    := 80;
Titulo.Sacado.NomeSacado := 'VALERIO DE AGUIAR ZORZATO'; 
Titulo.Sacado.CNPJCPF    := '96050176876';
Titulo.Sacado.Logradouro := 'RUA LAQUEADA';
Titulo.Sacado.Numero     := '25';
Titulo.Sacado.Bairro     := 'CENTRO';
Titulo.Sacado.Cidade     := 'UIRAUNA';
Titulo.Sacado.UF         := 'PB';
Titulo.Sacado.CEP        := '58915000';
Titulo.ValorAbatimento   := 0;
Titulo.LocalPagamento    := 'PAGAR EM QUALQUER BANCO';
Titulo.ValorMoraJuros    := 0.50;
Titulo.ValorDesconto     := 0;
Titulo.ValorAbatimento   := 0;
Titulo.DataMoraJuros     := 0;
Titulo.DataDesconto      := 0;
Titulo.TipoDesconto      := tdNaoConcederDesconto;
Titulo.DataAbatimento    := 0;
Titulo.DataProtesto      := 0;
Titulo.PercentualMulta   := 2;
Titulo.CodigoMulta       := cmPercentual;
Titulo.CodigoMoraJuros   := cjValorDia;
Titulo.CodigoMora        := '1';
Titulo.Mensagem.Add(cdsBoletoADICIONAIS.AsString);
Titulo.OcorrenciaOriginal.Tipo := toRemessaRegistrar;
Titulo.Instrucao2        :=  IntToStr(NoN);
Titulo.QtdeParcelas           := 1;
Titulo.QtdePagamentoParcial   := 1;
Titulo.TipoPagamento          := tpNao_Aceita_Valor_Divergente;
Titulo.PercentualMinPagamento := 0;
Titulo.PercentualMaxPagamento := 0;
Titulo.ValorMinPagamento      := 0;
Titulo.ValorMaxPagamento      := 0;

19/10/22 13:23:17:645 - Autenticando Token... 
19/10/22 13:23:18:989 - Erro ao gerar token de Autenticação: HTTP_Code=400 Erro="Bad Request"
19/10/22 13:23:18:989 - Comando Enviar: 
{"numeroConvenio":1014051,
"numeroCarteira":17,
"numeroVariacaoCarteira":35,
"codigoModalidade":1,
"dataEmissao":"19.10.2022",
"dataVencimento":"19.11.2022",
"valorOriginal":80,
"valorAbatimento":0,
"codigoAceite":"N",
"codigoTipoTitulo":2,
"descricaoTipoTitulo":"DM",
"numeroTituloBeneficiario":"123456",
"campoUtilizacaoBeneficiario":"",
"numeroTituloCliente":"00010140510000000002",
"mensagemBloquetoOcorrencia":"2",
"jurosMora":{"tipo":1,
"valor":0.4},
"pagador":{"tipoInscricao":1,
"numeroInscricao":96050176876,
"nome":"VALERIO DE AGUIAR ZORZATO",
"endereco":"RUA LAQUEADA 25",
"cep":58915000,
"cidade":"UIRAUNA",
"bairro":"CENTRO",
"uf":"PB"},
"indicadorPix":"N"}
19/10/22 13:23:19:457 - Retorno Envio: HTTPCode=401
ErrorCode=0
Result={ "statusCode": 401, "error": "Unauthorized", "message": "Bad Credentials", "attributes": { "error": "Bad Credentials" } }

Boa tarde.
Por favor, veja se este link tem informações que podem lhe ser úteis

Uma observação inicial, no trecho de código que você disponibilizou tem isso aqui
 

FDataModule.ACBrBoleto1.Configuracoes.WebService.SSLType             := TSSLType(SSLIB);

Aqui SSLIB equivale a LT_TLSv1_2 ?

Consultor SAC ACBr

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

Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution

Bom dia

erro 401 significa que você está com erro de credencial, não que o handshake está errado.

 <ACBrBoleto>.Cedente.CedenteWS.ClientID      := client_id
 <ACBrBoleto>.Cedente.CedenteWS.ClientSecret  := client_secret
 <ACBrBoleto>.Cedente.CedenteWS.Scope         := cobrancas.boletos-info cobrancas.boletos-requisicao
 <ACBrBoleto>.Cedente.CedenteWS.KeyUser       := developer_application_key
 <ACBrBoleto>.WebServices.Ambiente            := taHomologacao; //taProducao   

a princípio os seus erros estão nessas propriedades, que estão passadas de forma que não estão válidas conforme as que estão registradas na API BB Developers.

referente a sslType, não precisa passar dessa forma, pode usar 

<ACBrBoleto>.WebServices.SSLType             := LT_TLSv1_2

 

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"

Link para o comentário
Compartilhar em outros sites

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