-
Total de ítens
140 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por Leandro Coelho
-
-
1 hora atrás, Juliomar Marchetti disse:
Eita está havendo confusões então entre PIX e o Boleto SANTANDER?
Eu entendi q disse q tem o endpoint com -h só para PIX, pq eu estava olhando no manual do PIX e ta assim:
homologação: https://trust-pix-h.santander.com.br/api/v1 e assim: Sandbox:https://pix.santander.com.br/api/v1/sandboxhttps://developer.santander.com.br/api/documentacao/pix#/ e https://developer.santander.com.br/sites/default/files/2024-01/User_Guide_API_PIX_Recebimentos_v11_15_01_24.pdf
-
@Daniel InfoCotidiano, o banco me questionou qual componente eu uso e dai eu expliquei que é o ACBr e que no componente tem uma observação para usar o endipoint open-h, até passei o link https://www.projetoacbr.com.br/forum/topic/76632-altera%C3%A7%C3%A3o-do-endpoint-api-santander-para-testes/ para eles, dai a resposta foi essa:
-
@Daniel InfoCotidianoO ambiente de homologação open-h eu não consegui a reposta do banco foi conforme acima, olhando aqui nesse manual https://developer.santander.com.br/sites/default/files/2024-04/User_Guide_API_de_Cobranca_PT_BR_V2_6.pdf pagina 23 só tem o sandbox.
@Juliomar Marchetti Em produção ainda não comecei os testes o cliente está com certificado pra vencer, dai em produção pelo manual tem uma observação q só consegui criar aplicação com certificado valido acima de 90 dias do vencimento, de qualquer forma eu to fazendo os teste e depois vou pra produção.
Sobre o campo participantCode, este tbem é retornado quando faz registro CNAB, conforme nota 10 do manual, teoricamente(rs) esse campo tbem é para funcionar em produção pois a documento é para produção e sandbox.
-
Esse campo participantCode (Controle do Participante) , não esta sendo enviado, poderia ser enviado e o retorno colocar no ARetornoWS.DadosRet.TituloRet.NumeroDocumento ?
no retorno o NumeroDocumento tbem não esta sendo usado
ou talvez inverter passando o
ARetornoWS.DadosRet.TituloRet.NumeroDocumento := LJSONObject.AsString['clientNumber'];
ARetornoWS.DadosRet.TituloRet.SeuNumero := LJSONObject.AsString['participantCode'];
-
16 horas atrás, Juliomar Marchetti disse:
Anexe o código e os manuais, além de evidencias tanto do ambiente sandbox quanto produção.
Referente ao barcode, link do manual
-
-
No ACBrBoletoRet_Santander_API.pas onde tem LJSONObject.AsString['barCode'], alterei para LJSONObject.AsString['barcode'], o barcode tudo minusculo, conforme manual do banco.
JSON=[{"nsuCode":"000000035060","nsuDate":"2024-08-15","environment":"PRODUCAO","covenantCode":"2128616","payer":{"documentType":"CPF","documentNumber":"999999999999","name":"ELIZA DE SOUZA GOMES","address":"JOAQUIM THOME LEITE N. 123","neighborhood":"CASTELO BRANCO NOVO","city":"RIBEIRAO PRETO","state":"SP","zipCode":"14090-610"},"beneficiary":{"name":"","documentType":"","documentNumber":""},"sharing":[],"bankNumber":"000000035060","clientNumber":"780","dueDate":"2024-08-20","issueDate":"2024-08-15","documentKind":"RECIBO","nominalValue":"300.00","finePercentage":"10.00","fineQuantityDays":"1","interestPercentage":"0.00","discount":{"type":"","discountOne":{"value":"","limitDate":""},"discountTwo":{"value":"","limitDate":""},"discountThree":{"value":"","limitDate":""}},"deductionValue":"","protestType":"SEM_PROTESTO","protestQuantityDays":"","writeOffQuantityDays":"","paymentType":"REGISTRO","parcelsQuantity":"","valueType":"","minValueOrPercentage":"","maxValueOrPercentage":"","iofPercentage":"","txId":"","participantCode":"","messages":["true","[B@6ca60537","true",""],"barcode":"03396939700000001009356720600000000123450101","digitableLine":"03399356782060000000201234501011693970000000100","entryDate":"2023-09-09","qrCodePix":"00020101021226920014br.gov.bcb.pix2570pix.santander.com.br/qr/v2/cobv/9fa03dbd-0b9c-4910-8ab3-14f6bf48a24652040000530398654041.005802BR5925TESTE CONECTIVIDADE API 16009SAO PAULO62070503***63041110","qrCodeUrl":"pix.santander.com.br/qr/v2/cobv/9fa03dbd-0b9c-4910-8ab3-14f6bf48a246"}]
No ACBrBoletoW_Santander_API.pas eu alterei para usar em homologação as URLs sandbox:
{URL SandBOX - nao devolve todas as informações necessárias no retorno}
C_URL_HOM = 'https://trust-sandbox.api.santander.com.br/collection_bill_management/v2';
C_URL_OAUTH_HOM = 'https://trust-sandbox.api.santander.com.br/auth/oauth/v2/token';estas C_URL_HOM está retornando o qrcode, conforme o retorno acima.
-
tem para o banco Santander
Estou olhando e tem do BB tbem, mais no BB ta mais parecido com arquivo pagfor
Cada banco de um jeito pra variar
-
Passa o ID (convenio + nosso numero), passa convenio, é o q pede no manual do banco:
e o schema de retorno:
{ "codigoLinhaDigitavel": "string", "textoEmailPagador": "string", "textoMensagemBloquetoTitulo": "string", "codigoTipoMulta": 0, "codigoCanalPagamento": 0, "numeroContratoCobranca": 0, "codigoTipoInscricaoSacado": 0, "numeroInscricaoSacadoCobranca": 0, "codigoEstadoTituloCobranca": 0, "codigoTipoTituloCobranca": 0, "codigoModalidadeTitulo": 0, "codigoAceiteTituloCobranca": "string", "codigoPrefixoDependenciaCobrador": 0, "codigoIndicadorEconomico": 0, "numeroTituloCedenteCobranca": "string", "codigoTipoJuroMora": 0, "dataEmissaoTituloCobranca": "string", "dataRegistroTituloCobranca": "string", "dataVencimentoTituloCobranca": "string", "valorOriginalTituloCobranca": 0, "valorAtualTituloCobranca": 0, "valorPagamentoParcialTitulo": 0, "valorAbatimentoTituloCobranca": 0, "percentualImpostoSobreOprFinanceirasTituloCobranca": 0, "valorImpostoSobreOprFinanceirasTituloCobranca": 0, "valorMoedaTituloCobranca": 0, "percentualJuroMoraTitulo": 0, "valorJuroMoraTitulo": 0, "percentualMultaTitulo": 0, "valorMultaTituloCobranca": 0, "quantidadeParcelaTituloCobranca": 0, "dataBaixaAutomaticoTitulo": "string", "textoCampoUtilizacaoCedente": "string", "indicadorCobrancaPartilhadoTitulo": "string", "nomeSacadoCobranca": "string", "textoEnderecoSacadoCobranca": "string", "nomeBairroSacadoCobranca": "string", "nomeMunicipioSacadoCobranca": "string", "siglaUnidadeFederacaoSacadoCobranca": "string", "numeroCepSacadoCobranca": 0, "valorMoedaAbatimentoTitulo": 0, "dataProtestoTituloCobranca": "string", "codigoTipoInscricaoSacador": 0, "numeroInscricaoSacadorAvalista": 0, "nomeSacadorAvalistaTitulo": "string", "percentualDescontoTitulo": 0, "dataDescontoTitulo": "string", "valorDescontoTitulo": 0, "codigoDescontoTitulo": 0, "percentualSegundoDescontoTitulo": 0, "dataSegundoDescontoTitulo": "string", "valorSegundoDescontoTitulo": 0, "codigoSegundoDescontoTitulo": 0, "percentualTerceiroDescontoTitulo": 0, "dataTerceiroDescontoTitulo": "string", "valorTerceiroDescontoTitulo": 0, "codigoTerceiroDescontoTitulo": 0, "dataMultaTitulo": "string", "numeroCarteiraCobranca": 0, "numeroVariacaoCarteiraCobranca": 0, "quantidadeDiaProtesto": 0, "quantidadeDiaPrazoLimiteRecebimento": 0, "dataLimiteRecebimentoTitulo": "string", "indicadorPermissaoRecebimentoParcial": "string", "textoCodigoBarrasTituloCobranca": "string", "codigoOcorrenciaCartorio": 0, "valorImpostoSobreOprFinanceirasRecebidoTitulo": 0, "valorAbatimentoTotal": 0, "valorJuroMoraRecebido": 0, "valorDescontoUtilizado": 0, "valorPagoSacado": 0, "valorCreditoCedente": 0, "codigoTipoLiquidacao": 0, "dataCreditoLiquidacao": "string", "dataRecebimentoTitulo": "string", "codigoPrefixoDependenciaRecebedor": 0, "codigoNaturezaRecebimento": 0, "numeroIdentidadeSacadoTituloCobranca": "string", "codigoResponsavelAtualizacao": "string", "codigoTipoBaixaTitulo": 0, "valorMultaRecebido": 0, "valorReajuste": 0, "valorOutroRecebido": 0, "codigoIndicadorEconomicoUtilizadoInadimplencia": 0 }
Mais pensando aqui eu vou validar aq do meu lado pelo campo textoCodigoBarrasTituloCobranca, ao invez de fazer o copy dentro do ACBrBoletoRet_BancoBrasil_API, eu vou fazer aq na minha rotina.
Aqui eu valido se o retorno da consulta é do mesmo titulo q eu pedi a consulta, vai q vem diferente.
-
Segue log retorno
-
Na resposta do tpConsultaDetalhe do BB não tem no retorno o ID (ARetornoWS.DadosRet.IDBoleto.NossoNum := LJsonObject.AsString['id'];)
Eu fiz uma alteração no ACBrBoletoRet_BancoBrasil_API.pas para pegar o codigo de barras
-
@Daniel InfoCotidiano @Juliomar Marchetti @Juliana Tamizou
Pessoal não tem nenhum componente do ACBr para API de PIX transferencia entre contas, certo ?
No caso tem essa API disponivel no Sicoob, chama PIX Pagamentos https://developers.sicoob.com.br/portal/apis
Tem tbem pelo Itau chama API Cash Management https://devportal.itau.com.br/nossas-apis/itau-ep9-gtw-sispag-ext#subheading-2-1Daria para usar algum componente de modelo, por exemplo o ACBrPixCD ou ACBrBoleto, no caso acho q ta mais ligado com o ACBrPagFor, so q tem nos componente PixCD e Boleto já as questões de API, que tal a possibilidade desse componente ?
-
@Daniel InfoCotidiano, fazendo os testes hj, deu tudo certo, teste registro, alterar vencimento, consulta, baixa, tudo ok.
Não conseui baixar a unit do outro topico para testar com ela
Aqui eu inclui a mensagem4 e 5, como já tinha programado aq antes, eu inclui pra deixar ok aq pra mim, não tem como deixar fixo no componente essas mensagens ?
-
@CS COM INFO LTDA só um detalhe que eu vi aqui na sua reposta:
Outro detalhe é q eu ainda não testei após as ultimas alterações do componente, dai não validei se ta vindo ou não a informação do PIX.
-
@Daniel InfoCotidiano , não tinha visto sua mensagem do dia 03/04, desculpa ai.
Eu vou atualizar aqui e fazer os testes.
Tem essa alteração desse tópico tbem, não sei se já esta contemplando ai, d qualquer forma eu vou fazer os teste com o do SVN -
@Daniel InfoCotidiano , fiz um teste aqui para registrar, no caso mandei um registro com erro de proposito, anexei os arquivos aqui.
O banco retorna HTTPResultCode = 207, com o código do erro = 400, dentro do resultado.
Manual do banco, 207 = Solicitação recebida com sucesso. Verifique o status de cada registro no retorno.
https://developers.sicoob.com.br/portal/apis
---
Aqui na linha 132 e 133 do ACBrBoletoRet_Bancoob ta invertida
-
-
qual é a diferença:
ACBrMail.DefaultCharset := CP1252; e ACBrMail.IDECharset := CP1252;
-
6 minutos atrás, Juliomar Marchetti disse:
veja é que tu gera um html utf-8 e diz o charset ser ansi no caso
para efeito de teste eu mudei ACBrMail.IsHTML := False; e o texto retirei toda a parte de html deixando só uma linha assim ACBrMail.Body.Add('Teste de Envio de E-mail'); e mesmo assim apresenta esse erro
de qualquer forma o q me intriga mesmo é q isso esta acontecendo em um micro, mui equisito.
aqui no escritório não consigo simular o erro pq nenhum micro apresenta, nem o micro com win7 q tenho aq de teste.
-
Estou com esse erro ai em um micro, mais no cliente lá tem outros micros que não apresenta esse erro.
Na pasta do executável estou com as dlls: libcrypto-1_1.dll e libssl-1_1.dll
Tentei tbem com outras versões de dlls do openssl
Tentei com varias configurações de e-mailNo ACBrMail estou usando:
ACBrMail.DefaultCharset := CP1252;
ACBrMail.IDECharset := CP1252;
ACBrMail.IsHTML := true;E no e-mail eu envio assim:
ACBrMail.Body.Add('<html>');
ACBrMail.Body.Add(' <head>');
ACBrMail.Body.Add(' <meta http-equiv="content-type" content="text/html; charset=UTF-8">');
ACBrMail.Body.Add(' </head>');
ACBrMail.Body.Add(' <body style="font-size: 0.9em;"');
ACBrMail.Body.Add(' <p>');ACBrMail.Body.Add('Teste de Envio de E-mail' + '<br>' + '<br>');
ACBrMail.Body.Add('E-Mail Processado Automaticamente em: ' + DateToStr(Date) + ' ' + TimeToStr(Time) + '<br>');
ACBrMail.Body.Add('Imprime Informática');ACBrMail.Body.Add(' <br>');
ACBrMail.Body.Add(' </p>');
ACBrMail.Body.Add(' </body>');
ACBrMail.Body.Add('</html>Tbem para efeito de teste eu mudei ACBrMail.IsHTML := False; e o texto retirei toda a parte de html deixando só uma linha assim ACBrMail.Body.Add('Teste de Envio de E-mail'); e mesmo assim apresenta esse erro
Esse erro começou a ser apresentado após uma atualização do antivirus lá e ai eu falei pro cliente formatar e agora depois de formatado e sem nenhum antivirus o erro continua.
Se alguém tiver alguma dica eu agradeço.
-
Pessoal, também fiz outra alteração, agora no retorno, eu precisei recuperar o campo identificacaoBoletoEmpresa
Então criei este campo
-
Essa deu certo aqui pra mim, eu mudei o if TipoOperacao = tpInclui para TipoOperacao <> tpConsultaDetalhe
- 2
-
2 horas atrás, Victor H. Gonzales - Panda disse:
ACBrBoletoRet_Bancoob.pas 22.6 kB · 1 download
poderia testar essa unit?
Unit testada, deu certo pra tpConsultaDetalhe , tpBaixa, tpAltera
mais para tpInclui não esta passando por dentro do if aJson.IsJsonArray('resultado') then da linja 130, e dai quando da erro não fica registrado no ARejeicao
-
Eu fiz uma alteração para passar pelo aJsonViolacoes := aJson.Values['resultado'].AsArray; quando for TipoOperacao = tpInclui
Mais ainda não testei o TipoOperacao = tpBaixa e o TipoOperacao = tpAltera , pq aqui pode ser que precise tbem ver as violações q possa vir no array, pretendo fazer esses testes ainda hj.
Provedor DSF retorno vindo como UTF8 e o tratamento do retorno esta usando ConverteANSIparaUTF8 cidade São Jose dos Campos
em ACBrNFSe
Postado
Segue arquivos retorno e o DSF.Provider.pas que alterei a function TACBrNFSeXWebserviceDSF200.TratarXmlRetornado
Estou testando já em produção
DSF.Provider.pas
10-lista-nfse-sinc.xml 10-lista-nfse-sinc-soap.xml 8-lista-nfse-sinc.xml 8-lista-nfse-sinc-soap.xml 9-lista-nfse-sinc.xml 9-lista-nfse-sinc-soap.xml