Managing Products
The product list supports filtering, searching, sorting, and bulk operations.
The Product List
Go to Admin → Products to see all products for the current store. The list shows:
- Product name and image
- Price and compare-at price
- Stock status badge
- Visibility badge (public/private/draft)
- Quick actions menu
Filtering
Use the query parameters to filter the product list:
| Parameter | Values | Example |
|---|---|---|
search |
Text string | ?search=phone |
status |
in_stock, low_stock, out_of_stock, not_tracked |
?status=low_stock |
visibility |
public, private, draft |
?visibility=public |
categoryId |
UUID | ?categoryId=abc123... |
minPrice |
Number | ?minPrice=10 |
maxPrice |
Number | ?maxPrice=100 |
sortBy |
name, price, stockQuantity, createdAt |
?sortBy=price |
sortOrder |
asc, desc |
?sortOrder=desc |
Combine filters:
GET /api/v1/st_xxx/products?search=phone&status=in_stock&minPrice=100&maxPrice=500&sortBy=price&sortOrder=asc
Full-Text Search
Products are indexed in Typesense for typo-tolerant search. The search:
- Handles typos (e.g., "iphne" finds "iphone")
- Supports faceted filtering
- Returns results in milliseconds
- Updates automatically when products change
Search scope: product name, description, and SKU.
Sorting
| Sort Field | Description |
|---|---|
name |
Alphabetical by product name |
price |
By price (low to high or high to low) |
stockQuantity |
By available stock |
createdAt |
By creation date |
Default sort is by createdAt descending (newest first).
Pagination
The product list is paginated. Each page returns up to 50 items by default. Use the page parameter to navigate:
GET /api/v1/st_xxx/products?page=2&size=50
Storefront Search Component
The storefront ProductSearch component provides the same search with built-in UI:
<ProductSearch>
<ProductSearchInput class="w-full" placeholder="Search products..." />
<ProductSearchResults>
<Grid cols={4} gap={4}>
<CollectionView>
<Product>
<ProductImage />
<ProductName />
<ProductPrice />
</Product>
</CollectionView>
</Grid>
</ProductSearchResults>
<ProductSearchPagination />
</ProductSearch>
Filtering and sorting are handled by the component — no manual query string construction needed.
Reindexing
If search results seem stale, an admin can reindex all products:
POST /api/v1/admin/reindex
This is available in the admin panel and requires admin authentication.