# Claves y modos

> Claves publicables, secretas y restringidas; modo de prueba y modo real; permisos, orígenes, rotación de claves y listas de IP permitidas.

Source: https://docs.tryyoursize.com/es/get-started/keys-and-modes/

Cada clave pertenece a una **tienda** y a un **modo** (de prueba o real). Créalas y gestiónalas en **Studio → Desarrolladores → Claves de API**. La clave completa se muestra una sola vez; nosotros solo guardamos un hash.

## Tres tipos de clave

| Tipo | Prefijo | Dónde va | Qué puede hacer |
|---|---|---|---|
| **Publicable** | `pk_test_…` / `pk_live_…` | Tus páginas web y tus apps | Mostrar la guía de tallas, abrir la ventana, leer la talla recomendada de quien compra. Solo funciona desde los **orígenes** que registres |
| **Secreta** | `sk_test_…` / `sk_live_…` | Solo tu servidor | Todos los permisos de servidor de su tienda |
| **Restringida** | `rk_test_…` / `rk_live_…` | El servidor de un partner (plataforma de devoluciones, PLM, BI) | Solo los permisos que elijas |

Nunca pongas una clave secreta o restringida en una página o en una app. Si lo intentas, el SDK web lanza `secret_key_in_browser` y los SDK móviles lanzan `secret_key_in_app`.

## Modo de prueba y modo real

El modo es de la clave: una petición hecha con una clave de prueba es una petición de prueba.

| | Prueba | Real |
|---|---|---|
| Orígenes | Los orígenes que añadas para el modo de prueba, más `localhost` | Solo orígenes cubiertos por un [dominio verificado](https://docs.tryyoursize.com/es/get-started/going-live.md#verifica-tu-dominio) |
| Prendas que responden | Borradores y versiones publicadas (el equipo de diseño puede revisarlas antes de publicar) | Solo versiones publicadas |
| Clientes | Pueden iniciar sesión cuentas reales; la ventana muestra una banda "MODO DE PRUEBA" | Clientes reales |
| Facturación | Nunca se mide | Se miden las pruebas de tallaje |
| Límites | 1.000 pruebas de tallaje al día por tienda | Según el plan |
| Analítica, A/B, webhooks | Separados del modo real | Modo real |

El **catálogo es compartido** por ambos modos: no mantienes dos catálogos. El modo de prueba responde con borradores y el modo real con versiones publicadas, así que un borrador nunca llega a clientes reales.

## Permisos de las claves

Una clave secreta tiene todos los permisos. Una clave restringida solo tiene los permisos con los que se creó; una llamada fuera de ellos responde `403 forbidden`. Cada operación de la [referencia de la API](https://docs.tryyoursize.com/api/reference.md) indica sus **Key scopes** (permisos de clave).

| Permiso | Permite |
|---|---|
| `products:read` | Listar y leer productos, mapas de tallas, prendas y grupos de tallaje |
| `products:write` | Crear y actualizar productos, mapas de tallas y grupos de tallaje |
| `garments:write` | Crear y editar borradores de prendas |
| `garments:publish` | Publicar una versión de prenda (es la que se simula para los clientes) |
| `orders:write` | `POST /v1/orders` |
| `returns:write` | `POST /v1/returns` |
| `fit_checks:read` | `POST /v1/recommendations` (recomendaciones en el servidor) |
| `audit:read` | `GET /v1/audit_events` |
| `analytics:read`, `webhooks:manage` | Reservados para endpoints de servidor que llegarán pronto |

## Orígenes

Una clave publicable solo funciona en los sitios que registres para ella, por tienda y modo, en **Studio → Ajustes → Tiendas → Sitios permitidos**.

- Solo orígenes `https://`, sin ruta. `http://` solo para `localhost`, en modo de prueba.
- `https://*.brand.com` incluye los subdominios (no el dominio raíz `brand.com`).
- Los orígenes en modo real deben estar cubiertos por un dominio verificado. Un dominio raíz verificado cubre sus subdominios.
- Hasta 50 orígenes por modo.
- Las apps registran un origen de app: `ios-app://<bundle id>` o `android-app://<package>` (en minúsculas). Por ahora los orígenes de app solo se aceptan en **modo de prueba**; el modo real para apps necesita verificar la app, algo que llegará pronto.

## Rotar y revocar claves

- **Rota** una clave para sustituirla sin cortes. La nueva clave tiene el mismo tipo, modo, nombre y permisos. Elige cuánto tiempo sigue funcionando la anterior: `now`, `1h`, `24h` o `7d`. Pasado ese tiempo responde `401`.
- **Revocar** detiene una clave al instante.
- Crear, rotar o revocar una clave secreta o restringida **de modo real** te pide volver a iniciar sesión.
- Hasta 20 claves activas por tienda y modo.
- Cada clave muestra cuándo se usó por última vez (se actualiza como mucho una vez por minuto). Cada cambio queda en tu registro de auditoría.

## Lista de IP permitidas

Las claves secretas y restringidas se pueden limitar a una lista de direcciones IP; se rechaza cualquier llamada desde otra dirección. La pantalla de Studio para configurarlo llegará pronto: mientras tanto, pide a [soporte](mailto:support@tryyoursize.com) que la configure.

## Límites de peticiones

Consulta [Rate limits](https://docs.tryyoursize.com/guides/rate-limits.md) (en inglés).
