# DemoShop API > API HTTP para una tienda demo. Todos los endpoints devuelven JSON. Sin autenticación requerida. ## Base URL `https://demoshop-88e.pages.dev` ## Endpoints ### Productos - `GET /api/products` — lista todos los productos disponibles. - `GET /api/products?q={termino}` — busca productos por nombre, categoría o descripción. - `GET /api/products/{id}` — devuelve detalle de un producto por su ID numérico. Respuesta de lista: ```json { "products": [ {"id":1,"name":"Auriculares Bluetooth","price":29.99,"category":"electronica","stock":50} ], "total": 8 } ``` ### Carrito - `POST /api/cart` — agrega un producto al carrito. Body JSON requerido: ```json {"product_id": 1, "quantity": 2} ``` Respuesta: ```json {"success": true, "item": {"product_id": 1, "quantity": 2}} ``` ### Checkout - `POST /api/checkout` — completa un pedido. Body JSON requerido: ```json { "customer_name": "Juan Perez", "email": "juan@example.com", "address": "Calle Falsa 123, Ciudad" } ``` Respuesta: ```json { "success": true, "order_id": "ORD-ABC123", "status": "confirmado", "estimated_delivery": "3-5 dias habiles" } ``` ## Errores comunes - `400` → body JSON malformado o faltan campos requeridos. - `404` → producto no encontrado. - `405` → método HTTP no soportado en ese endpoint. ## Cache Respuestas estáticas: `Cache-Control: public, max-age=300`. POST requests no se cachean. ## Skills - [product-search](/skills/product-search/SKILL.md): buscar productos por nombre, categoría o descripción. - [cart-add](/skills/cart-add/SKILL.md): agregar productos al carrito de compras. - [checkout-complete](/skills/checkout-complete/SKILL.md): completar un pedido con datos del cliente.