Ir para conteúdo
  • Cadastre-se

HelioNeto

Membros
  • Total de ítens

    63
  • Registro em

  • Última visita

Tudo que HelioNeto postou

  1. Sim, está UseCertificateHTTP = False. Eu apaguei todos os arquivos da Pasta do Demo, baixei novamente do SVN, instalei e Agora retornou 200: ------------------------------ 26/11/24 10:47:59:285 - Comando Enviar: TOAuth 26/11/24 10:47:59:285 - URL: [POST] https://proxy.api.prebanco.com.br/auth/server/v1.2/token 26/11/24 10:48:00:052 - Validade: 26/11/2024 11:48:00 26/11/24 10:48:00:052 - Comando Enviar: TBoletoW_Bradesco 26/11/24 10:48:00:052 - Comando Enviar: {"registrarTitulo":1,"codUsuario":"APISERVIC","nroCpfCnpjBenef":"99999999999962","filCpfCnpjBenef":57,......etc...} 26/11/24 10:48:00:053 - URL: [POST] https://proxy.api.prebanco.com.br/v1/boleto-hibrido/registrar-boleto 26/11/24 10:48:00:085 - Retorno Envio: TBoletoW_Bradesco 26/11/24 10:48:00:086 - Código do Envio: 200 1.1 OK ------------------------------ Mas ainda está com esse Erro: Expected "{" but found invalid Symbol (1,2) na Analise do Retorno. Aproveitei para testar a Consulta de Boleto, mas ainda não está implementado.
  2. Baixei o arquivo, fiz os Testes, de fato está pegando UTC agora: mais ainda estou tento o Retorno 500: Ocorre nessa função: Esse erro: Será que estou preenchendo algo errado no Demo ACBrBoleto?
  3. Sim, eu estou em Campo Grande/MS aqui é GMT-4. 1h a menos que Brasília.
  4. Então, no Postman eu consegui Gerar o Token e Enviar o Boleto, retornando 400 bad request por enviar dados fictícios. Hugo, mais tarde eu vou testar sua Unit, agora estou ocupado em outra demanda. Obrigado.
  5. Sim, vou mandar no Discord.
  6. Fiz os Testes e agora não ocorreu mais o Erro de Chave, agora caiu no Erro 500. Na Procedure : TOAuth.ProcessarRespostaOAuth Segue o log. 25/11/24 17:04:32:126 - Comando Enviar: TOAuth 25/11/24 17:04:35:436 - URL: [POST] https://proxy.api.prebanco.com.br/auth/server/v1.1/token 25/11/24 17:06:11:807 - Erro: HTTP_Code=500 Erro=grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&assertion=ASSINATURA 25/11/24 17:06:13:767 - Falha Envio: Falha na Autenticação: HTTP_Code=500 Erro=grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&assertion=ASSINATURA
  7. Não, o Loadfromfile é no TOAuth.Create. Ele é criado e antes de criar o Boleto Bradesco e só ali que muda o Type para atJWT se depois que criar o Bradesco colocar para realizar o LoadFromFile acho que vai funcionar.
  8. Até essa Linha: 288 está certo. atJWT mas depois executa a LJWTAuth.GenerateJWT antes de ter entrado no LoadFromFile que você mencionou. parece que a Criação do Boleto bradesco está posterior a criação do TOAuth
  9. No Momento da Criação o Type está atNoAuth Como eu faço para Atribuir atJWT?
  10. Depois que passa pela ChavePrivada ele perde a referencia.
  11. Isso, estou passando direto no btnWSRegistrarClick. (...) begin Boleto := FACBrBoleto; Boleto.Configuracoes.WebService.UseCertificateHTTP := False; Boleto.Configuracoes.WebService.ArquivoKEY :='cert-gerencial-auto.key'; Boleto.Configuracoes.WebService.ArquivoCRT :='cert-gerencial-auto.crt'; (...) Mas também informei no AcbrBoletoDemo.ini [WEBSERVICE] (...) ArquivoCRT=C:\svn\trunk2\Exemplos\ACBrBoleto\Delphi\cert-gerencial-auto.crt ArquivoKEY=C:\svn\trunk2\Exemplos\ACBrBoleto\Delphi\cert-gerencial-auto.key ArquivoPFX=C:\svn\trunk2\Exemplos\ACBrBoleto\Delphi\cert-gerencial-auto.pfx (...)
  12. Baixei os Fontes atualizados e Inicie os Testes no Boleto Bradesco. Segui conforme descrito no Tópico FACBrBoleto.Configuracoes.WebService.UseCertificateHTTP := False; FACBrBoleto.Configuracoes.WebService.ArquivoKEY :='c:\pastaCertificado\Certificado.key'; FACBrBoleto.Configuracoes.WebService.ArquivoCRT :='c:\pastaCertificado\Certificado.crt'; No entanto, ocorre erro: 25/11/24 12:58:15:609 - Falha Envio: Error loading Private Key Error: 151584876 - error:0909006C:PEM routines:get_name:no start line Analisei os Fontes e Percebi que está sendo Removido o Certificado na procedure DefinirCertificado ao passar pela na Linha 149: Em: TBoletoWSREST.DefinirCertificado 1º - Imagem antes de Passar 2º - Depois de Passar: Então ocorre o erro mencionado: Fiz um Ajuste nos Fontes, Reinstalei a ACBr e consegui passar desse Erro, agora está caindo no Erro "500". 1º Na Leitura do Arquivo INI passei o Texto da .KEY para a Variável ChavePrivada. 2º - Comentei um Bloco de Definir Certificado 3º - O Erro mudou: Segue o Log do Erro: - logBoleto.txt Qualquer dúvida estou a disposição. Desde já agradeço!
  13. Muito Bacana @valterpatrick! Eu estou começando a me interessar também por estes assuntos, inclusive numa linha muito parecida desta que você está querendo. Do que eu já pesquisei até agora, que ainda não coloquei em pratica, mas que posso compartilhar é o Ollama que basicamente é um Processador de Modelos de Inteligência Artificial Open Source. No site deles vocês escolhe qual Modelo quer, cada um com tipo e tamanho para você escolher. Link do Site Oficial: https://ollama.com/ Em conjunto com ele você pode instalar uma Interface Gráfica para poder visualizar via Navegador OpenWebUI: https://github.com/open-webui/open-webui Acredito que você só consegue rodá-lo via Docker, mas pode usar no Windows ou Linux, acho que o MacOs que tem alguns entraves. Tem alguns canais no Youtube que está bem explicado. Mas é isso, até onde eu pesquisei, começa por aí.
  14. Boa Tarde @willian_delan Eu estou aguardando o Retorno do Juliomar, ele ainda está analisando.
  15. Eu abri o AcbrBoletoDemo.ini e preenchi os 3 por precaução. ArquivoCRT=C:\svn\trunk2\Exemplos\ACBrBoleto\Delphi\cert.crt ArquivoKEY=C:\svn\trunk2\Exemplos\ACBrBoleto\Delphi\cert.key ArquivoPFX=C:\svn\trunk2\Exemplos\ACBrBoleto\Delphi\cert.pfx Comando pra gerar o CRT e o Key: openssl pkcs12 -in cert.pfx -clcerts -nokeys -out cert.crt openssl pkcs12 -in cert.pfx -nocerts -nodes -out cert.key Se for rodar no Windows Precisa ter o OpenSSL instalado, ou pode rodar no Linux que já vem instalado.
  16. @willian_delan Eu testei e agora está ocorrendo erro: Falha na Autenticação: HTTP_Code=400 Erro={ "code": "100", "message": "invalid token", "details": null } O FParamsOAuth está assim: "grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&assertion=" Falei com o Juliomar ele vai verificar.
  17. Vou iniciar os Testes agora...
  18. Boa Tarde @guilherm5 O Erro de assinatura invalida é o mesmo que está retonando no meu teste em Delphi. Eu consegui registrar o boleto via Postman, utilizando um pré-script em JavaScript, Mas eu preciso em Delphi, ai parei de mexer por enquanto. Se vc estiver usando o Python em Windows, faz um teste rodando em Linux Vê se o erro muda.
  19. Boa Tarde Pessoal! Eu fiz um vídeo e postei no Youtube falando sobre a Geração do TOKEN que funcionou Belezinha, Mas a criação do boleto ainda está com erro e por isso eu não postei a continuação. E de todos os testes que eu fiz ainda está com o Erro: "Assinatura Inválida". Todos estes testes me fez perder Horas de esforço e inclusive o sono e mesmo assim ainda não consegui fazer funcionar. No meu entendimento tem a ver com a forma como é realizada a Assinatura no Windows e talvez não tenha solução ainda. Bom, como tem varias pessoas me perguntando, vou postar aqui um Teste que fiz até onde eu parei em DELPHI. Tem vários comentários de tentativas que fiz não estranhe não. Acredito que falta pouco para funcionar usando o Indy com OpenSSL, mas não consegui Detalhe, precisa trocar a constante CLIENT_ID, informando a sua de TESTE. Lembrando que as dlls e o .PEM precisa ficar na mesma pasta do Exe (que já é de praxe). Segue em anexo, Favor, quem conseguir fazer funcionar no Windows pelo Delphi, compartilha com a gente. Abraço! Fonte-Delphi-BradescoApiBoletoHibrido.rar
  20. @Jhonlenon Ribeiro Bom dia! Consegui fazer utilizando JavaScript via Postman, tiveram pessoas que me falaram que resolveram em PHP e C# Eu parei essa implementação com o Boleto Hibrido do Bradesco no Delphi, acredito que eu venha retomar só ano que vêm. Mas a princípio, não consegui fazer funcionar a parte da assinatura com o OpenSSL diretamente pelo Delphi, instanciando as funções da DLL. Ainda não tive uma conclusão mas a princípio o problema é na Forma de Assinar estando no S.O Windows, comparando ao S.O Linux, quando o Servidor do Bradesco vai Descriptografar acusa o erro.
  21. @Victor H. Gonzales - Panda Consegui auxilio do pessoal do Bradesco e o Problema não é na minha credencial, eu estava enviando uma informação incorreta. Agora para tentar solucionar a assinatura, testei todos os tipos de assinatura que encontrei na ACBr: DFeSSL.CalcHashArquivo('request.txt', dgstSHA256, outBase64, True); //usando o PFX. ACBrEAD.CalcularAssinaturaArquivo('request.txt', dgstSHA256, outBase64); //usando o PEM na função ACBrEADGetChavePrivada. ACBrOpenSSLUtils.CalcHashFromFile('request.txt', algSHA256, sttBase64, True) //usando o PEM passando ele LoadPrivateKeyFromFile. Todas elas a Assinatura fica diferente do comando via LINUX passado via Manual de integração: echo -n "$(cat request.txt)" openssl dgst -sha256 -keyform pem -sign certificado.pem | base64 | tr -d '=[:space:]' | tr '+/' '-_' Na pasta eu tenho o certificado.pem e o arquivo request.txtrequest.txt Está ocorrendo erro de assinatura pois essa assinatura não está sendo validada pelo Bradesco.
  22. @Victor H. Gonzales - Panda Obrigado pela disponibilidade. Houve um problema nas minhas credenciais, estou esperando o Bradesco me responder, quando estiver com as Credenciais atualizadas ou quando eles resolverem eu vou retomar essa demanda, no momento, estou vendo outra tarefa. Mas se quiser fazer o teste, no Anexo que eu coloquei, informei os dados fictícios, com estes dados já consegue fazer os testes.
  23. @Victor H. Gonzales - Panda Eu já tentei mas não consegui fazer funcionar. Se você baixar o arquivo que eu anexei, vai ver que eu Copiei o arquivo ACBrBancoW_Bancoob.pas alterei para ACBrBoletoW_Bradesco.pas E fiz as modificações no Método: function TBoletoW_Bradesco.GerarTokenAutenticacao: {*** MONTAGEM DO BODY COM O JWS (JSON Web Signature) ***} xRequestBody := TStringList.Create; xRequestBody.Add('grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer'); xRequestBody.Add('assertion='+strAssertion); HTTPSend.Document.Clear; //Esse xRequestBody precisa ser enviado no Body do Post, não consegui fazer funcionar. {*** FIM MONTAGEM BODY ***} OAuth.ContentType := 'application/x-www-form-urlencoded'; OAuth.Payload := true; OAuth.AuthorizationType := atNoAuth; //precisa alterar para NoAuth para não mandar o Basic. Result := inherited GerarTokenAutenticacao;
  24. @Lucio Bittes Pelo que analisei, nos fontes da ACBr: Então teria que criar um overload desse método HTTPMethod com opção de enviar Parâmetros no Body Como este ajuste é na Base do componente, eu não quis tentar criar algo nesse sentido, mas acredito que se houver essa opção vai funcionar a geração do Token. Depois vem outros detalhes bem específicos da API do Bradesco na parte de Registrar o Boleto que pode ser que seja necessário mais algum ajuste. Eu Tive um problema nas minhas credenciais de teste com o Bradesco, eles abriram um Ticket Interno, estou esperando há umas 2 semanas eles me responderem para dar sequencia na implementação.
  25. Pois é, Tivemos uma longa discussão aqui na Empresa e vamos seguir o MOC que trata do preenchimento da NFe. Como O Total da NFe não considera a retenção, não vamos aplicar desconto no Total da Nota. E Se houver um questionamento por parte do Órgão Público, vamos exigir uma Comprovação Legal.
×
×
  • 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.