---
title: FTP
slug: ftp
description: Learn how to configure and effectively utilize the SFTP connector for secure file transfer between remote systems and servers. This comprehensive document provides step-by-step instructions, including configuring the HTTP connector, setting up parameters 
docTags: 
createdAt: 2023-03-20T15:32:21.000Z
---

## Objetivo

O conector **FTP** (*File Transfer Protocol*) é projetado para facilitar a **transferência segura de arquivos** entre sistemas e servidores remotos. Ele permite operações como **upload** (*envio*) e **download** (*recebimento*) de arquivos por meio de conexões criptografadas, garantindo a integridade e a segurança das informações. Ideal para integração entre sistemas que demandam troca de arquivos sensíveis ou automação de processos, o conector FTP simplifica a manipulação de arquivos em ambientes distribuídos.

***

## Criando uma conexão

Antes de usar o conector FTP, é necessária a criação de uma conexão. Vamos lá.

- Clique em Propriedades.
- Em `Selecionar uma conexão` clique em `Criar nova conexão`.

::Image[]{src="https://api.archbee.com/api/optimize/G1NTw6yAi4RDUYbsU8csp/sLaf2Km8u7j48aMNnNJne_image.png" size="40" width="427" height="414" position="center" darkWidth="427" darkHeight="414" showCaption="false"}

- Vamos preencher os dados da conexão.
- Caso tenha necessidade, este conector tem suporte ao protocolo de segurança TLS
- Com dados de sua conexão preenchidos, clique em `Salvar conexão`.

::Image[]{src="https://api.archbee.com/api/optimize/G1NTw6yAi4RDUYbsU8csp/jglCA7YqhyiNPxAbb3n-v_image-2.png" size="50" width="774" height="837" position="center" darkWidth="774" darkHeight="837" showCaption="false"}

Agora você já pode montar seus fluxos utilizando o Conector FTP.

***

## Como utilizar o Conector FTP

**Exemplo prático**: criar um arquivo JSON em um servidor FTP a partir de uma requisição HTTP.

- **Configuração do Fluxo**
  - No **Canvas**, adicione dois conectores: um **HTTP** e outro **FTP**.
  - Conecte os dois passos no fluxo conforme a imagem abaixo.

