ADVPL - Exemplo de Comunicação SFTP no Protheus
Exemplo completo de integração SFTP utilizando ADVPL no Protheus, realizando conexão com servidor remoto, listagem de arquivos, download, upload e desconexão segura utilizando a classe tSFtpClient().
Este modelo pode ser utilizado para integrações automatizadas entre ERP Protheus, servidores externos, troca de arquivos bancários, XML, SPED, relatórios e demais processos corporativos que utilizam protocolo SFTP.
#INCLUDE "TOTVS.CH"
namespace ud.gen
/*/{Protheus.doc} a01
SFTP
@type function
@author Eurai Rapelli
@since 2026.01.01
/*/
User Function a01()
Local oFtp := tSFtpClient():New()
Local nRet := 00 as numeric
Local nReceiveFile := 00 as numeric
Local cError := '' as character
Local cServer := 'xxx'
Local cPort := '9222'
Local cUser := '333'
Local cPass := 'adadada'
Local lResult := .T. as logical
Begin Sequence
// Conectar no servidor SFTP
nRet := oFtp:Connect(cServer, cPort, cUser, cPass)
If nRet != 0
cError := 'Não foi possível conectar no servidor SFTP'
lResult := .F.
Break
EndIf
// Listar diretório remoto
aDir := oFtp:Directory('/rec')
VarInfo('aDir:', aDir, , .F.)
// Receber arquivo do servidor
nReceiveFile := oFtp:ReceiveFile('/uDev.zip', '/rec/wwww.zip')
If nReceiveFile == 0
CpyS2T('/uDev.zip', 'C:\temp\')
EndIf
// Enviar arquivo para o servidor SFTP
nRet := oFtp:SendFile('/uDev.zip', '/rec/xxx.zip')
If nRet != 0
cError := 'Falha ao enviar arquivo para o servidor SFTP'
lResult := .F.
Break
EndIf
// Desconectar do servidor
nRet := oFtp:Disconnect()
If nRet != 0
cError := 'Falha ao desconectar do servidor SFTP'
lResult := .F.
Break
EndIf
End Sequence
If !Empty(cError)
MsgInfo(cError, 'ud.gen.a01')
EndIf
Return( Nil )
Funcionalidades do Exemplo
- Conexão segura via SFTP utilizando ADVPL
- Autenticação em servidor remoto
- Listagem de diretórios remotos
- Download de arquivos do servidor
- Upload de arquivos para ambiente externo
- Tratamento de erros durante conexão e transferência
- Desconexão segura da sessão SFTP
- Exemplo compatível com ambiente Protheus / TOTVS
O uso de comunicação SFTP no Protheus é extremamente comum em integrações corporativas, automações fiscais, troca de arquivos CNAB, recebimento de XML, integração bancária, sincronização entre sistemas e comunicação entre ambientes externos.
Este exemplo serve como base para criação de rotinas automatizadas em ADVPL utilizando protocolos seguros de transferência de arquivos.
Gostou do conteúdo?
Compartilhe com outros desenvolvedores e contribua com a evolução da comunidade ADVPL, Protheus e TOTVS.
Deixe seu comentário com dúvidas, sugestões ou melhorias para futuras implementações.
#ADVPL #Protheus #TOTVS #SFTP #IntegraçãoProtheus #ComunicaçãoSFTP #TSFtpClient #ERPProtheus #DesenvolvimentoADVPL #AutomaçãoERP #TransferenciaDeArquivos #Backend #ERP #FrameworkProtheus #ProgramacaoADVPL #SistemaERP #TecnologiaTOTVS #IntegraçãoDeSistemas #UploadArquivo #DownloadArquivo #DesenvolvimentoERP #ADVPLBrasil #TOTVSDeveloper #ServidorSFTP #AutomacaoCorporativa