Luciano Rodrigues Pereira Postado 26 Janeiro Postado 26 Janeiro (editado) Estou implantando uma cobrança usando a API da CEF. Mas ao que parece a CEF não tem suporte ao desenvolvedor, é só o manual, que por sinal é bem fraco. É o único banco até agora que implantamos API a não ter suporte. Por isso gostaria de contar com a colaboração de vocês para sanar algumas dúvidas minhas nesta jornada. Os logs das requisições estão em anexo. 1. O manual fala em URLs diferentes para homologação e produção, mas os links que estão no manual para verificar essas URLs não existem. Aliás o site do desenvolvedor da caixa está com problemas há mais de um ano. Verificando os fontes do ACBr, não vi URLs diferentes para homologação e produção. Então os links do ACBr são de produção? 2. Nos meus testes, usando o Demo do ACBr quando uso como ClientID "SGCBS02P" que está no próprio fonte do ACBr, a tentativa de registro de boleto traz no log o erro (BK76) ERRO NA FORMATACAO DA MENSAGEM e o conteúdo errado seria a palavra "VALOR_MENSAL" que de acordo com o log deveria ser um valor e não uma string. Mas o retorno não diz qual o campo está com esse valor. Não achei nos fontes do ACBr essa "palavra" para ele ter gerado esse valor como string para dar erro. Quando uso minha aplicação e não o demo do ACBr o erro é OPERACAO NAO PERMITIDA - CEDENTE INFORMADO NAO POSSUI AUTORIZACAO PARA UTILIZAR SERVICO WEBSERVICE - USUARIO SGCBS02. Que me parece correto, pois no manual não existe esse usuário nem mesmo para homologação. Mas porque no ACBr não traz esse erro? apesar que traz outro erro "VALOR_MENSAL" ? 3. Ainda usando o demo do ACBr testando registrar um boleto usando como ClientID a api-key que me foi fornecida pela CEF, o conteúdo errado seria a minha api-key, dizendo que esse campo está com 34 posições, sendo que o máximo seriam 8 posições. Usando minha aplicação e não o demo do ACBr o erro é o mesmo. O pior de tudo é que mesmo com esses erros o código de retorno é 200. Pode? Essa é a pior API que experimentei até agora. Informei tudo conforme indicado pela própria ACBr ACBrBoleto.Configuracoes.WebService.VersaoDF :='3.2' (para boleto hibrido) e '3.0' para não hibrido QtdePagamentoParcial:= 1; TipoPagamento:= tpNao_Aceita_Valor_Divergente; PercentualMinPagamento:= 0; PercentualMaxPagamento:= 0; ValorMinPagamento:=0; ValorMaxPagamento:=0; Carteira := 'RG'; EspecieDoc:= '99'; WebService.SSLCryptLib:= cryOpenSSL; WebService.SSLHttpLib:= httpOpenSSL; WebService.UseCertificateHTTP := false; Registro user api_key Erro.txt Registro user SGCBS02P Erro.txt Editado 26 Janeiro por Luciano Rodrigues Pereira
Moderadores Juliomar Marchetti Postado 27 Janeiro Moderadores Postado 27 Janeiro 21 horas atrás, Luciano Rodrigues Pereira disse: Então os links do ACBr são de produção? creio que sim, seria esses do webservice chegou a ver esse tópico https://www.projetoacbr.com.br/forum/topic/57991-acbrboleto-via-webservice/?&_rid=19#findComment-426538 Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
Luciano Rodrigues Pereira Postado 27 Janeiro Autor Postado 27 Janeiro Sim, olhei esse tópico sim, está aí, na minha citação todas as configurações conforme o tópico.
Moderadores Juliomar Marchetti Postado 27 Janeiro Moderadores Postado 27 Janeiro olhando um pouco mais . tu não seta a versaõ o código mesmo já trata dependendo do hibrido ou não veja Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
Luciano Rodrigues Pereira Postado 27 Janeiro Autor Postado 27 Janeiro Dá na mesma, eu verifiquei antes de enviar a requisição o código que estava "setado" e testei com e sem pix, não é esse o problema.
Luciano Rodrigues Pereira Postado 27 Janeiro Autor Postado 27 Janeiro Vamos por parte, estou verificando a documentação e o USUARIO_SERVICO tem de ser mesmo SGCBS02P. Então em cima disso vejam se pode me responder: 1. Quando eu uso o ClientID fornecido pelo banco o ACBr troca o USUARIO_SERVICO SGCBS02P pelo ClientID e aí dá erro. Não entendi então onde será usado o ClientID (api_key fornecida pelo banco) e o Client_Secret (fornecido pelo banco) 2. Tentando registrar um boleto usando o Demo do ACBr traz no log o erro (BK76) ERRO NA FORMATACAO DA MENSAGEM e o conteúdo errado seria a palavra "VALOR_MENSAL" que de acordo com o log deveria ser um valor e não uma string. Você pode ver esse erro no arquivo em anexo Registro "user SGCBS02P Erro.txt"
Luciano Rodrigues Pereira Postado 27 Janeiro Autor Postado 27 Janeiro Achei o erro do demo do ACBr com relação à mensagem "VALOR_MENSAL". Você pode ver esse erro no arquivo em anexo "Registro user SGCBS02P Erro.txt" No manual não existe essa opção de VALOR_MENSAL. Apenas "ISENTO", "VALOR_POR_DIA" e "TAXA_MENSAL" conforme pode ver no print em anexo e na página 39 do manual que também estou anexando. Não fiz a correção no ACBr, porque realmente fucei os fontes e não encontrei onde ele está setando com "VALOR_MENSAL" MANUAL API CEF.pdf
Moderadores Juliomar Marchetti Postado 27 Janeiro Moderadores Postado 27 Janeiro use a força , leia os fontes veja abaixo Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
Luciano Rodrigues Pereira Postado 27 Janeiro Autor Postado 27 Janeiro (editado) 30 minutos atrás, Juliomar Marchetti disse: use a força , leia os fontes veja abaixo Esse print aí não mostra setando "VALOR_MENSAL", Eu olhei tudo isso aí e não achei a descrição "VALOR_MENSAL". Deve estar setando em DSC_CODIGO_MORA_JUROS. Se você sabe onde está sendo setada essa descrição diga de uma vez, não sou só eu quem preciso da correção. Eu colaboro na maneira que posso, como nesse caso encontrando o problema e quando dá eu faço a correção e subo. Bom como não achei, mexi no Demo, calculei o valor da mora diária, mudei Titulo.CodigoMoraJuros:= cjValorMensal; para cjValorDia; e o erro sumiu. Como não trabalho informando valor mensal de mora, mas sim diário, na minha aplicação não dá o erro, agora para quem for usar o Demo do ACBr vai encontrar esse problema. Não sei se a ACBr deve mudar seus fontes ou apenas o Demo convertendo o valor informado de mensal para diário. Com outros bancos não acontece esse problema, mas a CEF não tem essa opção de informar valor de mora mensal, somente a TAXA_MENSAL ou VALOR_POR_DIA. Aí fica à critério da ACBr, qual deve ser a mudança, se quiserem que o Demo funcione com a CEF. Editado 27 Janeiro por Luciano Rodrigues Pereira
Luciano Rodrigues Pereira Postado 27 Janeiro Autor Postado 27 Janeiro De qualquer forma o que acontece é que a CEF não tem a opção de informar valor de mora mensal, apenas a taxa mensal ou o valor diário. Então não sei o que é preciso fazer, de que adianta encontrar esse "VALOR_MENSAL" nos fontes do ACBr, porque a CEF não tem essa opção. Entendeu? Por outro lado o Demo informa assim Titulo.CodigoMoraJuros:= cjValorMensal para qualquer banco. Então não sei o que será preciso mudar para o Demo funcionar nos outros bancos e na CEF. Minha sugestão é que ao invés de solicitarem na Ficha de Pagamento o valor de mora mensal, solicitem a taxa mensal. Aí você seta o CodigoMoraJuros com "cjTaxaMensal" ou calcula o valor diário e seta com "cjValorDia". Isso vai funcionar para qualquer banco.
Luciano Rodrigues Pereira Postado 27 Janeiro Autor Postado 27 Janeiro (editado) Eu até achei onde está setado Mas como disse isso não muda nada, o problema é que a CEF não tem essa opção de valor de mora mensal, entendeu? Minha sugestão é que ao invés de solicitarem na Ficha de Pagamento o valor de mora mensal, solicitem a taxa mensal. Aí você seta o CodigoMoraJuros com "cjTaxaMensal" ou calcula o valor diário e seta com "cjValorDia". Isso vai funcionar para qualquer banco. Editado 27 Janeiro por Luciano Rodrigues Pereira
Moderadores Juliomar Marchetti Postado 27 Janeiro Moderadores Postado 27 Janeiro 24 minutos atrás, Luciano Rodrigues Pereira disse: Isso vai funcionar para qualquer banco. já testou em todos os bancos? Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
Luciano Rodrigues Pereira Postado 27 Janeiro Autor Postado 27 Janeiro Agora, Juliomar Marchetti disse: já testou em todos os bancos? Não, nem dá. kkkkkkkk. Mas acredito que é mais comum uma taxa mensal ou um valor diário. Afinal estamos falando de mora, que é cobrado o valor por dia e não por mês. Então ou você informa a taxa mensal ou o valor diário. Entendeu? Mas de qualquer forma é só uma sugestão de alteração no Demo. Eu trabalho informando valor diário ou poderia até informar a taxa mensal, em qualquer destas formas não dá erro, nem na Caixa, nem em nenhum outro banco que eu já implantei como Itaú, Bradesco, Banco do Brasil, Sicoob, Sicredi e agora a Caixa.
Moderadores Juliomar Marchetti Postado 28 Janeiro Moderadores Postado 28 Janeiro 12 horas atrás, Luciano Rodrigues Pereira disse: de alteração no Demo. o demo é só pra demonstrar como preencher o componente não é para usar como código para fazer um sistema. 12 horas atrás, Luciano Rodrigues Pereira disse: Não, nem dá. kkkkkkkk. então é abragente demais dizer que todos. pois não testou Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
Luciano Rodrigues Pereira Postado 28 Janeiro Autor Postado 28 Janeiro Ok @Juliomar Marchetti eu achei que as pessoas usassem o Demo para testes também, só isso. Aproveitando, eu dei uma olhada nos fontes em relação à CEF e não achei lugar nenhum onde ele use o ClientID e o Client_Secret que o banco me forneceu. Se eu seto o ClientID, aí o ACBr troca o USUARIO_SERVICO de SGCBS02P para o ClientID e aí dá erro dizendo que esse campo está com 34 posições, sendo que o máximo seriam 8 posições. E o próprio manual na sua página 10 diz "Para todos os tipos de operação, deverá ser informado no campo USUARIO_SERVICO o valor SGCBS02P". Então fico sem saber onde é usado o ClientID e o ClientSecret que o banco me forneceu? Inclusive no log paranoico não mostra usando.
Moderadores Juliomar Marchetti Postado 28 Janeiro Moderadores Postado 28 Janeiro 1 hora atrás, Luciano Rodrigues Pereira disse: Aproveitando, eu dei uma olhada nos fontes em relação à CEF e não achei lugar nenhum onde ele use o ClientID e o Client_Secret que o banco me forneceu. Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
Luciano Rodrigues Pereira Postado 28 Janeiro Autor Postado 28 Janeiro 1 minuto atrás, Juliomar Marchetti disse: Isso aí é exatamente o que eu disse @Juliomar Marchetti Eu não posso usar o ClientID, senão o ACBr troca o USUARIO_SERVICO de SGCBS02P para o ClientID e aí dá erro dizendo que esse campo está com 34 posições, sendo que o máximo seriam 8 posições. E o próprio manual na sua página 10 diz "Para todos os tipos de operação, deverá ser informado no campo USUARIO_SERVICO o valor SGCBS02P". Deu pra entender?
Recommended Posts
Crie uma conta ou entre para comentar
Você precisar ser um membro para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora