/** * **Типы для API ответов searchWidget** * * _Определяет все типы ответов, получаемых от API поиска._ * * @module searchWidget-responses * */ /** * **Базовый продукт** * * _Основная структура данных товара._ * * @group Product Types * */ export interface BaseProduct { /** Уникальный идентификатор товара */ id: string; /** Название товара */ name: string; /** Артикул товара */ vendor_code: string; /** URL изображения товара */ picture: string | null; /** Цена товара в копейках */ price: number; /** URL страницы товара */ url: string | null; /** Свойства товара */ properties: Array<{ /** Название свойства */ name: string; /** Значения свойства */ values: Array<{ /** Значение свойства */ value: string; }>; }>; } /** * **Полный продукт с дополнительными полями** * * _Расширенная структура данных товара с дополнительной информацией._ * * @group Product Types * */ export interface FullProduct extends BaseProduct { /** * Описание товара * * @defaultValue undefined */ description?: string; /** * Категория товара * * @defaultValue undefined */ category?: { /** ID категории */ id: string; /** Название категории */ name: string; } | null; /** * Классификационные свойства товара * * @defaultValue undefined */ classification_properties?: Array<{ /** ID свойства */ id: string; /** Название свойства */ name: string; /** Значение свойства */ value: { /** ID значения */ id: string; /** Название значения */ name: string; }; }>; } /** * **Ответ поиска по каталогу** * * _Полный ответ API при поиске товаров, категорий и брендов._ * * @group Search Responses * */ export interface CatalogSearchResponse { /** Список ID товаров */ products: string[]; /** Общее количество товаров */ total_products: number; /** Список ID категорий */ categories: string[]; /** Общее количество категорий */ total_categories: number; /** Список ID брендов */ brands: string[]; /** Общее количество брендов */ total_brands: number; /** Список ID контента */ contents: string[]; /** Типы контента */ content_types: string[]; /** Общее количество контента */ total_contents: number; /** Исправление запроса */ correction: string | null; /** Подсказки для товаров */ product_hints: Array<{ /** Слово */ word: string; /** Подсказка */ hint: string; }>; /** Полные подсказки */ full_hints: string[]; /** Доступные фильтры */ filters: Array<{ /** Название фильтра */ name: string; /** Код фильтра */ code: string; /** Значения фильтра */ values: Array<{ /** ID значения */ id: string; /** Название значения */ name: string; /** Выбрано ли значение */ is_selected: boolean; }>; }>; /** Полные данные товаров */ full_products: FullProduct[]; /** Полные данные категорий */ full_categories: Array<{ /** ID категории */ id: string; /** Название категории */ name: string; /** Название родительской категории */ parent_name: string | null; }>; /** Полные данные брендов */ full_brands: Array<{ /** ID бренда */ id: string; /** Название бренда */ name: string; }>; /** Полные данные контента */ full_contents: Array<{ /** ID контента */ id: string; /** Название контента */ name: string; /** URL контента */ url: string | null; /** Тип контента */ type: string | null; }>; } /** * **Результат классификации продукта** * * _Данные о классификации отдельного товара._ * * @group Classification * */ export interface ProductClassificationResult { /** ID товара */ id: string; /** Описание товара */ description: string | null; /** Категория товара */ category: { /** ID категории */ id: string; /** Название категории */ name: string; } | null; /** Свойства классификации */ properties: Array<{ /** ID свойства */ id: string; /** Название свойства */ name: string; /** Значение свойства */ value: { /** ID значения */ id: string; /** Название значения */ name: string; }; }>; } /** * **Ответ поиска классификации продуктов** * * _Ответ API при поиске классификации товаров._ * * @group Classification * */ export interface ProductClassificationSearchResponse { /** Данные классификации */ data: ProductClassificationResult[]; /** Метаданные ответа */ meta: { /** Информация о пагинации */ pagination: { /** Лимит результатов */ limit: number; /** Смещение результатов */ offset: number; /** Общее количество результатов */ total: number; }; }; } /** * **Ответ рекомендаций** * * _Ответ API при запросе рекомендаций товаров._ * * @group Recommendations * */ export interface RecommendationResponse { /** Данные рекомендаций */ data: { /** Список ID рекомендуемых товаров */ products: string[]; /** Полные данные рекомендуемых товаров */ full_products: BaseProduct[]; }; } /** * **Ответ топ запросов** * * _Ответ API при запросе популярных поисковых запросов._ * * @group Popular * */ export interface TopQueriesResponse { /** Популярные ручные запросы */ popular_manual_queries: string[]; /** Популярные успешные запросы */ popular_successful_queries: string[]; /** Рекомендуемые ручные запросы */ recommended_manual_queries: string[]; } /** * **Ответ популярных товаров** * * _Ответ API при запросе популярных товаров._ * * @group Popular * */ export interface PopularProductsResponse { /** Популярные ручные товары */ popular_manual_products: string[]; /** Популярные автоматические товары */ popular_automatic_products: string[]; /** Полные данные популярных товаров */ full_products: BaseProduct[]; } /** * **Ответ популярных брендов** * * _Ответ API при запросе популярных брендов._ * * @group Popular * */ export interface PopularBrandsResponse { /** Данные популярных брендов */ data: { /** Популярные автоматические бренды */ popular_automatic_brands: string[]; }; } /** * **Ответ популярных категорий** * * _Ответ API при запросе популярных категорий._ * * @group Popular * */ export interface PopularCategoriesResponse { /** Данные популярных категорий */ data: { /** Популярные автоматические категории */ popular_automatic_categories: string[]; }; } /** * **Ответ похожих товаров** * * _Ответ API при запросе товаров, похожих на указанный._ * * @group Similar Products * */ export interface SimilarProductsResponse { /** Данные похожих товаров */ data: { /** Список ID похожих товаров */ products: string[]; /** Полные данные похожих товаров */ full_products: BaseProduct[]; }; } /** * **Вариант A/B теста** * * _Тип варианта для A/B тестирования._ * * @group A/B Testing * */ export interface AbTestVariant { /** Тип варианта теста */ type: "recommended_query_products" | "cross_sell_products" | "similar_products" | "recommended_products" | "recently_watched_products" | "popular_products" | "similar_product_groups"; } /** * **Ответ A/B теста** * * _Ответ API при запросе A/B теста._ * * @group A/B Testing * */ export interface AbTestResponse { /** Данные A/B теста */ data: { /** Тип теста */ type: "recommendation_blocks"; /** Дата начала теста */ date_start: string; /** Дата окончания теста */ date_end: string; /** Вариант теста */ variant: AbTestVariant; }; } //# sourceMappingURL=responses.d.ts.map