Ir para conteúdo
  • Cadastre-se

dev botao

Ajuste retorno API Sicoob


Ver Solução Respondido por Cleonir,

Recommended Posts

Boa Tarde

Encontrei um problema ao consultar o boleto na API do Sicoob.

no arquivo ACBrBoletoRet_Bancoob.pas linha 130

esta disparando uma exceção devido ao retorno da consulta não ser do tipo array conforme documentação da api:

image.png.f4a3dd13ed86e67be0ea3c9f037e7cd0.png

 

então fiz a seguinte alteração para continuar preenchendo o componente, não sei se é a melhor forma, mas precisar ser ajustado senão a consulta não alimenta o componente mesma retornando os dados corretamente.

alterei a linha

aJsonViolacoes := aJson.Values['resultado'].AsArray;

para:

        try
          aJsonViolacoes := aJson.Values['resultado'].AsArray;
        except
          aJsonViolacoes := TJsonArray.Create;
        end;

segue o arquivo em anexo.

   

ACBrBoletoRet_Bancoob.pas

Link para o comentário
Compartilhar em outros sites

poderia utilizar a seguinte abordagem então para resolvermos o except:

        if (aJson.Values['resultado'].ValueType = jvArray) then begin
            aJsonViolacoes := aJson.Values['resultado'].AsArray;
        end else begin
            aJsonViolacoes := TJsonArray.Create;
       end;

neste caso verifico se se o tipo é um Array senão crio o objeto vazio para continuar a execução sem causar erros.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.