namespace CoreConnect.Commerce.Catalog;
public class SearchProductsRequest
/// The text string on which to search, for example: "Sofa" or "Bed".
public string? Text { get; set; }
/// The list of product ids.
public string[]? ProductIds { get; set; }
/// The list of product types
public string[]? ProductTypes { get; set; }
/// The list of product keys.
public string[]? ProductKeys { get; set; }
/// The list of product slugs.
public string[]? ProductSlugs { get; set; }
/// Gets or sets the product category ids.
public string[]? ProductCategoryIds { get; set; }
/// Gets or sets the product category keys.
public string[]? ProductCategoryKeys { get; set; }
/// Gets or sets the product category slugs.
public string[]? ProductCategorySlugs { get; set; }
/// Gets or sets the facets.
public IEnumerable<string>? Facets { get; set; }
/// Gets or sets the filters.
public IEnumerable<AvailableFilters>? Filters { get; set; }
/// Gets or sets the filters exclusion.
public IEnumerable<AvailableFilters>? FiltersNot { get; set; }
/// Gets or sets the sortings.
public IEnumerable<Sorting>? Sortings { get; set; }
/// Get or sets if the filters must be used to filter the variants
public bool? HaveVariantFilter { get; set; }
/// The maximum number of records to retrieve.
public int? Limit { get; set; }
/// By specifying offset, you retrieve a subset of records starting with the offset.
public int? Offset { get; set; }
public bool? IncludeFilterOptions { get; set; }
public bool? IncludeCategoriesFilterOptions { get; set; }
/// Gets or sets whether to also include hidden categories.
public bool? IncludeHiddenCategories { get; set; }
public int? CategoriesFilterOptionsDepth { get; set; }
public class AvailableFilters
public string? Name { get; set; }
public string[]? Keys { get; set; }
public Sort? Sort { get; set; }
public class VariantFilter
public required string Name { get; set; }
public required string Key { get; set; }
public Sorting(string sortType, Sort? sort)
public string SortType { get; set; }
public Sort? Sort { get; set; }