Ir para conteúdo
  • Cadastre-se

Hugo Souza - MBM Solutions

Membros
  • Total de ítens

    14
  • Registro em

  • Última visita

Posts postados por Hugo Souza - MBM Solutions

  1. Em 09/06/2023 at 13:21, Lucasmed disse:

    Pessoal, estou tentando fazer uma requisição post para a api de BOLETOS do banco Itau. Eu consegui pegar a o accessToken utilizando o http, porém na hora de enviar o boleto, recebo a menagem de erro que enviei anexo deste post ("sslv3 alert handshake failure").

    Vi em outro post, a recomendação de utilizar o Arat Synapse. Porém fiquei com dúvida de como enviar os certificados.

    Aqui está o meu código:

      http := TIdHTTP.Create(nil);
      ssl := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
      params := TStringList.Create;
      jObject:= TJsonObject.Create(nil);
    
    //    ssl.SSLOptions.SSLVersions := [sslvTLSv1, sslvTLSv1_1, sslvTLSv1_2];
        ssl.SSLOptions.CertFile := 'caminho\ARQUIVO_CERTIFICADO.crt';
        ssl.SSLOptions.KeyFile := 'caminho\ARQUIVO_CHAVE_PRIVADA.key';
        ssl.SSLOptions.Mode := sslmClient;
    
    //    SSL.SSLOptions.Method := sslvTLSv1;
    //    SSL.SSLOptions.Mode := sslmUnassigned;
    
        http.IOHandler := ssl;
        http.Request.ContentType := 'application/json';
    
    
          http.Request.CustomHeaders.AddValue('x-itau-apikey', 'client_key');
          http.Request.CustomHeaders.Add('Authorization:Bearer ' + token);
    
          response := http.Post(url, payStream);

    O código comentado, foram opções que já usei. 

    Tentei utilizar também o TRequest.

    client    := TRESTClient.Create(nil);
      certFile  := TMemoryStream.Create;
      certFile2 := TMemoryStream.Create;
      try
        client.BaseURL := 'url';
        request := TRESTRequest.Create(nil);
        certFile.LoadFromFile('caminho\ARQUIVO_CERTIFICADO.crt');
        certFile2.LoadFromFile('caminho\ARQUIVO_CHAVE_PRIVADA.key');
       
    
      try
            request.Client := client;
            request.Method := rmPOST;
            request.AddParameter('x-itau-apikey', 'client_key', pkHTTPHEADER);
            request.AddParameter('Content-Type', 'application/x-www-form-urlencoded', pkHTTPHEADER);
            request.AddParameter('Authorization', 'Bearer ' +token, pkHTTPHEADER);
            request.AddBody(certFile, TRESTContentType.ctAPPLICATION_OCTET_STREAM);
            request.AddBody(certFile2, TRESTContentType.ctAPPLICATION_OCTET_STREAM);
            request.AddBody(payload.text, TRESTContentType.ctAPPLICATION_JSON);
    
            request.Execute;
    
            response := request.Response;

    Se puderem dar alguma dica do que posso fazer, ficaria muito grato.

    image.png

    Eu também estou com o mesmo problema, conseguiu corrigir?

  2. 18 horas atrás, Renato Rubinho disse:

    Boa noite,

    Está com os fontes atualizados e usando o ACBrNFSeX?

    Aparentemente não foi previsto o espaço no motivo.

    Abra o arquivo a seguir e teste a alteração conforme mais abaixo.

    Após alterar, reinstale os componentes e veja se resolve.

    Estando ok, anexe a unit alterada para análise e envio ao SVN.

    ../trunk2/Fontes/ACBrDFe/ACBrNFSeX/Provedores/SigISSWeb.Provider.pas

    procedure TACBrNFSeProviderSigISSWeb.PrepararCancelaNFSe(
      Response: TNFSeCancelaNFSeResponse);
    .
    .
    .
    FpPath := 'rest/nfes/cancela/' +
                Response.InfCancelamento.NumeroNFSe +
                '/serie/' +
                Response.InfCancelamento.SerieNFSe +
                '/motivo/' +
                StringReplace(Response.InfCancelamento.MotCancelamento,' ','%20',[rfReplaceAll); // alterado aqui

     

    Boa Renato, funcionou!
    Em anexo está a unit com a alteração,
    Abraço!

    SigISSWeb.Provider.zip

  3. Bom dia pessoal, tudo bem?

    Estou homologando o SigissWeb para Sumaré, e estou com um problema no componente.

    Quando a descrição do meu cancelamento possui espaçamento, está me retornando o erro 404 - Bad Request.

    Exemplo: "Teste MBM" ocasiona falha.

    Se eu escrevo apenas "Teste" a nota é cancelada normalmente.

    Não é problema no web services, porque testei pelo Postman e a operação é concluída com sucesso. 
    Podem me ajudar? Obrigado.

    image.thumb.png.2a32ba68ea468fdd8f35ff227adcd952.png

  4. Boa tarde pessoal, tudo bem?

    Estou fazendo a homologação de Sumaré/SP e está ocorrendo um problema na transmissão do cancelamento, sendo:
     

    • Chamo a função de geração do token (ACBrNFSeX.GerarToken), na qual ele manda para o endpoint '/rest/login'
    • Depois, faço a chamada da função de cancelamento da nota fiscal (ACBrNFSeX.Cancelar)


    Neste momento, ele mantém as propriedades da chamada do /login:
    image.png?width=781&height=673

    Ou seja: Altera no Emitir e no GerarToken, mas não na função Cancelar, impedindo o cancelamento da nota.

    image.png

    Esse assunto eu havia comentado no Discord, sendo assim, orientado abrir um fórum! 🙂

    Fico no aguardo, valeu galera!
    Att,
     

    • Curtir 1
  5. Bom dia pessoal, tudo bem?

    Estou fazendo a homologação da cidade de Itapira/SP (SigISS), mas creio estar com uma inconsistência no tratamento de erros do componente.
    O que acontece é, a nota é transmitida normalmente, mas nesse ponto, a variável "Correcao" é igual a vazio, e com isso, por ser diferente de "Sem erros", entra no IF e é tratado como se houvesse erros.

    Dessa forma eu não consigo saber  quando tem erro ou não, pra tratar no ERP... 
     

    Unit: SigISS.Provider
    Função: ProcessarMensagemErros

    Eu tomei base em outros provedores, e como exemplo no Abrasf também há a condição de entrar no IF se não for igual a vazio. Seria isso mesmo?

    Att,

    SigISS.PNG

    103-ger-nfse.xml 1031-nfse.xml 103-lista-nfse-ger.xml

  6. 1 minuto atrás, Italo Giurizzato Junior disse:

    Boa tarde Hugo,

    Você esta usando o novo componente (ACBrNFSeX) ?

    Se sim, favor verificar se não tem nenhuma unit com uma bolinha vermelha em seu ícone, caso afirmativo delete a unit.

    Atualize todos os fontes de todas as pastas, reinstale o ACBr e faça novos testes.

    Tarde Ítalo,
    Refiz esse processo e deu certo!
    Muito obrigado pela atenção.

  7. Boa tarde,

    Estou homologando a versão 2.03 da NFS-e de Americana-SP, utilizando o novo componente (TacbrnfseX), portanto ao tentar transmitir, retorna a mensagem:

    Erro de Validação: 1845 - Element '{http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd}EnviarLoteRpsEnvio': No matching global declaration available for the validation root.

    Feito o update dos fontes mais recentes, sem sucesso. 
    1.0 funciona normalmente.

     

    Alguma ideia?
    Obrigado.

×
×
  • 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...