Membros Pro Edilson Pereira Andrade Posted July 1 Membros Pro Share Posted July 1 Boa tarde. Estou implementando o a inclusão de boletos através da api v3 do Sicoob e está ocorrendo alguns problemas relacionado ao retorno dos dados após a inclusão. Todos os dados fornecidos são fornecidos corretamente e não houve erro em geral referente as informações passadas, porem ao enviar a requisição, o retorno estava vindo vazio, foi quando ao verificar e analisar o log, foi identificado que o retorno estava realmente vazio e com o status 0. Após ir debugando e analisando as classes do ACBRBoleto, reparei que no local onde acontecia o erro por conta do retorno estar vazio não ocorreu e o retorno estava correto, porem sempre que executo sem parar, ele da novamente a mesma falha, e mesmo com erro, com o retorno vindo vazio e o TACBRBoleto.enviar retornando como FALSE, o boleto está sendo registrado no banco. Obs. Ocorre em todas as requisições para incluir quando em produção, em homologação ele funciona normalmente. Log: 01/07/24 13:31:52:033 - Autenticando Token... 01/07/24 13:31:52:034 - Comando Enviar: TOAuth 01/07/24 13:31:52:043 - Header Envio:Authorization: Basic {TOKEN} 01/07/24 13:31:52:052 - URL: [POST] https://auth.sicoob.com.br/auth/realms/cooperado/protocol/openid-connect/token 01/07/24 13:31:52:061 - Body Envio (Payload):client_id={CLIENT_ID}&scope=boletos_inclusao boletos_consulta boletos_alteracao&grant_type=client_credentials 01/07/24 13:31:52:433 - Validade: 01/07/2024 13:36:52 01/07/24 13:31:52:433 - Header Resposta:HTTP/1.1 200 OK Cache-Control: no-store Set-Cookie: KC_RESTART=; Version=1; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Max-Age=0; Path=/auth/realms/cooperado/; HttpOnly X-XSS-Protection: 1; mode=block Pragma: no-cache X-Frame-Options: SAMEORIGIN Referrer-Policy: no-referrer Date: Mon, 01 Jul 2024 16:28:42 GMT Strict-Transport-Security: max-age=16070400; includeSubDomains X-Content-Type-Options: nosniff Content-Type: application/json Content-Length: 3836 Set-Cookie: {C}; path=/; HttpOnly; Secure Set-Cookie: TS012629b2={C}; Path=/; Domain=.auth.sicoob.com.br; Secure; HTTPOnly Set-Cookie: TS01dfa94a={C}; path=/auth/realms/cooperado/; HTTPonly; Secure 01/07/24 13:31:52:456 - Body Resposta (payload): {RETORNO DO TOKEN} 01/07/24 13:31:52:471 - Comando Enviar: TBoletoW_Bancoob_APIV3 01/07/24 13:31:52:483 - Comando Enviar: {JSON} 01/07/24 13:31:52:496 - URL: [POST] https://api.sicoob.com.br/cobranca-bancaria/v3/boletos 01/07/24 13:31:52:509 - Header: 01/07/24 13:31:52:523 - Accept: application/json Authorization: Bearer {TOKEN} client_id: {CLIENT_ID} 01/07/24 13:32:05:779 - Retorno Envio: TBoletoW_Bancoob_APIV3 01/07/24 13:32:05:780 - Código do Envio: 0 1.1 01/07/24 13:32:05:790 - Retorno Envio: ErrorCode=10060 Result= 01/07/24 13:32:05:803 - Cookies: 01/07/24 13:32:05:821 - {C} TS012629b2={C} TS01dfa94a={C} 01/07/24 13:32:05:832 - E:\Certificados\19\Certificado.pem 01/07/24 13:32:05:841 - E:\Certificados\19\Certificado.key 01/07/24 13:32:05:850 - Header: 01/07/24 13:32:05:859 - Valores retornados: Log simples: Log debugando: 01/07/24 10:39:33:422 - Autenticando Token... 01/07/24 10:39:33:423 - Comando Enviar: TOAuth 01/07/24 10:39:33:431 - URL: [POST] https://auth.sicoob.com.br/auth/realms/cooperado/protocol/openid-connect/token 01/07/24 10:45:28:197 - Validade: 01/07/2024 10:50:28 01/07/24 10:45:28:197 - Comando Enviar: TBoletoW_Bancoob_APIV3 01/07/24 10:45:28:207 - Comando Enviar: {JSON} 01/07/24 10:45:28:215 - URL: [POST] https://api.sicoob.com.br/cobranca-bancaria/v3/boletos 01/07/24 10:50:51:217 - Retorno Envio: TBoletoW_Bancoob_APIV3 01/07/24 10:50:51:687 - Código do Envio: 200 1.1 OK Log normal: 01/07/24 11:03:21:515 - Autenticando Token... 01/07/24 11:03:21:516 - Comando Enviar: TOAuth 01/07/24 11:03:21:532 - URL: [POST] https://auth.sicoob.com.br/auth/realms/cooperado/protocol/openid-connect/token 01/07/24 11:03:28:567 - Validade: 01/07/2024 11:08:28 01/07/24 11:03:28:567 - Comando Enviar: TBoletoW_Bancoob_APIV3 01/07/24 11:03:28:580 - Comando Enviar: {JSON} 01/07/24 11:03:28:588 - URL: [POST] https://api.sicoob.com.br/cobranca-bancaria/v3/boletos 01/07/24 11:03:57:203 - Retorno Envio: TBoletoW_Bancoob_APIV3 01/07/24 11:03:57:203 - Código do Envio: 0 1.1 Foi atualizado e recompilado o SVN do ACBR para teste e continuou com o mesmo comportamento; Todos os testes foram realizados utilizando certificado; Todas as requisições, mesmo com erro e sem retorno, estava sendo registrado o titulo no banco; Foi testado com o mesmo JSON gerado a requisição no postman e o retorno foi correto; Utilizado: Windows 10, Delphi 10.3; Link to comment Share on other sites More sharing options...
Administradores Juliana Tamizou Posted July 5 Administradores Share Posted July 5 Tópico movido para a área do SAC, para que o SLA de respostas seja considerado Juliana Tamizou Gerente de Projetos ACBr / Diretora de Marketing AFRAC Ajude o Projeto ACBr crescer - Seja Pro (15) 2105-0750 (15)99790-2976. Discord Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !! Link to comment Share on other sites More sharing options...
Consultores Diego Foliene Posted July 5 Consultores Share Posted July 5 Boa tarde! Por favor, configure as propriedades de Log para que possamos conferir se chega a registrar retorno no mesmo. ACBrBoleto.Configuracoes.Arquivos.LogNivel := logParanoico; ACBrBoleto.Configuracoes.Arquivos.PathGravarRegistro := 'Caminho onde será gravado o arquivo'; ACBrBoleto.Configuracoes.Arquivos.NomeArquivoLog := 'Nome do Arquivo de Log'; Outro teste que pode ser feito. Pegue as dlls deste LINK escolhendo de acordo com a versão que compila a sua aplicação e não a versão do SO e coloque elas na mesma pasta do seu .EXE Diego FolieniAjude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !! Link to comment Share on other sites More sharing options...
Consultores Victor H. Gonzales - Panda Posted July 5 Consultores Share Posted July 5 Se esta recebendo 200 deveria sim receber True. Porém uma coisa chama atenção o httpresult esta 0 na classe do send. Isso começou agora? Victor H Gonzales - Pandaaa Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !! "Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci "Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo" Link to comment Share on other sites More sharing options...
Membros Pro Edilson Pereira Andrade Posted July 5 Author Membros Pro Share Posted July 5 (edited) Boa tarde Notamos inicialmente quando foi alterado de homologação para produção. O primeiro teste foi realizado dia 28/06/2024 e foi realizado um hoje(log abaixo) e foi conferida as informações que estão sendo envias e estão corretas, inclusive o titulo foi registrado no banco. Para este ultimo teste foi substituídas as dlls do OpenSSL por estas https://svn.code.sf.net/p/acbr/code/trunk2/DLLs/OpenSSL/1.1.1.10 Log paranoico: 05/07/24 13:17:10:661 - Autenticando Token... 05/07/24 13:17:10:661 - Comando Enviar: TOAuth 05/07/24 13:17:10:669 - Header Envio:Authorization: Basic {TOKEN CORRETO} 05/07/24 13:17:10:675 - URL: [POST] https://auth.sicoob.com.br/auth/realms/cooperado/protocol/openid-connect/token 05/07/24 13:17:10:682 - Body Envio (Payload):client_id={CLIENT_ID}&scope=boletos_inclusao boletos_consulta boletos_alteracao&grant_type=client_credentials 05/07/24 13:17:11:142 - Validade: 05/07/2024 13:22:11 05/07/24 13:17:11:142 - Header Resposta:HTTP/1.1 200 OK Cache-Control: no-store Set-Cookie: KC_RESTART=; Version=1; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Max-Age=0; Path=/auth/realms/cooperado/; HttpOnly X-XSS-Protection: 1; mode=block Pragma: no-cache X-Frame-Options: SAMEORIGIN Referrer-Policy: no-referrer Date: Fri, 05 Jul 2024 16:13:57 GMT Strict-Transport-Security: max-age=16070400; includeSubDomains X-Content-Type-Options: nosniff Content-Type: application/json Content-Length: 3836 Set-Cookie: {COOKIE CORRETO}; path=/; HttpOnly; Secure Set-Cookie: TS012629b2={COOKIE CORRETO}; Path=/; Domain=.auth.sicoob.com.br; Secure; HTTPOnly Set-Cookie: TS01dfa94a={COOKIE CORRETO}; path=/auth/realms/cooperado/; HTTPonly; Secure 05/07/24 13:17:11:154 - Body Resposta (payload):{"access_token":"{TOKEN CORRETO}","expires_in":300,"refresh_expires_in":0,"token_type":"Bearer","not-before-policy":0,"scope":"boletos_inclusao boletos_alteracao boletos_consulta"} 05/07/24 13:17:11:168 - Comando Enviar: TBoletoW_Bancoob_APIV3 05/07/24 13:17:11:182 - Comando Enviar: {JSON CORRETO} 05/07/24 13:17:11:194 - URL: [POST] https://api.sicoob.com.br/cobranca-bancaria/v3/boletos 05/07/24 13:17:11:203 - Header: 05/07/24 13:17:11:211 - Accept: application/json Authorization: Bearer {TOKEN CORRETO} client_id: {CLIENT_ID} 05/07/24 13:17:16:417 - Retorno Envio: TBoletoW_Bancoob_APIV3 05/07/24 13:17:16:418 - C?igo do Envio: 0 1.1 05/07/24 13:17:16:431 - Retorno Envio: ErrorCode=10060 Result= 05/07/24 13:17:16:446 - Cookies: 05/07/24 13:17:16:469 - {COOKIE CORRETO} TS012629b2={COOKIE CORRETO} TS01dfa94a={COOKIE CORRETO} 05/07/24 13:17:16:482 - E:\Easy\Certificados\19\Certificado.pem 05/07/24 13:17:16:494 - E:\Easy\Certificados\19\Certificado.key 05/07/24 13:17:16:506 - Header: 05/07/24 13:17:16:514 - este é o log completo que foi gerado no arquivo .log Edited July 5 by Edilson Pereira Andrade Link to comment Share on other sites More sharing options...
Consultores Victor H. Gonzales - Panda Posted July 5 Consultores Share Posted July 5 se você olhar o código está vindo como Código do Envio: 0 esses boletos estão sendo registrados? Victor H Gonzales - Pandaaa Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !! "Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci "Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo" Link to comment Share on other sites More sharing options...
Membros Pro Edilson Pereira Andrade Posted July 5 Author Membros Pro Share Posted July 5 sim Link to comment Share on other sites More sharing options...
Consultores Victor H. Gonzales - Panda Posted July 5 Consultores Share Posted July 5 consegue me enviar no email essas credenciais para ambiente de homologação? Victor H Gonzales - Pandaaa Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !! "Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci "Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo" Link to comment Share on other sites More sharing options...
Membros Pro Edilson Pereira Andrade Posted July 5 Author Membros Pro Share Posted July 5 certo, só para entender, você quer testar em ambiente de homologação? Mais em ambiente de homologação utilizando o sandbox com as credencias, ele funciona normal e tem retorno. Este cenário esta acontecendo somente em produção. Porem se realmente for necessário posso consultar o gerente do projeto a respeito de enviar as credenciais. 1 Link to comment Share on other sites More sharing options...
Moderadores Juliomar Marchetti Posted July 5 Moderadores Share Posted July 5 23 minutos atrás, Edilson Pereira Andrade disse: certo, só para entender, você quer testar em ambiente de homologação? Mais em ambiente de homologação utilizando o sandbox com as credencias, ele funciona normal e tem retorno. Este cenário esta acontecendo somente em produção. Porem se realmente for necessário posso consultar o gerente do projeto a respeito de enviar as credenciais. tu tem o cadastro no site do sicoob de desenvolvedor? Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br Link to comment Share on other sites More sharing options...
Membros Pro Edilson Pereira Andrade Posted July 8 Author Membros Pro Share Posted July 8 Em 05/07/2024 at 18:00, Juliomar Marchetti disse: tu tem o cadastro no site do sicoob de desenvolvedor? sim, foi criada uma aplicação em produção com Cobrança V3 selecionado. Link to comment Share on other sites More sharing options...
Moderadores Juliomar Marchetti Posted July 8 Moderadores Share Posted July 8 1 hora atrás, Edilson Pereira Andrade disse: sim, foi criada uma aplicação em produção com Cobrança V3 selecionado. a princípio só se mesmo a credencial não estivesse em V3 Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br Link to comment Share on other sites More sharing options...
Membros Pro Edilson Pereira Andrade Posted July 10 Author Membros Pro Share Posted July 10 (edited) Bom dia. Após varias análises e ir verificando e debugando diretamente no componente httpsend utilizado para realizar a requisição, identifiquei o problema como sendo de timeout. Ao ir a fundo verifiquei que na requisição do token, onde o timeout não é definido ele pega o valor padrão do componente que é 90000, porem na requisição para registrar o boleto ele está vindo o valor de 5000 no componente BoletoWS e fora dos componentes do ACBR o valor de timeout está sendo passado como 60000. Valores que está sendo atribuído na procedure TBoletoWSREST.DefinirProxy(o timeout padrão será substituído): Valor do timeout sendo definido: Ao que parece ele não está pegando deste valor, ele é passado em outro lugar ou tem algum outro parâmetro para definir o timeout? E em alguns casos o timeout que está vindo de 5000 não está sendo o suficiente, causando o problema. Edited July 10 by Edilson Pereira Andrade 1 Link to comment Share on other sites More sharing options...
Consultores Diego Foliene Posted July 10 Consultores Share Posted July 10 4 hours ago, Edilson Pereira Andrade said: Bom dia. Após varias análises e ir verificando e debugando diretamente no componente httpsend utilizado para realizar a requisição, identifiquei o problema como sendo de timeout. Ao ir a fundo verifiquei que na requisição do token, onde o timeout não é definido ele pega o valor padrão do componente que é 90000, porem na requisição para registrar o boleto ele está vindo o valor de 5000 no componente BoletoWS e fora dos componentes do ACBR o valor de timeout está sendo passado como 60000. Valores que está sendo atribuído na procedure TBoletoWSREST.DefinirProxy(o timeout padrão será substituído): Valor do timeout sendo definido: Ao que parece ele não está pegando deste valor, ele é passado em outro lugar ou tem algum outro parâmetro para definir o timeout? E em alguns casos o timeout que está vindo de 5000 não está sendo o suficiente, causando o problema. Boa tarde! Pelo que pude apurar, realmente a propriedade de BoletoWS não é alterada seguindo configuração. Criada a #TK-5718 para análise do caso e parecer por parte da equipe de consultores. Diego FolieniAjude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !! Link to comment Share on other sites More sharing options...
Consultores Solution Victor H. Gonzales - Panda Posted July 17 Consultores Solution Share Posted July 17 Em 10/07/2024 at 11:53, Edilson Pereira Andrade disse: Bom dia. Após varias análises e ir verificando e debugando diretamente no componente httpsend utilizado para realizar a requisição, identifiquei o problema como sendo de timeout. Ao ir a fundo verifiquei que na requisição do token, onde o timeout não é definido ele pega o valor padrão do componente que é 90000, porem na requisição para registrar o boleto ele está vindo o valor de 5000 no componente BoletoWS e fora dos componentes do ACBR o valor de timeout está sendo passado como 60000. Valores que está sendo atribuído na procedure TBoletoWSREST.DefinirProxy(o timeout padrão será substituído): Valor do timeout sendo definido: Ao que parece ele não está pegando deste valor, ele é passado em outro lugar ou tem algum outro parâmetro para definir o timeout? E em alguns casos o timeout que está vindo de 5000 não está sendo o suficiente, causando o problema. ACBrBoletoWS.Rest.pasACBrBoletoWS.Rest.OAuth.pas Bom dia, verifique se esses ajustes adequam a sua necessidade Victor H Gonzales - Pandaaa Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !! "Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci "Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo" Link to comment Share on other sites More sharing options...
Membros Pro jmc Posted July 17 Membros Pro Share Posted July 17 pessoal para nao abrir outro topico, tambem estou com problema no banco inter , estava normal enviando , mas agora o boleto com pix e registrado no banco , mas o retorno vem vazio de codigo barra. Emite normalmente as cobrancas do dia 12/07 , mas fui enviar hj 17/07 e esta em retorno do banco as informacoes , mesmo sendo registrado no banco. Segue log. ArqBoletoWS.log Link to comment Share on other sites More sharing options...
Consultores Victor H. Gonzales - Panda Posted July 18 Consultores Share Posted July 18 21 horas atrás, jmc disse: pessoal para nao abrir outro topico, tambem estou com problema no banco inter , estava normal enviando , mas agora o boleto com pix e registrado no banco , mas o retorno vem vazio de codigo barra. Emite normalmente as cobrancas do dia 12/07 , mas fui enviar hj 17/07 e esta em retorno do banco as informacoes , mesmo sendo registrado no banco. Segue log. ArqBoletoWS.log 8.13 kB · 0 downloads caso for a situação do timeout igual do outro amigo, testa com as units conforme no topico Victor H Gonzales - Pandaaa Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !! "Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci "Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo" Link to comment Share on other sites More sharing options...
Membros Pro Edilson Pereira Andrade Posted July 19 Author Membros Pro Share Posted July 19 Em 17/07/2024 at 17:01, Victor H. Gonzales - Panda disse: ACBrBoletoWS.Rest.pas 12.59 kB · 2 downloads ACBrBoletoWS.Rest.OAuth.pas 14.87 kB · 2 downloads Bom dia, verifique se esses ajustes adequam a sua necessidade Bom dia. Após alguns testes os boletos foram gerados corretamente e o retorno também veio correto. Verifiquei também onde o timeout não estava sendo passado corretamente e está correto. Obrigado Link to comment Share on other sites More sharing options...
Consultores Victor H. Gonzales - Panda Posted July 22 Consultores Share Posted July 22 Por favor atualize seus fontes, pelo SVN do ACBr... Já subimos para o nosso repositório de fontes, modificações que podem corrigir algum dos itens referentes a esse tópico... Por favor atualize seus fontes, faça testes, e se possível comente em uma nova resposta, se o problema foi resolvido... Dúvidas, sobre o uso do SVN ? Clique aqui e veja um vídeo Victor H Gonzales - Pandaaa Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !! "Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci "Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo" Link to comment Share on other sites More sharing options...
Recommended Posts