> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rwsintegration.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Enviar arquivo para destino SFTP

> Aprenda como criar uma integração que extrai dados e os envia como arquivo para um servidor SFTP

Este guia mostra como criar uma integração funcional que extrai dados de usuários de uma API pública e os envia em formato CSV para um servidor SFTP. Ao final, você entenderá como as conexões SFTP funcionam na RWS Integration.

## O que você vai construir

Você criará uma integração que:

1. **Extrai** registros de usuários do JSONPlaceholder (uma API de teste gratuita)
2. **Transforma** os dados para um formato mais simples
3. **Envia** os resultados para um servidor SFTP em formato CSV

Tempo necessário: aproximadamente 5 minutos.

## Pré-requisitos

* Acesso a um Workspace da RWS Integration
* Um navegador web
* Um servidor SFTP

## Passo 1: Crie a conexão de origem

Conexões definem como a RWS Integration se comunica com sistemas externos. Você criará uma para a API de origem.

1. Na barra lateral, clique em **Conexões**
2. Clique em **Nova Conexão**
3. Configure a conexão:

| Campo                        | Valor                                  |
| ---------------------------- | -------------------------------------- |
| Nome                         | `JSONPlaceholder API`                  |
| Tipo                         | `API`                                  |
| URL                          | `https://jsonplaceholder.typicode.com` |
| Caminho base (URL base path) | `/`                                    |
| Autenticação                 | `Sem autenticação`                     |

4. Clique em **Salvar**

A API JSONPlaceholder não requer autenticação, então a opção **Sem autenticação**, já selecionada por padrão para novas conexões, é tudo o que você precisa.

## Passo 2: Crie a conexão de destino

Agora crie uma Conexão para seu servidor SFTP de destino.

1. Clique em **Nova Conexão**
2. Configure a conexão:

| Campo                        | Valor              |
| ---------------------------- | ------------------ |
| Nome                         | `SFTP Connection`  |
| Tipo                         | `SFTP`             |
| URL                          | `sftp.example.com` |
| Caminho base (URL base path) | `/uploads`         |
| Port                         | `22`               |
| Username                     | `username`         |
| SSH Private Key              | `private_key`      |

3. Clique em **Salvar**

## Passo 3: Crie a Integração

Com ambas as Conexões prontas, crie a Integração que move dados entre elas.

1. Na barra lateral, clique em **Integrações**
2. Clique em **Nova Integração**

### Configurações gerais

Configure as propriedades básicas da integração:

| Campo       | Valor                                          |
| ----------- | ---------------------------------------------- |
| Nome        | `Load File to SFTP`                            |
| Versão      | `1.0.0`                                        |
| Tipo        | `Full`                                         |
| Ambiente    | `Staging`                                      |
| Agendamento | Diária, no horário que preferir (ex.: `09:00`) |

### Fase de Extração

A fase de Extração recupera dados do seu sistema de origem.

1. Expanda a seção **Extração**
2. Configure estes campos:

| Campo              | Valor                 |
| ------------------ | --------------------- |
| Conexão            | `JSONPlaceholder API` |
| Método             | `GET`                 |
| Caminho (URL path) | `/users`              |

3. Defina o **Path para o datapoint na resposta** como `root`

4. Defina a **Paginação**:

| Campo                          | Valor     |
| ------------------------------ | --------- |
| Tipo                           | `Simples` |
| Parâmetro do tamanho da página | `_limit`  |
| Valor do tamanho da página     | `10`      |
| Parâmetro da página            | `_page`   |
| Valor da página inicial        | `1`       |
| Tipo de fim de paginação       | `Objeto`  |

5. Verifique o painel **Preview de Extração** no lado direito. Ele deve mostrar:

* Status: `200 OK`
* Um único registro de usuário (o Datapoint) como este:

```json theme={null}
{
  "id": 1,
  "name": "Leanne Graham",
  "username": "Bret",
  "email": "Sincere@april.biz",
}
```

<Note>
  Integrações SFTP não suportam a fase de Enriquecimento.
</Note>

### Fase de Transformação

A fase de Transformação mapeia campos de origem para o formato de destino. Para este guia, crie um mapeamento simples com três campos.

1. Expanda a seção **Transformação**
2. Clique em **Adicionar Transformação** e configure:

| Tipo    | Para           | De      |
| ------- | -------------- | ------- |
| Simples | `userId`       | `id`    |
| Simples | `fullName`     | `name`  |
| Simples | `emailAddress` | `email` |

3. Verifique o painel **Preview de Transformação**. Ele deve exibir:

```json theme={null}
{
  "userId": 1,
  "fullName": "Leanne Graham",
  "emailAddress": "Sincere@april.biz"
}
```

Isso confirma que seus mapeamentos estão funcionando corretamente com dados reais da fase de Extração.

### Fase de Envio

A fase de Envio envia dados transformados para seu destino.

1. Expanda a seção **Envio**
2. Configure estes campos:

| Campo              | Valor             |
| ------------------ | ----------------- |
| Conexão            | `SFTP Connection` |
| Caminho (URL path) | `/guides`         |
| File name          | `users.csv`       |

<Note>
  A RWS Integration criará o arquivo no diretório `/guides`. Se o diretório não existir, ele será criado. O único formato suportado é CSV.
</Note>

## Passo 4: Implante a Integração

1. Ative o toggle **Implantação**
2. Clique em **Criar Integração**

A integração agora será executada automaticamente todos os dias no horário que você escolheu.

## Passo 5: Execute agora

Você não precisa esperar o agendamento. Dispare a primeira execução manualmente:

1. Abra sua integração na lista de **Integrações**
2. Clique em **Executar agora**, ao lado do botão **Salvar**
3. Confirme no diálogo: a mensagem **Execução iniciada** aparece

## Passo 6: Verifique os resultados

Vá para seu servidor SFTP e verifique se o arquivo `users.csv` foi criado no diretório `/guides`.

Você deve ver um arquivo com esta estrutura:

```csv theme={null}
userId,fullName,emailAddress
1,Leanne Graham,Sincere@april.biz
2,Ervin Howell,Shanna@melissa.tv
3,Clementine Bauch,Nathan@yesenia.net
```

Parabéns! Você criou e executou sua primeira integração SFTP!

## O que você aprendeu

* **Conexões SFTP** armazenam configurações para servidores SFTP e podem ser reutilizadas em múltiplas Integrações
* **Integrações** seguem o padrão Extração → Transformação → Envio
* **Painéis de Preview** atualizam automaticamente conforme você configura cada fase, permitindo validar antes de executar
* **Transformações simples** mapeiam campos da origem para o destino usando notação JSONPath
* **Formato de arquivo** CSV é suportado para integrações SFTP

## Próximos passos

<CardGroup cols={2}>
  <Card title="Conexões" icon="plug" href="/pt-br/features/connections/api">
    Aprenda sobre os diferentes métodos de autenticação
  </Card>

  <Card title="Paginação" icon="arrows-rotate" href="/pt-br/features/extract/pagination">
    Lide com paginação e respostas de API complexas
  </Card>

  <Card title="Regras de Negócio" icon="code" href="/pt-br/features/business-rules/overview">
    Domine transformações de campos com JavaScript
  </Card>

  <Card title="Agendamento" icon="clock" href="/pt-br/features/extract/scheduling">
    Agende suas integrações para executar automaticamente
  </Card>
</CardGroup>
