> ## Documentation Index
> Fetch the complete documentation index at: https://docs.plazbot.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Plantillas WhatsApp

> Gestiona tus plantillas de mensajes de WhatsApp aprobadas por Meta

### Introduccion

El modulo de **Template** te permite consultar y gestionar las plantillas de WhatsApp aprobadas por Meta desde tu codigo. 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 modulo te permite consultarlas programaticamente.
</Info>

### Inicializacion

<CodeGroup>
  ```ts Plazbot (recomendado) theme={null}
  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 theme={null}
  import { Template } from 'plazbot';

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

***

### Listar Todas las Plantillas

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

```ts theme={null}
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 theme={null}
const active = await plazbot.template.getActiveTemplates();
console.log(`Plantillas activas: ${active.length}`);
```

***

### Obtener Plantilla por ID

Obtiene el detalle de una plantilla especifica.

```ts theme={null}
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     | Descripcion                                                 |
| ------------ | -------- | ----------------------------------------------------------- |
| `id`         | `string` | Identificador unico de la plantilla                         |
| `name`       | `string` | Nombre de la plantilla                                      |
| `status`     | `string` | Estado: `APPROVED`, `PENDING`, `REJECTED`                   |
| `language`   | `string` | Codigo de idioma (ej: `es`, `en`)                           |
| `category`   | `string` | Categoria: `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 theme={null}
// 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 modulo de Template con el de Message para automatizar el envio de plantillas. Puedes listar las activas y enviarlas de forma programatica.
</Tip>
