Saltar al contenido principal

Suggestions

Obtén sugerencias de búsqueda en tiempo real.

Endpoint

GET /api/suggestions

Headers

HeaderRequeridoDescripción
X-Widget-TokenToken de autenticación

Query params

ParamTipoRequeridoDescripción
qstringQuery parcial
limitnumberNoNúmero de sugerencias (default: 5)

Response

{
"suggestions": [
{
"type": "query",
"text": "zapatillas running",
"count": 150
},
{
"type": "category",
"text": "Zapatillas de deporte",
"count": 320
},
{
"type": "brand",
"text": "Nike",
"count": 85
},
{
"type": "product",
"text": "Nike Air Max 90",
"product": {
"id": "prod_123",
"name": "Nike Air Max 90",
"price": 129.99,
"imageUrl": "https://..."
}
}
]
}

Tipos de sugerencia

TipoDescripción
queryBúsqueda popular relacionada
categoryCategoría coincidente
brandMarca coincidente
productProducto específico

Ejemplo

curl -X GET "https://api.neuroon.ai/api/suggestions?q=zapat&limit=5" \
-H "X-Widget-Token: YOUR_TOKEN"

Uso recomendado

Implementa debounce para evitar peticiones excesivas:

import { debounce } from 'lodash';

const fetchSuggestions = debounce(async (query) => {
const response = await fetch(
`https://api.neuroon.ai/api/suggestions?q=${encodeURIComponent(query)}`,
{ headers: { 'X-Widget-Token': token } }
);
return response.json();
}, 150);

input.addEventListener('input', async (e) => {
if (e.target.value.length >= 2) {
const { suggestions } = await fetchSuggestions(e.target.value);
renderSuggestions(suggestions);
}
});

Notas

  • Mínimo 2 caracteres para obtener sugerencias
  • Las sugerencias se ordenan por relevancia
  • El campo count indica productos relacionados