# Doble opt-in y emails de confirmación

> Pide a las personas que confirmen su dirección antes de unirse a una lista de contactos y dales la bienvenida con un email de confirmación. Define el remitente, los textos o un diseño MJML personalizado, y prueba los dos emails.

Cada lista de contactos puede enviar dos emails propios:

- **Doble opt-in**: un email con un enlace de confirmación. Las personas que se dan de alta solo se unen a la lista después de hacer clic en él, así que cada dirección de la lista pertenece a alguien que pidió estar en ella.
- **Email de confirmación**: un email breve de «ya estás suscrito» que se envía justo después de que alguien se une a la lista, o después de que confirme si el doble opt-in está activado.

Los dos están desactivados hasta que los actives, y los dos se envían desde tu propio dominio de envío verificado.

## Antes de empezar

- Verifica un dominio de envío. Los dos emails necesitan una dirección **From** de uno de tus [dominios verificados](/es/docs/domains/).
- Cada email cuesta un crédito, como cualquier otro email.
- Un espacio de trabajo que todavía no está verificado solo puede enviar emails a sus propios miembros, así que los emails de doble opt-in a otras personas fallan hasta que se verifique el espacio de trabajo.

## Activar el doble opt-in

1. **Abre la configuración.** Ve a **Email Marketing → Audiences**, abre la lista y selecciona la pestaña **Settings**.

2. **Define el remitente.** En **Double opt-in**, introduce una dirección **From** de un dominio verificado, como `News <news@example.com>`, y, si quieres, una dirección **Reply-to**.

3. **Ajusta el email.** Cambia **Subject**, **Heading**, **Text**, **Button text** y **Footer**, o deja los valores por defecto. La vista previa de la derecha se actualiza mientras escribes.

