Membros Pro Desenv. AT Info Sistemas Postado 24 Setembro Membros Pro Postado 24 Setembro Bom dia, Comecei usar o novo componente ACBrExtratoAPI para o Banco do Brasil. Estou tento problema para consultar o extrato para as datas quando o dia é menor que 10, olhando a documentação do banco notei que deve ser enviada a data sem zeros a esquerda, por exemplo: Dia 01/09/2024 deve ser enviado 1092024. Segue página da documentação. https://apoio.developers.bb.com.br/referency/post/647f6e28dcefbe001288865e
Consultores EliasCesar Postado 24 Setembro Consultores Postado 24 Setembro Bom dia @Desenv. AT Info Sistemas Esse problema já devia estar corrigido. Verifique se seus fontes estão atualizados. 2 Elias César Vieira Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Assine o SAC
Membros Pro Desenv. AT Info Sistemas Postado 24 Setembro Autor Membros Pro Postado 24 Setembro Bom dia! Atualizei e resolveu esse problema, agora estou fazendo a importação dos dados. Tentei seguir o programa exemplo, mas estou com dificuldade para importar os números dos documentos dos extratos, no exemplo está utilizando a classe geral de Lançamentos e não possui o campo numero do documento, olhando os fontes no banco do Brasil trata esse campo. Como posso fazer para ler na importação o numero do documento? Classe geral: TACBrExtratoLancamento = class private fpDataLancamento: TDateTime; fpDataMovimento: TDateTime; fpDescricao: String; fpInfoComplementar: String; fpTipoOperacao: TACBrExtratoAPITipoOperacao; fpValor: Double; Classe Banco Brasil TACBrExtratoBBLancamento = class(TACBrAPISchema) private fcodigoAgenciaContrapartida: Integer; fcodigoAgenciaOrigem: Integer; fcodigoBancoContrapartida: Integer; fcodigoHistorico: String; fdataLancamento: TDateTime; fdataMovimento: TDateTime; findicadorTipoLancamento: Integer; fnumeroContaContrapartida: String; fnumeroCpfCnpjContrapartida: Integer; fnumeroDocumento: Integer; fnumeroLote: Integer; ftextoDescricaoHistorico: String; ftextoDvContaContrapartida: String; ftextoInformacaoComplementar: String; fvalorLancamento: Double; findicadorSinalLancamento: TACBrExtratoAPITipoOperacao; findicadorTipoPessoaContrapartida: TACBrExtratoBBTipoPessoa;
Membros Pro Desenv. AT Info Sistemas Postado 25 Setembro Autor Membros Pro Postado 25 Setembro Bom dia, Como falei acima, preciso de uma ajuda para buscar o retorno com os dados do Extrato do Banco do Brasil, pois como está no programa exemplo com o retorno da classe geral eu não tenho alguns dados que preciso como o número do documento.
Fundadores Daniel Simoes Postado 25 Setembro Fundadores Postado 25 Setembro Você poderia usar TypeCast... mas se fizer isso, o seu código ficará funcional, apenas para a API do Banco do Brasil, pois as demais classes filhas, podem não ter todas as mesmas propriedades @EliasCesar, Porque foi necessário separar TACBrExtratoLancamento e TACBrExtratoBBLancamento ? Como você pensa em especificar, as classes dos demais bancos ? Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976.
Consultores EliasCesar Postado 26 Setembro Consultores Postado 26 Setembro Bom dia pessoal, Foi criada a classe TACBrExtratoLancamento que possui os campos em comum entre as respostas dos Bancos que já implementamos. Ela poderia ser alterada para abranger esse campo específico, porém não seria preenchida na implementação dos demais Bancos. 14 horas atrás, Daniel Simoes disse: Como você pensa em especificar, as classes dos demais bancos ? Todos os bancos possuirão uma classe específica de resposta do lançamento, e após a consulta precisarão converter esse conteúdo para a nossa classe padrão TACBrExtratoLancamento 22 horas atrás, Desenv. AT Info Sistemas disse: preciso de uma ajuda para buscar o retorno com os dados do Extrato do Banco do Brasil Uma alternativa é fazer um typecast, como o Daniel citou. Algo como: if (ACBrExtratoAPI1.BancoConsulta = bccBancoDoBrasil) then for i := 0 to Pred(ACBrExtratoAPI1.ExtratoConsultado.Lancamentos.Count) do wNumDocto := TACBrExtratoBBLancamento(ACBrExtratoAPI1.ExtratoConsultado.Lancamentos[i]).numeroDocumento; Elias César Vieira Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Assine o SAC
Membros Pro Desenv. AT Info Sistemas Postado 26 Setembro Autor Membros Pro Postado 26 Setembro Bom dia, Mas acredito que o Numero do Documento terá em todos os demais bancos, pois se trata de um campo principal do documento, alguns poderão retornar em um campo com nome diferente, como 'Seu numero', 'Numero documento', 'Documento'. Acredito que poderia add o campo Numero do Documento na classe principal. 1
Fundadores Daniel Simoes Postado 26 Setembro Fundadores Postado 26 Setembro O Número do Documento deveria ser um dado Importante, e disponível a todas as Classes Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976.
Consultores EliasCesar Postado 26 Setembro Consultores Postado 26 Setembro Sim, concordo que na teoria deveria vir em todos os bancos mesmo. Mas da uma olhada na resposta das transações do banco Inter: Como eu coloquei apenas os campos comum entre os bancos, acabei deixando esse campo fora. Mas vou efetuar a alteração incluindo esse campo no objeto padrão. Tem mais algum campo que vcs julguem importante que deveria estar no TACBrExtratoLancamento? daí eu ja incluo junto aqui... Elias César Vieira Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Assine o SAC
Membros Pro Desenv. AT Info Sistemas Postado 26 Setembro Autor Membros Pro Postado 26 Setembro Bom dia, Acredito que seria só o campo Numero do Documento que estaria faltando.
Consultores EliasCesar Postado 26 Setembro Consultores Postado 26 Setembro Acabei de enviar essa alteração ao SVN, rev: 35389. @Desenv. AT Info Sistemas se puder por favor atualizar seus fontes e verificar se ficou ok. Elias César Vieira Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Assine o SAC
Membros Pro Desenv. AT Info Sistemas Postado 26 Setembro Autor Membros Pro Postado 26 Setembro Obrigado, Vou atualizar e testar. 1
Membros Pro Desenv. AT Info Sistemas Postado 26 Setembro Autor Membros Pro Postado 26 Setembro Boa tarde, O campo numero do documento está importando errado, ai notei que é porque ele é Integer, o correto é ser String, pois tem números de boletos que não são Inteiros, por exemplo um boleto tem número 123-1, 123-A, 123-B.
Consultores EliasCesar Postado 26 Setembro Consultores Postado 26 Setembro Conforme a documentação da API Extrato do Banco do Brasil, esse campo é Integer: E pelo que verifiquei nos meus testes, em todas as respostas da lista de lançamentos o campo também é integer: 2 horas atrás, Desenv. AT Info Sistemas disse: o correto é ser String Essa informação está em alguma documentação? Elias César Vieira Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Assine o SAC
Membros Pro Desenv. AT Info Sistemas Postado 26 Setembro Autor Membros Pro Postado 26 Setembro Boa tarde Identifiquei o erro, na importação que fiz os números não bateram por exemplo no log no dia 19092024 tem um documento com número "numeroDocumento": 550911000030471 , mas o Acbr no retorno está retornando como -160060153. Deve ter algum erro na conversão de inteiro para string. Segue o log com a importação Extrato.log
Membros Pro Desenv. AT Info Sistemas Postado 26 Setembro Autor Membros Pro Postado 26 Setembro Identifiquei que aqui nessa rotina ele está com o número errado
Consultores EliasCesar Postado 26 Setembro Consultores Postado 26 Setembro Hum, esse valor estoura o limite de Integer, estou verificando como corrigir, assim que enviar a correção pro SVN aviso aqui Elias César Vieira Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Assine o SAC
Membros Pro Desenv. AT Info Sistemas Postado 26 Setembro Autor Membros Pro Postado 26 Setembro Certo, O cliente me passou os dados de produção fui testar e deu erro Segue o log Extrato.log
Consultores EliasCesar Postado 26 Setembro Consultores Postado 26 Setembro Deu erro logo ao tentar solicitar o token, Provavelmente é algum problema com as credenciais/certificado ou estão faltando as DLLs da OpenSSL junto ao executável. Sobre o problema do Integer... tente trocar essa unit e fazer um novo teste por favor: ACBrExtratoAPIBB.pas Elias César Vieira Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Assine o SAC
Membros Pro Desenv. AT Info Sistemas Postado 26 Setembro Autor Membros Pro Postado 26 Setembro (editado) Dll não deve ser pois uso as API de Boletos e funcionam, talvez o tipo que geraram as chaves. Utilizei o programa exemplo e deu erro ao ler os certificados. Editado 26 Setembro por Desenv. AT Info Sistemas
Membros Pro Desenv. AT Info Sistemas Postado 26 Setembro Autor Membros Pro Postado 26 Setembro Quanto ao número do documento deu certo, importou corretamente. Agora precisaria descobrir o que pode ser o erro dos certificados.
Consultores EliasCesar Postado 26 Setembro Consultores Postado 26 Setembro Vi que está configurando a chave pública. O componente está esperando a chave privada. 14 minutos atrás, Desenv. AT Info Sistemas disse: Quanto ao número do documento deu certo, importou corretamente Obrigado pelo feedback. Acabei de enviar ao SVN, rev: 35396. Elias César Vieira Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Assine o SAC
Membros Pro Desenv. AT Info Sistemas Postado 26 Setembro Autor Membros Pro Postado 26 Setembro Verdade, não tinha reparado. Vou pedir a chave privada.
Membros Pro Desenv. AT Info Sistemas Postado 27 Setembro Autor Membros Pro Postado 27 Setembro (editado) Bom dia, O Cliente me passou o certificado e gerei as chaves conforme este link. Mas fui testar o extrato e gerou este erro no log. Extrato.log Editado 27 Setembro por Desenv. AT Info Sistemas
Membros Pro Desenv. AT Info Sistemas Postado 27 Setembro Autor Membros Pro Postado 27 Setembro A principio os certificados estão certos, no programa exemplo deu ok
Recommended Posts