# Como referenciar dados usando Double Braces

Você pode usar Double Braces de várias maneiras: para acessar os dados recebidos pelo componente no formato JSON, para fazer referência a Globals, contas ou metadados.

Veja como você pode fazer isso:

## Referenciando dados JSON <a href="#id-87tlux10inbm" id="id-87tlux10inbm"></a>

Suponha que um componente receba os seguintes dados JSON sobre um funcionário chamado João Silva:

```json
{
"primeiroNome": "João",
"sobrenome": "Silva",
"endereco": {
"rua": "Rua 123",
"cidade": "São Paulo",
"estado": "SP",
"CEP": "11111-111"
},
"telefone": "+5511999999999",
"email": "joaosilva@email.com",
"idade": 30,
"genero": "masculino",
"ocupacao": "Engenheiro de Software"
}
```

### Referenciando todos os dados <a href="#lx0q7rponynp" id="lx0q7rponynp"></a>

Para fazer referência a todos os dados JSON recebidos pelo componente, use a seguinte sintaxe:

```
{{ message.$ }}
```

Aqui:

* **message** é uma palavra reservada que se refere aos dados que foram recebidos pelo componente em questão, conhecido como *payload*.
* **$** indica que você está se referindo a todo o *payload*.

### Referenciando propriedades específicas <a href="#id-266jiko3l5ec" id="id-266jiko3l5ec"></a>

Use a seguinte sintaxe para fazer referência a propriedades específicas de um JSON, substituindo os termos entre símbolos de menor e maior que pelo valor desejado:

```
{{ message.<nome-da-propriedade> }}
```

Aqui:

* **message** é uma palavra reservada que se refere aos dados que foram recebidos pelo componente em questão, também chamado de *payload*.
* **nome-da-propriedade** refere-se ao nome da propriedade desejada.

Por exemplo, se você quiser referenciar o endereço de e-mail de João Silva, use a seguinte notação:

```
{{ message.email }}
```

Para acessar propriedades contidas em outras propriedades, use a notação de maneira recursiva. Por exemplo, para referenciar o CEP de João Silva, use a seguinte notação:

```
{{ message.endereco.CEP }}
```

## Referenciando etapas anteriores usando o Previous Steps Access

Você pode usar o Previous Steps Access para referenciar dados de etapas anteriores de um pipeline usando um alias customizado, facilitando e agilizando o gerenciamento de dados.

Se você ainda não configurou um Alias, consulte as [instruções na documentação](/documentation/connectors-and-triggers/pt-br/double-braces/how-to-reference-data-using-double-braces/previous-steps-access.md).

Se já configurou um Alias no seu fluxo, utilize a seguinte sintaxe para referenciar os dados desejados:

```json
{{ step.step-alias }}
```

Onde:

* **step** é uma palavra reservada que se refere a uma etapa anterior do fluxo.
* **step-alias** é o nome personalizado definido no campo Alias do conector ou cápsula. Ele permite que você referencie essa etapa em partes posteriores do fluxo usando Double Braces.&#x20;

Exemplo: `{{ step.csv-to-json-v1-3 }}` .&#x20;

## Referenciando triggers

Você pode usar Double Braces para referenciar diretamente os dados de entrada do trigger. Para referenciar um trigger com Double Braces, utilize a seguinte sintaxe:

`{{ trigger.input }}`

Por exemplo:&#x20;

`{{ trigger.order.id }}`

Aqui:

* **trigger** é uma palavra reservada que se refere ao trigger no workflow.
* **order** é um objeto que corresponde a uma chave nos dados enviados ao trigger.
* **id** é um campo dentro do objeto `order`, apontando para um valor específico dentro da estrutura.

## Referenciando Globals <a href="#w40qqx1i9zyi" id="w40qqx1i9zyi"></a>

Globals são variáveis ​​criadas pelo usuário que podem ser referenciadas em vários *pipelines*. Para aprender mais sobre Globals, [leia esta documentação](/documentation/developer-guide/pt-br/development-cycle/build-overview/globals.md).

Para fazer referência a um Global usando Double Braces, use a seguinte sintaxe, substituindo os termos entre símbolos de menor e maior que pelo valor desejado:

```
{{global.<nome-do-global>}}
```

Aqui:

* **global** é uma palavra reservada.
* **nome-do-global** é o nome do Global desejado.

{% hint style="warning" %}
Embora seja possível fazer referência a Globals sem o prefixo `global`, é altamente recomendável usar o prefixo, uma vez que as expressões sem ele não serão mais suportadas no futuro.
{% endhint %}

Suponha que você queira referenciar um Global chamado “meu-global”. Use a notação:

```
{{global.meu-global}}
```

## Referenciando contas <a href="#id-6kg4o5xryfbp" id="id-6kg4o5xryfbp"></a>

