Ir para conteúdo
  • Cadastre-se

dev botao

Alterações na Integração de Boletos por API


  • Este tópico foi criado há 618 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Moderadores

Atencao GIF by Ifes - Campus Vila VelhaListen GIF by Exxeta

Está sendo cada vez mais frequente o uso de integração online para o registro de Boletos via API. O componente ACBrBoleto já suporta esse tipo de comunicação para alguns Bancos, seja via Rest ou Soap, mas como recebemos com frequência novas contribuições e com implementações de outros bancos os mesmos não tem um padrão entre eles. Foi necessário uma refatoração na camada do componente responsavel pela geração e integraçao Web do ACBrBoleto, o propósito é facilitar a manutenção e implementação de novos bancos, além de melhorias que se tornam necessárias na estrutura do componente.

As modificações realizadas não causam grande impacto na forma como já é utilizado o ACBrBoleto para envio de títulos por APIs, com exceção dos pontos citados abaixo, onde será necessário alterar na sua aplicação:

 

1- O método EnviarBoleto foi depreciado, passando a ser utilizado por padrão o método "Enviar". Ex:

  ACBrBoleto.Enviar; 

(obs: Mesmo depreciado o método EnviarBoleto ainda pode ser utilizado, tendo as mesmas funcionalidades, mas não sendo recomendado o seu uso).

 

 

2- O retorno de cada Título enviado, passa a ficar registrado e acessível a partir do próprio Título, na property "RetornoWeb". Podendo também ser acessado através do índice de cada Título, utilizando a property "ListaRetornoWeb" da classe ACBrBoleto. Sendo assim, se for realizado o envio de uma lista com vários títulos, será possível obter o retorno de cada título usando essa propriedade indexada. Ex:

  ACBrBoleto.Enviar; 
  for i:= 0 to Pred(ACBrBoleto.TotalListaRetornoWeb) do
  begin
    lCodigoRetorno:= ACBrBoleto.ListaRetornoWeb[i].CodRetorno;
    lMensagem:= ACBrBoleto.ListaRetornoWeb[i].MsgRetorno;
    ...

Pode notar que não há muitas diferenças da forma como era utilizado antes, o detalhe é que não se usa mais o método "Count" de uma lista, e sim o método "TotalListaRetornoWeb" para saber o total de Títulos transmitidos, utilizando esse índice na property ListaRetornoWeb[] do componente ACBrBoleto.

 

 

3- Apenas quando o Envio for uma Operação de "Consulta", poderá retornar uma lista com registros de vários títulos, nesse caso pode ser utilizada uma lista para obter os retorno. A mesma pode ser acessada utilizando o método "ListaConsultaRetornoWeb" do componente ACBrBoleto. Ex:

  ACBrBoleto.Configuracoes.WebService.Operacao := tpConsulta; 

  ACBrBoleto.Enviar; 
  for i:= 0 to Pred(ACBrBoleto.ListaConsultaRetornoWeb.count) do
  begin
    lCodigoRetorno:= ACBrBoleto.ListaConsultaRetornoWeb[i].CodRetorno;
    lMensagem:= ACBrBoleto.ListaConsultaRetornoWeb[i].MsgRetorno;
    ...

 

 

4- O Log de Envio passou a ser gerado em um arquivo único, onde fica gravado todos os processos ( Autenticação, dados de Envio gerado pelo componente "Json ou XML" e os dados de retorno). Além disso os logs podem ser obtidos pelo evento "OnGravarLog" do componente ACBrBoleto. Localizado em (Configurações/Arquivos).

A configuração para gravar log pode ser realizada em:

ACBrBoleto.Configuracoes.Arquivos.LogRegistro:= True;
ACBrBoleto.Configuracoes.Arquivos.PathGravarRegistro:= 'c:\temp'; 

 

 

As alterações acima também estão exemplificadas no programa demo ACBrBoleto disponível na pasta Exemplos do Projeto ACBr. Veja o código nos botões: "Registrar Boleto OnLine", "Consultar Boleto"

http://svn.code.sf.net/p/acbr/code/trunk2/Exemplos/ACBrBoleto/

  • Curtir 8
Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

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