# Crear una plantilla

> plazbot templates create: crea una plantilla de WhatsApp y la envía a aprobación de Meta.

Fuente: https://developers.plazbot.com/cli/templates/create/

### Crear una plantilla

Crea una plantilla de WhatsApp y la envía a aprobación de Meta, igual que en **Marketing** > **Plantillas**. Meta la revisa en minutos, a veces hasta en 24 horas; consulta el resultado con [`templates sync`](https://developers.plazbot.com/cli/templates/sync).

```bash
plazbot templates create -n <nombre> -c <categoría> -b <cuerpo> [opciones]
```

### Parámetros

| Parámetro | Flag | Requerido | Descripción |
|-----------|------|-----------|-------------|
| Nombre | `-n, --name <name>` | Sí | Minúsculas, números y guion bajo (ej. `order_update`). |
| Categoría | `-c, --category <category>` | Sí | `MARKETING`, `UTILITY` o `AUTHENTICATION`. |
| Cuerpo | `-b, --body <text>` | Sí | Texto del mensaje. Variables `{{1}}`, `{{2}}`… en orden. |
| Ejemplos | `-e, --example <values...>` | Si hay variables | Un valor de ejemplo por variable del cuerpo, en orden. Meta los usa para revisar la plantilla. |
| Idioma | `-l, --language <code>` | No | Código de idioma de Meta. Por defecto `es`. |
| Número | `-p, --phone <number>` | No | Número que envía la plantilla. Obligatorio si el workspace tiene más de un número. |
| Id del número | `--number-id <id>` | No | Id de la integración en Plazbot, en lugar de `--phone`. |
| Encabezado | `--header <text>` | No | Encabezado de texto, con una variable `{{1}}` opcional. |
| Ejemplo del encabezado | `--header-example <value>` | No | Valor de ejemplo de la variable `{{1}}` del encabezado. |
| Archivo de encabezado | `--header-file <path>` | No | Imagen JPG/PNG, video MP4 o documento PDF. |
| Pie | `--footer <text>` | No | Pie de mensaje. |
| Botones | `--button <spec...>` | No | `quick:Texto`, `url:Texto\|https://…` o `phone:Texto\|+51912345678`. Hasta 10. |
| Etiquetas | `--tag <tags...>` | No | Etiquetas internas de Plazbot. |
| Desde archivo | `--from-file <path>` | No | Lee todo de un JSON. Los flags lo sobrescriben. |
| Workspace / zona | `-w` / `-z` | No | Por defecto, los activos. |
| JSON | `--json` | No | Imprime `{ id, name, status }`. |

### Ejemplos

```bash
# Plantilla de utilidad con dos variables
plazbot templates create -n order_update -c UTILITY \
-b "Hola {{1}}, tu pedido {{2}} ya salió." -e Ana PB-123

# Con PDF en el encabezado, pie y botones
plazbot templates create -n factura_lista -c UTILITY \
-b "Hola {{1}}, adjuntamos tu factura." -e Ana \
--header-file ./factura.pdf --footer "Gracias por tu compra" \
--button "quick:Recibido" "url:Pagar|https://pagos.example.com"

# Desde un archivo JSON
plazbot templates create --from-file ./plantilla.json --json
```

El JSON usa los mismos campos que el SDK. El archivo del encabezado se indica como ruta:

```json
{
"name": "confirmacion_cita",
"category": "UTILITY",
"number": "+51912345678",
"header": { "file": "./cita.png" },
"body": { "text": "Hola {{1}}, tu cita es el {{2}}.", "examples": ["Ana", "jueves"] },
"buttons": [{ "type": "QUICK_REPLY", "text": "Confirmar cita" }]
}
```

### Resultado

```text
✔ Template order_update created (tem_AbcDef123)
Status in Meta: pending review
ℹ Check it later with: plazbot templates sync
```