As contas são credenciais definidas pelo usuário que podem ser referenciadas em vários pipelines.Para saber mais, [leia nossa documentação sobre contas](/documentation/developer-guide/pt-br/development-cycle/build-overview/accounts.md).

Para fazer referência a uma conta, use a seguinte sintaxe, substituindo os termos entre símbolos de menor e maior que pelo valor desejado:

```
{{ account.<rotulo-da-conta>.<campo> }}
```

Aqui:

* **account** é uma palavra reservada que se refere às contas salvas na Digibee Integration Platform.
* **rotulo-da-conta** refere-se ao rótulo da conta exibido na página de contas.
* **campo** refere-se ao nome do campo da conta na página de contas, como, por exemplo, **username**,**password**, **token**, **header-value**, entre outros.

Suponha que você queira fazer referência ao *username* de uma conta salva chamada **conta-da-emily**. Para fazer isso, use a seguinte sintaxe:

```
{{ conta.conta-da-emily.username }}
```

## Referenciando metadados <a href="#ddcmojcg6oul" id="ddcmojcg6oul"></a>

Metadados podem se referir a vários tipos de dados, tais como informações sobre o próprio pipeline, a execução atual do pipeline, a configuração usada para executar o pipeline e o ambiente no qual o pipeline está sendo executado.

Para referenciar metadados, use a seguinte sintaxe, substituindo os termos entre símbolos de menor e maior que pelo valor desejado:

```
{{ metadata.<dados> }}
```

Aqui:

* **metadata** é uma palavra reservada.
* **dados** refere-se aos metadados que você deseja referenciar.

Por exemplo, use a seguinte sintaxe para referenciar o nome do pipeline no qual este código está sendo executado:

```
{{ metadata.pipeline.name }}
```

Estes são todos os metadados que você pode acessar com Double Braces:

### Metadados de pipeline <a href="#bnmd222uaqa0" id="bnmd222uaqa0"></a>

| data                      | Descrição                                                                                                |
| ------------------------- | -------------------------------------------------------------------------------------------------------- |
| pipeline.name             | Nome do *pipeline*                                                                                       |
| pipeline.versionMajor     | Versão *major* do *pipeline*                                                                             |
| pipeline.versionMinor     | Versão *minor* do *pipeline*                                                                             |
| pipeline.realm            | *Realm* do *pipeline*                                                                                    |
| pipeline.description      | Descrição do *pipeline*                                                                                  |
| pipeline.id               | ID do *pipeline*                                                                                         |
| metadata.pipeline.project | Nome do projeto do *pipeline* que está sendo implantado. Durante o test-mode, será retornado como *null* |

### Metadados de implantação <a href="#id-7cp8uzvvzlmg" id="id-7cp8uzvvzlmg"></a>

| Descrição                                                                               | data                         |
| --------------------------------------------------------------------------------------- | ---------------------------- |
| Quantidade máxima de consumidores, de acordo com o tamanho da implantação do *pipeline* | runtime.consumers            |
| Quantidade de consumidores, como definido pelo usuário                                  | runtime.actualConsumers      |
| Ambiente em que o *pipeline* está sendo executado                                       | metadata.runtime.environment |

### Metadados de execução de pipeline <a href="#wyxvj3wtt377" id="wyxvj3wtt377"></a>

| data                     | Descrição                                                                                                                                                                                                                                                          |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| execution.key            | ID da execução do *pipeline* atual                                                                                                                                                                                                                                 |
| execution.timeout        | *Timeout* configurado do *pipeline*                                                                                                                                                                                                                                |
| execution.startTimestamp | *Timestamp* do início da execução pipeline (em milissegundos, no formato UNIX Epoch)                                                                                                                                                                               |
| execution.redelivery     | Booleano. *True* se esta execução for uma nova tentativa de execução. *False,* se não. Aprenda mais sobre reprocessamento em [nosso artigo sobre o *Pipeline Engine*](/documentation/developer-guide/pt-br/development-cycle/overview/runtime/pipeline-engine.md). |

## Referenciando propriedades de Cápsula

Na configuração da Cápsula, você pode definir propriedades para parâmetros e utilizá-los na configuração de componentes dentro do fluxo da Cápsula.

Use a seguinte sintaxe para fazer referência a uma propriedade da Cápsula:

```
{{ capsule.<property> }}
```

* **capsule** é uma palavra reservada que se refere às propriedades da Cápsula.
* **property** é a propriedade definida no parâmetro no formulário de configuração da Cápsula.

Por exemplo, se você criou uma propriedade chamada `mensagemErro` no formulário de configuração da Cápsula e quiser referenciá-la em um componente dentro da Cápsula, use a seguinte notação:

```
{{ capsule.mensagemErro }}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.digibee.com/documentation/connectors-and-triggers/pt-br/double-braces/how-to-reference-data-using-double-braces.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
