Ir para conteúdo
  • Cadastre-se

dev botao

Recommended Posts

  • Membros Pro
Postado

Companheiros

Boa Tarde!

Gostaria de propor 2 novas questões sobre implementação com o AcbrBoleto da rotina de envio das Duplicatas à API do Banco para Cobrança.

1)-Atributo : OBSERVAÇÃO :
Notei que no Arquivo-Retorno existe um Atributo chamado "Observacao" e que pode retornar com informação bem importante para entendimento das condições em que Duplicata foi registrada no Banco.
Exemplo :
  "observacao":"Boleto registrado com sucesso, porém o campo e-mail está com formato inválido e o boleto não será enviado ao pagador."

Como posso acessar este ATributo : Observacao utilizando as propriedades do AcbrBoleto ?

2)-Propriedade : Titulo.NossoNumero :
Constatei que esta propriedade : Titulo.NossoNumero é String e aceita somente 10 caracteres.
Assim, estou preenchendo ela com um campo numérico que corresponde a um Sequencial do Boleto na Conta Bancária e informando zeros à esquerda.
Isto ocorre no momento da transmissão da Duplicata!

Depois da transmissão da Duplicata, toda vez que eu quizer imprimir o Boleto, devo sempre proceder desta forma : informando o Número Sequencial do Boleto de forma alfanumérica ?
( Pergunto isto porque após a transmissão o Banco já enviou o Nosso Número completo calculado ).

Grato pela ajuda

  • Consultores
Postado

@Carmo
Boa tarde !
Você está utilizando Componentes (delphi/lazarus) , Acbrlib ou AcbrmonitorPlus ?

1 hora atrás, Carmo disse:

Notei que no Arquivo-Retorno existe um Atributo chamado "Observacao"

Qual arquivo de retorno, pode anexar este arquivo q consta a Observação ?

1 hora atrás, Carmo disse:

Constatei que esta propriedade : Titulo.NossoNumero é String e aceita somente 10 caracteres.

Por padrao, funciona da seguinte forma:
vc informa a sequencia 1..2..3..4 e ele concatena conforme cada banco.
Exemplo BB API:

00234300001-6  (Cedente + NossoNumero + DV)


Sicredi

25200001 -6 (Ano+Byte+NossoNumero+DV)


Sendo assim, ele concatena e envia , na inclusão, na consulta, etc.
Caso tenha problema para localizar o titulo devolvido, preencha tb o campo SeuNumero.
No retorno ele vai devolver o SeuNumero para que vc possa identifica-lo

 

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

  • Membros Pro
Postado

Este Atributo "observacao" vem na seguinte estrutura do Log :

29/01/25 16:53:15:443 - Retorno Envio: {"beneficiario":{"agencia":452,"contaCorrente":123873,"tipoEndereco":1,"logradouro":"Rua Teste 10","bairro":"TAGUATINGA NORTE","cidade":"BRASILIA","codigoCidade":2000,"uf":"DF","cep":72145760,"indicadorComprovacao":"0"},"qrCode":{"url":"Erro ao gerar QRCODE Pix: O campo Data vencimento não é válido.","txId":"Pix não registrado","emv":""},"numero":"00031285570000041877","numeroCarteira":17,"numeroVariacaoCarteira":35,"codigoCliente":704950857,"linhaDigitavel":"00190000090312855700000041877176199260000061000","codigoBarraNumerico":"00191992600000610000000003128557000004187717","numeroContratoCobranca":19581316,"observacao":"Boleto registrado com sucesso, porém o campo e-mail está com formato inválido e o boleto não será enviado ao pagador."}
 

 

  • Consultores
Postado
16 horas atrás, Carmo disse:

Perdão, esqueci de mencionar : Estou utilizando Delphi com o componente AcbrBoleto.

Q isso, qual o banco que está trabalhando?
A principio no Delphi , se observar no exemplo temos:
 

        //Ler todos os campos da classe Retorno
        SLRemessa.Add('Cod_Retorno='+ Boleto.ListaRetornoWeb[i].CodRetorno + sLineBreak +
                      'Msg_Retorno='+ Boleto.ListaRetornoWeb[i].MsgRetorno + sLineBreak +
                      'Ori_Retorno='+ Boleto.ListaRetornoWeb[i].OriRetorno + sLineBreak +
                      'HTTP_Result='+ IntToStr(Boleto.ListaRetornoWeb[i].HTTPResultCode) + sLineBreak +
                      'JSON='+ Boleto.ListaRetornoWeb[i].JSON);
         for j:= 0 to Pred(Boleto.ListaRetornoWeb[i].ListaRejeicao.Count) do
         begin
           SLRemessa.Add('[Rejeicao'   +IntToStr(j)+']' + sLineBreak +
                         'Campo='      + Boleto.ListaRetornoWeb[i].ListaRejeicao[j].Campo + sLineBreak +
                         'Codigo='     + Boleto.ListaRetornoWeb[i].ListaRejeicao[j].Codigo + sLineBreak +
                         'Versao='     + Boleto.ListaRetornoWeb[i].ListaRejeicao[j].Versao + sLineBreak +
                         'Mensagem='   + Boleto.ListaRetornoWeb[i].ListaRejeicao[j].Mensagem + sLineBreak +
                         'Ocorrencia=' + Boleto.ListaRetornoWeb[i].ListaRejeicao[j].Ocorrencia + sLineBreak +
                         'Valor='      + Boleto.ListaRetornoWeb[i].ListaRejeicao[j].Valor + sLineBreak );
         end;

Era p devolver na lista de retorno.
Consegue testar com o programa exemplo, observe que apos a inclusao, ele gera um arquivo TXT de retorno dos campos para fim de exemplo.
Se abrir este retorno, a propriedade mensagem nao está preenchida com esta obs?
Pode realizar o teste com o programa exemplo por favor

 

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

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

The popup will be closed in 10 segundos...