Skip to main content

Акции и кампании

Структура работы с акциями

В рамках реализации системы акций предусмотрены три ключевые сущности:

Акция (Promo)

Содержит основную информацию об акции:

  • Название
  • Описание
  • Картинку (Thumbnail)
  • Дата начала и окончания?
  • Дата создания и другие метаданные

Условия акции (PromoCondition)

Описывают, условию для акции. Включает:

  • Тип условия
  • Пороговое значение (Value)
  • Идентификатор подарочного товара (если предусмотрен подарок)

Категории условий акции (PromoConditionCategory)

Используются для условий, в которых необходимо выбрать продукты из определённых категорий. Например: "необходимо выбрать X товаров из категории 'Снеки'".

Поддерживаемые типы условий акций

На текущий момент реализованы следующие типы условий:

  • OrderTotal — акция активируется, если общая сумма заказа равна или превышает заданное значение.

  • ProductsQuantity — акция применяется, если общее количество товаров в корзине соответствует или превышает заданное значение.

  • DistinctProductsQuantity — условие выполняется, если в заказе содержится не менее указанного количества уникальных товаров.

Значение порога для каждого условия хранится в поле Value.

[
{
"id": 1,
"title": "0.5 Кола в подарок",
"description": "Купи любую шаурму с говядиной и получи 0.5 колу в подарок",
"thumbnailUrl": "https://idevapp.ru/content/banners/1/LAZ6JLbfEmBIOBj0zBgOA.png",
"createdAt": "2025-07-17T00:00:00",
"expiresAt": null,
"showAsBanner": true,
"isActive": true,
"condition": {
"type": 2,
"value": 1,
"giftProductId": 992,
"giftProduct": {
"id": 992,
"salerId": 2,
"categoryId": 62,
"categoryName": null,
"category": null,
"name": "Кока-кола 0,5 л. ",
"description": "Объязательно надо заполнять!",
"isByPiece": true,
"netWeight": 0,
"imageUrl": null,
"isAvailable": true,
"inStopList": false,
"macronutrientsId": 3,
"macronutrients": null,
"stockCount": 0,
"price": null,
"options": [],
"ingredients": []
},
"promoConditionCategories": [
{
"categoryId": 63
}
]
}
}
]