Saltar al contenido

Autenticacion

Cómo generar y usar API keys para autenticarte con la API REST de Karrito.

3 min de lecturaapi, autenticacion, api-key, seguridadActualizado: 7 de octubre de 2026

#¿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_TIENDA

Sin 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

ScopeAlcance
readLectura de recursos, incluida información de catálogo y pedidos.
products:writeEscritura de productos, categorías, descuentos y envíos.
orders:writeCambios de pedidos y operaciones de reseñas que autorice el endpoint.
store:writeConfiguración de la tienda.
stores:create, stores:deleteOperaciones 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.