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.