# Auth.md

Bienvenido a la documentación de registro y autenticación para agentes de Inteligencia Artificial en **TerraBike Chile** (https://www.terrabike.cl).

## 1. Visión General
TerraBike provee capacidades de lectura pública para catálogo y productos, y mecanismos seguros de autenticación para agentes de IA que actúen en nombre de usuarios.

## 2. Registro de Agentes (Agent Registration)
Los agentes de IA que requieran interactuar con la plataforma (creación de carritos, seguimiento de órdenes o integración directa) pueden registrarse y autenticarse mediante:
- **Issuer OAuth / OIDC**: `https://www.terrabike.cl`
- **Protected Resource**: `https://www.terrabike.cl/.well-known/oauth-protected-resource`
- **Contacto de Registro**: Enviar solicitud a `contacto@terrabike.cl` especificando el identificador del agente, organización y scopes requeridos.

## 3. Puntos de Descubrimiento de Agentes
- **AI Catalog (ARD)**: https://www.terrabike.cl/.well-known/ai-catalog.json
- **MCP Server Card**: https://www.terrabike.cl/.well-known/mcp/server-card.json
- **Agent Skills Index**: https://www.terrabike.cl/.well-known/agent-skills/index.json
- **OpenID Configuration**: https://www.terrabike.cl/.well-known/openid-configuration
- **OAuth Protected Resource**: https://www.terrabike.cl/.well-known/oauth-protected-resource
- **OAuth Authorization Server**: https://www.terrabike.cl/.well-known/oauth-authorization-server
- **API Catalog (RFC 9727)**: https://www.terrabike.cl/.well-known/api-catalog

## 4. Métodos de Autenticación
### Acceso Público (Lectura)
El catálogo de productos y la búsqueda no requieren autenticación:
- `GET https://www.terrabike.cl/api/openapi.json`
- `GET https://www.terrabike.cl/api/woo-proxy/products`

### Acceso de Agente Registrado (Escritura / Carrito / Pedidos)
- **Método**: Cabecera `Authorization: Bearer <TOKEN>` o Application Passwords de WordPress.
- **Tipos de Credenciales Soportadas**: `bearer_token`, `api_key`.

## 5. Scopes Soportados
- `read:products`: Consulta de catálogo, atributos, categorías y stock.
- `write:cart`: Gestión y agregación de items en sesión de compra.
- `create:orders`: Creación y seguimiento de órdenes.
- `read:orders`: Consulta del estado de pedidos del usuario autenticado.

