Ir para conteúdo
  • Cadastre-se

dev botao

Integração WebServico Boleto Bancário e JSON Envio


Ver Solução Respondido por Daniel InfoCotidiano,

Recommended Posts

  • Membros Pro
Postado

No componente do ACBR, quando enviado o boleto para WebService do Banco do Brasil, quando o retorno HTTP é diferente de 201 ou 200, é retornada uma rejeição informando o motivo do erro. Para obter o nosso número pelo da requisição estou usando ACBrBoleto.ListaRetornoWeb[i].JSONEnvio, porém ele retorna apenas uma string com o JSON de envio e preciso tratar para encontrar o campo de numeroTituloCliente. Dentro do componente do ACBR existe alguma forma em classe de percorrer os campos do JSON Envio para obter as informações necessárias?

with FACBrBoleto.ListaRetornoWeb[i] do
begin

      { Nosso Número }
      var numeroTituloCliente := EmptyStr;
      var JSONValue := TJSONObject.ParseJSONValue(TEncoding.UTF8.GetBytes(JSONEnvio), 0);
      try
        if JSONValue is TJSONObject then
        begin
          var JSONObject := JSONValue as TJSONObject;

          JSONObject.TryGetValue<string>('numeroTituloCliente', numeroTituloCliente);
        end;
      finally
        JSONValue.Free;
      end;

 

Eu percorro a lista de retorno e vou atribuindo o numerotitulocliente...

 

  • Consultores
Postado
1 hora atrás, Paulo Alexandre Hostert disse:

No componente do ACBR, quando enviado o boleto para WebService do Banco do Brasil, quando o retorno HTTP é diferente de 201 ou 200, é retornada uma rejeição informando o motivo do erro. Para obter o nosso número pelo da requisição estou usando ACBrBoleto.ListaRetornoWeb[i].JSONEnvio, porém ele retorna apenas uma string com o JSON de envio e preciso tratar para encontrar o campo de numeroTituloCliente. Dentro do componente do ACBR existe alguma forma em classe de percorrer os campos do JSON Envio para obter as informações necessárias?

with FACBrBoleto.ListaRetornoWeb[i] do
begin

      { Nosso Número }
      var numeroTituloCliente := EmptyStr;
      var JSONValue := TJSONObject.ParseJSONValue(TEncoding.UTF8.GetBytes(JSONEnvio), 0);
      try
        if JSONValue is TJSONObject then
        begin
          var JSONObject := JSONValue as TJSONObject;

          JSONObject.TryGetValue<string>('numeroTituloCliente', numeroTituloCliente);
        end;
      finally
        JSONValue.Free;
      end;

 

Eu percorro a lista de retorno e vou atribuindo o numerotitulocliente...

 

o nosso número já não está carregado no componente?

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(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
Postado
20 horas atrás, Paulo Alexandre Hostert disse:

O Nosso número não está preenchido no retorno pelo componente.

como recriar a situação?

no programa de exemplo

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(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"

  • Membros Pro
Postado

Por exemplo, tentar enviar um boleto onde o nosso número já foi enviado anteriormente, assim, é retornado um erro informando "Nosso número já incluído anteriormente". Dessa forma, no retorno, a propriedade de nosso número acaba não preenchendo e tenho que pegar diretamente do JSON Envio, já resolvi meu problema encaminhando um a um sempre, assim, consigo relacionar qual o boleto está sendo referido no processo, porém, acredito que no retorno essa propriedade deveria ser preenchida...

  • Consultores
  • Solution
Postado

@Paulo Alexandre Hostert
Boa tarde !
Acredito que seus fontes estejam desatualizados, consegue atualizar o svn e rodar o instalador.
Como temos o programa exemplo em comum, se puder testar com ele, assim vejo se consigo reproduzir o problema aqui.

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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

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