Search
Search Products
GET /ajax/search/products
Parameters:
| Parameter | Type | Description |
|---|---|---|
q | string | Search query |
collectionId | string | Filter by collection |
sort | string | Sort order |
filters[key][] | string | Filter by option value (can send multiple) |
filters[price][min] | number | Minimum price |
filters[price][max] | number | Maximum price |
filters[rating][min] | number | Minimum rating (1-5) |
Sort Options:
rating-asc/rating-descprice-asc/price-desccreated-asc/created-desc
Filters:
Filters use bracket notation in the query string. The key is the filter name (e.g. gender, color, size), and you can send multiple values for the same filter.
GET /ajax/search/products?q=dress&filters[gender][]=women&filters[gender][]=men&filters[price][min]=50&filters[price][max]=500
Example:
GET /ajax/search/products?q=House&collectionId=6793f5bea1f27ed3027ec202&sort=rating-asc
Search Suggestions
GET /ajax/search/suggest
Parameters:
| Parameter | Type | Description |
|---|---|---|
q | string | Search query |
resources[type] | string | Resource types (comma-separated) |
resources[limit] | number | Results limit |
Resource Types: product, collection
Example:
GET /ajax/search/suggest?q=House&resources[type]=product,collection&resources[limit]=5
JavaScript Example
async function searchProducts(query, filters = {}) {
const params = new URLSearchParams({ q: query });
// Add filters: filters[key][] = value
if (filters.gender) {
filters.gender.forEach(v => params.append('filters[gender][]', v));
}
// Add price range
if (filters.priceMin) params.set('filters[price][min]', filters.priceMin);
if (filters.priceMax) params.set('filters[price][max]', filters.priceMax);
const res = await fetch(`/ajax/search/products?${params}`);
return res.json();
}
// Example usage
searchProducts('dress', {
gender: ['women', 'men'],
priceMin: 50,
priceMax: 500
});
async function getSuggestions(query, limit = 5) {
const params = new URLSearchParams({
q: query,
'resources[type]': 'product,collection',
'resources[limit]': limit
});
const res = await fetch(`/ajax/search/suggest?${params}`);
return res.json();
}