# Plantillas (/es/concepts/templates)

Una plantilla vive en el panel de Bitelio y puede impulsar cualquier tipo de envío: campañas, pasos de flujo de trabajo o correos transaccionales despachados mediante `/v1/send`.

## Anatomía de una plantilla

El contenido, la identidad del remitente y el comportamiento de envío se empaquetan juntos en la plantilla:

import {TypeTable} from 'fumadocs-ui/components/type-table';

<TypeTable
  type={{
  name: { type: 'string', required: true, description: 'Etiqueta interna mostrada en el panel.' },
  description: { type: 'string', description: 'Nota interna de formato libre; opcional.' },
  subject: { type: 'string', required: true, description: 'Línea de asunto; admite variables de plantilla.' },
  body: { type: 'string', required: true, description: 'El cuerpo HTML, con soporte de variables de plantilla.' },
  from: { type: 'string', required: true, description: 'Dirección de envío — su dominio debe estar verificado.' },
  fromName: { type: 'string', description: 'Nombre mostrado como remitente; opcional.' },
  replyTo: { type: 'string', description: 'Dirección de respuesta (reply-to); opcional.' },
  type: { type: 'string', required: true, description: 'Uno de `MARKETING`, `TRANSACTIONAL` o `HEADLESS`. Consulta [Tipos de plantilla](#templates-types).' },
  style: { type: 'object', description: 'Metadatos para el editor de arrastrar y soltar del panel. Se puede omitir cuando se trabaja con plantillas vía la API.' },
}}
/>

Cuando `/v1/send` hace referencia a una plantilla, cualquiera de `subject`, `body`, `from`, `fromName` y `replyTo` puede sobrescribirse por solicitud — los valores guardados en la plantilla sirven solo como valores por defecto.

### Verificación del dominio remitente

La dirección `from` de una plantilla debe pertenecer a un dominio verificado; crear o actualizar con una no verificada se rechaza con `403`. Consulta [Verificación de dominios](/es/guides/verifying-domains).

## Diseñar plantillas

Puedes construir plantillas en el editor integrado o pegar HTML que hayas escrito en otro lugar.

### Personalización

Las plantillas se personalizan con marcadores estilo handlebars — escribe `{{ key }}` y se resuelve al valor de dato del contacto para esa clave.

#### Variables siempre disponibles

Sean cuales sean los datos personalizados de un contacto, estas variables siempre se pueden usar:

| Variable             | Descripción                                   |
| -------------------- | --------------------------------------------- |
| `{{id}}`             | El identificador único del contacto           |
| `{{email}}`          | La dirección de correo del contacto           |
| `{{unsubscribeUrl}}` | URL a la página de cancelación de suscripción |
| `{{subscribeUrl}}`   | URL a la página de suscripción/resuscripción  |
| `{{manageUrl}}`      | URL a la página de gestión de preferencias    |

#### Valores de reserva

Una variable que puede faltar puede llevar un valor de reserva:

```
Hello {{firstName ?? 'there'}}!
```

Cuando `firstName` no está presente, el resultado es "Hello there!"

#### Campos especiales

Estos campos son gestionados por Bitelio, pero siguen siendo usables en las plantillas.

| Variable         | Descripción                                              |
| ---------------- | -------------------------------------------------------- |
| `{{subscribed}}` | Estado de suscripción del contacto (true/false)          |
| `{{locale}}`     | Idioma preferido del contacto (p. ej., 'en', 'fr', 'es') |

### Vista previa de plantillas

Elige un contacto en la ventana de vista previa para renderizar la plantilla con los datos reales de ese contacto — una forma rápida de comprobar exactamente qué vería un destinatario concreto.

## Duplicar y encontrar el uso

* `POST /templates/:id/duplicate` — crea una copia editable, útil para variantes A/B o como base de un correo relacionado.
* `GET /templates/:id/usage` — devuelve cada campaña, paso de flujo de trabajo y otra referencia que apunte a la plantilla. Ejecútalo antes de editar ("¿qué depende de esto?") o antes de eliminar ("¿queda algo pendiente?").

## Tipos de plantilla

Bitelio tiene tres tipos de plantilla. Los tres se envían con la misma prioridad — la entregabilidad y el rendimiento no son motivo para elegir uno sobre otro.

| Tipo          | Respeta la baja | Pie de cancelación de Bitelio | Descripción                                                                                                                                                                                                                                               |
| ------------- | :-------------: | :---------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Marketing     |        Sí       |               Sí              | Se añade automáticamente un pie de cancelación alojado por Bitelio, y los contactos no suscritos nunca lo reciben                                                                                                                                         |
| Transaccional |        No       |               No              | No lleva opción de cancelación y llega a todos los contactos, sea cual sea su estado de suscripción                                                                                                                                                       |
| Headless      |        Sí       |               No              | Respeta la baja exactamente igual que marketing, pero Bitelio no añade ningún pie — incluir una ruta de cancelación en el cuerpo corre por tu cuenta. Enlaza a la página de cancelación gestionada por Bitelio con `{{unsubscribeUrl}}` o `{{manageUrl}}` |

## Qué sigue

<Cards>
  <Card title="Correos transaccionales" href="/es/concepts/transactional-emails">
    Despacha correos con plantilla directamente desde `/v1/send`.
  </Card>

  <Card title="Campañas" href="/es/concepts/campaigns">
    Envía una plantilla a un segmento o a una audiencia más amplia.
  </Card>

  <Card title="Flujos de trabajo" href="/es/concepts/workflows">
    Usa plantillas dentro de journeys automatizados.
  </Card>

  <Card title="Localización" href="/es/guides/localization">
    Localiza el pie de cancelación y las páginas orientadas al contacto.
  </Card>
</Cards>
