Autenticacion
Cómo generar y usar API keys para autenticarte con la API REST de Karrito.
#¿Qué necesito para usar la API?
La API REST de administración pertenece a Pro. Necesitas una llave activa, los permisos adecuados y acceso a la tienda de la petición. Consulta Planes.
#Crear una llave
Abre Configuración → Integraciones → Llaves de acceso. Dale un nombre, elige el alcance y los permisos necesarios, y copia la llave cuando el panel la muestre. Guarda el valor completo fuera del código público y las conversaciones.
Las llaves emitidas usan el prefijo kr_. Un texto de ejemplo no es una credencial: reemplázalo con tu propia llave al ejecutar una petición.
#Autenticar una petición
El encabezado es Authorization: Bearer <tu_llave>. Este ejemplo usa una variable de entorno y no contiene una llave real:
curl "https://karrito.app/api/v1/products?limit=10" -H "Authorization: Bearer $KARRITO_API_KEY"#¿Cómo elijo la tienda?
Una llave de tienda sólo alcanza esa tienda. Una llave de cuenta puede alcanzar las tiendas donde su titular conserve rol de propietario o administrador. Cuando haya varias, especifica el ID, no el nombre ni el slug, en el encabezado Karrito-Store:
Karrito-Store: ID_DE_LA_TIENDASin ese encabezado, una llave de cuenta con varias tiendas recibe un error solicitando la selección. Elegir una tienda no concede acceso a otra ni evita sus requisitos de plan.
#Permisos
| Scope | Alcance |
|---|---|
read | Lectura de recursos, incluida información de catálogo y pedidos. |
products:write | Escritura de productos, categorías, descuentos y envíos. |
orders:write | Cambios de pedidos y operaciones de reseñas que autorice el endpoint. |
store:write | Configuración de la tienda. |
stores:create, stores:delete | Operaciones de tiendas con una llave de cuenta y autorización correspondiente. |
El panel agrupa permisos de lectura y escritura. Crear o borrar tiendas es un permiso separado: no se obtiene por marcar escritura general. Los permisos concedidos tampoco sustituyen una confirmación sensible requerida por la operación.
#Errores de acceso
- 401: falta una llave válida, está revocada o ha expirado.
- 403: falta acceso, permiso o plan para la operación.
- 400: revisa la selección de tienda o el formato solicitado.
- 429: reduce la frecuencia y respeta
Retry-After.
Lee el cuerpo de la respuesta: no se promete el mismo campo code en todos los errores. Consulta Errores y Rate limiting.
#Proteger la integración
Usa una llave diferente por integración, concede el menor acceso necesario y revócala si se expone. Mantén las llamadas privadas en tu servidor; incluir una llave en JavaScript público la revela a los visitantes.