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

# Normalización por tipo

> Cómo la API entiende y estandariza email, teléfono, Telegram e Instagram antes de guardar.

<Tip>
  Puede enviar el valor **como lo escribió el cliente** — máscara, `@`, mayúsculas. La API normaliza antes de comparar y deduplicar.
</Tip>

## En resumen

* Cada `type` tiene reglas simples de formato.
* Comparaciones, búsqueda y eliminación usan siempre el **valor normalizado**.
* La API **no crea contacto** sola — solo asocia `contactId` si el contacto ya existe en el workspace.

***

## Reglas por tipo

| Tipo        | Qué envía                | Cómo queda guardado        | Canales bloqueados      |
| ----------- | ------------------------ | -------------------------- | ----------------------- |
| `email`     | `User@Example.com`       | minúsculas, formato válido | Email                   |
| `phone`     | `+55 (11) 99999-0000`    | E.164 (`+5511999990000`)   | SMS, WhatsApp, RCS, voz |
| `telegram`  | `@usuario` o ID numérico | username sin `@` o peer    | Telegram                |
| `instagram` | `@Perfil`                | username minúsculo sin `@` | Instagram               |

Analogía: es como estandarizar el teléfono antes de ponerlo en la agenda — `(11) 99999-0000` y `5511999990000` se convierten en la **misma entrada**.

***

## Campo `channel` (opcional)

Use `channel` para documentar **en qué contexto** se creó la supresión (ej.: `whatsapp`, `email`). La regla global por identidad sigue vigente:

* **Teléfono** bloquea todos los canales de teléfono, independientemente del `channel` informado.
* **Email** bloquea solo email.

***

## Ejemplos en la práctica

### Teléfono con máscara

Entrada:

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

Guardado como E.164. Bloquea SMS, WhatsApp, RCS y voz para ese número.

### Email con mayúsculas

Entrada:

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

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

### Telegram con @

Entrada:

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

Guardado como `meubot` (username) o peer numérico, según el valor.

***

## Valor inválido

Si el valor no pasa la normalización del tipo, la API responde **400** con `INVALID_SUPPRESSION_VALUE`. Vea [Troubleshooting](/es/suppressions-api/como-funciona/troubleshooting).

***

## Próximos pasos

* [Inicio rápido](/es/suppressions-api/como-funciona/quick-start): agregar por API
* [Introducción](/es/suppressions-api/como-funciona/introducao): cuándo usar supresión
