Модели данных

Модели данных — это структурированные представления сущностей, которые определяют, какие данные используются в системе, как они связаны между собой и для каких задач применяются.

B

C

D

E

I

M

P

R

S

U

V

BlogListingModel

Модель списка статей с метаданными.

Свойства

Название

Тип

Описание

Обязательное

total

number

Общее количество статей, соответствующих текущим фильтрам.

Да

items

BlogModel[]

Массив статей на текущей странице.

Да

pagination.current

number

Номер текущей страницы (начинается с 1).

Да

pagination.total

number

Общее количество страниц.

Да

Связанные типы: BlogModel.

BlogModel

Модель статьи блога с контентом, метаданными и мультимедиа.

Свойства

Название

Тип

Описание

Обязательное

id

string

Уникальный идентификатор статьи блога.

Да

slug

string

ЧПУ идентификатор статьи.

Да

url

string

Относительный канонический URL.

Да

title

string

Заголовок статьи блога.

Да

content

string

Полный текст статьи в формате markdown.

Да

shortDescription

string

Краткое описание/выдержка из статьи. Рекомендуется 120-160 символов.

Нет

pubDate

string

Дата и время публикации статьи. Формат: ISO 8601 строка.

Да

endDate

string

Дата окончания актуальности/снятия с публикации. Формат: ISO 8601 строка.

Нет

tags

string[]

Массив тегов для классификации статьи.

Да

previewMedia

ImageModel

Обложка для сниппетов в списках статей.

Нет

desktopMedia

ImageModel

Обложка для десктопной версии статьи.

Нет

mobileMedia

ImageModel

Обложка для мобильной версии статьи.

Нет

Связанные типы: ImageModel.

Свойства

Название

Тип

Описание

Обязательное

title

string

Заголовок хлебной крошки.

Да

url

string

URL-адрес для навигации при клике на элемент хлебных крошек.

Нет

CategoryModel

Модель категории товаров с поддержкой иерархической структуры (древовидное представление). Используется для навигации по каталогу, построения меню и фильтрации товаров.

Свойства

Название

Тип

Описание

Обязательное

id

string

Уникальный идентификатор категории.

Да

url

string

Полный URL-адрес страницы категории.

Да

slug

string

URL-friendly идентификатор категории.

Да.

title

string

Отображаемое название категории.

Да

Media

ImageModel

Изображение категории.

Нет

children

CategoryModel[]

Массив дочерних (вложенных) категорий.

Да

Примечание

Рекурсивная структура позволяет создавать категории любой глубины вложенности.

Связанные типы: ImageModel.

CollectionModel

Модель коллекции товаров.

Свойства

Название

Тип

Описание

Обязательное

id

string

Уникальный идентификатор коллекции.

Да

url

string

Полный URL-адрес страницы коллекции.

Да

slug

string

URL-friendly идентификатор коллекции.

Да

title

string

Отображаемое название категории.

Да

media

ImageModel

Изображение коллекции.

Нет

Связанные типы: ImageModel.

CompanyModel

Модель компании, включающая контактные данные и логотип.

Свойства

Название

Тип

Описание

Обязательное

mail

CompanyCharacteristicModel[]

Массив email-адресов компании.

Да

phone

CompanyCharacteristicModel[]

Массив телефонных номеров компании.

Да

address

CompanyCharacteristicModel[]

Массив физических адресов компании.

Да

workingMode

CompanyCharacteristicModel[]

Массив режимов работы компании/отделов

Да

socialNetworks

CompanyCharacteristicModel[]

Массив ссылок на страницы компании в социальных сетях.

Нет

logo

ImageModel

Логотип компании с метаданными изображения.

Нет

Связанные типы: CompanyCharacteristicModel, ImageModel.

CompanyCharacteristicModel

Базовая модель для представления пары «название-значение» характеристики компании.

Свойства

Название

Тип

Описание

Обязательное

name

string

Название характеристики.

Да

value

string

Значение характеристики.

Да

DeliveryOptionModel

Модель опции доставки товара. Содержит информацию о способе доставки, сроках и стоимости. Используется для отображения доступных вариантов доставки на странице оформления заказа или в карточке товара.

Свойства

Название

Тип

Описание

Обязательное

method

COURIER PICKUP_POINT

Способ доставки.

Да

icon

ReactElement

Иконка способа доставки для визуального представления.

Да

serviceType

YANDEX_DELIVERY CDEK META_SHIP_DALLI META_SHIP_RUSSIAN_POST OZON META_SHIP_PECOM META_SHIP_FIVE_POST MERCHANT_SHIP

Тип службы доставки или конкретного сервиса.

Да

serviceName

string

Название и тип службы доставки в человекочитаемом формате.

Да

formattedDate

string

