API de Productos ‐ Ctrl Store - NSaldarriagaV/Ctrl-Store GitHub Wiki
API de Productos - Ctrl+Store
Endpoint Público: Productos en Stock
Información General
URL Base: (https://ctrlstore-service-420478585093.us-central1.run.app/) (o http://127.0.0.1:8000 en desarrollo)
Endpoint: GET /api/products/in-stock/ completo https://ctrlstore-service-420478585093.us-central1.run.app/api/products/in-stock/
Autenticación: No requerida (público)
Formato de Respuesta: JSON
Descripción
Este endpoint retorna una lista de productos activos que están actualmente en stock, incluyendo información básica y enlace directo a la página de detalle de cada producto.
Parámetros
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
featured |
string | No | Filtrar solo productos destacados. Valores: true, 1, yes |
Respuesta
Estructura
{
"results": [
{
"id": 1,
"name": "Laptop X",
"price": 3500000.0,
"detail_url": "/p/1/"
}
]
}
Campos
| Campo | Tipo | Descripción |
|---|---|---|
id |
integer | ID único del producto |
name |
string | Nombre del producto |
price |
float | Precio en COP (pesos colombianos) |
detail_url |
string | URL relativa para ver el detalle del producto |
Ejemplos de Uso
Obtener todos los productos en stock
curl https://tu-dominio.com/api/products/in-stock/
Obtener solo productos destacados
curl https://tu-dominio.com/api/products/in-stock/?featured=true
Ejemplo en Python
import requests
response = requests.get('https://tu-dominio.com/api/products/in-stock/')
data = response.json()
for product in data['results']:
print(f"{product['name']}: ${product['price']:,.0f}")
Ejemplo en JavaScript
fetch('https://tu-dominio.com/api/products/in-stock/')
.then(response => response.json())
.then(data => {
data.results.forEach(product => {
console.log(`${product.name}: $${product.price.toLocaleString()}`);
});
});
Limitaciones
- Máximo 100 productos por consulta
- Solo productos activos (
is_active=True) - Solo productos con stock disponible (
stock_quantity > 0) - Ordenados por: destacados primero, luego por fecha de creación (más recientes primero)
Códigos de Estado HTTP
| Código | Descripción |
|---|---|
200 |
Consulta exitosa |
404 |
Ruta no encontrada |
500 |
Error del servidor |
Notas Importantes
-
URL del detalle: El campo
detail_urles relativo. Para construir la URL completa, concaténalo con la URL base.- Ejemplo: Si
detail_url = "/p/1/"y tu servidor está enhttps://tu-dominio.com, la URL completa eshttps://tu-dominio.com/p/1/
- Ejemplo: Si
-
Precios: Todos los precios están en pesos colombianos (COP) y son números decimales.
-
Límite de resultados: El endpoint retorna máximo 100 productos.
Documentación Completa
Para más detalles, ejemplos y casos de uso, consulta: docs/API_PRODUCTOS.md
Soporte
Para preguntas o problemas con la API, contactar al equipo de Ctrl+Store.