Ir para conteúdo
  • Cadastre-se

dev botao

Validação - Itaú - Produção


Ver Solução Respondido por Daniel InfoCotidiano,

Recommended Posts

  • Membros Pro
Postado

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
Postado

image.png

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
 

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

  • Membros Pro
Postado
9 minutos atrás, Daniel InfoCotidiano disse:

image.png

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.

image.png.a32957aa5df120326151698b6584f147.png
image.thumb.png.d00550873ae19d8491d52262dd142f10.png

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

  • Membros Pro
Postado
28 minutos atrás, Daniel InfoCotidiano 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?

  • Consultores
  • Solution
Postado
1 hora atrás, Júlio Cavalcanti disse:

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

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

  • Membros Pro
Postado (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 por Messias Bittencourt
  • Membros Pro
Postado

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
Postado

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

image.png

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

  • Membros Pro
Postado
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

image.png

Vou testar aqui agora esta combinação e lhe falo o resultado. Obrigado!

  • Membros Pro
Postado

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
Postado

@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=

 

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

  • Membros Pro
Postado (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?

image.thumb.png.1a95865d5460450bb398e491b2dffb86.png

Editado por Messias Bittencourt
  • Consultores
Postado

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/

 

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

×
×
  • 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.

The popup will be closed in 10 segundos...