/** * **Типы запросов модуля советника Ensi Cloud Adviser** * * _Определяет интерфейсы для запросов к API рекомендаций._ * * @module adviser-requests */ import { AdviserSortType, IncludeType } from "./enums"; /** * Базовый интерфейс для пагинации */ export interface PaginationRequest { /** Количество элементов на странице */ limit: number; /** Смещение */ offset?: number; } /** * Базовый интерфейс для загрузки полных данных о продуктах */ export interface LoadFullProductsRequest { /** ID локации */ location_id: string; /** Включаемые данные */ include: IncludeType[]; } /** * Запрос на получение рекомендаций "People also search for this product" */ export interface RecommendationProductsRequest { /** Сортировка */ sort?: string; /** Фильтр */ filter: { /** ID продукта */ product_id: string; }; /** Пагинация */ pagination: PaginationRequest; /** Загрузка полных данных о продуктах */ load_full_products: LoadFullProductsRequest; } /** * Запрос на получение рекомендаций "Searchers also viewed" */ export interface RecommendationQueryProductsRequest { /** Сортировка */ sort?: string; /** Фильтр */ filter: { /** Поисковый запрос */ query: string; }; /** Пагинация */ pagination: PaginationRequest; /** Загрузка полных данных о продуктах */ load_full_products: LoadFullProductsRequest; } /** * Запрос на получение рекомендаций "Cross Sell" */ export interface CrossSellProductsRequest { /** Сортировка */ sort?: string; /** Фильтр */ filter: { /** ID продукта */ product_id: string; }; /** Пагинация */ pagination: PaginationRequest; /** Загрузка полных данных о продуктах */ load_full_products: LoadFullProductsRequest; } /** * Запрос на получение рекомендаций "Up Sell" */ export interface UpSellProductsRequest { /** Сортировка */ sort?: string; /** Фильтр */ filter: { /** ID продукта */ product_id: string; /** ID локации */ location_id: string; }; /** Пагинация */ pagination: PaginationRequest; /** Загрузка полных данных о продуктах */ load_full_products: LoadFullProductsRequest; } /** * Запрос на получение недавно просмотренных товаров */ export interface RecentlyWatchedProductsRequest { /** Фильтр */ filter: { /** ID клиента */ customer_id: string; }; /** Пагинация */ pagination: PaginationRequest; /** Загрузка полных данных о продуктах */ load_full_products: LoadFullProductsRequest; } /** * Запрос на получение популярных товаров */ export interface PopularProductsSearchRequest { /** Включаемые данные */ include: string[]; /** Пагинация */ pagination: { /** Лимит автоматических рекомендаций */ limit_automatic: number; }; /** Загрузка полных данных о продуктах */ load_full_products: LoadFullProductsRequest; } /** * Запрос на получение похожих товаров */ export interface SimilarProductsSearchRequest { /** Фильтр */ filter: { /** Параметр */ parameter: number; /** ID продукта */ product_id: string; /** ID локации */ location_id: string; }; /** Пагинация */ pagination: PaginationRequest; /** Загрузка полных данных о продуктах */ load_full_products: LoadFullProductsRequest; }