# Plantillas WhatsApp

> Gestiona tus plantillas de mensajes de WhatsApp aprobadas por Meta

Fuente: https://developers.plazbot.com/sdk/template/

### Introducción

El módulo de **Template** te permite consultar y gestionar las plantillas de WhatsApp aprobadas por Meta desde tu código. Las plantillas son necesarias para iniciar conversaciones fuera de la ventana de 24 horas.

> **Info:** Las plantillas se crean y aprueban desde **Marketing** > **Plantillas** en la plataforma Plazbot. Este módulo te permite consultarlas programaticamente.

### Inicialización

```ts Plazbot (recomendado)
import { Plazbot } from 'plazbot';

const plazbot = new Plazbot({
workspaceId: "YOUR_WORKSPACE_ID",
apiKey: "YOUR_API_KEY",
zone: "LA"
});

// Usar: plazbot.template.getTemplates()
```

```ts Template individual
import { Template } from 'plazbot';

const template = new Template({
workspaceId: "YOUR_WORKSPACE_ID",
apiKey: "YOUR_API_KEY",
zone: "LA"
});
```

---

### Listar Todas las Plantillas

Obtiene todas las plantillas del workspace, incluyendo las pendientes de aprobacion.

```ts
const templates = await plazbot.template.getTemplates();

for (const t of templates) {
console.log(`${t.name} - ${t.status}`);
}
```

---

### Listar Plantillas Activas

Obtiene solo las plantillas que estan aprobadas y listas para usar.

```ts
const active = await plazbot.template.getActiveTemplates();
console.log(`Plantillas activas: ${active.length}`);
```

---

### Obtener Plantilla por ID

Obtiene el detalle de una plantilla especifica.

```ts
const template = await plazbot.template.getTemplate("template-id");

console.log(template.name);
console.log(template.status);
console.log(template.language);
console.log(template.category);
```

---

### Campos de la Plantilla

| Campo | Tipo | Descripción |
|-------|------|-------------|
| `id` | `string` | Identificador único de la plantilla |
| `name` | `string` | Nombre de la plantilla |
| `status` | `string` | Estado: `APPROVED`, `PENDING`, `REJECTED` |
| `language` | `string` | Código de idioma (ej: `es`, `en`) |
| `category` | `string` | Categoría: `MARKETING`, `UTILITY`, `AUTHENTICATION` |
| `components` | `array` | Componentes de la plantilla (header, body, footer, buttons) |

---

### Uso con Mensajes

Una vez que tienes el nombre de la plantilla, puedes usarla para enviar mensajes:

```ts
// Obtener plantillas activas
const templates = await plazbot.template.getActiveTemplates();
const templateName = templates[0].name;

// Enviar usando el modulo de mensajes
await plazbot.message.onConversation({
to: "51912345678",
template: templateName
});
```

> **Tip:** Combina el módulo de Template con el de Message para automatizar el envio de plantillas. Puedes listar las activas y enviarlas de forma programatica.