![](https://api.archbee.com/api/optimize/G1NTw6yAi4RDUYbsU8csp/O6UUGLU9r8tpHhQsORpNH_image.png)

- **Aba Parametrização**: Utilize o método `GET` e insira uma URL de exemplo que forneça dados aleatórios.

::Image[]{src="https://api.archbee.com/api/optimize/G1NTw6yAi4RDUYbsU8csp/RJ0NsnyNCS55lBNlvlCho_image.png" size="60" width="795" height="1100" position="center" darkWidth="795" darkHeight="1100" showCaption="false"}

- **Aba Propriedades**: Informe apenas o nome do passo, já que nenhuma autenticação adicional é necessária.

::Image[]{src="https://api.archbee.com/api/optimize/G1NTw6yAi4RDUYbsU8csp/_Bzz__JO3_kyj3Zx41dDu_image.png" size="60" width="433" height="510" position="center" darkWidth="433" darkHeight="510" showCaption="false"}

- **Configuração do Conector FTP**
  - **Operação**: Escolha **Criar Arquivo**.
  - **Caminho do Arquivo**: Insira o caminho relativo no servidor FTP onde o arquivo será salvo. Certifique-se de que o diretório exista e tenha permissão de escrita (ex.: `fluid`).

::Image[]{src="https://api.archbee.com/api/optimize/G1NTw6yAi4RDUYbsU8csp/Tyr6elVkbiK_Coctri2_Q_image.png" size="60" width="436" height="277" position="center" darkWidth="436" darkHeight="277" showCaption="false"}

- **Nome do Arquivo**: Configure o nome como fixo ou dinâmico. Neste exemplo, utilizamos um campo `uid` da requisição HTTP para criar nomes únicos.
- **Conteúdo do Arquivo**: Escolha salvar o *payload* completo da requisição HTTP ou apenas campos específicos. Para salvar como JSON, utilize a função `getJsonEscaped`.
- **Resultado Final**
  - Após executar o fluxo, um arquivo chamado `d774bc23-9b40-406f-9d38-4fd40ca66b70.json` será salvo no servidor FTP.

![](https://api.archbee.com/api/optimize/G1NTw6yAi4RDUYbsU8csp/8vwEo_Xng41XQoa8uF8HZ_image.png)

***



## Operação CreateFileBase64 - FTP

### Descrição

A operação `Criar um arquivo base64` do conector FTP permite criar arquivos no servidor FTP a partir de conteúdo codificado em base64. Esta operação é especialmente útil para enviar arquivos binários (como imagens, documentos PDF, planilhas Excel) ou qualquer tipo de arquivo que tenha sido previamente convertido para base64.

### Parâmetros de Entrada

A operação `CreateFileBase64` requer os seguintes parâmetros:

### Campos Obrigatórios

| Campo                      | Tipo   | Descrição                                                       |
| -------------------------- | ------ | --------------------------------------------------------------- |
| `Caminho do diretório`     | string | Caminho do diretório no servidor FTP onde o arquivo será criado |
| `Nome do arquivo de saída` | string | Nome do arquivo a ser criado no servidor FTP                    |
| `Arquivo`                  | string | Conteúdo do arquivo codificado em base64                        |

### Exemplo de JSON de Saída

### Resposta de Sucesso

```json
{
  "message": "Arquivo exemplo.txt criado no FTP com sucesso a partir do base64."
}
```

### Resposta de Erro - Base64 não fornecido

```json
{
  "error": "base64 não fornecido"
}
```

### Resposta de Erro - Base64 inválido

```json
{
  "error": "erro ao decodificar base64: illegal base64 data at input byte 12"
}
```

### Resposta de Erro - Falha na conexão FTP

```json
{
  "error": "failed to connect to FTP server: dial tcp 192.168.1.100:21: connection refused"
}
```

## Outras operações disponíveis

O conector **FTP** suporta diversas operações para diferentes necessidades:

- **Criar Diretório**: Insira o caminho do diretório a ser criado.
- **Criar Arquivo**: Salve dados em um arquivo no servidor.
- **Listar Arquivos**: Obtenha uma lista de arquivos em um diretório.
- **Ler Arquivo**: Recupere o conteúdo de um arquivo no servidor.
- **Excluir Arquivo**: Remova arquivos indesejados.

***

## Exemplo de payload

A seguir, um exemplo do *payload* retornado pela requisição HTTP que foi usado para gerar o arquivo JSON:

```json
{
  "id": 53,
  "uid": "d774bc23-9b40-406f-9d38-4fd40ca66b70",
  "password": "wecZtfC46B",
  "first_name": "Kevin",
  "last_name": "Lynch",
  "username": "kevin.lynch",
  "email": "kevin.lynch@email.com",
  "address": {
    "city": "Samton",
    "state": "Colorado",
    "country": "United States"
  },
  "subscription": {
    "plan": "Starter",
    "status": "Blocked"
  }
}
```

## Dicas e considerações

1. Certifique-se de que as credenciais de acesso FTP configuradas tenham permissão para as operações desejadas (*leitura/escrita*).
2. Use nomes dinâmicos para arquivos quando houver necessidade de evitar duplicações.
3. Sempre teste o fluxo antes de colocá-lo em produção para verificar permissões e caminhos corretos.

## Conclusão

O conector **FTP** é uma ferramenta poderosa para manipulação de arquivos em integrações complexas. Com ele, você pode criar fluxos que automatizam o envio e recebimento de dados de forma **segura**, **eficiente** e **personalizável**.
