---
title: Conditional - Switch
slug: conditional-switch
docTags: 
createdAt: 2026-03-13T18:09:46.464Z
---

## Objetivo

O conector Switch é utilizado para criar uma estrutura de controle de fluxo, permitindo que o processo tome diferentes caminhos com base em condições específicas. Ele é especialmente útil para lidar com múltiplas opções ou cenários em um processo.

**Principais cenários de uso:**

- Roteamento de processos com base em valores de entrada.
- Implementação de lógica condicional complexa.
- Redução de complexidade em processos com múltiplas ramificações.

***

## Configuração

O conector Switch avalia de forma sequencial os casos definidos, comparando o valor de entrada com os valores de comparação em cada caso. O processo seguirá o caminho do primeiro caso que corresponder ao valor de entrada. Se nenhum caso corresponder, o processo seguirá o caminho definido para `Default (Opcional)` (caso padrão).

:::hint{type="info"}
O `Default `não precisa ser configurado na parametrização do conector; ele pode ser adicionado diretamente no canvas, caso seja necessário.
:::

### Campos principais

| Campo                | Tipo     | Obrigatório | Descrição                                                                      |
| -------------------- | -------- | ----------- | ------------------------------------------------------------------------------ |
| **Valor de Entrada** | Any      | \*Sim       | Valor constante ou variável a ser utilizado para comparação.                   |
| **Tipo de Dado**     | Dropdown | \*Sim       | Define o tipo de dado para a comparação (`String`, `Number` ou `Data e Hora`). |

:::hint{type="info"}
**Tipo de Dado**&#x20;
O tipo de dado é definido globalmente para o conector. Isso significa que ele é aplicado a todas as comparações dentro dos casos, garantindo consistência na forma como as validações são realizadas em todo o fluxo.
:::

### Guia de tipos de dados:

- `String`: Utilizado para comparação de texto. A comparação pode ser *case sensitive* ou *case insensitive*, dependendo da configuração global.
- `Number`: Utilizado para comparação de valores numéricos, incluindo números inteiros e decimais (sistema monetário).
- `Data e Hora`: Utilizado para comparação cronológica. O formato pode ser definido globalmente como `Date Time`, `Date`, `Time` ou `Detecção Automática`.

***

### Campos em cada caso

### String (Comparação de Texto)

| Campo                     | Tipo    | Obrigatório | Descrição                                                                                                |
| ------------------------- | ------- | ----------- | -------------------------------------------------------------------------------------------------------- |
| **Case Insensitive**      | Boolean | Não         | Define se as comparações devem ignorar a diferença entre letras maiúsculas e minúsculas.                 |
| **Valor para Comparação** | String  | \*Sim       | Valor a ser comparado com o valor de entrada. O processo seguirá este caminho se houver correspondência. |

::Image[]{src="https://api.archbee.com/api/optimize/G1NTw6yAi4RDUYbsU8csp/DgohzMKpQJ4R7ET5tbBeO-20260313-181804.png" darkSrc="https://archbee-image-uploads.s3.amazonaws.com/G1NTw6yAi4RDUYbsU8csp/DgohzMKpQJ4R7ET5tbBeO-20260313-181804.png" size="70" width="1105" height="652" darkWidth="1105" darkHeight="652" position="center" showCaption="false"}

:::hint{type="info"}
**Case Insensitive**&#x20;
A configuração de *Case Insensitive* é aplicada globalmente. Ela afetará todas as comparações de texto do conector, independentemente do caso específico.
:::

- **Habilitado**: O Switch ignorará diferenças entre maiúsculas e minúsculas. Exemplo: "Texto", "texto" e "TEXTO" são considerados **iguais**.
- **Desabilitado**: O Switch considerará as diferenças. Exemplo: "Texto" e "texto" são considerados **diferentes**.

***

### Number (Comparação Numérica)

| Campo                     | Tipo   | Obrigatório | Descrição                                                                          |
| ------------------------- | ------ | ----------- | ---------------------------------------------------------------------------------- |
| **Valor para Comparação** | Number | \*Sim       | Valor numérico a ser comparado com o valor de entrada. Aceita inteiros e decimais. |

::Image[]{src="https://api.archbee.com/api/optimize/G1NTw6yAi4RDUYbsU8csp/M4U3zeHmdq7Yr6_0tNejD_imagem-2.png" size="70" width="1098" height="582" position="center" darkWidth="1098" darkHeight="582" showCaption="false"}

***

### Data e Hora (Comparação Cronológica)

| Campo                     | Tipo   | Obrigatório | Descrição                                                                                |
| ------------------------- | ------ | ----------- | ---------------------------------------------------------------------------------------- |
| **Formato de Data/Hora**  | String | \*Sim       | Define o padrão de interpretação (`Date Time`, `Date`, `Time` ou `Detecção Automática`). |
| **Valor para Comparação** | String | \*Sim       | Valor cronológico a ser comparado com o valor de entrada.                                |

::Image[]{src="https://api.archbee.com/api/optimize/G1NTw6yAi4RDUYbsU8csp/U0_GI1FVyGRU5rrL9Cbd5_imagem-3.png" size="70" width="1153" height="661" position="center" darkWidth="1153" darkHeight="661" showCaption="false"}

:::hint{type="info"}
**Configuração Global de Formato**&#x20;
O formato de data e hora é definido globalmente para o conector, afetando todos os casos configurados para garantir a integridade da comparação.
:::

### Guia de formatos suportados:

- `Date Time`: `YYYY-MM-DD HH:mm:ss` (Exemplo: `2024-12-31 23:59:59`).
- `Date`: `YYYY-MM-DD` (Exemplo: `2024-12-31`).
- `Time`: `HH:mm:ss` (Exemplo: `23:59:59`).
- `Detecção Automática`: O sistema tentará identificar o formato com base nos valores fornecidos. Recomenda-se o uso de padrões ISO (hifens para datas e dois-pontos para horas) para maior precisão.

***

## Na Prática

### Roteamento baseado em status de pedido

![]()

### Roteamento com comparação de texto case insensitive

![]()

### Roteamento com comparação numérica

- **Números inteiros:**&#x20;

![]()

- **Números decimais (Sistema Monetário):**

![]()

### Roteamento com comparação de data e hora

![]()

### Roteamento sem caso correspondente (`Default`)

![]()

***

## Observações Finais

- **Avaliação Sequencial**: O conector Switch avalia os casos na ordem em que estão configurados (de cima para baixo). A organização dos casos pode afetar o resultado final.
- **Lógica Clara**: Configure os casos de forma mutuamente exclusiva sempre que possível para evitar comportamentos inesperados.
- **Uso do Default**: Embora opcional, o uso do caminho `Default` é altamente recomendado para evitar que o processo fique "travado" caso nenhuma condição seja atendida.

## Conclusão

O conector Switch é uma ferramenta poderosa para criar processos dinâmicos e flexíveis, permitindo que o fluxo se adapte a diferentes cenários. Com uma configuração adequada, ele simplifica a lógica do processo e melhora significativamente a eficiência operacional.
