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

# Normalização por tipo

> Como a API entende e padroniza e-mail, telefone, Telegram e Instagram antes de salvar.

<Tip>
  Você pode enviar o valor **como o cliente digitou** — máscara, `@`, maiúsculas. A API normaliza antes de comparar e deduplicar.
</Tip>

## Em poucas palavras

* Cada `type` tem regras simples de formatação.
* Comparações, busca e remoção usam sempre o **valor normalizado**.
* A API **não cria contato** sozinha — só associa `contactId` se o contato já existir no workspace.

***

## Regras por tipo

| Tipo        | O que você envia          | Como fica salvo            | Canais bloqueados       |
| ----------- | ------------------------- | -------------------------- | ----------------------- |
| `email`     | `User@Example.com`        | minúsculas, formato válido | E-mail                  |
| `phone`     | `+55 (11) 99999-0000`     | E.164 (`+5511999990000`)   | SMS, WhatsApp, RCS, voz |
| `telegram`  | `@usuario` ou ID numérico | username sem `@` ou peer   | Telegram                |
| `instagram` | `@Perfil`                 | username minúsculo sem `@` | Instagram               |

Analogia: é como padronizar telefone antes de colocar na agenda — `(11) 99999-0000` e `5511999990000` viram a **mesma entrada**.

***

## Campo `channel` (opcional)

Use `channel` para documentar **em qual contexto** a supressão foi criada (ex.: `whatsapp`, `email`). A regra global por identidade continua valendo:

* **Telefone** bloqueia todos os canais de telefone, independente do `channel` informado.
* **E-mail** bloqueia só e-mail.

***

## Exemplos na prática

### Telefone com máscara

Entrada:

```json theme={null}
{ "type": "phone", "value": "(11) 98888-7777" }
```

Salvo como E.164. Bloqueia SMS, WhatsApp, RCS e voz para esse número.

### E-mail com maiúsculas

Entrada:

```json theme={null}
{ "type": "email", "value": "Cliente@Empresa.com.br" }
```

Salvo como `cliente@empresa.com.br`.

### Telegram com @

Entrada:

```json theme={null}
{ "type": "telegram", "value": "@MeuBot" }
```

Salvo como `meubot` (username) ou peer numérico, conforme o valor.

***

## Valor inválido

Se o valor não passar na normalização do tipo, a API responde **400** com `INVALID_SUPPRESSION_VALUE`. Veja [Troubleshooting](/suppressions-api/como-funciona/troubleshooting).

***

## Próximos passos

* [Quick Start](/suppressions-api/como-funciona/quick-start): adicionar pela API
* [Introdução](/suppressions-api/como-funciona/introducao): quando usar supressão
