# Páginas de cancelación y preferencias (/es/guides/unsubscribe-pages)

Cada vez que Bitelio envía un correo del que un destinatario puede darse de baja (plantillas de marketing o headless), incrusta un enlace personalizado a una página alojada de gestión de suscripción. No hay nada que tengas que construir: alojar las páginas, aplicar los cambios de estado y registrar los eventos, todo lo gestiona Bitelio.

## Las tres variables de URL

En cada envío, tres variables de plantilla se inyectan automáticamente, cada una resolviendo a una URL firmada única para ese destinatario:

| Variable             | Página a la que enlaza    | Qué puede hacer el destinatario                                     |
| -------------------- | ------------------------- | ------------------------------------------------------------------- |
| `{{unsubscribeUrl}}` | Página de baja de un clic | Confirmar que quiere dejar de recibir correos de marketing          |
| `{{subscribeUrl}}`   | Página de resuscripción   | Volver a aceptar tras haberse dado de baja previamente              |
| `{{manageUrl}}`      | Página de preferencias    | Ver su estado actual y alternar la suscripción en cualquier sentido |

Pueden aparecer en cualquier parte del cuerpo o asunto de una plantilla. En el momento del renderizado, cada marcador se convierte en una URL específica para ese contacto.

## Comportamiento por defecto según el tipo de plantilla

El tipo de plantilla determina si Bitelio añade estos enlaces por ti:

| Tipo de plantilla | ¿Pie de página automático con `{{unsubscribeUrl}}`? | Notas                                                                                                                                        |
| ----------------- | --------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| **Marketing**     | Sí — Bitelio añade un pie de página localizado      | Nada requerido de tu parte. El pie de página sigue el `locale` del destinatario.                                                             |
| **Headless**      | No                                                  | Incluye `{{unsubscribeUrl}}` (o `{{manageUrl}}`) en el cuerpo tú mismo — de lo contrario los destinatarios no tienen forma de darse de baja. |
| **Transaccional** | No                                                  | Las comprobaciones de suscripción no aplican al correo transaccional, así que no se inyecta ningún enlace de baja (ni debería hacer falta).  |

Las plantillas de marketing con un pie de página construido a mano pueden seguir apoyándose en el que se inyecta automáticamente, o reemplazarlo colocando su propio enlace `{{unsubscribeUrl}}`.

## Dentro de los envíos transaccionales

Las mismas variables funcionan en solicitudes a `/v1/send`. Que se añada un pie de página o no depende de qué plantilla referencia el envío:

* Sin plantilla en absoluto (solo `subject` + `body`) → sin pie de página automático.
* Una plantilla de marketing → pie de página inyectado automáticamente.
* Una plantilla headless o transaccional → sin pie de página; el cuerpo es enteramente tuyo.

Y en cualquier cuerpo en línea, eres libre de referenciar `{{unsubscribeUrl}}` / `{{manageUrl}}` para renderizar un enlace propio.

## Qué ocurre cuando el destinatario actúa

Hacer clic en uno de los enlaces y confirmar tiene estos efectos:

| Acción                      | Efecto                                                                                              |
| --------------------------- | --------------------------------------------------------------------------------------------------- |
| Darse de baja               | El indicador `subscribed` del contacto pasa a `false`. Se dispara el evento `contact.unsubscribed`. |
| Resuscribirse               | El indicador `subscribed` del contacto pasa a `true`. Se dispara el evento `contact.subscribed`.    |
| Actualizar vía preferencias | Igual que arriba, dependiendo de hacia qué lado alternen.                                           |

Esos eventos `contact.unsubscribed` / `contact.subscribed` son buenos disparadores de flujos de trabajo — una encuesta de "lamentamos verte partir" a la salida, o una secuencia de recuperación cuando alguien vuelve a aceptar participar.

## Localización

Tanto las páginas alojadas como el pie de página añadido automáticamente se renderizan en el `locale` del contacto cuando hay uno establecido, y recurren al idioma por defecto del proyecto en caso contrario. Los idiomas compatibles están listados en la guía de [Localización](/es/guides/localization).

## Marca

El nombre y logo de tu proyecto (establecidos en **Ajustes → Proyecto**) aparecen en las páginas. Si quieres un control más profundo, envía tu marketing mediante plantillas **headless** y coloca la experiencia de baja dentro de tu propio producto — conectar tus controles dentro del producto a la misma `{{unsubscribeUrl}}` mantiene intacta la revocación de un clic.

## Referencia de la API

Cuando los cambios de suscripción deban ocurrir mediante código en lugar de las páginas alojadas — digamos que has construido tu propia pantalla de preferencias — la API de contactos lo cubre:

* `PATCH /contacts/:id` con `{ "subscribed": false }` — dar de baja a un contacto.
* `PATCH /contacts/:id` con `{ "subscribed": true }` — resuscribir.

Cualquiera de los dos cambios dispara automáticamente el evento `contact.subscribed` / `contact.unsubscribed` correspondiente, exactamente como lo harían las páginas alojadas.
