Olá!
Estou implantando o Bolecode Itaú em um cliente e precisei fazer um pequeno ajuste na unit "ACBrBoletoW_Itau_API.pas".
O par "instrucao_cobranca" do JSON estava sendo alimentado com somente uma instrução. Alterei para que fosse alimentado com um array das eventuais 3 instruções possíveis.
Também em "instrucao_cobranca", acrescentei o par "dia_util", pois a API do banco criticou/exigiu esta informação.
--------- ACBrBoletoW_Itau_API.pas ---------
@@ -500,44 +500,47 @@ end;
procedure TBoletoW_Itau_API.GerarInstruCaoCobranca(AJson: TACBrJSONObject);
var
LJsonDados, LJsonDados2, LJsonDados3 : TACBrJSONObject;
LJsonArray : TACBrJSONArray;
begin
if Assigned(ATitulo) and Assigned(AJson) then
begin
LJsonDados := TACBrJSONObject.Create;
LJsonArray := TACBrJSONArray.Create;
if (ATitulo.Instrucao1) <> '' then
begin
LJsonDados.AddPair('codigo_instrucao_cobranca', Copy(trim((ATitulo.Instrucao1)), 1, 2));
LJsonDados.AddPair('quantidade_dias_apos_vencimento', Copy(trim((ATitulo.Instrucao1)), 3, 2));
+ LJsonDados.AddPair('dia_util', ATitulo.TipoDiasProtesto = diUteis);
LJsonArray.AddElementJSON(LJsonDados);
end;
if ATitulo.Instrucao2 <> '' then
begin
LJsonDados2 := TACBrJSONObject.Create;
LJsonDados2.AddPair('codigo_instrucao_cobranca', Copy(trim((ATitulo.Instrucao2)), 1, 2));
LJsonDados2.AddPair('quantidade_dias_apos_vencimento', Copy(trim((ATitulo.Instrucao2)), 3, 2));
+ LJsonDados2.AddPair('dia_util', ATitulo.TipoDiasProtesto = diUteis);
LJsonArray.AddElementJSON(LJsonDados2);
end;
if ATitulo.Instrucao3 <> '' then
begin
LJsonDados3 := TACBrJSONObject.Create;
LJsonDados3.AddPair('codigo_instrucao_cobranca', Copy(trim((ATitulo.Instrucao3)), 1, 2));
LJsonDados3.AddPair('quantidade_dias_apos_vencimento', Copy(trim((ATitulo.Instrucao3)), 3, 2));
+ LJsonDados3.AddPair('dia_util', ATitulo.TipoDiasProtesto = diUteis);
LJsonArray.AddElementJSON(LJsonDados3);
end;
- AJson.AddPair('instrucao_cobranca',LJsonDados);
+ AJson.AddPair('instrucao_cobranca',LJsonArray);
end;
end;
Unit em anexo.
Aproveito a oportunidade para agradecer a todos que trabalharam na implementação desta integração.
Observação: eu só não dei continuidade no tópico abaixo, pois ele foi encerrado:
ACBrBoletoW_Itau_API.pas