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.