Search
Realiza búsquedas semánticas en tu catálogo de productos.
Endpoint
POST /api/search
Headers
| Header | Requerido | Descripción |
|---|---|---|
X-Widget-Token | Sí | Token de autenticación |
Content-Type | Sí | application/json |
Request body
{
"query": "zapatillas running",
"limit": 20,
"offset": 0,
"filters": {
"categories": ["deportes"],
"brands": ["Nike", "Adidas"],
"priceMin": 50,
"priceMax": 200,
"inStock": true
}
}
Parámetros
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
query | string | Sí | Término de búsqueda |
limit | number | No | Resultados por página (default: 20, max: 100) |
offset | number | No | Desplazamiento para paginación |
filters | object | No | Filtros a aplicar |
Filtros disponibles
| Filtro | Tipo | Descripción |
|---|---|---|
categories | string[] | Filtrar por categorías |
brands | string[] | Filtrar por marcas |
tags | string[] | Filtrar por tags |
priceMin | number | Precio mínimo |
priceMax | number | Precio máximo |
inStock | boolean | Solo productos disponibles |
onSale | boolean | Solo productos en oferta |
Response
{
"query": "zapatillas running",
"results": [
{
"id": "prod_123",
"shopId": "shop_456",
"name": "Nike Air Max 90",
"description": "Zapatillas clásicas de running",
"price": 129.99,
"salePrice": 99.99,
"currency": "EUR",
"url": "https://tienda.com/nike-air-max-90",
"imageUrl": "https://tienda.com/images/nike-air-max-90.jpg",
"categories": ["deportes", "zapatillas"],
"brands": ["Nike"],
"tags": ["running", "casual"],
"inStock": true,
"score": 0.95
}
],
"total": 150,
"searchLogId": "log_abc123",
"queryTimeMs": 45,
"availableFilters": {
"priceRange": {
"min": 29.99,
"max": 299.99
},
"brands": [
{ "brand": "Nike", "count": 45 },
{ "brand": "Adidas", "count": 38 }
],
"categories": [
{ "category": "zapatillas", "count": 120 }
]
},
"guidedFilters": [
{
"id": "filter_1",
"question": "¿Para qué tipo de terreno?",
"type": "SINGLE_CHOICE",
"options": [
{ "label": "Asfalto", "filter": { "tags": ["asfalto"] }, "count": 80 },
{ "label": "Trail", "filter": { "tags": ["trail"] }, "count": 40 }
]
}
],
"aiResponse": "He encontrado 150 zapatillas de running. Te recomiendo filtrar por tipo de terreno para encontrar las más adecuadas."
}
Ejemplo
curl -X POST https://api.neuroon.ai/api/search \
-H "X-Widget-Token: YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"query": "zapatillas running",
"limit": 10,
"filters": {
"priceMax": 150,
"inStock": true
}
}'
Notas
- Los resultados se ordenan por relevancia semántica (score)
- El campo
scoreindica la similitud (0-1, mayor es mejor) guidedFiltersson filtros sugeridos por la IA basados en la intenciónaiResponsees una respuesta generada por IA (requiere plan Growth+)