Загрузка приложения
IPromoDefinition
Физическое объявление TypeScript из стартового проекта Nuxt со связанными типами и комментариями к полям.
IPromoDefinitionОписание акции для покупателя.
src/lib/interfaces/orionplace/cart/ICartData.tsexport interface IPromoDefinition {
// ID типа акции.
id: number;
// Переводы названия акции.
locale: Record<string, {
// Необязательное поле name; может отсутствовать.
name?: string;
}>;
// Для EPromoType.FIXED: суммы по ID валюты, число в transform_value. Для
// EPromoType.PERCENTAGE: множитель оставшейся цены; 0.8 означает оплату 80%,
// скидку 20%. Для EPromoType.FREE_SHIPPING выводите бесплатную доставку
// вместо денежной скидки.
promo_value: number | ICurrencyAmounts;
// Тип расчёта акции.
promo_type: EPromoType;
// Товары, явно связанные с акцией, если переданы.
products?: IProduct[];
// Категории, связанные с акцией, если переданы.
categories?: ICategoryDirectoryEntry[];
// Продавцы, связанные с акцией, если переданы.
sellers?: ISellerDirectoryEntry[];
/**
* Minimum order amount: the products the code covers must cost at least
* this much together in one order (the whole cart when the promotion names
* no products, categories or sellers). Present only when the promotion has
* a minimum.
*/
minimum_order_amount?: ICurrencyAmounts;
/**
* @deprecated Alias of `minimum_order_amount` with the same value; read it
* only when `minimum_order_amount` is absent (older backends).
*/
min_price?: ICurrencyAmounts;
/**
* Largest discount a percentage code gives on one order. Present only when
* the promotion has a maximum discount.
*/
maximum_discount?: ICurrencyAmounts;
/** The code works only on the customer's first purchase in the store. */
first_order_only?: boolean;
// Правило сочетания со скидкой товара и его переведённое название.
behaviour_with_product_discount: {
// Значение поля int.
int: EPromoProductDiscount;
// Значение поля text.
text: string;
};
// Форматированная дата начала акции.
date_start: IApiDateTime | null;
// Форматированная дата окончания акции.
date_finish: IApiDateTime | null;
// Активен ли тип акции. Это не доказывает применимость конкретного кода.
promo_type_is_active: boolean;
}