Отформатированная дата доставки в человекочитаемом формате.

Да

price

number

Стоимость доставки.

Да

EmailSubscriptionModel

Модель формы подписки на рассылку.

Свойства

Название

Тип

Описание

Обязательное

currentStep

FORM / SUCCESS

Общее количество статей, соответствующих текущим фильтрам.

Значения:

  • FORM - отображается форма для ввода данных.
  • SUCCESS - успешная подписка.

Да

email

string

Введенный пользователем email адрес.

Да

agreement

boolean

Cостояние чекбокса согласия на обработку персональных данных.

errors.email

number

Сообщение об ошибке валидации email.

Да

errors.agreement

number

Сообщение об ошибке согласия.

Да

ImageModel

Модель для изображений.

Свойства

Название

Тип

Описание

Обязательное

filePath

string

URL-адрес оригинального изображения.

Да

metadata

ImageMetaModel

Мета-информация изображения.

Да

Связанные типы: ImageMetaModel.

ImageMetaModel

Модель для мета-информации изображений.

Свойства

Название

Тип

Описание

Обязательное

thumbHash

string

Компактное представление placeholder-изображения.

Нет

backgroundColors

Dictionary<string / null>

Объект с цветом соответствующей границы, если она однородная.

Нет

Связанные типы: ImageModel.

MediaModel

Универсальную модель медиа-контента, которая может содержать как изображения, так и видео. Используется для единообразной работы с различными типами медиа в компонентах галерей, каруселей и других UI элементов.

Свойства

Название

Тип

Описание

Обязательное

type

IMAGE VIDEO

Тип медиа‑контента.

Да

payload

ImageModel VideoModel

Данные медиа‑контента.

Да

Связанные типы: ImageModel.

Корневая модель меню, содержащая метаданные и список элементов верхнего уровня.

Свойства

Название

Тип

Описание

Обязательное

id

string

Уникальный идентификатор меню.

Да

title

string

Заголовок меню.

Да

items

MenuItemModel[]

Массив элементов меню. Может быть пустым массивом. Элементы могут иметь вложенные дочерние элементы через свойство children

Да

Связанные типы: MenuItemModel.

Модель отдельного элемента меню с поддержкой иерархической структуры.

Свойства

Название

Тип

Описание

Обязательное

id

string

Уникальный идентификатор элемента меню.

Да

title

string

Заголовок пункта меню.

Да

url

string

URL‑адрес, на который ведет элемент меню.

Форматы:

  • Относительный путь: /about, /products/123

  • Абсолютный URL: https://example.com/page

  • Mailto: mailto:info@example.com

  • Tel: tel:+1234567890

Да

children

MenuItemModel[]

Рекурсивный массив вложенных дочерних элементов. Может быть пустым массивом [] для элементов без подменю. Глубина вложенности технически не ограничена, но рекомендуется 2–3 уровня для UX.

Да

PromocodeModel

Используется для представления информации о скидках и специальных предложениях.

Свойства

Название

Тип

Описание

Обязательное

id

string

Уникальный идентификатор g.

Да

discountType

string

Тип скидки, определяет как применяется discountValue.
Возможные значения:

  • percent - процентная скидка.
  • fixed_amount - фиксированная сумма скидки.

Да

discountValue

string

Числовое значение скидки в виде строки.

Да

firstOrderOnly

boolean

Признак применения только к первому заказу.

Да

ProductDetailModel

Полная модель карточки товара.

Свойства

Название

Тип

Описание

Обязательное

variant

ProductVariantModel

Выбранный вариант карточки товара.

Да

quantity

number

Количество текущего варианта товара в корзине.

Да

groupingCharacteristics

GroupingCharacteristicModel[]

Массив группирующий вариантов карточки товара.

Да

Связанные типы: ProductVariantModel.

ProductBadgeModel

Модель бейджа продукта.

Свойства

Название

Тип

Описание

Обязательное

label

string

Заголовок бейджа.

Да

backgroundColor

string

Цвет фона бейджа.

Нет

ProductCharacteristicModel

Модель характеристики/атрибута продукта для описания его свойств.

Свойства

Название

Тип

Описание

Обязательное

id

string

Уникальный идентификатор характеристики.

Да

slug

string

ЧПУ‑идентификатор характеристики.

Нет

title

string

Название/метка характеристики.

Да

value

string

Значение характеристики.

Да

isGrouping

boolean

Флаг, указывающий, что характеристика используется для группировки вариантов.

Нет

ProductVariantModel

Модель варианта продукта.

Свойства

Название

Тип

Описание

Обязательное

id

string

Уникальный идентификатор варианта продукта.

Да

seoId

string

SEO‑идентификатор варианта продукта.

Да

sku

string

Артикул товара.

Да

url

string

