FolioPierEstudos de TI

Integração por arquivo: pasta, FTP e SFTP

Nota 30 de 37 · 5 min de leitura
Nesta página
  1. Onde os arquivos circulam
  2. Exemplos no varejo
  3. O FTP e as duas conexões
  4. O teste e o caminho do arquivo
  5. Quando o arquivo está pronto

Um sistema pode gerar um arquivo, e outro sistema pode processar esse arquivo depois. Nessa integração, o arquivo funciona como uma mensagem, e o contrato inclui o layout, o nome, o local de entrega, o momento da troca e a forma de confirmação.

Onde os arquivos circulam

Os arquivos circulam por quatro caminhos principais:

  • Pasta local ou de rede: o arquivo é gravado em uma pasta que o outro sistema lê, na mesma máquina ou em um compartilhamento.
  • FTP: o protocolo de transferência de arquivos, que usa a porta 21 para os comandos e conexões separadas para os dados. No FTP comum, o conteúdo e a senha trafegam sem criptografia.
  • FTPS: o FTP protegido pelo TLS.
  • SFTP: a transferência de arquivos sobre o SSH, normalmente pela porta 22. O SFTP não é o FTP com outro nome, e sim outro protocolo, com outra configuração.

Os formatos mais comuns são o texto posicional, o texto delimitado, o CSV, o XML e o JSON. Algumas interfaces usam uma pasta de pedido e uma pasta de resposta, em que a aplicação grava uma solicitação e aguarda o arquivo de retorno. Esse padrão aparece em soluções de TEF, como na interface conhecida como TEF discado.

Exemplos no varejo

Alguns exemplos comuns no varejo mostram esse tipo de integração:

  • a retaguarda gera um arquivo de preços, e cada loja importa esse arquivo depois de recebê-lo;
  • a operadora de cartões disponibiliza o arquivo de vendas do dia, que o sistema baixa e importa para a conciliação;
  • uma rotina copia os XMLs fiscais do mês para uma pasta de envio e transfere os arquivos ao servidor da contabilidade por FTP ou SFTP;
  • uma solução de TEF troca arquivos de pedido e de resposta em pastas locais.

Cada exemplo depende da configuração real da instalação, com as pastas, os nomes, os horários e as rotinas definidos para ela.

O FTP e as duas conexões

O FTP abre uma conexão de comandos, pela porta 21, e uma conexão separada para cada transferência ou listagem. No modo passivo, o mais comum, o servidor informa uma segunda porta, e o cliente abre a conexão de dados até ela. Um firewall que libera só a porta 21 permite o login e bloqueia a listagem e a transferência, e o erro aparece depois de uma autenticação bem-sucedida.

As respostas do FTP têm códigos numéricos:

  • 530: o login não foi aceito;
  • 550: a ação não foi realizada, por arquivo indisponível, falta de permissão ou condição semelhante;
  • 425: a conexão de dados não pôde ser aberta.

A descrição que acompanha cada código completa a informação.

O teste e o caminho do arquivo

Quando o cliente SFTP está disponível, a conexão é testada com estes comandos:

  • sftp usuario@servidor: conecta pela porta padrão, a 22;
  • sftp -P 2022 usuario@servidor: conecta pela porta indicada.

O destino, a conta, a chave e a autorização de acesso seguem o procedimento do ambiente.

Um erro de layout, uma codificação incompatível, um nome inesperado, a leitura antes do fim da gravação e a falta de permissão podem impedir o processamento. Uma transferência concluída não comprova a importação, e o retorno pode vir em arquivo, em tabela ou em log, na hora ou depois, conforme o contrato.

Quando o arquivo está pronto

Um arquivo que ainda está sendo gravado já aparece na pasta. Por isso, algumas soluções gravam o arquivo com um nome temporário e só usam o nome definitivo no fim, e outras criam um arquivo marcador separado. A convenção precisa ser combinada entre quem grava e quem lê, e nem toda transferência ou renomeação acontece de uma vez só, conforme o servidor e o sistema de arquivos.

O tamanho e o hash, um valor calculado a partir do conteúdo que muda com qualquer alteração, comparam os bytes da origem e do destino. Bytes iguais não comprovam um layout válido nem uma importação completa, e o período, a versão, os registros esperados e o retorno do importador completam a conferência.

Antes de reenviar ou importar de novo, convém descobrir se a primeira importação aplicou parte dos registros e como a integração identifica as duplicatas. O nome do arquivo, o número do lote e a identidade de cada registro podem ter funções diferentes, e a troca do nome de um arquivo para tentar de novo pode retirar a proteção quando o leitor usa só o nome como controle.

No suporte

Diante de um arquivo que não produziu efeito, convém seguir o caminho dele: a geração, a disponibilização, a transferência, a pasta de destino, a leitura e o resultado da importação. O nome, o período e os identificadores relacionam as etapas, e o arquivo original fica preservado para separar a falha de entrega da falha de processamento.

Para guardar

  • O contrato de uma integração por arquivo inclui o conteúdo e as condições da troca.
  • O FTP, o FTPS e o SFTP têm funcionamento e configuração diferentes.
  • No FTP, o login pode funcionar e a transferência falhar na conexão de dados.
  • Um arquivo entregue ainda precisa ser reconhecido e processado.
  • A reimportação depende de como a integração identifica as duplicatas.
As vendas com cartão de ontem não aparecem conciliadas. O que conferir, em sequência?

Se o arquivo do período foi disponibilizado pela operadora, baixado para a pasta esperada e importado sem erro. O prazo da operadora também entra na análise, porque a falta do arquivo antes do prazo não comprova uma falha.

O login no FTP funciona, mas a listagem da pasta falha com o código 425. O que essa combinação sugere?

Que a conexão de comandos funciona e a conexão de dados não abre. Um firewall que libera só a porta 21, ou uma configuração errada do modo passivo, explica essa combinação.

Publicado a partir do Obsidian · FolioPier