Jhonlenon Ribeiro Postado 23 Maio Postado 23 Maio @Juliomar Marchetti funcionando 100% em Homologação e Produção...já tenho 3 clientes usando em produção. Para testes em homologação usar os dados abaixo.... "nroCpfCnpjBenef": "68542653", "filCpfCnpjBenef": "1018", "digCpfCnpjBenef": "38", "cidtfdProdCobr": "09", "cnegocCobr": "386100000000041000", obs.: No Header deve ser alterado o CNPJ para 68542653101838 No json em homologação alterar só os dados do pagador, data emissão, vencimento e valor, os demais tem que permanecer igual ao json original do projeto. Já em produção ai o json é validado por inteiro. 2
Moderadores Juliomar Marchetti Postado 23 Maio Moderadores Postado 23 Maio 6 minutos atrás, Jhonlenon Ribeiro disse: @Juliomar Marchetti funcionando 100% em Homologação e Produção...já tenho 3 clientes usando em produção. Para testes em homologação usar os dados abaixo.... "nroCpfCnpjBenef": "68542653", "filCpfCnpjBenef": "1018", "digCpfCnpjBenef": "38", "cidtfdProdCobr": "09", "cnegocCobr": "386100000000041000", obs.: No Header deve ser alterado o CNPJ para 68542653101838 No json em homologação alterar só os dados do pagador, data emissão, vencimento e valor, os demais tem que permanecer igual ao json original do projeto. Já em produção ai o json é validado por inteiro. Legal Man. assim que conseguir já subo para a gente fazer testes no ACBrBoleto 2 Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
willian_delan Postado 23 Maio Postado 23 Maio (editado) 2 horas atrás, Juliomar Marchetti disse: Esse código está totalmente funcional? pergunto pois dai vou fazer aqui no ACBrBoleto baseado nas trocas necessárias com ele @Juliomar Marchetti Eu implementei no ACBr com base nos disponibilizados aqui, verifique se ajuda vocês: ACBrBoletoRet_Bradesco.pasACBrBoletoWS.pasACBrBoletoW_Bradesco.pas Única coisa em que alguns lugares fiz adaptações específicas para meu sistema que provavelmente o ACBr fará diferente eu acredito, são 2: 1º: Na Unit "ACBrBoletoW_Bradesco", procedure "GerarHeader" foi utilizado a property "Token" para pegar o valor do token gerado, no entanto eu não gero o TOKEN pelo ACBr, gerei diretamente pelo código fonte do meu sistema, após isso salvei o Token na property "Token" e uso a seguinte configuração meu sistema para os boletos do Bradesco: FACBrBoleto.OnAntesAutenticar := ACBrBoletoAntesAutenticar; FACBrBoleto.OnDepoisAutenticar := ACBrBoletoDepoisAutenticar; Dessa forma ao realizar o "GerarTokenAutenticacao" vai verificar que temos o ACBrBoletoAntesAutenticar/ACBrBoletoDepoisAutenticar e ao invés de tentar gerar o Token vai pegar o token já gerado e que está armazenado na property "Token". ****OBS: Segue anexo como fiz em meu sistema, é utilizado Rest do Delphi, mas caso queiram fazer de outra forma basta seguir o exemplo disponibilizado pelo @Lucio Bittes e @HelioNeto GeracaoTokenInternamente.txt 2°: Na Unit "ACBrBoletoW_Bradesco", procedure "GerarHeader", na parte da assinatura do header fiz a seguinte jogada, em meu sistema ao cliente informar o certificado digital e senha na conta bancária, é feito uma cópia desse certificado e movido para os arquivos temporários do windows com nome "CertBradescoApi.pfx" e senha "SenhaBradescoAPI.txt" onde dentro desse arquivo fica armazenado a senha do certificado do usuário, para assim em qualquer requisição/alteração posterior sempre termos os dados do certificado em pfx e senha para realizar a assinatura, visto que para todo e qualquer método é preciso assinar a requisição, tanto no Token quanto no Header da requisição. Caso necessário esse processo pode ser feito de outra forma, é apenas como gerencio em meu sistema, foi uma gestão interna para não ter que criar novos campos na tabela para salvar essa informação, hoje salvamos no BD apenas Certificado Publico e Privado, ai para esse processo do Bradesco geri dessa outra forma. Demais informações e processos segue o padrão das units do ACBr. *Outro detalhe é que foi "duplicado" a procedure "RequisicaoJson", porque em homologação somente foi possível testar usando todos os campos do JSON como string, no entanto de acordo com o manual temos diversos campos que são integer, sendo assim foi feito a "RequisicaoJson" para Produção, seguindo o manual do banco e foi feito o "RequisicaoJsonHom" para os testes de homologação. Se tiverem alguma dúvida sobre essas units e alterações basta questionar. Editado 23 Maio por willian_delan alt 3
Moderadores Juliomar Marchetti Postado 28 Maio Moderadores Postado 28 Maio Em 23/05/2024 at 17:57, willian_delan disse: @Juliomar Marchetti Eu implementei no ACBr com base nos disponibilizados aqui, verifique se ajuda vocês: ACBrBoletoRet_Bradesco.pas 13.28 kB · 0 downloads ACBrBoletoWS.pas 17.02 kB · 0 downloads ACBrBoletoW_Bradesco.pas 46.23 kB · 0 downloads Única coisa em que alguns lugares fiz adaptações específicas para meu sistema que provavelmente o ACBr fará diferente eu acredito, são 2: 1º: Na Unit "ACBrBoletoW_Bradesco", procedure "GerarHeader" foi utilizado a property "Token" para pegar o valor do token gerado, no entanto eu não gero o TOKEN pelo ACBr, gerei diretamente pelo código fonte do meu sistema, após isso salvei o Token na property "Token" e uso a seguinte configuração meu sistema para os boletos do Bradesco: FACBrBoleto.OnAntesAutenticar := ACBrBoletoAntesAutenticar; FACBrBoleto.OnDepoisAutenticar := ACBrBoletoDepoisAutenticar; Dessa forma ao realizar o "GerarTokenAutenticacao" vai verificar que temos o ACBrBoletoAntesAutenticar/ACBrBoletoDepoisAutenticar e ao invés de tentar gerar o Token vai pegar o token já gerado e que está armazenado na property "Token". ****OBS: Segue anexo como fiz em meu sistema, é utilizado Rest do Delphi, mas caso queiram fazer de outra forma basta seguir o exemplo disponibilizado pelo @Lucio Bittes e @HelioNeto GeracaoTokenInternamente.txt 4.48 kB · 0 downloads 2°: Na Unit "ACBrBoletoW_Bradesco", procedure "GerarHeader", na parte da assinatura do header fiz a seguinte jogada, em meu sistema ao cliente informar o certificado digital e senha na conta bancária, é feito uma cópia desse certificado e movido para os arquivos temporários do windows com nome "CertBradescoApi.pfx" e senha "SenhaBradescoAPI.txt" onde dentro desse arquivo fica armazenado a senha do certificado do usuário, para assim em qualquer requisição/alteração posterior sempre termos os dados do certificado em pfx e senha para realizar a assinatura, visto que para todo e qualquer método é preciso assinar a requisição, tanto no Token quanto no Header da requisição. Caso necessário esse processo pode ser feito de outra forma, é apenas como gerencio em meu sistema, foi uma gestão interna para não ter que criar novos campos na tabela para salvar essa informação, hoje salvamos no BD apenas Certificado Publico e Privado, ai para esse processo do Bradesco geri dessa outra forma. Demais informações e processos segue o padrão das units do ACBr. *Outro detalhe é que foi "duplicado" a procedure "RequisicaoJson", porque em homologação somente foi possível testar usando todos os campos do JSON como string, no entanto de acordo com o manual temos diversos campos que são integer, sendo assim foi feito a "RequisicaoJson" para Produção, seguindo o manual do banco e foi feito o "RequisicaoJsonHom" para os testes de homologação. Se tiverem alguma dúvida sobre essas units e alterações basta questionar. boa noite parece que tu usou códigos seus e não pensou na questão de usuários delphi 7 ou lazarus não entendi o txt segundo? também seu código está muito, mas muitso desatualizado ACBrBoletoWS.pas 1 Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
Matheus Lira Postado 3 Junho Postado 3 Junho Prezados, Alguém já conseguiu implementar em homologação a consulta de um boleto enviado? Aqui sempre que consulta através do endpoint "proxy.api.prebanco.com.br/v1/boleto/titulo-consultar", o mesmo retorna vazio. Estamos homologando o boleto hibrido. Agradeço desde já.
Jhonlenon Ribeiro Postado 4 Junho Postado 4 Junho (editado) @Matheus Lira já estou com mais de 60 dias com 3 chamado em aberto no para consultar o boleto hibrido pix apois o registro e até agora nada. O gestor da API de Cobrança Hibrido do Bradesco falou que o end point para o consulta do boleto hibrido pix não é esse aqui https://proxy.api.prebanco.com.br/v1/boleto/titulo-consultar esse é para consulta do boleto código de barras normal. Isso é uma conclusão minha, eu acho que o Bradesco não tem essa consulta, já falamos com tanta gente sobre esse assunto que até desisti. Por ultimo o gesto de cobra hibrido pix disse que estava entrando de ferias e retornava só depois do 10/06/2024. Se você consegui amigo a consulta nos avise aqui também, no nosso caso a consulta já em produção, sendo que os nossos clientes já estão em produção. Depois do dia 10/06/2024 com fazer outra tentativa direto com gestor da API de Cobrança hibrida, saber dele se tem ou não essa consulta, qualquer novidade eu posto aqui. Editado 4 Junho por Jhonlenon Ribeiro erro no texto 1
Moderadores Juliomar Marchetti Postado 5 Junho Moderadores Postado 5 Junho On 5/23/2024 at 5:57 PM, willian_delan said: @Juliomar Marchetti Eu implementei no ACBr com base nos disponibilizados aqui, verifique se ajuda vocês: ACBrBoletoRet_Bradesco.pas 13.28 kB · 9 downloads ACBrBoletoWS.pas 17.02 kB · 8 downloads ACBrBoletoW_Bradesco.pas 46.23 kB · 9 downloads Única coisa em que alguns lugares fiz adaptações específicas para meu sistema que provavelmente o ACBr fará diferente eu acredito, são 2: 1º: Na Unit "ACBrBoletoW_Bradesco", procedure "GerarHeader" foi utilizado a property "Token" para pegar o valor do token gerado, no entanto eu não gero o TOKEN pelo ACBr, gerei diretamente pelo código fonte do meu sistema, após isso salvei o Token na property "Token" e uso a seguinte configuração meu sistema para os boletos do Bradesco: FACBrBoleto.OnAntesAutenticar := ACBrBoletoAntesAutenticar; FACBrBoleto.OnDepoisAutenticar := ACBrBoletoDepoisAutenticar; Dessa forma ao realizar o "GerarTokenAutenticacao" vai verificar que temos o ACBrBoletoAntesAutenticar/ACBrBoletoDepoisAutenticar e ao invés de tentar gerar o Token vai pegar o token já gerado e que está armazenado na property "Token". ****OBS: Segue anexo como fiz em meu sistema, é utilizado Rest do Delphi, mas caso queiram fazer de outra forma basta seguir o exemplo disponibilizado pelo @Lucio Bittes e @HelioNeto GeracaoTokenInternamente.txt 4.48 kB · 8 downloads 2°: Na Unit "ACBrBoletoW_Bradesco", procedure "GerarHeader", na parte da assinatura do header fiz a seguinte jogada, em meu sistema ao cliente informar o certificado digital e senha na conta bancária, é feito uma cópia desse certificado e movido para os arquivos temporários do windows com nome "CertBradescoApi.pfx" e senha "SenhaBradescoAPI.txt" onde dentro desse arquivo fica armazenado a senha do certificado do usuário, para assim em qualquer requisição/alteração posterior sempre termos os dados do certificado em pfx e senha para realizar a assinatura, visto que para todo e qualquer método é preciso assinar a requisição, tanto no Token quanto no Header da requisição. Caso necessário esse processo pode ser feito de outra forma, é apenas como gerencio em meu sistema, foi uma gestão interna para não ter que criar novos campos na tabela para salvar essa informação, hoje salvamos no BD apenas Certificado Publico e Privado, ai para esse processo do Bradesco geri dessa outra forma. Demais informações e processos segue o padrão das units do ACBr. *Outro detalhe é que foi "duplicado" a procedure "RequisicaoJson", porque em homologação somente foi possível testar usando todos os campos do JSON como string, no entanto de acordo com o manual temos diversos campos que são integer, sendo assim foi feito a "RequisicaoJson" para Produção, seguindo o manual do banco e foi feito o "RequisicaoJsonHom" para os testes de homologação. Se tiverem alguma dúvida sobre essas units e alterações basta questionar. Willian? leu o que escrevi acima pra me dar um retorno pra gente colocar isso no ACBR? 1 Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
willian_delan Postado 5 Junho Postado 5 Junho (editado) 11 horas atrás, Juliomar Marchetti disse: Willian? leu o que escrevi acima pra me dar um retorno pra gente colocar isso no ACBR? Bom dia @Juliomar Marchetti, tudo bem? Sim eu li, assim que possível eu repasso aqui as units atualizadas, pois realmente meu ACBrBoletoWS.pas estava bem desatualizado. Quanto ao seu outro questionamento: "parece que tu usou códigos seus e não pensou na questão de usuários delphi 7 ou lazarus" O que implica no código para usuários Delphi 7 e Lazarus? Pode me explicar para eu ajustar? Obrigado. Sobre o outro questionamento "não entendi o txt segundo?" Se está se referindo ao "GeraçãoTokenInternamente.txt" é como fiz a geração do token em meu sistema, gero o token e armazeno na property do ACBr FToken e no momento das execuções dos processos eu sempre tenho o token guardado pois uso os ACBrBoleto.OnAntesAutenticar/ACBrBoleto.OnDepoisAutenticar realmente pode ser confuso, não sei como seria para o ACBr gerar esse token pois não poderá ser feito diretamente como hoje é nos outros modelos e nesse meu eu usei Rest do Delphi, caso queira algo mais similar a como hoje é trabalhado no ACBr tem que usar como exemplo o código do @Lucio Bittes e @HelioNeto disponível aqui neste fórum, ou segue aqui: https://files.fm/u/r4t5whcqvx Tem que ver como será feito, pois como é hoje utilizado para os demais bancos com o GerarTokenAutenticacao não irá servir, pois a geração de Token desse banco é algo específico e com etapas e processos que não é feito no ACBr. Editado 5 Junho por willian_delan 1
herculesadm Postado 26 Junho Postado 26 Junho boa tarde pessoal, alguem esta tendo este retorno para registrar o boleto: } { "code": "103", "message": "no valid public key", "details": null } HTTP/1.1 400 Bad Request
Jhonlenon Ribeiro Postado 28 Junho Postado 28 Junho (editado) @herculesadm esse problema parece ser no certificado digital, você enviou a chave publica do certificado para o suporte a API do Bradesco? também pode ser problema na sua requisição. Está testando em homologação ou produção? Editado 28 Junho por Jhonlenon Ribeiro erro no texto
Ronaldo Souza - Rift Postado 2 Julho Postado 2 Julho Fala pessoal, tudo bem ? Alguém ai conseguiu realizar a requisição diretamente pelo postaman ? to quebrando a cabeça aqui com esse bradesco. Consegui gerar o token, porem quando tento fazer a requisição no endpoint registro de boleto me retorna o erro abaixo: { "code": "104", "message": "invalid signature", "details": "null" } Não tenho ctz se to preenchendo o X-Brad-Signature corretamente, mas to montando aquele request.txt e assinando ele e mesmo assim me retorna este problema.
Raphael. F. B. Soares Postado 3 Julho Postado 3 Julho Em 28/06/2024 at 07:59, Jhonlenon Ribeiro disse: @herculesadm esse problema parece ser no certificado digital, você enviou a chave publica do certificado para o suporte a API do Bradesco? também pode ser problema na sua requisição. Está testando em homologação ou produção? Estou com o mesmo problema, abri chamado pra ver o que pode ser. Estou utilizando o mesmo certificado, o qual, foi gerado o .pem pra eles... 1
Jhonlenon Ribeiro Postado 3 Julho Postado 3 Julho Bom dia @Ronaldo Souza - Rift você está usando Delphi pra fazer o registro do boleto Bradesco? eu consegui testar no postman, mais pegando os dados que foi gerado no Delphi. Authorization: X-Brad-Signature: X-Brad-Nonce: X-Brad-Timestamp: X-Brad-Algorithm: O secreto é não deixar o X-Brad-Signature quebrar a linha, se quebrar e vc colocar no postman ai dá esse erro ai.
Ronaldo Souza - Rift Postado 3 Julho Postado 3 Julho 9 minutos atrás, Jhonlenon Ribeiro disse: Bom dia @Ronaldo Souza - Rift você está usando Delphi pra fazer o registro do boleto Bradesco? eu consegui testar no postman, mais pegando os dados que foi gerado no Delphi. Authorization: X-Brad-Signature: X-Brad-Nonce: X-Brad-Timestamp: X-Brad-Algorithm: O secreto é não deixar o X-Brad-Signature quebrar a linha, se quebrar e vc colocar no postman ai dá esse erro ai. Bom dia @Jhonlenon Ribeiro, eu to usando C#, mas a assinatura do arquivo request.txt estou fazendo com aquele comando que tem na documentação do Bradesco. Eu to tentando primeiro fazer funcionar via postman pra depois finalizar a codificação no C#, ai cai nesse problema de que toda url que tento acessar da esse invalid signature. Como você fez a montagem do arquivo request.txt ? Tem um outro campo também que pede no postman que é o Access-token, você ta preenchendo ele com qual informação ?
Jhonlenon Ribeiro Postado 3 Julho Postado 3 Julho Agora, Ronaldo Souza - Rift disse: Bom dia @Jhonlenon Ribeiro, eu to usando C#, mas a assinatura do arquivo request.txt estou fazendo com aquele comando que tem na documentação do Bradesco. Eu to tentando primeiro fazer funcionar via postman pra depois finalizar a codificação no C#, ai cai nesse problema de que toda url que tento acessar da esse invalid signature. Como você fez a montagem do arquivo request.txt ? Tem um outro campo também que pede no postman que é o Access-token, você ta preenchendo ele com qual informação ? Se vc tivesse usando o Delphi poderia testar com demo aqui do forum, já o acess-token vc colocar o CLIENT_ID, também existe esse outro parametro cpf-cnpj: que é o CNPJ do Emitente do boleto. Como comentei anterior pra vc testar no postman não quebre a linha do X-Brad-Signature
Ronaldo Souza - Rift Postado 3 Julho Postado 3 Julho 7 horas atrás, Jhonlenon Ribeiro disse: Se vc tivesse usando o Delphi poderia testar com demo aqui do forum, já o acess-token vc colocar o CLIENT_ID, também existe esse outro parametro cpf-cnpj: que é o CNPJ do Emitente do boleto. Como comentei anterior pra vc testar no postman não quebre a linha do X-Brad-Signature Pessoal consegui resolver o problema que estava tendo de Invalid Signature. Em contato com o banco me enviaram um manual referente a este erro. Um dos problemas era que o arquivo request.txt que estava montando estava usando a quebra de linha do Windows mas temos que usar a do Unix (\n) Outro era que o json enviado no body da requisição tem que estar no mesmo formato do json incluso no arquivo request.txt, ou seja sem formatação nenhuma. Deixo aqui o manual enviado pelo banco caso alguém precise. Abraços. Erro Invalid Signature.pdf 1
Raphael. F. B. Soares Postado 4 Julho Postado 4 Julho Pode disponibilizar os fontes que geram e assinam o payload? 16 horas atrás, Ronaldo Souza - Rift disse: Pessoal consegui resolver o problema que estava tendo de Invalid Signature. Em contato com o banco me enviaram um manual referente a este erro. Um dos problemas era que o arquivo request.txt que estava montando estava usando a quebra de linha do Windows mas temos que usar a do Unix (\n) Outro era que o json enviado no body da requisição tem que estar no mesmo formato do json incluso no arquivo request.txt, ou seja sem formatação nenhuma. Deixo aqui o manual enviado pelo banco caso alguém precise. Abraços. Erro Invalid Signature.pdf 341.38 kB · 10 downloads
Jhonlenon Ribeiro Postado 16 Julho Postado 16 Julho Boa tarde, Agora ficou 100% a consulta do boleto híbrido pix.Testamos esses 3 end point abaixo https://openapi.bradesco.com.br/v1/boleto/titulo-consultar - OK (Acesso com sucesso) https://openapi.bradesco.com.br/v1/boleto/listar-titulo-pendente - OK (Acesso com sucesso) https://openapi.bradesco.com.br/v1/boleto/titulo-baixar - OK (Acesso com sucesso) Só uma pequena observação, na consulta desse end point https://openapi.bradesco.com.br/v1/boleto/titulo-consultar não vem o campo wqrcdPdraoMercd que é referente ao Qrcode do PIX do boleto. Vem varios informações como LINHA DIGITAVEL, CODIGO DE BARRAS, SITUAÇÃO DO BOLETO e outras informações. Nós insistimos muito com suporte da API e Gestor de Cobrança Hibrida, com muita luta conseguimos consumir esses 3 end point. 2
Camila Angelelli Postado 18 Julho Postado 18 Julho oi gente, to perdidassa aqui alguém tem um modelo de layout php do boleto c/ pix? 1
willian_delan Postado 18 Julho Postado 18 Julho Em 30/08/2023 at 16:58, rafabarzotto disse: @HelioNeto Maravilha meu amigo, as dicas foram valiosas. Acabei caindo aqui fórum do ACBR por acaso depois de um vídeo seu. Estou desenvolvendo um middleware de integração bancaria que recebe dados por meio de WSDL e comunica REST com o banco escolhido, isso em linguagem PHP. Deixo meu https://github.com/rafabarzotto, caso alguém encontre dificuldade e precise tirar alguma duvida sobre essa API do Bradesco. @Camila AngelelliAqui na primeira página desse post tem um exemplo em PHP que o @rafabarzottofez, da uma olhada, tem o Git dele com o projeto, veja se te ajuda. 1
rafmattos Postado 23 Julho Postado 23 Julho boa tarde, pessoal, ainda não está implementado registro online do bradesco?
Jhonlenon Ribeiro Postado 23 Julho Postado 23 Julho @rafmattos eu e outros colegas fizemos indepente da ACBr, mais @Juliomar Marchetti disse que iria tentar colocar no ACBrBoleto
Moderadores Juliomar Marchetti Postado 24 Julho Moderadores Postado 24 Julho #TK-5779 Tratamento para compatibilizar, testar e subir ao svn 2 Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
Jhonlenon Ribeiro Postado 25 Julho Postado 25 Julho Boa tarde @Juliomar Marchetti quando tiver OK avisa aqui pra gente testar em homologação e produção. 1
Moderadores Juliomar Marchetti Postado 25 Julho Moderadores Postado 25 Julho 6 minutos atrás, Jhonlenon Ribeiro disse: Boa tarde @Juliomar Marchetti quando tiver OK avisa aqui pra gente testar em homologação e produção. Sim será avisado até vou trancar to tópico aqui. e quando estiver OK será atualizado lá no post com as configurações pra usar suando aqui pra mexer no código, pois tem mistura de outros códigos enfim. 2 Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
Recommended Posts