Ir para conteúdo principal
Todas as coleçõesIntegrações
Como enviar arquivos para o GL automaticamente
Como enviar arquivos para o GL automaticamente

Existem várias formas para o envio de arquivos para integração com o Gestor Logístico, e uma das mais simples é esta...

Ricardo Ardito avatar
Escrito por Ricardo Ardito
Atualizado há mais de uma semana

Para que o Gestor Logístico funcione no máximo de eficiência, é fundamental que os dados que são originados em outros sistemas cheguem ao GL com segurança e no menor tempo possível.

Porém, nem sempre esses outros aplicativos possuem os recursos necessários para isso. Desenvolver uma integração via API ou automatizar o envio de arquivos via SFTP são processos que nem todos os aplicativos de terceiros conseguem implantar com facilidade.

Para suprir essa eventual lacuna, a Tecnovia disponibiliza uma ferramenta que permite que os arquivos que forem "depositados" em um diretório local do cliente sejam automaticamente enviados via SFTP para o GL: o Tecnovia.Sftp.Upload.

Instalando a ferramenta

O Tecnovia.Sftp.Upload é um aplicativo de linha de comando que "roda" em máquinas windows, que pode ser utilizado gratuitamente e não exige nenhuma licença adicional.

Descompacte os executáveis em uma pasta local (sugerimos instalar em c:\program files\Tecnovia\SFTP Upload. Você vai precisar ter acesso de administrador na máquina local para fazer isso.

Em seguida, edite o arquivo de configurações appsettings.json (utilize qualquer editor de texto para isso, como o Notepad). Neste arquivo você vai registrar as informações necessárias para a configuração da ferramenta, conforme explicado abaixo:


remoteUsername :

Nome do usuário a ser utilizado para autenticação no servidor SFTP (ex.: 123456). Este código lhe será fornecido pela Tecnovia.

sshPrivateKeyPath :

Caminho para o arquivo que contém a private key (chave privada) para autenticação do usuário no servidor SFTP. Se você ainda não tiver gerado um par de chaves SSH para isso, a Tecnovia pode fazer isso para você.

sourceDirectory :

Diretório onde serão colocados os arquivos a serem enviados. A app vai ficar monitorando este diretório e vai enviar imediatamente qualquer novo arquivo que for gravado nele.

remoteDirectory :

Diretório remoto onde os arquivos serão salvos no servidor SFTP.

sentDirectory :

Local para onde serão movidos os arquivos enviados.

Importante: o diretório de arquivos enviados não pode ser um sub-diretório do sourceDirectory, ele precisa ficar em um local separado.

Obs: Como trata-se de um arquivo no formato JSON, as barras invertidas (\) existentes nos diretórios precisam ser "duplicadas" (\\).

Exemplo de um arquivo de configuração pronto:

{
"remoteUsername": "010123",
"sshPrivateKeyPath": "C:\\Tecnovia\\privatekey.ppk",
"sourceDirectory": "C:\\Tecnovia\\nfes\\enviar",
"remoteDirectory": "/nfes",
"sentDirectory": "C:\\Tecnovia\\nfes\\enviados"
}

Mais um detalhe: Para a execução dessa ferramenta, o computador local precisa ter o .Net Core atualizado. Isso normalmente é instalado automaticamente nas versões mais recentes do Windows, mas caso seu computador ainda não tenha, você pode baixar neste site da microsoft.

Caso este componente não esteja instalado, a ferramenta não irá executar (e dependendo de como foi iniciada, pode ser que não exiba nenhuma mensagem de erro).

Executando o UPLOAD dos arquivos

Você pode executar o Tecnovia.Sftp.Upload.exe diretamente a partir do Windows Explorer (dando um duplo clique no nome do executável), ou através do prompt de comando do DOS (esta opção é mais indicada, pois não vai fechar a janela caso ocorra qualquer erro), ou ainda através de uma tarefa agendada do Windows.

Assim que iniciar, a ferramenta vai abrir uma janela e exibir mensagens de log conforme for enviando os arquivos.

Quando todos os arquivos que estavam no diretório de entrada terminarem de ser enviados, a ferramenta vai ficar aguardando que novos arquivos sejam gravados, e vai enviá-los automaticamente assim que forem colocados no diretório de entrada.

Salvando o log dos arquivos enviados

Executando a ferramenta da forma descrita acima, as mensagens de log serão apresentadas na tela conforme os arquivos forem enviados, mas não ficam salvas em nenhum local.

Caso você deseje salvar essas mensagens para futuramente poder consultar quando cada arquivo foi transmitido, você pode fazer isso salvando as mensagens em um arquivo de log. Para isso, basta acrescentar ao comando acima o sufixo > , seguido pelo nome do arquivo a ser gravado.

Exemplo:

tecnovia.sftp.upload >_log.txt

✍️ Dica: O "underscore" na frente do nome do arquivo serve apenas para ele ficar no início da lista de arquivos da pasta, e portanto ser facilmente localizado quando necessário.

Fazendo isso, porém, as mensagens serão salvas no arquivo mas não serão exibidas na tela conforme os arquivos forem enviados. Caso você queira visualizar em tempo real o arquivo de log, utilize o comando abaixo no PowerShell:

Get-Content _log.txt -Wait -Tail 30

Limpando os arquivos já enviados

Após enviados, os arquivos são movidos para um outro diretório, em uma pasta separada para cada data de envio. Isso é feito apenas para efeito de backup, e portanto os arquivos dessa pasta podem ser excluídos com segurança, ou seja, uma vez que o arquivo tenha sido movido para esta pasta, você pode ter certeza de que ele já foi transmitido com sucesso.

Conclusão

Esta é uma forma simples de enviar os dados para o GL, mas devemos lembrar que não é a única. O GL também é capaz de receber várias informações diretamente da SEFAZ, ou receber arquivos automaticamente via e-mail (apesar desta ser uma solução ainda mais simples porém menos segura), ou ainda através da sua API, que é a opção mais segura e eficiente porém mais complexa para ser implementada.

Lembre-se, então, de que você não precisa começar já com a solução "ideal". Ao contrário, nossa recomendação é que, durante o período de implantação, você adote a solução que for mais rápida, para que comece a colher os benefícios o mais cedo possível, e depois, com o amadurecimento do conhecimento e com o tempo necessário, possa evoluir para soluções mais eficientes e seguras.

O time da Tecnovia estará sempre à sua disposição para auxiliar na escolha e implantação das melhores alternativas 😎.

Veja Também

Isto respondeu à sua pergunta?