4. **Elige adónde van las personas.** Si quieres, introduce una página en **After confirming, go to**. Sin ella, las personas ven una página de confirmación con un enlace para [gestionar sus suscripciones](/es/docs/audiences/manage-subscriptions/). Tiene el diseño de tu [página de baja](/es/docs/audiences/unsubscribe-page/#other-pages-with-this-design) y se abre en el idioma del navegador de la persona.

5. **Actívalo.** Activa **Require confirmation** y selecciona **Save**.

Si el dominio de la dirección **From** no está verificado, al guardar aparece el error «Use an address on a verified sending domain of this workspace.» y no se guarda nada.

### Qué altas piden confirmación

| Cómo se une la persona | Con el doble opt-in activado |
| --- | --- |
| La [URL de suscripción](/es/docs/audiences/subscribe-url/) de la lista | Recibe el email de doble opt-in y se une después de hacer clic en su enlace. La URL devuelve `202`. |
| Un [formulario](/es/docs/forms/) que añade personas a la lista | Igual, salvo que el formulario tenga su propio doble opt-in. En ese caso basta con la confirmación del formulario. Si el email de doble opt-in no se puede enviar, el formulario añade a la persona de inmediato. |
| **Add subscriber** en el panel | La casilla **Ask them to confirm by email first (double opt-in)** está marcada. Desmárcala para añadir a la persona de inmediato. |
| [Añadir un suscriptor](/es/docs/api-reference/audiences/subscribers/add/) con la API | Solo con `"double_opt_in": true`. Sin él, la persona se añade de inmediato. |
| Importaciones, fusiones y acciones masivas de contactos | Se añade de inmediato. |
| La [página de gestión de suscripciones](/es/docs/audiences/manage-subscriptions/) | Se añade de inmediato. El enlace se envió por email a la persona, lo que ya demuestra que la dirección es suya. |

### Qué pasa después de un alta

1. Emailit crea el contacto si es nuevo, sin modificar un contacto existente, y envía el email de doble opt-in. La persona todavía no está en la lista. Las personas que ya están suscritas no reciben ningún email, pero la URL de suscripción devuelve igualmente `202`, así que no revela quién está en la lista.
2. Cuando abre el enlace, se une a la lista con **Subscribed** activado. Se envía un evento `subscriber.created` y se inician las automatizaciones **Added to audience**. Después llega el email de confirmación, si está activado.
3. Abrir el enlace otra vez no hace nada más. Los enlaces caducan a los 30 días. Las personas que no confirmaron pueden volver a darse de alta para recibir un enlace nuevo. Los enlaces anteriores siguen funcionando hasta que caducan, y basta con confirmar cualquiera de ellos. Si alguien vuelve a darse de alta justo después de la primera vez, no se envía un segundo email, así que la URL de suscripción no se puede usar para saturar la bandeja de entrada de nadie; el primer enlace sigue funcionando.

La pestaña **Settings** muestra cuántas personas no han confirmado todavía. Si el email no se puede enviar, por ejemplo porque el dominio ya no está verificado o el espacio de trabajo no tiene créditos, la persona no se añade y la URL de suscripción devuelve `503`. En cambio, un formulario añade a la persona de inmediato, para que el alta no se pierda, y la respuesta registra el error.

## Enviar un email de confirmación

1. **Abre la configuración.** En la pestaña **Settings** de la lista, ve a **Confirmation email**.

2. **Escribe el email.** Introduce una dirección **From** de un dominio verificado y ajusta los textos. Añade **Button text** y **Button link** para llevar a las personas a tu sitio web, o déjalos vacíos para enviar un email sin botón.

3. **Actívalo.** Activa **Send it** y selecciona **Save**.

El email de confirmación se envía a las personas que se unen mediante la URL de suscripción, un formulario, un enlace de doble opt-in o la página de gestión de suscripciones. Cuando añades personas tú mismo, solo se envía si lo pides: marca **Send the confirmation email** en **Add subscriber**, o pasa `"send_confirmation_email": true` a la API. Las importaciones y las fusiones nunca lo envían.

Si el email de confirmación no se puede enviar, la suscripción no se deshace.

## Variables

El asunto, los textos y los diseños personalizados pueden usar variables de [Temple](/es/docs/templates/temple/). Los valores del contacto se escapan antes de insertarse en el email.

| Variable | Valor |
| --- | --- |
| `{{confirm_url}}` | El enlace de confirmación. Solo en el doble opt-in. |
| `{{manage_subscriptions_url}}` | El enlace de la persona a su [página de gestión de suscripciones](/es/docs/audiences/manage-subscriptions/). Solo en el email de confirmación. |
| `{{audience_name}}` | El nombre público de la lista o, si no tiene, su nombre. |
| `{{email}}`, `{{first_name}}`, `{{last_name}}` | Los datos del contacto. Usa un valor por defecto para los valores vacíos, como `{{first_name\|"there"}}`. |

**Text** y **Footer** conservan los saltos de línea y aceptan HTML en línea, como `<a>` y `**`. **Heading** y **Button text** son texto plano. El botón del doble opt-in siempre enlaza a `{{confirm_url}}`.

## Diseñar el email en MJML

> **MJML está en alfa:** El editor visual MJML solo está disponible para el equipo de Emailit mientras lo probamos. Los demás usan el diseño por defecto, con todos los textos anteriores. Consulta [Editores y API de MJML](/es/docs/templates/mjml/).

Para cambiar la maquetación, selecciona **Customize in the MJML visual editor**. El editor se abre con el diseño por defecto y tus textos actuales. Al guardar, el email pasa a **Custom design (MJML)**. Vuelve a poner **Design** en **Default design** para usar de nuevo los textos; el diseño personalizado se conserva.

Un email de doble opt-in personalizado debe enlazar a `{{confirm_url}}`. Si guardas uno sin ese enlace, aparece el error «The double opt-in email must link to `{{confirm_url}}`.» y no se guarda.

## Probar los emails

Debajo de cada vista previa, introduce una dirección en **Send a test to** y selecciona **Send test**. La prueba usa la versión guardada, así que guarda antes tus cambios. Los emails de prueba usan valores de contacto de ejemplo, y sus enlaces no suscriben a nadie.

## Usar la API

[Actualizar una lista de contactos](/es/docs/api-reference/audiences/update/) configura los dos emails. Envía solo los campos que quieras cambiar:

```bash
curl https://api.emailit.com/v2/audiences/aud_5hJ2kL8mNp4Qr \
  -X POST \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "double_opt_in": {
      "enabled": true,
      "redirect_url": "https://example.com/welcome",
      "email": { "from": "News <news@example.com>", "subject": "Confirm your subscription to {{audience_name}}" }
    },
    "confirmation_email": {
      "enabled": true,
      "email": { "from": "News <news@example.com>", "button_label": "Read the latest issue", "button_url": "https://example.com/blog" }
    }
  }'
```

Después, pide la confirmación al añadir a alguien:

```bash
curl https://api.emailit.com/v2/audiences/aud_5hJ2kL8mNp4Qr/subscribers \
  -X POST \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "email": "ada@example.com", "double_opt_in": true }'
```

La respuesta es `202` con `"status": "pending"`. Configurar un diseño personalizado (`email.source`) con la API forma parte de la fase alfa de MJML.

## Ver también

  - [Página de gestión de suscripciones](/es/docs/audiences/manage-subscriptions/): Deja que las personas elijan sus listas.
  - [URL de suscripción](/es/docs/audiences/subscribe-url/): Recoge altas desde tu propio sitio web.

---
Fuente: https://emailit.com/es/docs/audiences/double-opt-in/
