HelioNeto Postado 28 Novembro Autor Postado 28 Novembro Uma dica, no Teste do Postman que eu tenho que retorna o 400. Tanto a URL de Geração do Token como a URL que vai dentro do Payload Assinado é o: https://proxy.api.prebanco.com.br/auth/server/v1.2/token
Consultores Victor H. Gonzales - Panda Postado 28 Novembro Consultores Postado 28 Novembro 57 minutos atrás, Jhonlenon Ribeiro disse: Nesse formato ai dá invalid signature....um coisa que eu não estou conseguindo entender é que ao tentar enviar o boleto retorna status 200 OK com um erro que não é o retorno real...salvei o token e headers gerado pelo ACBr e fui testar no postman ai recebo o erro correto stus 400. Parece que tem alguma coisa errado no envio porque tinha que retornar com erro 400 com mostra o texto abaixo... { "code": "104", "message": "invalid signature", "details": "null" } O processo de geração do token está correto...cheguei a testar o token gerado pela ACBr e está OK. ACBrBoletoW_Bradesco.pasremovi o fuso "Z" como sugerido e coloquei a mascara -00:00 que é zulu conforme a documentação... tem como me enviar a documentação, não sei se é a mesma que eu tenho aqui a que vocês tem. Victor H Gonzales - Pandaaa Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (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"
Consultores Victor H. Gonzales - Panda Postado 28 Novembro Consultores Postado 28 Novembro 32 minutos atrás, HelioNeto disse: Uma dica, no Teste do Postman que eu tenho que retorna o 400. Tanto a URL de Geração do Token como a URL que vai dentro do Payload Assinado é o: https://proxy.api.prebanco.com.br/auth/server/v1.2/token a url é essa que está informada no Audiance e no Post Victor H Gonzales - Pandaaa Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (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"
HelioNeto Postado 28 Novembro Autor Postado 28 Novembro Certo. A URL que estou usando para Registrar é: https://proxy.api.prebanco.com.br/v1/boleto/registrarBoleto Essa é a ordem do Header de Registro de Boleto que está no Postman:
Jhonlenon Ribeiro Postado 28 Novembro Postado 28 Novembro (editado) @Victor H. Gonzales - Panda Bom dia....agora já não estou entendo o Bradesco...vou lhe passar um manual que recebi hoje do Bradesco...dizendo eles que está atualizado. Você conseguiu ver esse detalhe porque mesmo dando erro no envio do boleto está retornando o status 200? Manual do desenvolvedor v6.0.pdf Editado 28 Novembro por Jhonlenon Ribeiro
Consultores Victor H. Gonzales - Panda Postado 28 Novembro Consultores Postado 28 Novembro depois de alguns vários testes parou de dar o "erro" 200 OK e agora veio erro 400 na assinatura... vamos tentar evoluir Victor H Gonzales - Pandaaa Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (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"
Jhonlenon Ribeiro Postado 28 Novembro Postado 28 Novembro 1 minuto atrás, Victor H. Gonzales - Panda disse: depois de alguns vários testes parou de dar o "erro" 200 OK e agora veio erro 400 na assinatura... vamos tentar evoluir Agora ficou mais fácil...esse erro ai é na assintarua do X-Brad-Signature no readers....pode anexar a unit? ai vou tentar descobrir o motivo da assintura está invalida.
Consultores Victor H. Gonzales - Panda Postado 28 Novembro Consultores Postado 28 Novembro 1 hora atrás, Jhonlenon Ribeiro disse: Agora ficou mais fácil...esse erro ai é na assintarua do X-Brad-Signature no readers....pode anexar a unit? ai vou tentar descobrir o motivo da assintura está invalida. TKBradesco.patch segue Victor H Gonzales - Pandaaa Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (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"
Jhonlenon Ribeiro Postado 28 Novembro Postado 28 Novembro 19 minutos atrás, Victor H. Gonzales - Panda disse: TKBradesco.patch 9.92 kB · 2 downloads segue Não está vindo a unit atualizada....consegui anexar aqui?
Consultores antonio.carlos Postado 28 Novembro Consultores Postado 28 Novembro 55 minutos atrás, Jhonlenon Ribeiro disse: Não está vindo a unit atualizada....consegui anexar aqui? Você pode aplicar o patch em seu svn. https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-patch.html caso não apareça clicando com o botão direito do mouse, precisa habilitar nas configurações do Tortoise. Feito isso, consegue aplicar o Patch que @Victor H. Gonzales - Panda te enviou.
Consultores Victor H. Gonzales - Panda Postado 29 Novembro Consultores Postado 29 Novembro 16 horas atrás, Jhonlenon Ribeiro disse: Não está vindo a unit atualizada....consegui anexar aqui? Bom dia, conseguiu achar alguma diferença na assinatura? Victor H Gonzales - Pandaaa Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (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"
Jhonlenon Ribeiro Postado 29 Novembro Postado 29 Novembro @Victor H. Gonzales - Panda Bom dia...agora pela manhã voltei a mexer. Olha só se eu pego headers, json boleto e token gerado pela ACBr e coloco no postman, o boleto é registro 100% sem erro. Então código da assintura está OK e também não é erro no json de homologação.
Jhonlenon Ribeiro Postado 29 Novembro Postado 29 Novembro (editado) @Victor H. Gonzales - Panda Eu consegui registrar o boleto em homologação.....vou te mandar a unit em anexo, o problema tava do Content-Type...porque tanto para o pegar o token e registro do boleto está usando application/x-www-form-urlencoded. Para o token Content-Type :='application/x-www-form-urlencoded'; Para o registro do Boleto Content-Type :='application/json'; Mesmo que agente tava setando na procedure GerarHeader da unit ACBrBoletoW_Bradesco...lá na unit ACBrBoletoWS.Rest sempre passava o Content-Type :=application/x-www-form-urlencoded....fiz um ajuste na unit ACBrBoletoW_Bradesco aqui....Vou anexar a unit também. ACBrBoletoW_Bradesco.pas Editado 29 Novembro por Jhonlenon Ribeiro
Consultores Victor H. Gonzales - Panda Postado 29 Novembro Consultores Postado 29 Novembro 33 minutos atrás, Jhonlenon Ribeiro disse: @Victor H. Gonzales - Panda Eu consegui registrar o boleto em homologação.....vou te mandar a unit em anexo, o problema tava do Content-Type...porque tanto para o pegar o token e registro do boleto está usando application/x-www-form-urlencoded. Para o token Content-Type :='application/x-www-form-urlencoded'; Para o registro do Boleto Content-Type :='application/json'; Mesmo que agente tava setando na procedure GerarHeader da unit ACBrBoletoW_Bradesco...lá na unit ACBrBoletoWS.Rest sempre passava o Content-Type :=application/x-www-form-urlencoded....fiz um ajuste na unit ACBrBoletoW_Bradesco aqui....Vou anexar a unit também. ACBrBoletoW_Bradesco.pas 36.73 kB · 0 downloads to tendo erro 403 com o json seu... que eu to usando como base... agora o json que o componente gera dá erro de assinatura, ainda não achei qual campo que está com problemas, a mensagem de erro não é clara, retorna só erro de assinatura e null Victor H Gonzales - Pandaaa Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (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"
Jhonlenon Ribeiro Postado 29 Novembro Postado 29 Novembro (editado) 21 minutos atrás, Victor H. Gonzales - Panda disse: to tendo erro 403 com o json seu... que eu to usando como base... agora o json que o componente gera dá erro de assinatura, ainda não achei qual campo que está com problemas, a mensagem de erro não é clara, retorna só erro de assinatura e null Você viu que nessa unit ACBrBoletoW_Bradesco que lhe mandei tem a montagem do json em homologação e produção. O json em homologação tem algumas partes dinâmica e outras fixa, porque em homologação tem alguns campos que não pode ser alterado, pelo menos antes era assim, só semudou agora. Aqui estou conseguindo registrar em homologação 100%. Agora em produção terá que ajustar esse json ai ainda. Esse erro invalid signature as vezes pode ser assinatura ou json, nesse caso o código da assintarua do X-Brad-Signature do boleto está OK. Editado 29 Novembro por Jhonlenon Ribeiro
Consultores Victor H. Gonzales - Panda Postado 29 Novembro Consultores Postado 29 Novembro 1 hora atrás, Jhonlenon Ribeiro disse: Você viu que nessa unit ACBrBoletoW_Bradesco que lhe mandei tem a montagem do json em homologação e produção. O json em homologação tem algumas partes dinâmica e outras fixa, porque em homologação tem alguns campos que não pode ser alterado, pelo menos antes era assim, só semudou agora. Aqui estou conseguindo registrar em homologação 100%. Agora em produção terá que ajustar esse json ai ainda. Esse erro invalid signature as vezes pode ser assinatura ou json, nesse caso o código da assintarua do X-Brad-Signature do boleto está OK. eu continuo tendo o erro de assinatura e detail null... já repassei o manual inteiro, todos os campos estão aparentemente populadosjson.json veja se voce acha algo no json que pode estar ocasioanndo o erro na assinatura Victor H Gonzales - Pandaaa Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (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"
Jhonlenon Ribeiro Postado 29 Novembro Postado 29 Novembro (editado) @Victor H. Gonzales - Panda Esse json que vc postou não foi gerado nesse unit ACBrBoletoW_Bradesco que te mandei. O seu erro está no json de homologação tem varios campos errados. um deles é esse aqui nroCpfCnpjBenef":"07615615000171"....aqui tem que ser os 8 primeiros numeros do CNPJ de homologação "nroCpfCnpjBenef":"68542653".....essa unit ai já vai gerar o json de homologação pra vc forma correta. basta vc informar os dados do cliente, nela tem campos fixo e danâmico. Editado 29 Novembro por Jhonlenon Ribeiro
Consultores Victor H. Gonzales - Panda Postado 29 Novembro Consultores Postado 29 Novembro 3 horas atrás, Jhonlenon Ribeiro disse: @Victor H. Gonzales - Panda Esse json que vc postou não foi gerado nesse unit ACBrBoletoW_Bradesco que te mandei. O seu erro está no json de homologação tem varios campos errados. um deles é esse aqui nroCpfCnpjBenef":"07615615000171"....aqui tem que ser os 8 primeiros numeros do CNPJ de homologação "nroCpfCnpjBenef":"68542653".....essa unit ai já vai gerar o json de homologação pra vc forma correta. basta vc informar os dados do cliente, nela tem campos fixo e danâmico. segue a unit... a parte do CNPJ está correta na unit.... fiquei com dúvidas nesses campos em amarelo... no seu parece que não é informado... ACBrBoletoW_Bradesco.pas Victor H Gonzales - Pandaaa Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (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"
Jhonlenon Ribeiro Postado 29 Novembro Postado 29 Novembro (editado) @Victor H. Gonzales - Panda Boa noite...esses 3 campos ai são diferentes em homologação e produção. Em homologação "cpssoaJuridContr":"2337627" "ctpoContrNegoc":"000" "nseqContrNegoc":"2337627" Em Produção "cpssoaJuridContr":"0" "ctpoContrNegoc":"0" "nseqContrNegoc":"0" Outro detalhe, por exemplo no manual manda eu passar esse campo assim "registrarTitulo": 1 ai dá erro....porque estou passando numérico igual manda o manual, ai eu passo assim "registrarTitulo":"1" e dá certo. Isso são varios campos. Eu nunca entendi essa forma diferente de validação de campos do Bradesco, quandi fiz aqui na empresa à 8 meses atrás quebrei muito a cabeça com isso. Você pode até usar o mesmo json em homologação e produção, mais vai ter que parametrizar muitos campos. Eu consegui registrar o boleto em homologação com sucesso usando sua unit fixando esse json em anexo...fixa ele nessa parte como mostra o print. Caso apareça o erro TITULO JÁ CADASTRADO ai é só alterar o nosso numero (ctitloCobrCdent). json_homologacao.txt Editado 29 Novembro por Jhonlenon Ribeiro
Jhonlenon Ribeiro Postado 30 Novembro Postado 30 Novembro 8 horas atrás, Jhonlenon Ribeiro disse: @Victor H. Gonzales - Panda Boa noite...esses 3 campos ai são diferentes em homologação e produção. Em homologação "cpssoaJuridContr":"2337627" "ctpoContrNegoc":"000" "nseqContrNegoc":"2337627" Em Produção "cpssoaJuridContr":"0" "ctpoContrNegoc":"0" "nseqContrNegoc":"0" Outro detalhe, por exemplo no manual manda eu passar esse campo assim "registrarTitulo": 1 ai dá erro....porque estou passando numérico igual manda o manual, ai eu passo assim "registrarTitulo":"1" e dá certo. Isso são varios campos. Eu nunca entendi essa forma diferente de validação de campos do Bradesco, quandi fiz aqui na empresa à 8 meses atrás quebrei muito a cabeça com isso. Você pode até usar o mesmo json em homologação e produção, mais vai ter que parametrizar muitos campos. Eu consegui registrar o boleto em homologação com sucesso usando sua unit fixando esse json em anexo...fixa ele nessa parte como mostra o print. Caso apareça o erro TITULO JÁ CADASTRADO ai é só alterar o nosso numero (ctitloCobrCdent). json_homologacao.txt 2.63 kB · 1 download Hoje fiz uns testes e meu comentário estava errado sobre o json. Forma correta abaixo Em homologação "cpssoaJuridContr":"0" "ctpoContrNegoc":"0" "nseqContrNegoc":"0" Em Produção "cpssoaJuridContr":"0" "ctpoContrNegoc":"0" "nseqContrNegoc":"0" Vamos seguir o manual mesmo, parece que essa questão do json de homologação foi só no inicio.
Jhonlenon Ribeiro Postado 2 Dezembro Postado 2 Dezembro (editado) @Victor H. Gonzales - Panda Bom dia, ajustei sua unit ACBrBoletoW_Bradesco na parte do json...agora ficou registrando o boleto em homologação e produção usando o mesmo json. O Bradesco confundi muito agente com esse manual, mais pelo que testei aqui são apenas esses 4 campos que são fixo no json de homologação. "nroCpfCnpjBenef":"68542653", "filCpfCnpjBenef":"1018", "digCpfCnpjBenef":"38", "cnegocCobr":386100000000041000, O restante dos campos segue o manual. Agora um detalhe que me chamou atenção foi isso. No manual manda eu passar um valor numérico no campo vnmnalTitloCobr mais por exemplo vou gerar um boleto com valor 5.10 reais, no json de registro fica normal, vai 5.10...mais na hora de pagar o boleto aparece é 0.50 no valor ou seja fica errado o valor, então fiz um teste assim LJsonObject.AddPair('vnmnalTitloCobr', OnlyNumber(TransFormaRealEmString(aTitulo.ValorDocumento))); ai no json ficou assim "vnmnalTitloCobr" : "510" ai na hora de pagar ficou certo, era bom fazer mais testes em produção. Já corrigi a unt ACBrBoletoRet_Bradesco e está OK, também ajustei a consulta e baixa do boleto e ficou funcionando em produção. Vou anexar as 2 unit pra você testar ai. ACBrBoletoRet_Bradesco.pas ACBrBoletoW_Bradesco.pas Editado 2 Dezembro por Jhonlenon Ribeiro
Consultores Victor H. Gonzales - Panda Postado 2 Dezembro Consultores Postado 2 Dezembro 3 horas atrás, Jhonlenon Ribeiro disse: @Victor H. Gonzales - Panda Bom dia, ajustei sua unit ACBrBoletoW_Bradesco na parte do json...agora ficou registrando o boleto em homologação e produção usando o mesmo json. O Bradesco confundi muito agente com esse manual, mais pelo que testei aqui são apenas esses 4 campos que são fixo no json de homologação. "nroCpfCnpjBenef":"68542653", "filCpfCnpjBenef":"1018", "digCpfCnpjBenef":"38", "cnegocCobr":386100000000041000, O restante dos campos segue o manual. Agora um detalhe que me chamou atenção foi isso. No manual manda eu passar um valor numérico no campo vnmnalTitloCobr mais por exemplo vou gerar um boleto com valor 5.10 reais, no json de registro fica normal, vai 5.10...mais na hora de pagar o boleto aparece é 0.50 no valor ou seja fica errado o valor, então fiz um teste assim LJsonObject.AddPair('vnmnalTitloCobr', OnlyNumber(TransFormaRealEmString(aTitulo.ValorDocumento))); ai no json ficou assim "vnmnalTitloCobr" : "510" ai na hora de pagar ficou certo, era bom fazer mais testes em produção. Já corrigi a unt ACBrBoletoRet_Bradesco e está OK, também ajustei a consulta e baixa do boleto e ficou funcionando em produção. Vou anexar as 2 unit pra você testar ai. ACBrBoletoRet_Bradesco.pas 13.61 kB · 0 downloads ACBrBoletoW_Bradesco.pas 35.34 kB · 0 downloads Bom dia, Vou fazer o merge e verificar as alterações aqui... referente ao cnegocCobr é parametrização do código da agencia e conta, isso não é erro de formação do json. o cnpj 68542653101838 tambem acredito que deixarei passando como parametro, e não hardcoded, atualmente está hardcoded para testes. agora referente ao vnmnalTitloCobr pelo o que vi na documentação, temos que multiplicar por 100 o valor apenas e entregar em valor numerico. Preencher no formato: 10000 (título no valor de R$100,00). Se moeda indexada, preencher no formato Victor H Gonzales - Pandaaa Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (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"
Jhonlenon Ribeiro Postado 2 Dezembro Postado 2 Dezembro 11 minutos atrás, Victor H. Gonzales - Panda disse: Bom dia, Vou fazer o merge e verificar as alterações aqui... referente ao cnegocCobr é parametrização do código da agencia e conta, isso não é erro de formação do json. o cnpj 68542653101838 tambem acredito que deixarei passando como parametro, e não hardcoded, atualmente está hardcoded para testes. agora referente ao vnmnalTitloCobr pelo o que vi na documentação, temos que multiplicar por 100 o valor apenas e entregar em valor numerico. Preencher no formato: 10000 (título no valor de R$100,00). Se moeda indexada, preencher no formato Dessa forma que vc falou dá certo...basta informar o CNPJ de homologação e o agencia + conta igual faz em produção. Quando alterar a unit anexa aqui novamente pra gente testar. Aqui eu posso testar em homologação e produção.
Consultores Victor H. Gonzales - Panda Postado 2 Dezembro Consultores Postado 2 Dezembro 5 horas atrás, Jhonlenon Ribeiro disse: Dessa forma que vc falou dá certo...basta iACBrBoletoW_Bradesco.pasACBrBoletoRet_Bradesco.pasnformar o CNPJ de homologação e o agencia + conta igual faz em produção. Quando alterar a unit anexa aqui novamente pra gente testar. Aqui eu posso testar em homologação e produção. Apliquei as suas mudanças... verifique se consegue em ambos ambientes Victor H Gonzales - Pandaaa Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (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"
Jhonlenon Ribeiro Postado 2 Dezembro Postado 2 Dezembro (editado) @Victor H. Gonzales - Panda Boa noite...fiz uns testes agora e quase ficou 100%....o detalhe agora está no juros e multa em percentual que você aplicou a mesma regra do valor. AJsonObject.AddPair('ptxJuroVcto', aTitulo.ValorMoraJuros*100); aqui o juros em percentual fica errado AJsonObject.AddPair('pmultaAplicVcto', aTitulo.PercentualMulta*100);aqui a multa também fica errada Essa campo ptxJuroVcto estava faltando no json, no meu aqui também tava faltando ai fui olhar o manual. Os resto está OK. vou anexar o print do juros e multa em percentual. Editado 2 Dezembro por Jhonlenon Ribeiro
Recommended Posts