Ir para conteúdo
  • Cadastre-se

OldProgramer

Membros
  • Total de ítens

    88
  • Registro em

  • Última visita

1 Seguidor

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

OldProgramer's Achievements

Enthusiast

Enthusiast (6/14)

  • First Post
  • Collaborator Rare
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

12

Reputação

3

Community Answers

  1. Para registrar, adicionei: vFile := TFileStream.Create('NF16335.pdf', fmOpenRead); // e adicionei no stringlist de envio stEnvio.Add(EncodeBase64(ReadStrFromStream(vFile, vFile.Size))); stEnvio.Add(',"anexoFileName":"NF16335.pdf"'); stEnvio.Add(',"anexoType":"application/octet-stream;base64"'); stEnvio.Add(',"anexoContent":"'+Memo3.Lines.Text+'"'); E o anexo seguiu normalmente.
  2. Aliás, com esse código aí agora enviou, mas complica pra enviar anexos. No guia da API apenas informam: anexoContent - arquivo codificado em base64 (Data URI) - Opcional anexoFileName - nome do arquivo a ser enviado - Opcional anexoType tipo Mime - do arquivo a ser anexado (ex: image/jpeg) - Opcional
  3. Opa Juliomar, blz? Já sim. Foi Ok. Por isso mandei com Indy inicialmente pra gerar o json por um memo a título de teste. Agora tentei assim e tbm deu 'faltam parâmetros'. procedure TForm2.SpeedButton3Click(Sender: TObject); var Json: string; sResponse: string; JsonToSend: TStringStream; _idHttp : TIdHTTP; _SSLHandler : TIdSSLIOHandlerSocketOpenSSL; aBody: TStringList; aResponse: TMemoryStream; begin try try _idHttp := TIdHTTP.Create; aResponse := TMemoryStream.Create; aBody := TStringList.Create; _SSLHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil); _SSLHandler.SSLOptions.SSLVersions := [sslvTLSv1_2]; _idHttp.IOHandler := _SSLHandler; _idHttp.HandleRedirects := True; _idHttp.Request.Clear; _idHttp.ProtocolVersion := pv1_1; _idHttp.ConnectTimeout := 15000; _idHttp.HandleRedirects := True; _idHttp.Request.AcceptEncoding := 'application/json,text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'; _idHttp.Request.Connection := 'keep-alive'; _idHttp.Request.Accept := '*/*'; _idHttp.Request.ContentType := 'application/json'; Json := AnsiReplaceText(Memo1.Lines.Text, #13#10, ''); JsonToSend := TStringStream.Create(Json, TEncoding.UTF8); _idHttp.Request.CustomHeaders.Add('Content-Type: application/json'); sResponse := _idHttp.Post('https://painel.mailgrid.com.br/api', JsonToSend); except on e: Exception do begin ShowMessage(E.Message); end; end; finally JsonToSend.Free; aBody.Free; aResponse.Free; _SSLHandler.Free; _idHttp.Free; end; Memo2.Lines.Clear; Memo2.Lines.Text := sResponse; end;
  4. Olá pessoal. Estou tentando usar essa API : https://painel.mailgrid.com.br/api/api_smtp.pdf Tentei de várias maneiras, todas recebo que falta algum parâmetro. Com o Indy: procedure TForm2.SpeedButton4Click(Sender: TObject); var sResponse: string; JsonToSend: TStringStream; _idHttp : TIdHTTP; _SSLHandler : TIdSSLIOHandlerSocketOpenSSL; Params: TIdMultipartFormDataStream; begin try try _idHttp := TIdHTTP.Create; _SSLHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil); _SSLHandler.SSLOptions.SSLVersions := [sslvTLSv1_2]; _idHttp.IOHandler := _SSLHandler; _idHttp.HandleRedirects := True; _idHttp.Request.Clear; _idHttp.ProtocolVersion := pv1_1; _idHttp.ConnectTimeout := 15000; _idHttp.HandleRedirects := True; _idHttp.Request.AcceptEncoding := 'application/json,text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'; _idHttp.Request.Connection := 'keep-alive'; _idHttp.Request.Accept := '*/*'; _idHttp.Request.ContentType := 'application/json'; Params := TIdMultipartFormDataStream.Create; Params.AddFormField('host_smtp',vHost.Text); Params.AddFormField('usuario_smtp',vUser.Text); Params.AddFormField('senha_smtp',vSenhaSMTP.Text); Params.AddFormField('emailRemetente', vEmailRemet.Text); Params.AddFormField('emailDestino', '['+vEmailDest.Text+']'); Params.AddFormField('assunto', vAssunto.Text); Params.AddFormField('mensagem', mMsg.Lines.Text); _idHttp.Request.CustomHeaders.Add('Content-Type: application/json'); sResponse := _idHttp.Post('https://painel.mailgrid.com.br/api', Params); except on e: Exception do begin ShowMessage(E.Message); end; end; finally Params.Free; _SSLHandler.Free; _idHttp.Free; end; Memo2.Lines.Clear; Memo2.Lines.Text := sResponse; end; E com o REST: function TForm2.ExecuteWSTokenExemplo02: WideString; var Json: string; restClient: TRESTClient; restRequest: TRESTRequest; restResponse: TRESTResponse; JsonToSend: TStringStream; begin restClient := TRESTClient.Create('https://painel.mailgrid.com.br/api/'); restRequest := TRESTRequest.Create(restClient); restResponse := TRESTResponse.Create(restClient); Json := AnsiReplaceText(Memo1.Lines.Text, #13#10, ''); JsonToSend := TStringStream.Create(Json, TEncoding.UTF8); Memo2.Lines.Clear; Memo2.Lines.Add(JsonToSend.ToString); Memo2.Lines.Add(' '); Memo2.Lines.Add(' '); try try restClient.BaseURL := 'https://painel.mailgrid.com.br/api/'; restClient.AcceptCharset := 'UTF-8'; restClient.ContentType := 'application/json'; restResponse.ContentType := 'application/json'; restRequest.Client := restClient; restRequest.Method := rmPOST; restRequest.AcceptCharset := 'UTF-8'; restRequest.Response := restResponse; restRequest.Params.Clear; restRequest.AddParameter('Content-Type','application/json',pkHTTPHEADER); restRequest.AddBody(JsonToSend); restRequest.Execute; result := restResponse.Content; except on e: Exception do begin result := 'Erro: ' + e.Message + ' JSON/TEXT: ' + restResponse.Content; end end; finally restRequest.Free; restResponse.Free; restClient.Free; JsonToSend.Free; end; end; Alguém pode dar uma luz? Desde já agradeço.
  5. Dá uma olhada aqui que tem: https://github.com/tecnospeedti/plugnotas-delphi
  6. Sim, seria até mais interessante do zero pois o emissor está muito "remendado". Como é industria, é cheio detalhes. Tem estado como o MT e CE que o cálculo é completamente diferente. E tem até cliente que por causa de liminar conseguem tratamento diferenciado. Pode variar ambas.
  7. Conecta, puxa o(s) registro(s), pra um componente de edição não db, desconecta e qdo a alteração for executada faz a conexão e o update.
  8. Algum colega tem algum fonte pra vender onde o próprio usuário pode criar suas templates pro modelamento de seu negócio? Ex: pra uma nota de remessa X o CST fica Y, desta ICMS mas não totaliza; é uma nota pra ZF cst Y, NCM Z, desconta ICMS do produto, etc; é nota com CFOP W, triangulada, recupera ST da entrada e desconta da saída, etc. Reforçando, modelamento pelo usuário final.
  9. Bom dia Juliomar. Realmente tinha na pasta de output. Apaguei todas pastas outputs. Eliminei todos os search paths do projeto e fiz uma limpa nas lib search's tbm. Re-instalei o ACBr novamente limpando arquivos antigos novamente e deixando apenas a libxx. Ao dar um build no meu projeto tive esse problema "[dcc32 Fatal Error] frxClass.pas(12063): F2051 Unit ACBrNFeDANFEFR was compiled with a different version of frxClass.TfrxReport". Não tenho nenhuma versão do FastReport a mais, só a 5.6.2. A título de teste, troquei pelo DanfeFortes e funcionou. Agora consegui recompilar meu projeto, porém sem os componentes ACBr Fastreport. Não tenho problemas em usar os do Fortes e aparentemente está funcionando tudo normal. De qualquer jeito agradeço a atenção e a ajuda.
  10. SSD zerado, instalação Win e ACBr nova. Até apaguei a ACBr_WinCrypt.dcu pra ver se ia acusar falta ou tava pegando de algum local que esqueci. Mas nada, acusou falta normalmente.
  11. Opa Juliomar, segue. Grato pela atenção. log_Delphi_XE8_Win32.txt
  12. Olá pessoal. Troquei meu SSD, instalei um Windows 10 e suas atualizações, instalei o meu XE8 e atualizei o ACBr. Executei a instalação pelo instalador, por via das duvidas apagando arquivos antigos e instalou normalmente. O que o corre é que ao dar um build na minha aplicação aparece: [dcc32 Fatal Error] ACBr_WinCrypt.pas(21489): F2051 Unit ACBrDFeWinCrypt was compiled with a different version of ACBr_WinCrypt.PCCERT_CONTEXT No meu note está normal e as minhas fontes vieram dele. Alguém pode me dar uma dica? Grato.
  13. Um cliente acaba de reclamar isso, dizendo que no portal sai o nome do município e não o código.
  14. Procuro desenvolvedor Deplphi para integração Pluug.to. Basicamente integrar o plugg.to (todas as suas funcionalidades) com uma base MySQL. Documentação da API: https://documenter.getpostman.com/view/249752/T1DpAwbJ?version=latest Interessados já enviem cotação e prazo em privado. Grato.
  15. Pra complementar: - incluindo a unit "frxGradient" no meu emissor não deu mais crash. Não sei porque pois nunca declarei manualmente antes essa unit e sempre usei normalmente tanto relatórios do fast como a própria DANFE. - retirei o raise do retorno no caso de rejeição e continuo o processamento pelo retorno e passe a usar assim aparentemente sem maiores problemas.
×
×
  • 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...