José,
Estou criando o componente em tempo de execução, segue o código, veja por favor se estou preenchendo alguma informação errada:
procedure TService1.ConsultaBoletos;
begin
Boleto := TACBrBoleto.Create(Self);
BoletoFC := TACBrBoletoFCFR.Create(Self);
try
ConsultaBoletosAPI;
finally
Boleto.Free;
BoletoFC.Free;
end;
end;
procedure TService1.ConsultaBoletosAPI;
var
FiltrosAPI : TACBrBoletoWSFiltroConsulta;
ConsBoleto : TACBrBoleto;
SLRetorno : TStringList;
Retorno : TListaRetEnvio;
I: Integer;
begin
ConfiguraComponente('Consulta');
ConsBoleto := Boleto;
FiltrosAPI := ConsBoleto.Configuracoes.WebService.Filtro;
FiltrosAPI.Clear;
FiltrosAPI.indicadorSituacao := isbBaixado;
FiltrosAPI.dataMovimento.DataInicio := IncDay(Date,-1);
FiltrosAPI.dataMovimento.DataFinal := Date;
//FiltrosAPI.indiceContinuidade := 300;
ConsBoleto.EnviarBoleto;
Retorno := ConsBoleto.ListaRetornoWeb;
if Retorno.Count > 0 then
begin
SLRetorno := TStringList.Create;
try
SLRetorno.Add('Cod_Retorno='+ Retorno[i].CodRetorno + sLineBreak +
'Msg_Retorno='+ Retorno[i].MsgRetorno + sLineBreak +
'Ori_Retorno='+ Retorno[i].OriRetorno + sLineBreak +
'HTTP_Result='+ IntToStr(Retorno[i].HTTPResultCode) + sLineBreak +
'JSON='+ Retorno[i].JSON);
SLRetorno.Add('indicadorContinuidade=' + BoolToStr(Retorno[0].indicadorContinuidade));
SLRetorno.Add('proximoIndice=' + IntToStr(Retorno[0].proximoIndice));
SLRetorno.Add(' ');
SLRetorno.Add(' ');
for I := 0 to Pred(Retorno.Count) do
begin
SLRetorno.Add('[Boletos Index = ' + FormatFloat('000',I)+']');
SLRetorno.Add('numeroBoletoBB = ' + Retorno[I].DadosRet.TituloRet.NossoNumero);
SLRetorno.Add('dataRegistro = ' + DateToStr(Retorno[I].DadosRet.TituloRet.DataRegistro));
SLRetorno.Add('dataVencimento = ' + DateToStr(Retorno[I].DadosRet.TituloRet.Vencimento));
SLRetorno.Add('valorOriginal = ' + DateToStr(Retorno[I].DadosRet.TituloRet.ValorDocumento));
SLRetorno.Add('carteiraConvenio = ' + Retorno[I].DadosRet.TituloRet.Carteira);
SLRetorno.Add('variacaoCarteiraConvenio = ' + intToStr(Retorno[I].DadosRet.TituloRet.Modalidade));
SLRetorno.Add('codigoEstadoTituloCobranca = ' + Retorno[I].DadosRet.TituloRet.codigoEstadoTituloCobranca);
SLRetorno.Add('estadoTituloCobranca = ' + Retorno[I].DadosRet.TituloRet.estadoTituloCobranca);
SLRetorno.Add('contrato = ' + Retorno[I].DadosRet.TituloRet.Contrato);
SLRetorno.Add('dataMovimento = ' + DateToStr(Retorno[I].DadosRet.TituloRet.dataMovimento));
SLRetorno.Add('dataCredito = ' + DateToStr(Retorno[I].DadosRet.TituloRet.dataCredito));
SLRetorno.Add('valorAtual = ' + CurrToStr(Retorno[I].DadosRet.TituloRet.valorAtual));
SLRetorno.Add('valorPago = ' + CurrToStr(Retorno[I].DadosRet.TituloRet.ValorPago));
SLRetorno.Add(' --- ');
end;
SLRetorno.SaveToFile( PathWithDelim(ExtractFilePath(Application.ExeName))+formatDateTime('yyyy.mm.dd.hh.nn.ss.zzz',now)+'-RetornoConsulta.txt' );
finally
SLRetorno.Free;
end;
end;
end;
procedure TService1.ConfiguraComponente(Tipo: String);
var
WebService : TACBrWebService;
CobAnterior : TACBrTipoCobranca;
Beneficiario : TACBrCedente;
BeneficiarioWS : TACBrCedenteWS;
Banco : TACBrBanco;
Conf : TConfiguracoes;
begin
if not DirectoryExists(CaminhoDir) then
ForceDirectories(CaminhoDir);
Beneficiario := Boleto.Cedente;
BeneficiarioWS := Beneficiario.CedenteWS;
Banco := Boleto.Banco;
WebService := Boleto.Configuracoes.WebService;
Banco.TipoCobranca := cobBancoDoBrasilAPI;
Conf := Boleto.Configuracoes;
Conf.Arquivos.LogRegistro:= true;
Conf.Arquivos.PathGravarRegistro:= CaminhoDir;
WebService.Ambiente:= taHomologacao
Beneficiario.Agencia := '0284';
Beneficiario.AgenciaDigito := '2';
Beneficiario.CEP := '18280087';
Beneficiario.Cidade := 'Tatui';
Beneficiario.CNPJCPF := '97.257.206/0001-33';
Beneficiario.CodigoCedente := '373931';
Beneficiario.Complemento := 'casa';
Beneficiario.Conta := '000000079489';
Beneficiario.ContaDigito := '9';
Beneficiario.Convenio := '3128557';
Beneficiario.Logradouro := 'Rua das Flores';
Beneficiario.UF := 'SP';
Beneficiario.Modalidade := '35';
Beneficiario.Nome := 'Toda Obra Materiais';
Beneficiario.CodigoTransmissao := '1';
Beneficiario.TipoInscricao := pJuridica;
BeneficiarioWS.ClientID := qryConfAPI.FieldByName('CLIENT_ID').AsString;
BeneficiarioWS.ClientSecret:= qryConfAPI.FieldByName('CLIENT_SECRET').AsString;
BeneficiarioWS.KeyUser := edtKeyUser.Text;
if Tipo = 'Envia' then
BeneficiarioWS.Scope := 'cobrancas.boletos-requisicao' //cobranca.boletos-info
else
BeneficiarioWS.Scope := 'cobrancas.boletos-info cobrancas.boletos-requisicao';
if Tipo = 'Envia' then
begin
WebService.Operacao := tpInclui;
BeneficiarioWS.IndicadorPix := True;
end
else
WebService.Operacao := tpConsulta;
WebService.SSLHttpLib := httpWinHttp;
WebService.SSLCryptLib := cryWinCrypt;
WebService.SSLType := LT_TLSv1_2;
WebService.TimeOut := 30000;
WebService.UseCertificateHTTP:= False;
end;