Ir para conteúdo
  • Cadastre-se

Luciano Rodrigues Pereira

Membros
  • Total de ítens

    233
  • Registro em

  • Última visita

Tudo que Luciano Rodrigues Pereira postou

  1. Ainda não foi implementada. Enquanto isso não acontece você precisa consultar todos os boletos (tpConsultaDetalhes), aí você vai saber quais foram liquidados, baixados, etc., pois esta informação está nos detalhes do boleto.
  2. Daniel, eu quis dizer em relação à outra consulta (tpConsultaDetalhes), pode usar sim para a tpConsulta. Meu medo maior na verdade é em relação à registro e alteração de boletos. Caso não dê certo com os dados da outra pessoa pode usar estes aí pois todas as outras requisições estão funcionando de boa. A requisição da movimentação do Sicoob é bem complicada. Era só para fazermos a requisição e ela devolver um Json, mas pense complicação que inventaram? Você faz a pesquisa da movimentação e ao invés de trazer um retorno Json, ele traz um codigoSolicitacao Ai depois você faz outra requisição com esse código para obter um ou mais de um IdArquivo e isso quando estiver disponivel. Aí depois você faz uma terceira requisição com cada um destes IdArquivos para baixar os arquivo zipados Aí você vai ter de descompactar esses arquivos para obter os Json. Pense no gênio, esse cara que criou essa requisição!?
  3. Enviado e-mail conforme solicitado. Peço total cuidado e sigilo com relação à essas credenciais, pois estamos falando de produção e os dados são de um cliente meu. Favor usar exclusivamente para testes de requisição da movimentação. Não usar para registro, alteração ou mesmo consulta de boletos.
  4. Em relação à pergunta 2 eu já consegui, continuo sem saber de onde o ACBr puxa o o QRCode uma vez que não está ligado à nenhum Dataset. Mas no meu caso eu usei um QRCode da paleta do FastReport e liguei com o campo EMV do meu Dataset e deu tudo certo. Só gostaria que você confirmasse a pergunta 1.
  5. 1. Eu preciso adicionar na lista de boletos para fazer a impressão usando o BoletoPix.fr3. NÃO??? Eu adicionei assim e deu certo: Titulo.QRCode.Emv:= 'xxxxxxxxxxxxxx' 2. Eu tenho um modelo que eu criei, não dava para usar o BoletoFatura.fr3 por conta da complexidade de juntar minha fatura com o boleto. Esse meu modelo (fr3) está ligado ao meu Dataset e os campos do Boleto do ACBr eu transfiro para meu Dataset e funciona perfeitamente. Só que esse meu modelo não tem o QRCode do boleto hibrido e estou precisando acrescentar. Mas analisando o BoletoPix.fr3 praticamente todos os campos do boleto estão ligados aos Datasets do modelo, por exemplo o BarCode1 está ligado ao <Titulo."CodBarras">, a Logo do banco está ligada ao <Banco."DirLogo"> e <Banco."Numero">. Enfim, todos estão ligados aos Datasets do modelo. Como tem de ser, afinal é uma lista. Só que o QRCode não está ligado à campo nenhum de nenhum Dataset e o BoletoPix.fr3 imprime de boa o QRCode quando eu seto o Titulo.QRCode.Emv. Como ele faz isso? de onde ele puxa esse QRCode no BoletoPix.fr3?? Eu preciso compreender isso para adaptar ao meu modelo. Deu para entender?
  6. Eu adicionei assim: QRCode.Emv:= 'xxxxxxxxxxxxxx' e deu tudo certo. E eu preciso adicionar não só no retorno. Pois quando vou imprimir uma lista de boletos eu preciso dele para usar o BoletoPix.fr3. NÃO???
  7. Já achei: QRCode.Emv:= 'xxxxxxxxxxxxxx'
  8. Certo. Entendi. Outra dúvida: No retorno do Sicredi por exemplo retorna o QRCode uma string como abaixo que o componente armazena em ARetornoWS.DadosRet.TituloRet.EMV 00020101021226950014br.gov.bcb.pix2573pix.sicoob.com.br/qr/payload/v2/cobv/e736df1b-1389-4b96-a070-c8dddac768de5204000053039865802BR5924JULIO PEREIRA DE OLIVEIRA6008Brasilia62070503***630435A3 E na impressão do BoletoPix.fr3 é esperado uma imagem e não string. PixTexto.Visible := ImgEmvQrcode.Picture.Width > 0; Na criação do titulo na lista (Boleto.CriarTituloNaLista) como eu adiciono esse QRCode? tentei fazer assim: Titulo.QrCode:= 'xxxxx' <<-- a string de DadosRet.TituloRet.EMV mas dá tipos incompatíveis.
  9. Os boletos que eu venho registrando e imprimindo são boletos sem a informação do QR Code do boleto hibrido. Agora estou querendo passar a trabalhar com boleto hibrido. Os clientes já habilitaram lá na carteira de cobrança deles essa opção. Eu sei que para registrar o boleto com essa opção eu preciso fazer Boleto.Cedente.CedenteWS.indicadorPix:= true Minha dúvida (independente do banco): Eu imprimia com o modelo "Boleto.fr3" e agora para o boleto hibrido tenho de usar "BoletoPIX.fr3" Só que eu tenho vários boletos que foram impressos sem o Indicador PIX e outros que serão impressos com IndicardoPIX. Como vou imprimir todos na mesma lista se eles teriam de usar modelos fr3 diferentes? O arquivo BoletoPIX.fr3 não tem em seu código uma verificação se o indicadorPIX é verdadeiro ou false para imprimir ou não o QR Code? Caso negativo é possível acrescentar? Se ele trouxer no DataSet essa informação é fácil.
  10. Era isso que você queria saber? Sabe dizer como está o desenvolvimento desta requisição de movimentação?
  11. Sim tenho. Para homologação se usa: Client ID: 9b5e603e428cc477a2841e2683c92d21 Access token (Bearer): 1301865f-c6bc-38f3-9f49-666dbcfc59c3 Número do cliente: 25546454 Modalidade: 1 Escopos boletos_inclusao boletos_consulta boletos alteracao Em relação aos arquivos .CRT, .KEY e .PFX também tenho e já estão funcionando em produção. Para homologação só precisa o .PFX que você usa no postman. Esse é o link do manual da Versão 3: API Cobrança Bancária Sicoob V3 (getpostman.com)
  12. Atualizei agora o ACBr e não tem nada de movimento ainda no ACBrBoletoW_Bancoob_APIV3 não. Realmente é bem complicado o Sicoob. Você faz a pesquisa da movimentação e ao invés de trazer um retorno Json, ele traz um codigoSolicitacao Ai depois você faz outra requisição com esse código para obter um ou mais de um IdArquivo Aí depois você faz uma terceira requisição com cada um destes IdArquivos para baixar os arquivo zipados Aí você vai ter de descompactar esses arquivos para obter os Json. Pense no gênio, esse cara que criou essa requisição!?
  13. API de Cobrança (Boletos). A consulta de boletos (tpConsultaDetalhes) já testei e está Ok. Me refiro à requisição de movimentação (tpConsulta)
  14. Ainda não foi implementada a requisição de movimentação da carteira do Sicoob?
  15. Eu vou informar VersaoDF:= 'V2' para trabalhar com a versão 3 do Sicoob ou versão 2? O ACBr então não está preparado para a versão 3, é isso?
  16. Existem 3 versões da API do Sicoob, atualmente a versão 1 não funciona mais. A 2 acho que tem prazo para deixar de funcionar. O ACBr está funcionando com a versão 3? e onde informo a versão no ACBr e com que valor?
  17. Encontrei. Já no inicio da procedure ele cria o item na lista. LListaRetorno := ACBrBoleto.CriarRetornoWebNaLista; Por isso a lista de retorno será sempre maior que zero. O jeito será eu testar se essa lista trouxe algum número para o título para eu trabalhar no meu BD. Algo como: if (seuNumero <> '') or (NumeroDocumento <> '') or (NossoNumero <> '') or (NossoNumeroCorrespondente <> '') then
  18. ACBr testa se ListaRejeicao.Count = 0 para criar a lista de retorno e mesmo quando não há registros a lista de rejeições será zero mesmo. Mas logo em seguida, tem um "for I := 0 to Pred(LJsonArray.Count) " que deveria não criar nada na lista pois LJsonArray.Count deve ser zero conforme mostra o retorno abaixo: 16/08/24 10:51:59:470 - Retorno Envio: {"items":[],"hasNext":false} Então não entendo porque TotalListaRetornoWeb é igual a 1.
  19. Desculpe minha ignorância Juliomar, mas o HTTPResult é igual a 200, ou seja, Boleto.Enviar retorna verdadeiro e TotalListaRetornoWeb é > 0, porque é igual a 1. Mesmo não havendo movimento. Entendeu?
  20. Pois é, mas ListaConsultaRetornoWeb.Count retornou 1. Como posso saber se esse item da lista é um retorno de verdade ou não?
  21. 1. Eu vou fazer as requisições uma a uma. Não é só em relação de registro, não é isso? Consulta também devo fazer boleto a boleto? No Sicredi mesmo demora muito, 1 segundo a consulta de cada boleto, é uma eternidade. 2. Só gostaria de saber se o ACBr faz um loop na lista, enviando ele mesmo um a um. Pois além de desconhecer esse processo de API com múltiplos registros, aconteceu comigo o seguinte: Na alteração do vencimento de um boleto do Sicredi com desconto, onde vou prorrogar o vencimento e quero que o novo vencimento seja o novo prazo também para o desconto, eu tive de mandar as duas operações, uma para mudar a data do desconto e outra para mudar o vencimento. Adicionei as duas operações na Lista e fiz um só Boleto.Enviar() e deu certo e acredito que a API do Sicredi não receba vários registros de uma única vez, por isso perguntei se o ACBr não faz ele mesmo um loop da Lista.
  22. Eu vi no manual que existem esses campos no Titulo do ACBr Cobrança, mas usei-os e nenhum deles foi impresso no boleto. Qual a função deles? Existe um modelo de boleto que eles são impressos? Titulo.Informativo Titulo.Detalhamento Titulo.Referencia Titulo.TextoLivre
  23. Quando envio o comando Boleto.Enviar(); ele está enviando digamos, o registro de 1000 boletos, pois adicionei 1000 boletos em TituloNaLista; 1. Mas eu posso ter um código HTTP de erro ou sucesso para o comando, mas no ACBr o código de Retorno é o resultado da tentativa de registro de cada item da Lista. Até mesmo porque eu posso ter sucesso em uns e outros não e aí códigos diferentes para cada um. 2. Quando o Boleto.Enviar() que é um boolean retorna verdadeiro e quando retorna falso? se depende no sucesso ou não da operação de cada item da Lista? 3. Quando eu faço Boleto.Enviar() neste exemplo, ele envia o registro de 1000 boletos em uma única requisição??? Ou faz ele próprio um loop de envio para cada item da lista? Porque eu não conheço API que receba várias registros de uma única vez, ela teria de receber um Json e não valores de campos com por exemplo ?codigo=15&nome=Luciano. Só conheço assim, sempre registros um a um. Grato, pelo seu atendimento.
  24. Estou testando com o Sicredi, mas a dúvida vale para todos o bancos e acredito que a resposta seja a mesma. Quando faço uma consulta de movimentação da carteira p/período (tpConsulta), o ACBr retorna ao menos 1 registro em ListaConsultaRetornoWeb, mesmo que não haja movimento, ou seja ele nunca retorna com Count = 0 Como posso saber se houve ou não movimento em ListaConsultaRetornoWeb? Às vezes esse retorno de 1 registro pode ser um movimento ou não, pois mesmo que não haja movimento ele traz um registro também com código 200 (ok) como abaixo: 16/08/24 10:51:59:470 - Retorno Envio: TBoletoW_Sicredi_APIV2 16/08/24 10:51:59:470 - C digo do Envio: 200 1.1 OK 16/08/24 10:51:59:470 - Retorno Envio: {"items":[],"hasNext":false} 16/08/24 10:51:59:470 - Cookies: 16/08/24 10:51:59:470 - 16/08/24 10:51:59:470 - 16/08/24 10:51:59:470 - 16/08/24 10:51:59:470 - Header: 16/08/24 10:51:59:470 - HTTP/1.1 200 OK x-content-type-options: nosniff content-security-policy: default-src 'none';script-src 'self' 'unsafe-inline' 'unsafe-eval';object-src 'none';style-src 'self';img-src 'self';form-action 'self';connect-src 'self';plugin-types application/pdf application/x-shockwave-flash;reflected-xss block;script-nonce 7fc62a3de2273498ec5cc43b3197a34dd567916c strict-transport-security: max-age=31622400; includeSubDomains; preload; always; x-content-type-options: nosniff strict-transport-security: max-age=15724800; includeSubDomains x-frame-options: DENY x-xss-protection: 1 ; mode=block referrer-policy: no-referrer expires: Fri, 16 Aug 2024 13:51:59 GMT cache-control: max-age=0, no-cache, no-store pragma: no-cache date: Fri, 16 Aug 2024 13:51:59 GMT content-disposition: inline content-type: application/json server: **** transfer-encoding: chunked
  25. Ou seja, verificar o código de erro de acordo com cada banco. Pior que os bancos muitas vezes dão o mesmo erro 400, para várias situações diferentes. aff... horrível essa falta de padronização Vou tentar de outra forma, usando o tpConsultaDetalhe. Desta forma o retorno pode trazer a situação do boleto como BAIXADO, LIQUIDADO, PROTESTADO ou ainda apenas registrado. Tem como via ACBr identificar essas situações independente do banco, para eu não ter de ficar à toda operação ficar testando um código de retorno para cada banco? Eu atualmente faço assim. Existe uma forma melhor usando o ACBr, que já identifique a situação do boleto independente do banco? stCobranca:= UpperCase(TituloRet.EstadoTituloCobranca); if Pos('LIQUIDADO', stCobranca) > 0 then LiquidaBoletoWS(TituloRet, seuNumero) else if Pos('BAIXADO', stCobranca) > 0 then BaixaBoletoWS(SeuNumero); Mas e para os boletos que constam apenas ainda como registrados? Já vi banco que retorna "EM SER", outros "EM CARTEIRA" e se já estiver vencido "VENCIDO", etc. não dá para eu fazer um teste como esse acima.
×
×
  • 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...
The popup will be closed in 10 segundos...