# Primeros pasos

> Creá una clave en el panel de Turnova y hacé tu primera llamada en cinco minutos.

## 1. Elegí el tipo de clave

| Tipo | Empieza con | Dónde se usa |
| --- | --- | --- |
| Pública | `tnv_pk_` | En el JavaScript de tu sitio. Solo funciona desde los orígenes que cargues (hasta 10). |
| Secreta | `tnv_sk_` | Solo en tu servidor (variable de entorno). Se rechaza si llega desde un navegador. |

Si tu sitio es estático o una SPA, usá una clave pública. Si tenés backend, podés usar la secreta desde ahí, que además puede consultar el estado de una reserva.

## 2. Creá la clave en el panel

1. Entrá al panel de Turnova con la cuenta de la dueña o de una administradora.
2. Andá a **Configuración > API para tu sitio** y tocá **Nueva clave**.
3. Poné un nombre que reconozcas (por ejemplo, «Web del spa»), elegí el tipo y los permisos.
4. Si es pública, cargá el origen de tu sitio tal como lo ve el navegador: `https://mi-spa.com` (sin barra final ni camino). Para desarrollo vale `http://localhost:3000`.
5. Copiá la clave: **se muestra una sola vez**. Turnova guarda solo una huella para reconocerla.

## 3. Probá la primera llamada

curl:

```bash
export TURNOVA_CLAVE_SECRETA="tnv_sk_..."
curl "https://turnovapp.com/api/v1/catalogo" \
  -H "Authorization: Bearer $TURNOVA_CLAVE_SECRETA"
```

JavaScript:

```js
// En tu sitio, servido desde https://mi-spa.com
const res = await fetch("https://turnovapp.com/api/v1/catalogo", {
  headers: { Authorization: "Bearer tnv_pk_TU_CLAVE_PUBLICA" },
});
console.log(await res.json());
```

Si todo está bien, la respuesta trae `ok: true` y en `datos` el nombre del negocio, sus sedes, profesionales y servicios.

## Permisos de cada clave

| Permiso | Habilita | Pública | Secreta |
| --- | --- | --- | --- |
| `catalogo:leer` | Leer el catálogo | Sí | Sí |
| `disponibilidad:leer` | Consultar horarios libres | Sí | Sí |
| `reservas:crear` | Crear reservas | Sí | Sí |
| `reservas:leer` | Leer una reserva hecha por la API | No | Sí |

## Rotar o dar de baja una clave

Para rotar, creá una clave nueva, cambiala en tu sitio y después revocá la anterior desde el mismo panel. Desde que se revoca, todo pedido con esa clave responde `401 CREDENCIAL_REVOCADA`. Pueden convivir varias claves activas.
