Membros Pro Messias Bittencourt Postado 20 Janeiro Membros Pro Postado 20 Janeiro Boa tarde. Estou validando Itaú / Produção para um determinado Cliente. Mas fica caindo em uma validação: Result={ "codigo" : "400", "mensagem" : "Erro na validação de Campos", "campos" : [ { "campo" : "data.dado_boleto.instrucao_cobranca[0].quantidade_dias_apos_vencimento", "mensagem" : "A quantidade de dias deve ser diferente de vazio", "valor" : "" } ] } Não localizei onde é informada esta opção. Envio anexo o logWS LogWS-Boleto-Itau.log para que vejam como está sendo enviado o json na requisição para o Banco. Obrigado pela ajuda.
Consultores Daniel InfoCotidiano Postado 22 Janeiro Consultores Postado 22 Janeiro @Messias Bittencourt bom dia ! Estou analisando o caso, ja te reporto Daniel de Morais (Infocotidiano) Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord
Consultores Daniel InfoCotidiano Postado 22 Janeiro Consultores Postado 22 Janeiro Pelo que está no codigo fonte da API: Instrucao1=0102 banco vai entender Protestar 01, 02 Dias apos vencimento Instrucao1=0730 banco vai entender: nao receber apos 30 dias do vencimento. Consegue fazer um teste por favor Daniel de Morais (Infocotidiano) Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord
Membros Pro Messias Bittencourt Postado 22 Janeiro Autor Membros Pro Postado 22 Janeiro 9 minutos atrás, Daniel InfoCotidiano disse: Pelo que está no codigo fonte da API: Instrucao1=0102 banco vai entender Protestar 01, 02 Dias apos vencimento Instrucao1=0730 banco vai entender: nao receber apos 30 dias do vencimento. Consegue fazer um teste por favor Bom dia Daniel. E obrigado pelo HELP. Uma dúvida: estes atributos seriam setados em qual "Agrupamento"? Na documentação encontrei apenas um deles mas que, ainda assim, possui alguns dados divergentes. Na realidade não sei se estou falando do mesmo que vc citou acima. Por um acaso tem aí o link da documentação que imagem que vc passou acima? att
Consultores Daniel InfoCotidiano Postado 22 Janeiro Consultores Postado 22 Janeiro Como vc está usando a API, a documentação do print acima é da API: https://devportal.itau.com.br/nossas-apis/itau-ep9-gtw-pix-recebimentos-conciliacoes-v2-ext?tab=especificacaoTecnica#operation/post/boletos_pix Daniel de Morais (Infocotidiano) Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord
Membros Pro Messias Bittencourt Postado 22 Janeiro Autor Membros Pro Postado 22 Janeiro 28 minutos atrás, Daniel InfoCotidiano disse: Como vc está usando a API, a documentação do print acima é da API: https://devportal.itau.com.br/nossas-apis/itau-ep9-gtw-pix-recebimentos-conciliacoes-v2-ext?tab=especificacaoTecnica#operation/post/boletos_pix Ahhh agora entendi... Mas como passo, para a biblioteca ACBr estes dois atributos, para que os mesmos sejam enviados na requisição ao banco?
Consultores Júlio Cavalcanti Postado 23 Janeiro Consultores Postado 23 Janeiro Em 22/01/2025 at 09:52, Messias Bittencourt disse: Ahhh agora entendi... Mas como passo, para a biblioteca ACBr estes dois atributos, para que os mesmos sejam enviados na requisição ao banco? Um momento https://acbr.sourceforge.io/ACBrLib/ModeloTituloINI.html
Consultores Solution Daniel InfoCotidiano Postado 23 Janeiro Consultores Solution Postado 23 Janeiro 1 hora atrás, Júlio Cavalcanti disse: https://acbr.sourceforge.io/ACBrLib/ModeloTituloINI.html Isso mesmo no titulo, vc nao vai informar 10, ou 11. Pelo que está no codigo fonte da API: Instrucao1=0102 banco vai entender Protestar 01, 02 Dias apos vencimento Instrucao1=0730 banco vai entender: nao receber apos 30 dias do vencimento. Instrucao2= deixe em branco se nao tiver mais nenhuma instrucao Daniel de Morais (Infocotidiano) Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord
Membros Pro Messias Bittencourt Postado 27 Janeiro Autor Membros Pro Postado 27 Janeiro (editado) Boa tarde. E no caso de eu não querer protestar? Testei com "instrucao1": "3", e "instrucao1": "4", (cada hora com um...)? Colqoeui desta forma mas continua dando o erro : "campo\" : \"data.dado_boleto.instrucao_cobranca[0].quantidade_dias_apos_vencimento\", \"mensagem\" : \"A quantidade de dias deve ser diferente de vazio\" Editado 27 Janeiro por Messias Bittencourt
Consultores Daniel InfoCotidiano Postado 28 Janeiro Consultores Postado 28 Janeiro Titulo // Nao gerar protesto DiasDeProtesto = 0 Instrucao1=0400 // Nao gerar Negativacao DiasDeNegativacao = 0 Instrucao2=0500 Daniel de Morais (Infocotidiano) Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord
Membros Pro Messias Bittencourt Postado 30 Janeiro Autor Membros Pro Postado 30 Janeiro Obrigado pelo auxílio @Daniel InfoCotidiano Mas quando eu tento Instrucao1=0400 e Instrucao2=0500 com as instruções o resultado é: Result={ "codigo" : "422", "mensagem" : "Erro na validação de campos - por alguma regra de negócio não atendida", "campos" : [ { "campo" : "data.dado_boleto.instrucao_cobranca[0].codigo_instrucao_cobranca", "mensagem" : "Código da instrução de cobrança inválido", "valor" : "0" } ] } E vc poderá ver pelo log anexo que parece que ele envia apenas o primeiro caractere. Aí resolvi retirar este primeiro caractere deixando apenas Instrucao1=400 e Instrucao2=500 e o resultado é: Result={ "codigo" : "500", "mensagem" : "Erro na execução ao chamar a API de Emissão de Boletos Modernizado, tente o registro novamente." } O que mais poderia ser?acbrlibPOAItau.ini Att Cedente_TitulosPOAItau.ini Cedente_TitulosPOAItau_2.ini
Consultores Daniel InfoCotidiano Postado 30 Janeiro Consultores Postado 30 Janeiro E se vc passar apenas as informacoes de nao protestar e nao negativar, como abaixo? // Nao gerar protesto DiasDeProtesto = 0 Instrucao1=04 // Nao gerar Negativacao DiasDeNegativacao = 0 Instrucao2=05 Observando aqui, pode tentar, ao invés de 04 passar 4 Daniel de Morais (Infocotidiano) Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord
Consultores Daniel InfoCotidiano Postado 30 Janeiro Consultores Postado 30 Janeiro @Messias Bittencourt Vou testar tbm em sandbox para testar o comportamento com as suas informações , terminando lhe posiciono aqui. Daniel de Morais (Infocotidiano) Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord
Membros Pro Messias Bittencourt Postado Sexta as 11:49 Autor Membros Pro Postado Sexta as 11:49 17 horas atrás, Daniel InfoCotidiano disse: E se vc passar apenas as informacoes de nao protestar e nao negativar, como abaixo? // Nao gerar protesto DiasDeProtesto = 0 Instrucao1=04 // Nao gerar Negativacao DiasDeNegativacao = 0 Instrucao2=05 Observando aqui, pode tentar, ao invés de 04 passar 4 Vou testar aqui agora esta combinação e lhe falo o resultado. Obrigado!
Membros Pro Messias Bittencourt Postado Sexta as 12:13 Autor Membros Pro Postado Sexta as 12:13 Bom dia @Daniel InfoCotidiano Acabei de realizar uns testes com as combinações acima. - Passando Instrucao01=04, é enviado na requisição ** "instrucao_cobranca" : [{ "codigo_instrucao_cobranca" : "0", "quantidade_dias_apos_vencimento" : "", "dia_util" : false } ** - Passando Instrucao01=4, é enviado na requisição ** "instrucao_cobranca" : [{ "codigo_instrucao_cobranca" : "4", "quantidade_dias_apos_vencimento" : "", "dia_util" : false } ** Creio então que o correto é a segunda opção com um único dígito. Mas nos 2 casos na requisição é enviado ** "quantidade_dias_apos_vencimento" : "" ** Consequentemente nos dois casos acima o resultado é: Result={ "codigo" : "422", "mensagem" : "Erro na validação de campos - por alguma regra de negócio não atendida", "campos" : [ { "campo" : "data.dado_boleto.instrucao_cobranca[0].quantidade_dias_apos_vencimento", "mensagem" : "A quantidade de dias deve ser diferente de vazio", "valor" : "" } ] } Observe que no arquivo ini estão definidas corretamente as propriedades abaixo: DiasDeProtesto=0 Instrucao1=4 E no log podemos ver o envio das requisições conforme descrito acima. Muito obrigado pela ajuda e no aguardo. Cedente_TitulosPOAItau.iniacbrlibPOAItau.iniACBrLibBoleto-20250131.logLogWS-Boleto-Itau.log
Consultores Daniel InfoCotidiano Postado Sexta as 16:28 Consultores Postado Sexta as 16:28 @Messias Bittencourt Estava analisando os fontes do Itau. vc não precisa passar via "instrução" o comando de negativar/protestar ou nao negativar ou protestar. Pode fazer desta forma que fica mais fácil. Para não protestar: DiasDeProtesto = 0 Para não negativar: DiasDeProtesto = 0 Instrucao1= Instrucao2= Daniel de Morais (Infocotidiano) Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord
Membros Pro Messias Bittencourt Postado Sexta as 21:34 Autor Membros Pro Postado Sexta as 21:34 (editado) @Daniel InfoCotidiano Muito obrigado. No Windows já está funcionando exatamente conforme suas últimas orientações. Agora o boleto foi gerado sem informarmos as Instruções. No Linux está dando problema de autenticação no Banco Itaú na hora de recuperar o token. Mas os .ini e o war são os mesmos testados no Windows e no Linux. E os dados tb (clientId, clientSecret etc etc etc), pois vem do mesmo banco de dados. Poderia ser a versão do meu openssl neste Linux? Se sim, teria como vc me enviar os .so libssl e libcrypto que costuma utilizar? Editado Sexta as 21:40 por Messias Bittencourt
Consultores Daniel InfoCotidiano Postado Ontem às 13:04 Consultores Postado Ontem às 13:04 Bom dia @Messias Bittencourt quando for assim neste caso, fechamos o topico anterior com a solução e criamos um novo tópico com outro problema. veja se seu openssl está em modo legacy. https://www.practicalnetworking.net/practical-tls/openssl-3-and-legacy-providers/ Daniel de Morais (Infocotidiano) Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord
Recommended Posts