Относительный URL страницы продукта.

Да

name

string

Полное название варианта продукта.

Да

model

string

Модель продукта.

Да

brand

string

Бренд/производитель продукта.

Да

slug

string

ЧПУ‑идентификатор варианта продукта.

Да

description

string

Описание продукта в формате Markdown.

Да

price

string

Базовая цена без скидок.

Нет

finalPrice

string

Финальная цена с учетом всех скидок.

Да

characteristics

ProductCharacteristicModel[]

Массив характеристик/атрибутов продукта.

Да

badges

ProductBadgeModel[]

Массив бейджей/меток для продукта.

Да

totalQuantity

number

Общее количество товара на всех складах.

Да

mediaItems

ImageModel[]

Массив изображений и медиа‑контента продукта.

Да

isFavourite

boolean

Признак добавления товара в избранное текущим пользователем.

Нет

Связанные типы: ImageModel, ProductBadgeModel, ProductCharacteristicModel.

ProductsListingModel

Модель списка товаров с метаданными.

Свойства

Название

Тип

Описание

Обязательное

total

number

Общее количество товаров, соответствующих текущим фильтрам.

Да

items

ProductVariantModel[]

Массив товаров на текущей странице.

Да

categories.selected

CategoryModel null

Текущая выбранная категория или null, если категория не выбрана.

Да

categories.items

CategoryModel[]

Полный список всех доступных категорий.

Да

pagination.current

number

Номер текущей страницы (начинается с 1).

pagination.total

number

Общее количество страниц.

filters.values

Dictionary<unknown>

Объект с текущими примененными фильтрами.
Ключи — названия фильтров.
Значения — выбранные значения фильтров.

Примечание

  • Структура значений зависит от типа фильтра

  • Пустой объект {} означает отсутствие активных фильтров

  • Используется для восстановления состояния фильтров в UI

Название

Тип

Описание

Обязательное

filters.schema

ProductFiltersModel

Схема доступных фильтров с их конфигурацией и возможными значениями.

Да

Примечание

Определяет UI компоненты фильтров и правила их валидации

Связанные типы: ProductVariantModel, CategoryModel.

RegionModel

Модель региона/города для определения местоположения пользователя.

Свойства

Название

Тип

Описание

Обязательное

id

number

Уникальный числовой идентификатор региона.

Да

name

string

Название региона/города.
Пример: «Москва», «Санкт‑Петербург», «Казань».

Да

ShoppingCartModel

Модель корзины покупок, содержащая все добавленные товары и итоговые расчеты.

Свойства

Название

Тип

Описание

Обязательное

price

number

Общая базовая стоимость всех товаров в корзине без скидок.

Да

finalPrice

number

Итоговая стоимость корзины с учетом всех скидок (без учета доставки).

Да

items

ShoppingCartItem[]

Массив товаров в корзине.

Да

totalQuantity

number

Общее количество единиц товара во всей корзине.

Да

Связанные типы: ShoppingCartItemModel.

ShoppingCartItemModel

Модель корзины покупок, содержащая все добавленные товары и итоговые расчеты.

Свойства

Название

Тип

Описание

Обязательное

variant

ProductVariantModel

Полная информация о варианте продукта в корзине.

Да

quantity

number

Количество единиц товара в корзине.

Да

price

number

Базовая цена за группу товаров без скидок.

Да

finalPrice

number

Финальная цена за группу товаров с учетом всех скидок.

Да

Связанные типы: ShoppingCartModel.

SelfPickupModel

Модель точки самовывоза.

Обязательное: Да

Свойства

Название

Тип

Описание

Обязательное

fullAddress

string

Полный адрес точки самовывоза.

Да.

UserModel

Полная модель пользователя с профильными данными, настройками и информацией о местоположении.

Свойства

Название

Тип

Описание

Обязательное

id

string

Уникальный идентификатор пользователя.

Да

firstName

string

Имя пользователя.

Нет

lastName

string

Фамилия пользователя.

Нет

isRegistered

boolean

Признак, определяющий статус регистрации пользователя.

Значения:

  • true — пользователь прошел полную регистрацию;
  • false — гостевой/анонимный пользователь.

Да

autoCity

RegionModel

Автоматически определенный регион пользователя. Может быть неточным, требует подтверждения.

Нет

manualCity

RegionModel

Город, выбранный пользователем вручную. Имеет приоритет над autoCity.

Нет

avatarUrl

string

Полный URL для отображения аватара.

Нет

email

string

Адрес электронной почты пользователя.

Нет

phone

string

Номер телефона пользователя.

Нет

isSubscribed

boolean

Флаг подписки на Email‑рассылки.

Да

Связанные типы: RegionModel.

Обратиться в службу поддержки

Написать в чат

Написать письмо