Products
Endpoints para gestionar el catálogo de productos.
Listar productos
GET /api/shops/{shopId}/products
Headers
X-Shop-API-Key: YOUR_API_KEY
Query params
| Param | Tipo | Descripción |
|---|---|---|
page | number | Número de página (default: 0) |
size | number | Productos por página (default: 20) |
sort | string | Campo de ordenación |
Response
{
"content": [
{
"id": "prod_123",
"externalId": "SKU-001",
"name": "Producto ejemplo",
"price": 99.99,
"inStock": true,
"createdAt": "2024-01-15T10:00:00Z"
}
],
"page": 0,
"size": 20,
"totalElements": 150,
"totalPages": 8
}
Sincronizar productos
POST /api/shops/{shopId}/products/sync
Sincroniza productos (crea o actualiza).
Headers
X-Shop-API-Key: YOUR_API_KEY
Content-Type: application/json
Request body
[
{
"externalId": "SKU-001",
"name": "Zapatillas Nike Air Max",
"description": "Zapatillas clásicas de running",
"price": 129.99,
"salePrice": 99.99,
"currency": "EUR",
"url": "https://tienda.com/nike-air-max",
"imageUrl": "https://tienda.com/images/nike.jpg",
"categories": ["deportes", "zapatillas"],
"brand": "Nike",
"tags": ["running", "casual"],
"inStock": true,
"stockQuantity": 25
}
]
Campos
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
externalId | string | ✅ | ID único en tu sistema |
name | string | ✅ | Nombre del producto |
price | number | ✅ | Precio actual |
url | string | ✅ | URL del producto |
description | string | ❌ | Descripción |
salePrice | number | ❌ | Precio de oferta |
currency | string | ❌ | Código de moneda (default: EUR) |
imageUrl | string | ❌ | URL de imagen |
categories | string[] | ❌ | Categorías |
brand | string | ❌ | Marca |
tags | string[] | ❌ | Tags/etiquetas |
inStock | boolean | ❌ | Disponibilidad (default: true) |
stockQuantity | number | ❌ | Cantidad en stock |
Response
{
"synced": 10,
"created": 3,
"updated": 7,
"failed": 0,
"errors": []
}
Eliminar producto
DELETE /api/shops/{shopId}/products/{productId}
Headers
X-Shop-API-Key: YOUR_API_KEY
Response
{
"deleted": true
}
Ejemplo: Sincronización batch
curl -X POST https://api.neuroon.ai/api/shops/shop_123/products/sync \
-H "X-Shop-API-Key: sk_live_abc123" \
-H "Content-Type: application/json" \
-d '[
{
"externalId": "SKU-001",
"name": "Producto 1",
"price": 49.99,
"url": "https://tienda.com/producto-1"
},
{
"externalId": "SKU-002",
"name": "Producto 2",
"price": 79.99,
"url": "https://tienda.com/producto-2"
}
]'
Límites
- Máximo 100 productos por petición de sync
- Para catálogos grandes, usa múltiples peticiones
- Respeta los rate limits