> ## 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.

# Parâmetros Dinâmicos

> Insira valores dinâmicos em URLs, headers, caminhos de arquivos e corpos de requisições usando sintaxe de placeholders

A interpolação substitui placeholders por valores reais em tempo de execução, permitindo integrações que se adaptam a diferentes contextos, períodos e dados.

| Tipo                                    | Sintaxe                        | Caso de Uso                    |
| --------------------------------------- | ------------------------------ | ------------------------------ |
| [Variáveis Simples](#variáveis-simples) | `{{ nomeVariavel }}`           | Inserir valores dos parâmetros |
| [DateTime](#interpolação-datetime)      | `{{ now.format(YYYY-MM-DD) }}` | Data/hora atual com formatação |

## Quando utilizar

Use interpolação quando precisar:

* Inserir valores de parâmetros em URLs ou paths de API
* Adicionar datas dinâmicas às requisições (hoje, ontem, semana passada)
* Referenciar datas dos datapoints de extração
* Gerar nomes de arquivos com timestamps
* Construir query strings parametrizadas

## Variáveis Simples

Substitua placeholders por valores dos parâmetros da sua integração. O nome da variável deve corresponder exatamente.

```javascript theme={null}
// Input
"users/{{ userId }}/orders"
// Params
{ "userId": "123" }
// Output
"users/123/orders"
```

### Utilizando datapoint com variável simples

Para interpolar um valor de datapoint, adicione um query param com o nome do campo do datapoint. O nome do param fica disponível como variável.

```javascript theme={null}
// Query Params
{ "userId": "{{ userId }}" }
// Path
"users/{{ userId }}/orders"
// Se o datapoint tiver userId = "456", o output será
"users/456/orders"
```

## Interpolação DateTime

Insira datas atuais, calcule datas relativas e formate a saída para requisitos de APIs. A interpolação DateTime suporta três prefixos:

| Prefixo  | Descrição                 | Exemplo                                          |
| -------- | ------------------------- | ------------------------------------------------ |
| `now`    | Data e hora atuais        | `{{ now.format(YYYY-MM-DD) }}`                   |
| `today`  | Alias para `now`          | `{{ today.format(YYYY-MM-DD) }}`                 |
| `date()` | Data de um campo de dados | `{{ date(order.createdAt).format(YYYY-MM-DD) }}` |

### Padrões de Formato

Use `.format(pattern)` para controlar a saída. Os padrões seguem os [tokens de formato do dayjs](https://day.js.org/docs/en/display/format).

| Padrão                | Exemplo de Saída    |
| --------------------- | ------------------- |
| `YYYY-MM-DD`          | 2026-01-12          |
| `DD/MM/YYYY`          | 12/01/2026          |
| `YYYY-MM-DDTHH:mm:ss` | 2026-01-12T15:30:00 |
| `HH:mm:ss`            | 15:30:00            |
| `MMMM D, YYYY`        | January 12, 2026    |

### Conversão de Timezone

Use `.timezone(tz)` para converter para um timezone específico antes de formatar. O timezone padrão é `America/Sao_Paulo`.

```javascript theme={null}
{{ now.timezone(UTC).format(YYYY-MM-DDTHH:mm:ss) }}
{{ now.timezone(America/New_York).format(YYYY-MM-DD) }}
{{ now.timezone(Europe/London).format(HH:mm:ss) }}
```

### Aritmética de Datas

Adicione ou subtraia tempo usando `.add(amount, unit)` e `.subtract(amount, unit)`.

**Unidades disponíveis:** `days`, `weeks`, `months`, `years`, `hours`, `minutes`, `seconds`

```javascript theme={null}
{{ now.subtract(1, days).format(YYYY-MM-DD) }} // Ontem
{{ now.subtract(7, days).format(YYYY-MM-DD) }} // Uma semana atrás
{{ now.add(1, months).format(YYYY-MM-DD) }} // Próximo mês
{{ now.add(2, weeks).format(YYYY-MM-DD) }} // Duas semanas a partir de agora
```

### Usando Campos de Dados

Referencie datas dos seus datapoints de extração com a função `date()`. Passe o caminho do campo como argumento.

```javascript theme={null}
{{ date(order.createdAt).format(YYYY-MM-DD) }}
{{ date(user.lastLogin).add(30, days).format(YYYY-MM-DD) }}
{{ date(invoice.dueDate).subtract(7, days).format(YYYY-MM-DD) }}
```

Isso é útil quando você precisa calcular datas relativas a valores dos dados em vez do horário atual.

## Quando um parâmetro está ausente

Se um `{{ parametro }}` referenciado em uma URL, header ou body não tiver valor em tempo de execução, a requisição não é enviada: ela falha com um erro claro de interpolação informando o parâmetro ausente. Uma string vazia conta como ausente: enviá-la produziria uma requisição malformada (ex.: `/items//details`) que a API de destino rotearia incorretamente em vez de rejeitar.

Os nomes dos parâmetros diferenciam maiúsculas de minúsculas e devem corresponder exatamente ao campo dos dados.
