/** * **Типы запросов для аналитики** * * _Определяет структуры запросов для аналитических API._ * * @module analytics-requests */ import type { SearchFunction, ProductConversionSource, ProductConversionType, CategoryConversionSource, CategoryConversionType } from './enums' /** * **Базовый ответ API** * * _Общая структура ответа от аналитических API._ */ export interface AnalyticsApiResponse { /** Данные ответа */ data: T | null /** Метаданные ответа */ meta: Record } /** * **Запрос авторизации клиента** * * _Объединение неавторизованного и авторизованного пользователя._ */ export interface AuthorizeCustomerRequest { /** ID пользователя до авторизации */ guest_customer_id: string /** ID пользователя после авторизации */ authorized_customer_id: string } /** * **Запрос использования поискового запроса** * * _Отслеживание поисковых запросов клиента._ */ export interface QueryUseRequest { /** ID магазина/склада/местности */ location_id: string /** ID пользователя витрины */ customer_id: string /** Поисковый запрос */ query: string } /** * **Запрос использования функции поиска** * * _Отслеживание использования функций поиска._ */ export interface FunctionalUseRequest { /** ID магазина/склада/местности */ location_id: string /** ID пользователя витрины */ customer_id: string /** Поисковая функция из SearchFunction */ function: SearchFunction } /** * **Запрос использования поисковой подсказки** * * _Отслеживание применения поисковых подсказок._ */ export interface HintsUseRequest { /** Поисковый запрос */ query: string /** Поисковая подсказка */ hint: string } /** * **Запрос конверсии товара** * * _Отслеживание конверсий с товарами._ */ export interface ProductsUseRequest { /** ID магазина/склада/местности */ location_id: string /** ID пользователя витрины */ customer_id: string /** ID товара в PIM */ product_id: string /** Источник конверсии по товару */ source?: ProductConversionSource /** Тип конверсии по товару */ conversion: ProductConversionType /** Позиция в листинге */ position?: number | null /** Строка поискового запроса */ query?: string | null } /** * **Запрос конверсии категории** * * _Отслеживание конверсий с категориями._ */ export interface CategoriesUseRequest { /** ID магазина/склада/местности */ location_id: string /** ID категории в PIM */ category_id: string /** ID пользователя витрины */ customer_id: string /** Строка поискового запроса */ query?: string | null /** Источник конверсии по категории */ source?: CategoryConversionSource | null /** Тип конверсии по категории */ conversion: CategoryConversionType }