Membros Pro SisMaster Sistemas Postado Há 5 horas Membros Pro Postado Há 5 horas Olá, bom dia a todos Estou iniciando agora a implementação da API de Boletos em meu ERP e não tenho experiência alguma com o componente do ACBr da API, por isso já peço desculpas se alguma pergunta for muito óbvia. Li bastante a documentação do Sicoob (apesar de algumas coisas eu não ter entendido pela falta de experiência com isso antes) e vi diversos tópicos aqui do forum com duvidas de outros usuários para tentar implementar o básico no Demo ACBrBoleto para eu experimentar a API já em produção para, depois, implementar tudo em meu ERP, mas estou "travado" no erro "400". Parece que minhas credenciais não estão corretas, mas não consigo imaginar o que possa ser. O erro apontado no log é esse: HTTP_Code=400 Erro=Invalid client credentials Eu deixei o Demo ACBR setado da seguinte maneira: já no botão de Registrar Boleto On Line, baseado em outros usuários aqui que tiveram erros parecidos com os que eu estava tendo, ficou assim: Boleto := FACBrBoleto; //Função de Envio Boleto.Configuracoes.WebService.Operacao := tpInclui; Boleto.Configuracoes.WebService.Ambiente := tawsProducao; Boleto.Configuracoes.WebService.ArquivoCRT := 'C:\Temp\OpenSSL\certificado.pem'; Boleto.Configuracoes.WebService.ArquivoKEY := 'C:\Temp\OpenSSL\certificado.key'; Boleto.Configuracoes.WebService.Senha := '*****'; // aqui coloquei a senha correta Boleto.Configuracoes.WebService.VersaoDF := ''; Boleto.Cedente.CedenteWS.KeyUser := ''; // Boleto.Cedente.CedenteWS.IndicadorPix := True; //para boleto híbrido Boleto.Configuracoes.WebService.SSLCryptLib := cryOpenSSL; Boleto.Configuracoes.WebService.SSLHTTPLib := httpOpenSSL; Boleto.Configuracoes.WebService.SSLType := LT_TLSv1_2; Boleto.Configuracoes.WebService.TimeOut := 30000; Boleto.Configuracoes.WebService.UseCertificateHTTP := True; Boleto.Enviar; // <<< retorna como false se o httpresult code for diferente de 200,201,202 //Verifica Lista com os retornos Para que alguém possa nos ajudar, posso disponibilizar o "AcbrBoletoDemo.ini", mas não sei se posso fazer isso aqui pois contém os dados da minha empresa. Também posso disponibilizar o log completo de erro, apesar que acho que ele não irá ajudar muito nisso. Aqui está o último trecho: 25/11/24 11:12:30:490 - URL: [POST] https://auth.sicoob.com.br/auth/realms/cooperado/protocol/openid-connect/token 25/11/24 11:12:30:734 - Erro: HTTP_Code=400 Erro=Invalid client credentials 25/11/24 11:12:33:275 - Falha Envio: Falha na Autenticação: HTTP_Code=400 Erro=Invalid client credentials 25/11/24 11:14:02:667 - Autenticando Token... 25/11/24 11:14:02:668 - Comando Enviar: TOAuth 25/11/24 11:14:02:690 - URL: [POST] https://auth.sicoob.com.br/auth/realms/cooperado/protocol/openid-connect/token 25/11/24 11:14:03:738 - Erro: HTTP_Code=400 Erro=Invalid client credentials 25/11/24 11:14:08:962 - Falha Envio: Falha na Autenticação: HTTP_Code=400 Erro=Invalid client credentials 25/11/24 11:31:41:894 - Autenticando Token... 25/11/24 11:31:41:895 - Comando Enviar: TOAuth 25/11/24 11:31:41:908 - URL: [POST] https://auth.sicoob.com.br/auth/realms/cooperado/protocol/openid-connect/token 25/11/24 11:31:42:246 - Erro: HTTP_Code=400 Erro=Invalid client credentials 25/11/24 11:31:43:815 - Falha Envio: Falha na Autenticação: HTTP_Code=400 Erro=Invalid client credentials Como estou usando já no ambiente em produção (com a autorização do financeiro aqui da empresa), deixei os dados do Pagador com um CNPJ real, para realmente gerar um boleto a ser pago mas com um "nosso número" bem alto, para não confundir com outros boletos que enviamos aos clientes, conforme a imagem abaixo: Outra coisa que notei, é que converti o meu certificado em PFX para PEM e KEY, conforma o ótimo tutorial que vocês fizeram aqui: https://www.projetoacbr.com.br/forum/topic/73380-exportar-certificado-pem-crt-e-key/ Mas, consultando o ChatGPT, ele respondeu que o conteúdo deles precisa iniciar dessa forma: -----BEGIN CERTIFICATE----- mas o arquivo PEM que converti inicia com esse código abaixo (mudei alguns valores para não expor o meu arquivo verdadeiro): Bag Attributes localKeyID: 3Z B5 44 9B BF 3D F1 E5 5A E8 7D 64 10 91 8B 37 06 5D 5D 38 friendlyName: JJ FEMINA00000000000000 subject=/C=BR/O=ICP-Brasil/ST=SP/L=Araras/OU=AC SOLUTI Multipla v5/OU=23264444002166/OU=Videoconferencia/OU=Certificado PJ A1/CN=J.J. FEMINA:00000000000000 issuer=/C=BR/O=ICP-Brasil/OU=AC SOLUTI v5/CN=AC SOLUTI Multipla v5 -----BEGIN CERTIFICATE----- Deixei algumas informações aqui ocultas pois não sei se posso abrir um tópico expondo elas, mas se quem puder ajudar precisar delas, posso enviar por DM ou outra forma. Bom, se precisarem de mais informações, estarei verificando esse tópico com frequência e já agradeço as possíveis ajudas
Moderadores Juliomar Marchetti Postado Há 5 horas Moderadores Postado Há 5 horas 41 minutos atrás, SisMaster Sistemas disse: Bag Attributes localKeyID: 3Z B5 44 9B BF 3D F1 E5 5A E8 7D 64 10 91 8B 37 06 5D 5D 38 friendlyName: JJ FEMINA00000000000000 subject=/C=BR/O=ICP-Brasil/ST=SP/L=Araras/OU=AC SOLUTI Multipla v5/OU=23264444002166/OU=Videoconferencia/OU=Certificado PJ A1/CN=J.J. FEMINA:00000000000000 issuer=/C=BR/O=ICP-Brasil/OU=AC SOLUTI v5/CN=AC SOLUTI Multipla v5 -----BEGIN CERTIFICATE----- pode editar o arquivo e remover o restante pra cima deixa só do ---- begin até o --- end Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
Consultores Daniel InfoCotidiano Postado Há 3 horas Consultores Postado Há 3 horas @SisMaster Sistemas atenção as particularidades: 3.16 Banco Bancoob/ Sicoob Atenção com os preenchimentos dos dados. No campo “Digito da agência” informar o Número do Posto. No campo “Agência” informar o numero da Cooperativa. Daniel de Morais (Infocotidiano) Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord
Membros Pro SisMaster Sistemas Postado Há 2 horas Autor Membros Pro Postado Há 2 horas 2 horas atrás, Juliomar Marchetti disse: pode editar o arquivo e remover o restante pra cima deixa só do ---- begin até o --- end Oi Juliomar, tudo bem? Obrigado por responder Testei alterando o arquivo e, inclusive com a informação que o Daniel postou depois de você, corrigindo o DV da agência e colocando o Número do Posto, mas não deu certo ainda. Continua o erro "HTTP_Code=400 Erro=Invalid client credentials"... Nesse outro tópico (aqui) que vocês estavam ajudando outra pessoa, vocês informaram no campo do caminho do arquivo CRT o caminho do arquivo PEM. Eles não são iguais no meu caso, o arquivo com extensão PEM possui mais chaves do que o arquivo CRT, que possui uma só. Qual deles devo usar? Já tentei com os 2 e continua o erro. No meu código, ainda está assim: Boleto.Configuracoes.WebService.ArquivoCRT := 'C:\Temp\OpenSSL\certificado.pem'; E já aproveitando pra perguntar outra coisa, nessa parte do código abaixo que eu ocultei no meu post original, eu coloquei a senha de login do Portal Developers no Sicoob. Boleto.Configuracoes.WebService.Senha := '*****'; // aqui coloquei a senha correta É isso mesmo que deve ser preenchido ali? Já tentei também usando a senha do certificado digital e sempre retornou o mesmo erro. Não sei exatamente a que senha isso se refere, eu acabei vendo isso em outro tópico que vocês ajudaram outra pessoa com outro problema também. Agradeço desde já 1 hora atrás, Daniel InfoCotidiano disse: @SisMaster Sistemas atenção as particularidades: 3.16 Banco Bancoob/ Sicoob Atenção com os preenchimentos dos dados. No campo “Digito da agência” informar o Número do Posto. No campo “Agência” informar o numero da Cooperativa. Hm, obrigado por responder. Eu não sabia disso. Hoje, em nosso ERP, já emitimos os boletos para o Sicoob por CNAB e lá enviamos o DV da Agência dessa conta apenas como um zero nesse campo: AACBrBoleto.Cedente.AgenciaDigito := qryConta.FieldByName('AGENCIA_CEDENTE_DIGITO').AsString; Achei que via API seria o mesmo, tanto que copiei todos os outros dados de lá, exceto o ClienteID que é novo. Pedi ao financeiro para falar com o gerente da conta e ele nos informou que o Número do Posto é "6". Tentei tanto como "6" quanto como "06" e, mesmo fazendo a correção que o Juliomar também passou, continua o mesmo retorno do erro "400".
Recommended Posts