# Tabelas De/Para

Tabelas De/Para são recursos configuráveis do produto e reutilizáveis por automações, APIs e fluxos operacionais.

Na prática, elas substituem o uso de regras fixas em código quando o time precisa manter mapeamentos, códigos externos, listas de referência ou traduções de valores por ambiente.

## Como pensar o recurso

* use **Tabela De/Para** como conceito público principal;
* use **tabela de conversão** quando o caso for um mapeamento simples de `fromValue` para `toValue`;
* trate o conteúdo como configuração de negócio versionada no produto, não como área improvisada para testes.

## Onde aparece no produto

O recurso existe como área própria no portal e é associado a ambientes e pacotes.

Normalmente, cada Tabela De/Para tem:

* nome amigável;
* `externalCode`, usado como identificador técnico;
* descrição funcional;
* pacote relacionado;
* lista de itens.

## Estrutura dos itens

O modelo mais comum usa duas colunas:

* `fromValue` para o valor de origem;
* `toValue` para o valor de destino.

Esse formato cobre muitos cenários de integração, como:

* status internos para status externos;
* códigos de filial ou centro de custo;
* categorias de produto;
* IDs legados para IDs do sistema alvo.

## Operações disponíveis

No fluxo atual do produto, você pode:

* criar e editar Tabelas De/Para;
* gerenciar itens individualmente;
* remover itens em lote;
* importar carga completa por CSV;
* baixar o conteúdo para revisão externa.

Esse modelo ajuda quando o negócio precisa atualizar um mapa sem esperar deploy de código.

## Uso em automações

No runtime do SDK, o uso mais comum é consultar uma Tabela De/Para por código e aplicar a tradução durante o processamento.

Exemplo conceitual:

```ts
const dataStore = new DataStore(event);
const conversionTable = new ConversionTable(dataStore);
const mappedValue = await conversionTable.getValueFromConversionTable(
  'sales-channel-map',
  order.channel,
  undefined,
  true,
);
```

O ponto importante é que a regra fica no produto, e não espalhada em `if/else` no projeto.

## Tabelas De/Para e usuários limitados

Tabelas De/Para também participam do modelo de visibilidade granular do produto.

Você pode liberar acesso seletivo para usuários limitados quando eles precisam:

* revisar valores de referência;
* operar um conjunto específico de mapeamentos;
* acompanhar apenas uma parte da configuração compartilhada com parceiros.

## Boas práticas

* escolha `externalCode` estável e orientado ao domínio;
* mantenha descrição clara sobre dono funcional e finalidade;
* prefira uma Tabela De/Para por contexto de negócio, em vez de agrupar regras sem relação;
* revise itens obsoletos periodicamente;
* use importação CSV com cuidado, porque carga completa normalmente substitui o conjunto existente.

## Relação com tabelas de conversão

Nem toda Tabela De/Para precisa ser um simples de/para, mas toda tabela de conversão do produto pode ser entendida como um caso de uso de Tabela De/Para.

Se o seu cenário é apenas traduzir valores entre origem e destino, consulte também [Tabelas de conversão](/produto/conversion-tables.md).


---

# 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.tunnelhub.io/produto/data-stores.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.
