# Plantillas (Snapshots)

Una **Plantilla** (Snapshot) empaqueta la configuración de un workspace ya implementado —Mets, flujos, colecciones, habilidades e integraciones— y la instala en otro workspace en minutos. Nunca viajan secretos ni datos vivos (contactos, conversaciones, credenciales): la instalación es **aditiva** (no borra nada) y todo lo ejecutable llega **desactivado** hasta que lo enciendas.

Con tu API key puedes **navegar el catálogo** e **instalar** una plantilla programáticamente.

## Scopes

| Scope | Para qué |
|---|---|
| `snapshots:read` | Navegar el catálogo y ver la ficha de una plantilla |
| `snapshots:install` | Reclamar (gratis) e instalar una plantilla en el workspace |
| `snapshots:publish` | Enviar tu plantilla a revisión editorial (solo partners) |

## Instalar una plantilla con el SDK

```ts
import Met from '@meteor.ia/sdk';

const met = new Met(process.env.MET_API_KEY!, { workspaceId: 123 });

// 1. Descubrir
const plantillas = await met.snapshots.list({ vertical: 'inmobiliaria' });
const ficha = await met.snapshots.retrieve(plantillas[0].slug);
console.log(ficha.counts);       // { mets: 4, flows: 12, collections: 6, ... }
console.log(ficha.requirements); // qué canales/credenciales conectar después

// 2. Obtener acceso (si es gratuita) e instalar
await met.snapshots.claim(ficha.id);
const install = await met.snapshots.install(ficha.id, {
  variables: { nombre_negocio: 'Inmobiliaria Andes' },
});
console.log(install.id, install.status); // sigue el progreso desde el producto
```

Si la plantilla es de pago, `claim` falla: la compra se hace desde el producto (checkout de Stripe). Una vez comprada, `install` funciona igual.

## Con HTTP directo

```bash
# Catálogo
curl https://api.met.meteor.com.co/api/v1/workspaces/123/snapshot-catalog \
  -H "Authorization: Bearer $MET_API_KEY"

# Instalar
curl -X POST \
  https://api.met.meteor.com.co/api/v1/workspaces/123/snapshots/$SNAPSHOT_ID/install \
  -H "Authorization: Bearer $MET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "variables": { "nombre_negocio": "Inmobiliaria Andes" } }'
```

## Con un agente (MCP)

Si conectas Met como servidor **MCP**, tu agente obtiene estas herramientas (según los scopes de la key):

- `met_list_snapshots` — lista el catálogo de plantillas.
- `met_get_snapshot` — ficha de una plantilla por slug.
- `met_install_snapshot` — instala una plantilla en el workspace.

Así, un agente de código puede montar un workspace completo a partir de una plantilla de su vertical con una sola key.

## Después de instalar

La instalación deja una **checklist de puesta en marcha** (conectar WhatsApp, credenciales de integraciones, activar flujos, llenar variables del negocio). Esa parte requiere conectar cuentas reales y hoy se completa **desde el producto**, no por API.
