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

Рекламные акции <AdvertisingActions>

AdvertisingActions

Коллекция рекламных акций

В данных каждой рекламной акции содержится внешний код (external-code), который служит уникальным идентификатором для управления рекламными акциями в SetRetail10 из ERP. При получении из ERP акции с уже имеющимся в системе external-code, текущая акция с данным external-code безусловно перезаписывается полученной из ERP.

Для рекламных акций, создаваемых в модуле визуализации SetRetail10, также генерируется уникальный в рамках торговой сети магазинов external_code с префиксом SR10_.

Атрибут external-code используется в качестве кода акции в отчете о рассчитанных скидках, выгружаемом в ERP с чеками.

Данные рекламных акций выгружаются из ERP в SR10 в формате, предоставляемом Set Retail 10 в виде единой целостной сущности.

На стороне SR10 происходит валидация данных полученных из ERP рекламных акций. Рекламная акция будет отклонена, если в данных РА:


Отклоненные акции выкладываются в папку отклоненных акций для обеспечения обратной связи по загрузке акций с ERP

Рекламная акция <AdvertisingAction>

AdvertisingActions/AdvertisingAction

Заголовок Рекламной акции

Наименование атрибута

Тип данных

Описание

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

advertActGUID

Integer

Не требуется заполнение поля из ERP

Нет

name

String

Наименование РА

Да

active

Boolean

Для загрузки активных акций всегда передавать true

Да

mode

String

Тип условия применения РА.

  • automatic – автоматическое срабатывание при срабатывании всех условий, описанных в блоке условий externalConditions
  • by-condition – срабатывание при срабатывании одного любого из условий, описанных в блоке условий externalConditions
  • manual – ручная скидка
  • unconditional – безусловное срабатывание
Да

priority

Double

Приоритет (только для схемы работы акций по приоритету, акция с приоритетом 1 более приоритетная, чем акция с приоритетом 1000). По умолчанию 1000.

При загрузке значение должно быть равным 1 и более.

Нет

ignoreRestictions

В данном параметре отсутствует буква r для слова restrictions


Boolean

Признак игнорирования ограничений на применение скидки в данных товаров

  • true – акция игнорирует ограничения
  • false – акция учитывает ограничения
Нет

ignoreRestrictions


Boolean

Признак игнорирования ограничений на применение скидки в данных товаров

  • true – акция игнорирует ограничения
  • false – акция учитывает ограничения

Начиная с версии     можно использовать, как новый параметр, так и предыдущий ignoreRestictions

Нет

worksAnyTime

Boolean

  • true – скидка по данной РА суммируется со всеми остальными акциями в случае конфликтов нескольких скидок на один товар.
  • false – скидка по данной РА не суммируется с другими скидками, скидка участвует в схеме взаимодействия акции, установленной в SetRetail10
Да

color

String

Цвет маркировки рекламной акции.

Используется для визуализации акции в SetRetail10, 

  •  Blue (по умолчанию)
  •  Yellow
  •  Orange
  •  Green
  •  Red
  •  Violet
Нет

external-code

String

Внешний идентификатор РА

Да

ti

String

Идентификатор транспортного пакета, в котором пришла данная РА

Нет
deletedBooleanПризнак удаления рекламной акции. Акция останавливается сразу после загрузки признака остановки.Нет
discountTypeStringКод типа скидкиНет
exempt-from-bonus-discountsBoolean

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

Отсутствие атрибута - распознается как FALSE

Нет
disableChargeOnBonusesBooleanФлаг-признак, запрещающий начисление бонусных баллов на товары, на которые сработала данная РАНет
finalActionBooleanФлаг-признак, запрещающий новые скидки после срабатывания данной акцииНет
ignoreSoftCheckRestrictionsBoolean

Флаг-признак "Игнорировать ограничения мягкого чека".

Ограничение на применение рекламных акций (isFixedDiscounts) и запрет изменения цены (isFixedPrice), переданные в составе мягкого чека, в рамках данной рекламной акции будут игнорироваться.

Нет

Наименование элемента

Тип данных

Описание

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

shop-indices

PositiveInteger

(разделение через пробел)

Список магазинов через пробел, в которых действует акция. По умолчанию – действует во всей торговой сети.

Нет

begin-date

 DateTime

Дата начала действия акции

Да

end-date

 DateTime

Дата окончания действия акции

Да

pricetag-type

 String

Тип ценника, который должен печататься на товары этой акции.
NONE — на акцию не надо печатать никакие ценники
ACTION акционный ценник
ADDITIONAL дополнительный ценник
REPLACEMENT — замещающий ценник

Нет
template-formatStringВнешний код формата шаблонов ценников.Нет

Блоки содержимого Рекламной акции

Блок

Описание

dependence

Блок позволяет управлять из ERP зависимостью загружаемых РА от других акций, ранее загруженных в систему. Необязательный блок данных

externalConditions

Условия применения данной РА, акция сработает только при соблюдении всех указанных в акции условий. Если условия не указаны, акция действует для всех покупателей. Необязательный блок данных, заполняется только при mode = automatic 

actionResults

Применяемые скидки в рамках данной Рекламной акции. Обязательный блок данных

pricetag-template

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

actionLabelsМетки рекламной акции
finalActionExclusionsМножество кодов РА, игнорирующих запрет новых скидок после срабатывания данной акции

Зависимости <dependence>

Данный блок служит для обеспечения возможности управления из ERP зависимостью акций. Использование зависимостей позволяет строить более сложные и гибкие двухуровневые схемы построения маркетинговых программ.

В случае использования зависимых скидок расчет скидок производится в два последовательных этапа расчета, сначала рассчитываются скидки первого уровня (без установленной зависимости), а затем скидки второго уровня (с установленной зависимостью от скидки первого уровня).

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

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

Данный блок не является обязательным, вы не обязаны использовать зависимости в ваших маркетинговых программах.

Принцип работы суммирующихся акций остается неизменным.

Все суммирующиеся акции worksAnyTime = true всегда действуют после последовательного применения конкурирующих worksAnyTime = false акций первого и второго уровня.

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

AdvertisingActions/AdvertisingAction/dependence

Наименование элемента

Тип данных

Описание

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

key

String

Всегда заполняется значением 'external-code'

Да

value

String

External-code уже существующей акции, от которой должна быть установлена зависимость.

Да


<AdvertisingActions> 
<AdvertisingAction name=”Скидка на количество по карте (зависит от 2й цены)” active=”true” mode=”automatic” priority=”1” ignoreRestictions=”true” worksAnyTime=”false” color=”green” external-code=”SR10_001”>
    <dependence key=”external-code” value=”SR10_1363”/>
    <dependence key=”external-code” value=”SR10_1364”/>
            <begin-date>2012-10-21T00:00:00Z</begin-date>
            <end-date>2012-11-31T00:00:00Z</end-date>
            <actionResults>
    <catalog>
    <marking-of-the-good id = “3850114202480” discountStart = “2.000” fixedPrice = “1000.00” maxQuantity = “43534.00”/>
    </catalog>
            </actionResults>
    <externalConditions>
                <InternalCardsCondition guid=”1359”/> 
      </externalConditions>
        </AdvertisingAction>
</AdvertisingActions>

Результаты рекламной акции <actionResults>

AdvertisingActions/AdvertisingAction/actionResults

БлокОписание
setСкидки на наборы

catalog

Каталог фиксированных цен на товары

goodsDiscount

Процентные и суммовые скидки на товары, группы товаров и группы продаж

calculation

Скидки на чек целиком

bonus-discount

Бонусы в качестве скидки

tokens-discount

Фишки в качестве скидки

counter

Счётчик

coupon

Печать купона

bonus

Бонусы на счёт

message

Результат акции: Сообщение кассиру

notification

Вторичный результат срабатывания акции. Сообщение или информирование.

productOfferТип результата применения РА: предложение по добавлению товара в чек


В одной Рекламной акции можно использовать только один тип скидок, но в неограниченном количестве. То есть в одной акции, например, задать целиком целый каталог фиксированных цен на товары или сразу большое количество наборов.

Скидка на наборы <set>

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

AdvertisingActions/AdvertisingAction/actionResults/set

Наименование атрибута

Тип данных

Описание

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

name

String

Название набора внутри акции

Да

valueType

String

Тип скидки на строки набора: 

  • percent – процент скидки
  • fixedPrice – фиксированная цена
Да

value

Double

Стоимость набора целиком

Нет

wholesale-restriction

Integer

Установленное оптовое ограничение (количество наборов со скидкой за сутки для одного покупателя)

Нет

maxQuantity

Integer

Максимальное количество наборов в чеке со скидкой

Нет

calcWeightProductCountAsOne

Boolean

Принцип учета количества весовых позиций в наборе

  • false – количество весового товара = равно его суммарному весу
  • true – количество весового товара = равно количеству позиций вне зависимости от их веса
    По умолчанию false
Нет

isSpreadDiscounts

Boolean

Говорит о том, что скидки на подарочные позиции будут размазаны по всему набору равномерно с учетом цен компонентов

Нет

Каждый набор должен содержать не менее одной строки набора, иначе акция с таким набором будет отклонена. 

Для каждой строки набора нужно указать один элемент (товар, список товаров, группа товаров, производитель, страна), а также количество товара в строке, требуемое для составления набора в чеке. Набор считается сработавшим только при наличии всех нужных товаров (из строк) в нужном количестве в чеке.

Для всех строк внутри набора должен быть установлен одинаковый тип скидки (процентная скидки или фиксированная цена). Для строки можно не указывать скидку, эта строка в наборе продается без скидки. 

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

Обязательно либо указание стоимости набора целиком, либо значения скидки для одной или нескольких строк набора.

Если для одной строки набора прислать больше одного товара, для этой строки в SetRetail будет создан список товаров. Для срабатывания набора нужно будет купить требуемое в строке количество любого товара из данного списка. Для такого списка товаров можно задать название в атрибутах строки.

Это очень важная особенность, позволяющая реализовать простые акции типа "3 по цене 2 любых соков НИКО" или акции из примера – в строке набора нужно просто перечислить коды товаров в ассортименте, при этом можно задать название созданного списка товаров.


<AdvertisingAction guid=”12982” name=”Пивов подарок при покупке любых 2 упаковок чипсов” active=”true” mode=”unconditional” priority=”1” ignoreRestictions=”true” worksAnyTime=”false” color=”” external-code=”BBZB01RAZB” >
    <shop-indices>701</shop-indices>
    <begin-date>2012-02-21T00:00:00Z</begin-date>
    <end-date>2012-02-29T00:00:00Z</end-date>
    <actionResults>
      <set name="Пиво в подарок при покупке любых 2 упаковок чипсов">
        <row requiedQuantity=”1.000” fixedPrice=”100.00”>
          <marking-of-the-good id=”4100000200”/>
        </row>
        <row groupName=”Чипсы Lays” requiedQuantity=”3.000” fixedPrice=”30.00”>
          <marking-of-the-good id=”4100000100”/>
          <marking-of-the-good id=”4100000110”/>
          <marking-of-the-good id=”4100000120”/>
          <marking-of-the-good id=”4100000130”/>
          <marking-of-the-good id=”4100000140”/>
        </row>
      </set>
    </actionResults>
  </AdvertisingAction>
Список строк скидки на наборы <row>

AdvertisingActions/AdvertisingAction/actionResults/set/row

Наименование атрибута

Тип данных

Описание

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

requiedQuantity

integer

Определяет кол-во единиц товара в строке, которого достаточно чтобы набор сработал

Да

discountPercent

Double

% скидки на товар в данной строке (не актуально при указании стоимости набора целиком)

Нет

fixedPrice

Double

Фиксированная акционная цена товара в данной строке (не актуально при указании стоимости набора целиком)

Нет

groupName

String

Название списка товаров (используется только при создании списка товаров в строке)

Нет
Товар в строке набора <marking-of-the-good>

Можно указать любое количество элементов.

AdvertisingActions/AdvertisingAction/actionResults/set/row/marking-of-the-good

Наименование атрибута

Тип данных

Описание

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

id

String

код товара

Да

maxQuantity

Double

определяет максимальное кол-во товара в чеке, которое будет продано по акции. По умолчанию любое кол-во.

Нет
fixedPriceDoubleФиксированная акционная цена товара.Да

discountStart

Double

определяет количество товара, начиная с которого на этот товар будет начисляться скидка. По умолчанию с первого же товара

Нет

conditionCount

Double

определяет количество товара, при покупке которого на все количество этого товара будет дана скидка. По умолчанию при любом количестве.

Нет

wholesale-restriction

Double

Установленное оптовое ограничение (количество товара со скидкой за сутки для одного покупателя)

Нет
Описание товарной группы в строке набора <group>

Можно указать только 1 элемент.

AdvertisingActions/AdvertisingAction/actionResults/set/row/group

Наименование атрибута

Тип данных

Описание

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

id

String

Код товарной группы

Да
Описание производителя товаров в строке набора <manufacturer>

Можно указать только 1 элемент

AdvertisingActions/AdvertisingAction/actionResults/set/row/manufacturer

Наименование атрибута

Тип данных

Описание

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

id

String

Код производителя

Да
Описание отдела в строке набора <department>

Под это условие попадают товары, имеющие активные цены в указанном отделе. Можно указать только 1 элемент.

AdvertisingActions/AdvertisingAction/actionResults/set/row/department

Наименование атрибута

Тип данных

Описание

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

id

String

Номер отдела

Да
Описание производителя товаров в строке набора <country>

Можно указать только 1 элемент

AdvertisingActions/AdvertisingAction/actionResults/set/row/country

Наименование атрибута

Тип данных

Описание

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

id

String

Код страны

Да
Описание группы продаж в строке набора <sale-group>

Можно указать только 1 элемент

AdvertisingActions/AdvertisingAction/actionResults/set/row/sale-group

Наименование атрибута

Тип данных

Описание

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

id

String

Код заранее загруженной или созданной в SR10 группы продаж

Да
Множество товарных групп (по кодам) <groups-element>

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

AdvertisingActions/AdvertisingAction/actionResults/set/row/groups-element

Наименование атрибута

Тип данных

Описание

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

id

String

Код товарной группы

Да
Множество производителей (по кодам) <manufacturers-element>

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

AdvertisingActions/AdvertisingAction/actionResults/set/row/manufacturers-element

Наименование атрибута

Тип данных

Описание

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

id

String

Код производителя

Да
Множество номеров отделов <departments-element>

Множество номеров отделов, что ограничивают множество товаров, удовлетворяющих данному критерию. Под это условие попадают товары, имеющие активные цены в указанных отделах. 

Можно указать любое количество элементов.

AdvertisingActions/AdvertisingAction/actionResults/set/row/departments-element

Наименование атрибута

Тип данных

Описание

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

id

String

Номер отдела

Да
Множество стран (по кодам) <countries-element>

Множество стран (по их кодам), что ограничивают множество товаров, удовлетворяющих данному критерию.

Можно указать любое количество элементов.

AdvertisingActions/AdvertisingAction/actionResults/set/row/countries-element

Наименование атрибута

Тип данных

Описание

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

id

String

Код страны

Да
Множество групп продаж (по кодам) <sale-groups-element>

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

AdvertisingActions/AdvertisingAction/actionResults/set/row/sale-groups-element

Наименование атрибута

Тип данных

Описание

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

id

String

Код заранее загруженной или созданной в SetRetail10 группы продаж

Да
Ограничение (при выборке товаров) по цене <price-restriction>

Можно указать только 1 элемент.

AdvertisingActions/AdvertisingAction/actionResults/set/row/price-restriction

Наименование атрибута

Тип данных

Описание

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

condition

InequationType

Условие сравнения цены: больше, меньше.

  • MORE - не строгое неравенство: больше либо равно
  • LESS - не строгое неравенство: меньше либо равно
Да

value

Decimal

Пороговое значение цены для сравнения, в «рублях»

Да

Каталог фиксированных цен <catalog>

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

AdvertisingActions/AdvertisingAction/actionResults/catalog

Наименование атрибута

Тип данных

Описание

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

id

String

Код товара

Да

maxQuantity

Double

Определяет максимальное кол-во товара в чеке, которое будет продано по акции. По умолчанию любое кол-во.

Нет

discountStart

Double

Определяет количество товара, начиная с которого на этот товар будет начисляться скидка. По умолчанию с первого же товара

Нет

conditionCount

Double

Определяет количество товара, при покупке которого на все количество этого товара будет дана скидка. По умолчанию при любом количестве.

Нет

fixedPrice

Double

Фиксированная акционная цена товара.

Нет

Wholesale-restriction

Double

Установленное оптовое ограничение (количество товара со скидкой за сутки для одного покупателя)

Нет


<AdvertisingAction guid=”1298” name=”BBZB01RAZB: Фиксированная цена на товар с ограничением количества” active=”true” mode=”unconditional” priority=”1” ignoreRestictions=”true” worksAnyTime=”false” color=”” external-code=” BBZB01RAZB”  >
    <shop-indices>701</shop-indices>
    <begin-date>2012-02-21T00:00:00Z</begin-date>
    <end-date>2012-02-29T00:00:00Z</end-date>
    <actionResults>
    <catalog>
         <marking-of-the-good id=”4100000107” maxQuantity=”5” fixedPrice=”89”/> 
<!--maxQuantity определяет максимальное кол-во товара в чеке, которое будет продано по акции. 0=любое кол-во -->
         <marking-of-the-good id=”4100000108” maxQuantity=”5” discountStart=”4” fixedPrice=”100”/> 
<!--fixedPrice задаёт фиксированную цену на товар; discountStart определяет позицию, начиная с которой на этот товар будет начислять скидка -->
         <marking-of-the-good id=”4100000109” maxQuantity=”0” conditionCount=”10” fixedPrice=”299”/> 
<!--conditionCount определяет количество товара, при покупке которого на все количество этого товара будет дана скидка. -->
         <marking-of-the-good id=”4100000104” maxQuantity=”0” fixedPrice=”199” wholesale-restriction=”3” /> 
<!--wholesale-restriction определяет количество товара, которое можно купить со скидкой одному покупателю за сутки. -->
    </catalog>
    </actionResults>
  </AdvertisingAction>

Скидки на товары и группы продаж <goodsDiscount>

  • В результате рекламной акции “Скидка на товары“ допускается заведение нескольких скидок только одного типа (процент, фиксированная цена и т.д.).
  • При расчете производится упорядочивание по размеру скидки и в рамках такой рекламной акции сначала учитывается самая выгодная из них.
  • Возможен сценарий, когда сработает только одна из таких скидок (если скидка применена на весь товар в позиции), даже если выбран принцип срабатывания акций “суммируются все сработавшие“, так как оставшиеся скидки в рамках такой рекламной акции не сработали.


AdvertisingActions/AdvertisingAction/actionResults/goodsDiscount

Наименование атрибута

Тип данных

Описание

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

name

String

Название скидки

Нет

calcWeightProductCountAsOne

Boolean

Принцип учета количества весовых позиций в скидках с количественными ограничениями

  • false – количество весового товара = равно его суммарному весу
  • true – количество весового товара = равно количеству позиций вне зависимости от их веса По умолчанию false|
Нет

maxQuantity

Double

Определяет максимальное кол-во товара в чеке, которое будет продано по акции.

Нет
discountPercentDoubleПроцент скидки на товарНет

discountSum

Double

Сумма скидки на товар

Нет
fixPriceDoubleФиксированная цена каждой единицы товара из этой группыНет

goodsSum

Double

Сумма скидки при покупке товаров из этой группы. 

Распределяется пропорционально стоимости товаров этой группы.

Нет

discountStart

Double

Определяет позицию, начиная с которой на этот товар будет начисляться скидка

Нет
conditionCountDoubleОпределяет количество товара, при покупке которого на все количество этого товара будет дана скидкаНет
wholesale-restrictionDoubleУстановленное оптовое ограничение (количество товара, групп товаров, групп продаж и пр. со скидкой за сутки для одного покупателя)Нет
allowOfflineBooleanРазрешать расчет без получения данных об ограничениях из внешней системыНет
for-gifts-onlyBoolean

Предоставлять скидку только для подарков

Нет
for-soft-check-onlyBoolean

Предоставлять скидку только для товаров из мягкого чека.

Нет
plugin-idStringИдентификатор плагина в рамках РАНет

apply-count-for-each-row

String

Применять ограничения на каждую позицию

  • true
  • false

Применяется к элементам списка и действуют на количество товара каждого объекта goods-filter-includeAndExcludeGroup):

  • discountStart;
  • conditionCount;
  • maxQuantity;
  • wholesale-restriction.

Если элемент for-all-goods = true, то значение данного флага игнорируется.

Пример XML

Нет
Наименование элементаТип данныхОписаниеОбязательное

goods-filter-includeAndExcludeGroup

Данный атрибут не указывается в XML-сообщении. Он определяет группу элементов на схеме.

Группа элементов, описывающая фильтр, по которому отбираются товары, на которые должна сработать скидка. Только одна из двух опций валидна: либо элемент-галочка "весь товарный справочник", либо группа фильтров "goods-filterGroup".Нет

for-all-goodsBooleanФлаг-признак, указывающий на то, что данная скидка действует на ВЕСЬ ТОВАРНЫЙ СПРАВОЧНИК (за исключением товаров, что удовлетворяют фильтру exclude)Нет
goods-filterGroupКомплексныйГруппа элементов, описывающая некий товарный фильтрНет
excludeКомплексный

Фильтр, определяющий множество товаров, на которые данная скидка НЕ должна сработать.

Данный фильтр имеет приоритет перед группой фильтров "goods-filterGroup" и флагом "for-all-goods": если товар удовлетворяет фильтру "exclude", то скидка на него не будет дана - не зависимо от значения флага "for-all-goods", либо значений фильтров группы "goods-filterGroup"

Нет
client-restrictionКомплексный

Ограничение по сумме скидки РА по клиенту

Нет
storage-time-conditionКомплексныйИмпорт скидки на товары со сроком годности, близким к истечению

Условие "до истечения срока годности"

Нет
action-label-excludeString

Признак (метка рекламной акции), по которому товары, участвующие в акции с данной меткой, исключаются из текущей акции

Нет


<?xml version="1.0" encoding="UTF-8"?>
<AdvertisingActions>
   <AdvertisingAction name="Test sync with TI # 1" mode="automatic" active="true" priority="1.0" ignoreRestictions="true" worksAnyTime="true" external-code="092" shop-indices="7">
      <begin-date>2020-01-19T12:23:00</begin-date>
      <end-date>2020-01-31T12:21:00</end-date>
      <actionResults>
         <goodsDiscount discountPercent="10.0">
				<exclude>
                  <marking-of-the-good id="00001" />
                  <marking-of-the-good id="00002" />
				</exclude>
				<marking-of-the-good id="00003"/>
			    <marking-of-the-good id="00004"/>
         </goodsDiscount>
      </actionResults>
   </AdvertisingAction>
</AdvertisingActions>
Товары и группы товаров, на которые должна сработать акция <goods-filterIncludeAndExcludeGroup>

AdvertisingActions/AdvertisingAction/actionResults/goodsDiscount/goods-filterIncludeAndExcludeGroup

Наименование элемента

Тип данныхОписаниеОбязательное

for-all-goods

BooleanФлаг-признак, указывающий на то, что данная скидка действует на ВЕСЬ ТОВАРНЫЙ СПРАВОЧНИК (за исключением товаров, что удовлетворяют фильтру exclude)Нет

goods-filterGroup

Данный атрибут не указывается в XML-сообщении. Он определяет группу элементов на схеме.

Группа элементов, описывающая товарный фильтрНет









marking-of-the-goodКомплексный

Артикулы (коды товаров), на которые будут установлены скидки

Нет
goodsGroupКомплексныйСписок товаровНет
groupКомплексныйИдентификатор товарной группыНет
sale-groupStringСписок идентификаторов (кодов) групп продаж, товары из которых удовлетворяют данному фильтруНет

manufacturer

String

Код производителя

Нет

department

String

Номер отдела

Нет

country

String

Код страны (по ISO 3166-1 alpha-3)

Нет

product-type

String

Тип товара

Нет

composite

String

Составной объект

Данный фильтр имеет приоритет перед группой фильтров "goods-filterGroup" и флагом "for-all-goods": если товар удовлетворяет фильтру "exclude", то в выборку он не попадает - не зависимо от значения флага "for-all-goods", либо значений фильтров группы "goods-filterGroup"

Нет
excludeBoolean

Фильтр, определяющий множество товаров, на которые данная скидка НЕ должна сработать.

Данный фильтр имеет приоритет перед группой фильтров "goods-filterGroup" и флагом "for-all-goods": если товар удовлетворяет фильтру "exclude", то скидка на него не будет дана - не зависимо от значения флаг "for-all-goods", либо значений фильтров группы "goods-filterGroup

Нет
Группа элементов, описывающая товарный фильтр <goods-filterGroup>

Должен быть указан один из параметров

С использованием данной секции возможно использовать список товаров внутри скидки. Это позволяет создавать акции, в которых ограничение количества (на понижение или повышение) устанавливается на ассортимент товаров, а не один товар. Например, скидка при покупке более

5 любых соков или скидка дается не более чем 10 упаковок любых чипсов.

Пример акции со скидкой 10% на список товаров и ограничением минимального и максимального количества по акции

AdvertisingActions/AdvertisingAction/actionResults/goodsDiscount/goods-filter-includeGroup/goods-filterGroup

Наименование элемента

Тип данныхОписаниеОбязательное

marking-of-the-good

Комплексный

Артикулы (коды товаров), на которые будут установлены скидки

Задает множество товаров, на которые воздействует РА, по списку артикулов этих товаров

  • id / StringКод/артикул товара / *Обязательное;

  • maxQuality / Double / Максимальное количество товара, на которое может сработать РА. Если отсутствует - без ограничений;

  • fixedPrice / Double / Фиксированная цена за единицу товара (при условии срабатывания РА);

  • discountStart / Double / Определяет позицию, начиная с которой на этот товар будет начисляться скидка;

  • conditionCount / Double / Определяет количество (или вес) товара, при покупке которого на все количество этого товара будет дана скидка;

  • wholesale-restriction / Double / Оптовое ограничение. Максимальное количество этого товара, что можно купить одному клиенту по этой акции в течение суток. 1.0 = 1 штука (или 1 кг), 0.1 = 100 грамм.

Нет

goodsGroup

Комплексный

Определяет "плоский" список товаров внутри акции

Определяет список товаров внутри акции на которые воздействует РА

  • goodsGroup / Комплексный / Cписок товаров

    • name

      • marking-of-the-good / Комплексный / Товар

        • id / String / Код (артикул) товара / *Обязательное;

        • maxQuality / Double / Максимальное количество товара, на которое может сработать РА. Если отсутствует - без ограничений;

        • fixedPrice / Double / Фиксированная цена за единицу товара (при условии срабатывания РА);

        • discountStart / Double / Определяет позицию, начиная с которой на этот товар будет начисляться скидка;

        • conditionCount / Double / Определяет количество (или вес) товара, при покупке которого на все количество этого товара будет дана скидка;

        • wholesale-restriction / Double / Оптовое ограничение. Максимальное количество этого товара, что можно купить одному клиенту по этой акции в течение суток. 1.0 = 1 штука (или 1 кг), 0.1 = 100 грамм.

Нет

group

Комплексный

Идентификатор товарной группы

Нет
sale-groupString

Список идентификаторов (кодов) групп продаж, товары из которых удовлетворяют данному фильтру

Нет
manufacturerString

Код производителя

Нет
departmentString

Номер отдела

Нет
countryString

Код страны (по ISO 3166-1 alpha-3)

Нет
product-typeString

Тип товара

Нет
compositeString

Составной объект

Данный фильтр имеет приоритет перед группой фильтров "goods-filterGroup" и флагом "for-all-goods": если товар удовлетворяет фильтру "exclude", то в выборку он не попадает - не зависимо от значения флага "for-all-goods", либо значений фильтров группы "goods-filterGroup"

Нет
Товары и группы товаров, которые необходимо исключить из акции <exclude>

AdvertisingActions/AdvertisingAction/actionResults/goodsDiscount/exclude

Наименование элемента

Типа данныхОписаниеОбязательное

exclude

КомплексныйГруппа элементов, описывающая некий товарный фильтрНет

goods-filterGroup

Данный атрибут не указывается в XML-сообщении. Он определяет группу элементов на схеме.

Группа элементов, описывающая товарный фильтрНет




marking-of-the-goodКомплексный

Артикулы (коды товаров), на которые будут установлены скидки

Задает множество товаров, на которые воздействует РА, по списку артикулов этих товаров

  • id / StringКод/артикул товара / *Обязательное;

  • maxQuality / Double / Максимальное количество товара, на которое может сработать РА. Если отсутствует - без ограничений;

  • fixedPrice / Double / Фиксированная цена за единицу товара (при условии срабатывания РА);

  • discountStart / Double / Определяет позицию, начиная с которой на этот товар будет начисляться скидка;

  • conditionCount / Double / Определяет количество (или вес) товара, при покупке которого на все количество этого товара будет дана скидка;

  • wholesale-restriction / Double / Оптовое ограничение. Максимальное количество этого товара, что можно купить одному клиенту по этой акции в течение суток. 1.0 = 1 штука (или 1 кг), 0.1 = 100 грамм.

Нет
goodsGroupКомплексный

Определяет "плоский" список товаров внутри акции

Определяет список товаров внутри акции на которые воздействует РА

  • goodsGroup / Комплексный / Cписок товаров

    • name

      • marking-of-the-good / Комплексный / Товар

        • id / String / Код (артикул) товара / *Обязательное;

        • maxQuality / Double / Максимальное количество товара, на которое может сработать РА. Если отсутствует - без ограничений;

        • fixedPrice / Double / Фиксированная цена за единицу товара (при условии срабатывания РА);

        • discountStart / Double / Определяет позицию, начиная с которой на этот товар будет начисляться скидка;

        • conditionCount / Double / Определяет количество (или вес) товара, при покупке которого на все количество этого товара будет дана скидка;

        • wholesale-restriction / Double / Оптовое ограничение. Максимальное количество этого товара, что можно купить одному клиенту по этой акции в течение суток. 1.0 = 1 штука (или 1 кг), 0.1 = 100 грамм.

Нет
groupКомплексный

Идентификатор товарной группы

Нет
sale-groupString

Список идентификаторов (кодов) групп продаж, товары из которых удовлетворяют данному фильтру

Нет
manufacturerString

Номер отдела

Нет
departmentString

Номер отдела

Нет
countryString

Код страны (по ISO 3166-1 alpha-3)

Нет
product-typeString

Тип товара

Нет
compositeString

Составной объект

Данный фильтр имеет приоритет перед группой фильтров "goods-filterGroup" и флагом "for-all-goods": если товар удовлетворяет фильтру "exclude", то в выборку он не попадает - не зависимо от значения флага "for-all-goods", либо значений фильтров группы "goods-filterGroup"

Нет
Ограничение по сумме скидки рекламной акции по клиенту <client-restriction>

Импорт скидки на товары со сроком годности, близким к истечению <storage-time-condition>

Скидки на чек <calculation>

В рамках одной рекламной акции можно использовать только одну скидку на чек в акции, сочетать этот тип скидки с остальными нельзя

AdvertisingActions/AdvertisingAction/actionResults/calculation

Наименование атрибута

Тип данныхОписаниеОбязательное

value-type

String

Тип скидки на чек из списка ниже

  • CATALOG_PRICE - Дать цену на товары в чеке из справочника товаров (вторые, третьи и четвертые цены). Value определяет номер цены из справочника.
  • COUPON - Взять скидку из примененного на кассе скидочного купона, ранее распечатанного на кассе как результат рекламной акции. Value подразумевает максимальной процент оплаты купоном в чеке.
  • DISCCARD - Дать скидку по дисконтной карте, процент скидки берется из данных категории карты, предъявленной клиентом. Value не заполняется.
  • EXTERNAL_LOYALTY - Результаты рекламной акции определяются сторонним поставщиком лояльности
  • FIXSUMM - Суммовая скидка на чек, value определяет значение скидки
  • GROUP_HIERARCHY - Скидка на иерархию товарных групп
  • PAYMENT_TYPE_PERCENT - Размер скидки определяется возвратным/чековым купоном
  • PERCENT - Процент скидки на чек, value определяет значение скидки.
  • PERSONAL_OFFER - Размер скидки определяется на основе персональных предложений (от внешних поставщиков лояльности)
  • ROUND - Скидка на округление, value определяет масштаб округления (например, 0.1 означает округление до 10 коп)
  • ROUND_BY_POSITIONS - Попозиционное округление
  • SALES_TAX_DISCOUNT - Скидка на налог с продаж
  • WHOLESALE_DISCOUNT - Оптовые скидки. Значение скидки зависит от количество товара. secondary-value = true или false.
Да

value

Decimal

Значение, дополняющее тип скидки

  • Является обязательным только для тех типов скидок, для которых определен в value-type
  • Размер процента скидки (например, "7.5" = 7.5%), если Принцип вычисления = PERCENT;
  • Размер скидки, в "рублях", если Принцип вычисления = FIXSUMM;
  • "Кратность" округления, в "рублях", если Принцип вычисления = ROUND:
    • если, "0.1" - округление с точностью до 10 "копеек";
    •  "1.57" - округление с точностью до 1 "рубля" и 57 "копеек" - т.е., с клиента потребуют наибольшую сумму, кратную 1.57, но меньшую суммы покупки)
  • Номер цены ("2", "3", "4"), что использовать при расчете, если Принцип вычисления = CATALOG_PRICE; 
  • Максимальный процент скидки от суммы чека, если Принцип вычисления = COUPON;
  • Процент от суммы отплаты (указанного типа - см. атрибут "secondary-value"), если Принцип вычисления = PAYMENT_TYPE_PERCENT;
  • Этот атрибут игнорируется, если Принцип вычисления = DISCCARD;
Да
secondary-valueString

Дополнительное значение для плагинов скидок:

Только для принципа вычисления = PAYMENT_TYPE_PERCENT и содержит название типа оплаты, от размера которого и считать скидку.

Например, если значение этого атрибута BankCardPaymentEntity, и при покупке использовали 50 рублей оплаты по банковской карте и еще 800 - другие типы оплат, то скидка будет считаться только от 50 рублей)

Типы оплат:

  • CashPaymentEntity - оплата наличными
  • CashMachinePaymentEntity - Оплата наличными (купюроприемник)
  • BankCardPaymentEntity - Оплата по банковской карте
  • BonusCardPaymentEntity - Оплата по бонусной карте
  • GiftCardPaymentEntity - Оплата по подарочной карте
  • ExternalBankTerminalPaymentEntity - Внешний банковский терминал
  • ConsumerCreditPaymentEntity - Потребительский кредит
  • CFTGiftCardPaymentEntity - Оплата по подарочной карте ЦФТ
  • SiebelBonusCardPaymentEntity - Оплата по бонусной карте Siebel
  • ChildrenCardPaymentEntity - Оплата по Детской карте
  • CFTEGCPaymentEntity - Оплата по ЭПС ЦФТ
  • SupraPaymentEntity - Оплата по карте Супра
  • PrepaymentEntity - Зачет предоплаты
  • SiebelBonusesForGiftPaymentEntity - Бонусы на подарок
  • SiebelGiftCardPaymentEntity - Оплата по подарочной карте Siebel
  • KopilkaPaymentEntity - Оплата по бонусной карте Копилка

Ещё используется для хранения значения флага "Учитывать оптовое ограничение":  также применяется только если принцип вычисления = EXTERNAL_LOYALTY и
содержит имя внешнего процессинга лояльности, определяющего результат рекламной акции. Соответствующая рекламная акция создается, чтобы включить работу процессинга.

Список процессингов /standalone/configuration/modules/external-systems-manager/service-providers.xml

Нет
Правила предоставления скидок в зависимости от суммы оплаты <calculation-rule>

Скидка на иерархию товарных групп <discount>

Бонусы как скидка <bonus-discount>

Индивидуальные потолки списания бонусов на товары <discount-restriction>

Счетчик <tokens-discount>

AdvertisingActions/AdvertisingAction/actionResults/tokens-discount

Наименование элемента

Тип данных

Описание

Обязательное
productTokensApplyRulesКомплексный

Правила списания за фишки на товар

Нет
Наименование атрибутаТип данныхОписаниеОбязательное
markingStringКод товараНет
Наименование элементаТип данныхОписаниеОбязательное

rulesКомплексныйПравила списания за фишки на товарНет
Наименование атрибутаТип данныхОписаниеОбязательное

tokenCountLongКоличество фишекДа
priceDoubleЦена товараДа


Счетчик <counter>

AdvertisingActions/AdvertisingAction/actionResults/counter

Наименование атрибута

Тип данных

Описание

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

metric

Комплексный

Метрика счётчика

Возможные значения:

  • ACTIVE_DAYS - активные дни
  • CHEQUES - чеки
  • PRODUCTS - товары
Да
indicatorКомплексный

Показатель счётчика

Возможные значения:

  • SUMM - сумма
  • COUNT - количество
Да
period-valueIntegerЗначение периода действияДа
period-typeКомплексный

Тип периода действия ограничения

Возможные значения:

  • HOURS - часы
  • DAYS - дни
  • WEEKS - недели
  • MONTHS - месяца
Да
Наименование элементаТип данныхОписаниеОбязательное
markingsСписокКоды товаровНет


<?xml version="1.0" encoding="UTF-8"?>
<AdvertisingActions>
  <AdvertisingAction name="Счетчик по сумме чека. Обнуляется раз в 13 недель" active="true" mode="automatic"
             priority="10" ignoreRestictions="false" worksAnyTime="false"
             color="red" external-code="SUM_CHEQUE">
    <begin-date>2012-12-01T18:00:00</begin-date>
    <end-date>2050-12-01T18:00:00</end-date>
    <actionResults>
      <counter metric="CHEQUES" indicator="SUMM" period-value="13" period-type="WEEKS" />
    </actionResults>
  </AdvertisingAction>
  <AdvertisingAction name="Счетчик по количеству товаров. Обнуляется раз в 13 недель" active="true" mode="automatic"
             priority="10" ignoreRestictions="false" worksAnyTime="false"
             color="red" external-code="ITEMS_COUNT">
    <begin-date>2012-12-01T18:00:00</begin-date>
    <end-date>2050-12-01T18:00:00</end-date>
    <actionResults>
      <counter metric="PRODUCTS" indicator="COUNT" period-value="13" period-type="MONTHS">
        <markings>777 666 555</markings>
      </counter>
    </actionResults>
  </AdvertisingAction>
</AdvertisingActions>

Печать купона <coupon>

Бонусы на счёт <bonus>

AdvertisingActions/AdvertisingAction/actionResults/bonus

Наименование атрибута 

Тип данныхОписаниеОбязательное

type

String

Принцип вычисления бонуса. 

  • ADDITIONALBONUS - Дополнительные бонусы в зависимости от суммы ранее рассчитанных бонусов
  • AMOUNTPERCENT - Процент от суммы чека. Размер начисляемых бонусов высчитывается как некий процент (как сотых долей процента) от стоимости чека
  • BANKPERCENT - Процент от оплаты банковской картой. Размер начисленных бонусов рассчитывается как доля от размера оплаты по банковской карте
  • DISCBONUS - Вычисленная скидка: уже вычисленная денежная скидка (по этой же РА (первичным результатом РА)) будет заменена на начисление бонусов
  • DiscountFromCheck - Вычисленная скидка: уже вычисленная денежная скидка (по этой же РА (первичным результатом РА)) будет заменена на начисление бонусов
  • FIXBONUS - Фиксированная сумма бонусов
  • MULTIPLEPERCENT - Процент от кратной величины
  • PRODUCTFIXBONUS - Фикcированное количество бонусов за определенный товар
  • TOKENS - Начисление фишек по правилам
Да
sponsorStringСпонсор бонусной программы (CRM, спасибо от сбербанка, внутренние бонусы (SET10), ...).
Если отсутствует, то по умолчанию = "BONUS_SR10" (бонусы SET10).
Нет
accountTypeIdLongУказатель на тип счётаНет
accountTypeIdForCalcLongУказатель на тип счёта, по которому будет считаться сумма бонусных баллов для последующего анализа.
Используется при типе начисления ADDITIONALBONUS.
Нет
bonusValueLong

Число, количественно характеризующее размер начисляемых бонусов. Смысл этого числа зависит от принципа начисления.

  • для "AMOUNTPERCENT" это количество сотых долей процента от суммы чека. т.е. 1000 = 10%;
  • для "MULTIPLEPERCENT" - аналогично: это количество сотых долей процента от суммы чека. т.е. 1000 = 10%;
  • для "FIXBONUS" это конкретное количество "бонусо-копеек", что надо начислить;
  • для остальных принципов начисления данное поле не имеет смысла.
Нет
summaLongПроцент от кратной величины(будет два поля для ввода - % и сумма)Нет
bin-prefixString

Префикс BIN (Bank Identification Number) - номера банковской карты, по которой была проведена оплата, на основании которой надо начислить бонусы.

Используется только при принципе начисления бонусов "BANKPERCENT"

Нет

multiplier

StringКоэффициент умножения балловДа

accountType

Stringназвание типа бонусного счета, на который будут начисляться бонусыДа

startAfter

Stringвремя начала действия бонусов - задержка после совершения покупки - в формате: (\\d+)[d|w|m|y] - например, 34w - через 34 недели, 11d - через 11 дней и проч.Да

timeToLive

StringВремя действия бонусов после активации - в формате: (\\d+)[d|w|m|y] - например, 12m - 12 месяцев, 11d - 11 дней и проч.Да

beginDate


dateTime

Дата начала действия бонусов


  • Атрибут beginDate является обязательным, при наличии атрибута endDate

При отсутствии атрибутов beginDate и endDate интервал дат действия бонусов будет определен как "Действует всегда".

Пример загрузки акции.

Нет

endDate


dateTime

Дата окончания действия бонусов


  • Атрибут endDate является обязательным, при наличии атрибута beginDate

При отсутствии атрибутов beginDate и endDate интервал дат действия бонусов будет определен как "Действует всегда".

Пример загрузки акции.

Нет
plugin-idStringИдентификатор плагина в рамках РАНет
calcWeightProductCountAsOneBoolean

Принцип учета количества весовых позиций в наборе

  • false – количество весового товара = равно его суммарному весу

  • true – количество весового товара = равно количеству позиций вне зависимости от их веса
    По умолчанию false

Нет
Наименование элемента

Тип данных

ОписаниеОбязательное
bonus-accrual-ruleКомплексный

Правила начисления бонусов в зависимости от размера оплаты по банковской карте или количества уже начисленных бонусов

Нет
tokens-accrual-ruleКомплексный

Правило начисления фишек

Нет
product-rowКомплексныйНабор строк определяющий товары/группы продаж/товарные группы с которых не будут начислены ББНет
accrual-product-rowКомплексныйНабор строк, определяющий товары/группы продаж/товарные группы, на которые будут начислены бонусыНет

<?xml version="1.0" encoding="UTF-8"?>
<AdvertisingActions>
	<AdvertisingAction name="SR-2221: Тип - AMOUNTPERCENT" active="true" mode="automatic"
					   priority="10" ignoreRestictions="false" worksAnyTime="false"
					   color="red" AdvertActGUID = "210620181" external-code="SR-2221-AMOUNTPERCENT">
		<begin-date>2012-12-01T18:00:00</begin-date>
		<end-date>2050-12-01T18:00:00</end-date>
		<!-- Результат РА: AMOUNTPERCENT=процент от суммы -->
		<actionResults>
			<bonus type="AMOUNTPERCENT" bonusValue="1000" accountType="SR-2221" accountTypeId="1234" multiplier="1" startAfter="1d" timeToLive="2y"/>
		</actionResults>
	</AdvertisingAction>
	<AdvertisingAction name="SR-2221: Тип - MULTIPLEPERCENT" active="true" mode="automatic"
					   priority="10" ignoreRestictions="false" worksAnyTime="false"
					   color="red" AdvertActGUID = "210620182" external-code="SR-2221-MULTIPLEPERCENT">
		<begin-date>2012-12-01T18:00:00</begin-date>
		<end-date>2050-12-01T18:00:00</end-date>
		<!-- Результат РА: MULTIPLEPERCENT=процент от кратной величины -->
		<actionResults>
			<bonus type="MULTIPLEPERCENT" bonusValue="1000" summa="3000" accountType="SR-2221" accountTypeId="1234" multiplier="1" startAfter="1d" timeToLive="2y"/>
		</actionResults>
	</AdvertisingAction>
	<AdvertisingAction name="SR-2221: Тип - FIXBONUS" active="true" mode="automatic"
					   priority="10" ignoreRestictions="false" worksAnyTime="false"
					   color="red" AdvertActGUID = "210620183" external-code="SR-2221-FIXBONUS">
		<begin-date>2012-12-01T18:00:00</begin-date>
		<end-date>2050-12-01T18:00:00</end-date>
		<!-- Результат РА: FIXBONUS=фиксированная величина -->
		<actionResults>
			<bonus type="FIXBONUS" bonusValue="3000" accountType="SR-2221" accountTypeId="1234" multiplier="1" startAfter="1d" timeToLive="2y"/>
		</actionResults>
	</AdvertisingAction>
</AdvertisingActions>
Правила начисления бонусов в зависимости от размера оплаты по банковской карте или количества уже начисленных бонусов <bonus-accrual-rule>

AdvertisingActions/AdvertisingAction/actionResults/bonus/bonus-accrual-rule

Наименование атрибута

Тип данныхОписаниеОбязательное
percentDecimal

Процент от суммы оплаты по банковской карте, что надо вернуть покупателю в виде начисления бонусов

По умолчанию = 0

Нет
valueLong

Абсолютное количество бонусов (в бонусо-копейках), которое необходимо начислить по этому правилу

Пример загрузки акции

Нет
Наименование элементаТип данныхОписаниеОбязательное
conditionКомплексныйУсловие срабатывания данного правила начисления бонусовНет

minLong

Начальная граница интервала включительно.

NULL распознается как "минус бесконечность"

Нет
maxLong

Конечная граница интервала исключительно (интервал справа - открыт).

NULL распознается как "плюс бесконечность"

Нет
Правило начисления фишек <tokens-accrual-rule>

AdvertisingActions/AdvertisingAction/actionResults/bonus/tokens-accrual-rule

Наименование атрибута

Тип данныхОписаниеОбязательное
valueTypeСписок

Тип значения, на которое смотрим в чеке:

  • SUM - сумма товаров
  • COUNT - количество товаров
Нет
valueDecimalПроверяемое правилом значение в шт, кг или рубНет
accrualTokensLongКоличество фишек к начислению за выполнение правилаНет
maxTokensLongМаксимальное количество фишек к начислению за выполнение правилаНет
forAllGoodsBoolean

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

Начиная с версии 10.3.7.0

  • Если trueотправляется как [null] в базу данных.
Нет
excludeNotDiscountableBooleanФлаг-признак, что данная скидка не действует на товары с запретом применения скидок.
Наименование элементаТип данныхОписаниеОбязательное
productsКомплексныйНабор строк определяющий товары/группы продаж/товарные группы с которых начисляем фишкиНет
Наименование атрибутаТип данныхОписаниеОбязательное

descriptionString

Название списка товаров

Нет
Наименование атрибутаТип данныхОписаниеОбязательное

groupStringИдентификатор (код) товарной группыНет
sale-groupStringИдентификатор (код) группы продажНет
markingStringСписок идентификаторов (артикулов) товаровНет
Наименование атрибутаТип данныхОписаниеОбязательное

excludedStringНабор строк определяющий товары/группы продаж/товарные группы с которых не начисляем фишкиНет
Наименование элементаТип данныхОписаниеОбязательное

groupStringИдентификатор (код) товарной группыНет
sale-groupStringИдентификатор (код) группы продажНет
markingStringСписок идентификаторов (артикулов) товаровНет
Набор строк определяющий товары/группы продаж/товарные группы с которых не будут начислены бонусные баллы <product-row>

AdvertisingActions/AdvertisingAction/actionResults/bonus/product-row

Наименование атрибута

Тип данныхОписаниеОбязательное
descriptionString

Название списка товаров

Нет
Наименование элементаТип данныхОписаниеОбязательное
groupStringИдентификатор (код) ТОВАРНОЙ группыНет
sale-groupStringИдентификатор (код) группы продажНет
markingStringСписок идентификаторов (артикулов) товаровНет
Набор строк, определяющий товары/группы продаж/товарные группы, на которые будут начислены бонусные баллы <accrual-product-row>

AdvertisingActions/AdvertisingAction/actionResults/bonus/accrual-product-row

Наименование атрибутаТип данныхОписаниеОбязательное
descriptionStringНазвание списка товаровНет
bonusValueLong

Количество "бонусо-копеек" к начислению. Используется при типе начисления PRODUCTFIXBONUS.

Пример загрузки акции

Нет
Наименование элементаТип данныхОписаниеОбязательное
groupStringИдентификатор (код) ТОВАРНОЙ группыНет
sale-groupStringИдентификатор (код) группы продажНет
markingStringСписок идентификаторов (артикулов) товаровНет
Фильтры механики начисления бонусов <goods-filter-includeAndExcludeGroup>

Сообщение кассиру <message>

Сообщение/Информирование как результат <notification>

AdvertisingActions/AdvertisingAction/actionResults/notification

Наименование атрибута

Тип данныхОписаниеОбязательное

limit

integerМаксимальное количество "сообщений"/"наклеек", что можно получить в рамках ДАННОГО УСЛОВИЯ (данного вычислителя) данной РА.
Отсутствие данного атрибута распознается как отсутствие лимита.
Нет
allowOfflineBooleanРазрешать расчет без получения данных об ограничениях из внешней системыНет
plugin-idStringИдентификатор плагина в рамках рекламной акцииНет
Наименование элементаТип данныхОписаниеОбязательное

online-notification

Комплексныйonline-информирование о результате срабатывания РАНет

slip-content

Stringoffline-информирование: сообщение на чекеНет
printSlipInsideReceiptBooleanФлаг, определяющий, следует ли печатать слип отдельно или в составе чекаНет
force-printingBoolean

Флаг, определяющий необходимость печати слипа, даже если печать самого чека отключена

Нет

calculator

Комплексный

"Вычислитель" количества "преференций" (наклеек), что получит покупатель.
Все "вычислители" определяют количество "преференций" по одному и тому же правилу:

result = sum / divider * multiplier

  • sum - сумма (зависит от конкретной реализации "вычислителя": например, общая сумма чека, либо количество товаров из определенной группы продаж)
  • divider - делимое. Деление целочисленное!
  • multiplier - множитель.
Нет
validationКомплексныйНеобходимо ли сканирование на кассе ШК и какие именно ШКНет
action-restrictionКомплексныйОграничение выдачи подарков по клиентуНет
client-restrictrionКомплексныйОграничение выдачи подарков по акцииНет
Online-информирование: сообщения, что надо показать кассиру и покупателю <online-notification>

AdvertisingActions/AdvertisingAction/actionResults/notification/online-notification

Наименование атрибута

Тип данныхОписаниеОбязательное

time

String/Комплексный

Момент времени (этап техпроцесса), когда это сообщение показать. По умолчанию: после "подытога" возможные значения:

  • AFTER_SUBTOTAL - После "подытога"
  • AFTER_FISCALIZE - После фискализации чека
Нет
Наименование элементаТип данныхОписаниеОбязательное

message-for-customer

StringСообщение на дисплей покупателяНет

message-for-cashier

StringСообщение на экран кассираНет
Сообщение на чеке <slip-content>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AdvertisingActions>
    <AdvertisingAction AdvertActGUID="1052744" name="TESTRA1" active="true" mode="automatic" priority="1010.0" ignoreRestictions="false" worksAnyTime="true" color="yellow" external-code="TEST_A014" deleted="false" discountType="38">
        <begin-date>2018-06-19T00:00:00.000</begin-date>
        <end-date>2018-09-25T23:59:59.999</end-date>
        <actionResults>
            <set name="Набор-условие">
                <row groupName="CD-ROMS" requiedQuantity="1.0" discountPercent="0.0">
					<marking-of-the-good id="1"/>
					<marking-of-the-good id="2"/>
					<marking-of-the-good id="3"/>
					<marking-of-the-good id="4"/>
				</row>
            </set>
            <notification>
                <slip-content>##double_height####center##Test Message! TEST_A014
Left text
##right##Right text
				</slip-content>
                <calculator xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="receipt-sum-preferences-calculatorType" id="" divider="1" multiplier="1"/>
            </notification>
        </actionResults>
        <externalConditions>
            <purchaseAmount greater-than="1000.0"/>
        </externalConditions>
    </AdvertisingAction>
</AdvertisingActions>

Вычислитель количества "преференций" (наклеек, "смурфиков", "волчков"), что получит покупатель <calculator>

AdvertisingActions/AdvertisingAction/actionResults/notification/calculator

Наименование атрибута

Тип данныхОписаниеОбязательное

type

String

Тип калькулятора:

receipt-sum-preferences-calculatorType - Данный механизм "вычислитель" определяет количество "преференций" на основе суммы чека

sum-based-preferences-calculatorType - Данный "вычислитель" определяет количество "преференций" на основе суммы стоимостей позиций, удовлетворяющих определенным условиям (условиям выборки): по принадлежности товарной группе, группе продаж, имеющих определенные артикулы

quantity-based-preferences-calculatorType - Данный "вычислитель" определяет количество "преференций" на основе количества позиций

Да

id

StringИдентификатор данного "вычислятора"/"условия" предоставления подарков/"преференций". Должен быть уникален в рамках РА.Нет

divider

IntegerДелимое при вычисленииДа

multiplier

Integerмножитель при вычисленииНет

limit

IntegerМаксимальное количество "сообщений"/"наклеек", что можно получить в рамках ДАННОГО УСЛОВИЯ (данного вычислителя) данной РА. Отсутствие данного атрибута распознается как отсутствие лимита.Нет
checkDiscountableFlagBooleanПроверять или нет товарное свойство "Расчет скидок на товар запрещен" при расчете количества преференций данного типа.Нет


Все "вычислители" определяют количество "преференций" по одному и тому же правилу result = sum / divider * multiplier, где:

  • sum - это некоторая сумма (чего-то - зависит от конкретной реализации "вычислитель": например, общая сумма чека, либо количество товаров из определенной группы продаж)
  • divider - делимое. Деление целочисленное!
  • multiplier - множитель.
Калькулятор Количества "преференций" на основе суммы чека (receipt-sum-preferences-calculatorType)

AdvertisingActions/AdvertisingAction/actionResults/notification/calculator

Наименование атрибута

Тип данныхОписаниеОбязательное

xsi:type

String

receipt-sum-preferences-calculatorType

Да

id

String

Идентификатор данного "вычислителя"/"условия" предоставления подарков/"преференций". Должен быть уникален в рамках РА.

Нет

divider

Integer

Делимое при вычислении

Да

multiplier

Integer

множитель при вычислении

Нет

limit

Integer

Максимальное количество "сообщений"/"наклеек", что можно получить в рамках ДАННОГО УСЛОВИЯ (данного вычислителя) данной РА. Отсутствие данного атрибута распознается как отсутствие лимита.

Нет
checkDiscountableFlagBooleanПроверять или нет товарное свойство "Расчет скидок на товар запрещен" при расчете количества преференций данного типа.Нет
Калькулятор по сумме позиций (sum-based-preferences-calculatorType)

AdvertisingActions/AdvertisingAction/actionResults/notification/calculator

Наименование атрибута

Тип данныхОписаниеОбязательное

xsi:type

String

sum-based-preferences-calculatorType

Да

id

String

Идентификатор данного "вычислителя"/"условия" предоставления подарков/"преференций". Должен быть уникален в рамках РА.

Нет

divider

Integer

Делимое при вычислении

Да

multiplier

Integer

Множитель при вычислении

Нет

limit

Integer

Максимальное количество "сообщений"/"наклеек", что можно получить в рамках ДАННОГО УСЛОВИЯ (данного вычислителя) данной РА. Отсутствие данного атрибута распознается как отсутствие лимита.

Нет
checkDiscountableFlagBooleanПроверять или нет товарное свойство "Расчет скидок на товар запрещен" при расчете количества преференций данного типа.Нет
Наименование элементаТип данныхОписаниеОбязательное
goods-filterКомплексный

Группа элементов, описывающая товарный фильтр

Подробнее

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


<!-- 1 наклейка за каждые 100 руб. печенья (арт.: 026441_ST), но не более 4 -->
<calculator xsi:type="sum-based-preferences-calculatorType" divider="10000" multiplier="1" limit="4">
<marking>026441_ST</marking>
</calculator>
Калькулятор по количеству товаров в позициях (quantity-based-preferences-calculatorType)

AdvertisingActions/AdvertisingAction/actionResults/notification/calculator

Наименование атрибута

Тип данныхОписаниеОбязательное

xsi:type

String

quantity-based-preferences-calculatorType

Да

id

String

Идентификатор данного "вычислителя"/"условия" предоставления подарков/"преференций". Должен быть уникален в рамках РА.

Нет

divider

Integer

Делимое при вычислении

Да

multiplier

Integer

Множитель при вычислении

Нет

limit

Integer

Максимальное количество "сообщений"/"наклеек", что можно получить в рамках ДАННОГО УСЛОВИЯ (данного вычислителя) данной РА. Отсутствие данного атрибута распознается как отсутствие лимита.

Нет
checkDiscountableFlagBooleanПроверять или нет товарное свойство "Расчет скидок на товар запрещен" при расчете количества преференций данного типа.Нет
Наименование элементаТип данныхОписаниеОбязательное
goods-filterКомплексный

Группа элементов, описывающая товарный фильтр

Подробнее

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


<!-- 1 наклейка за каждые 8 тульских пряников (арт.: 184196_ST), но не более 3 -------------------------------------------------------------------->
<calculator xsi:type="quantity-based-preferences-calculatorType" divider="8000" multiplier="1" limit="3">
<marking>184196_ST</marking>
</calculator>
Необходимость сканирования на кассе штрих-кода <validation>

AdvertisingActions/AdvertisingAction/actionResults/notification/validation

Наименование атрибута

Тип данныхОписаниеОбязательное

enable

Boolean

Включена или выключена валидация

Нет
gift-nameSttring

Название подарка

Используется для отображения в сообщениях

Пример импорта

Подробнее о функциональности.

Нет
adds-as-productsBoolean

Добавлять подарки в чек как товары

Нет
remember-giftsBoolean

Запоминать результат выдачи подарков для последующих перерасчетов

Пример импорта

Подробнее о функциональности.

Нет
Наименование элементаТип данныхОписаниеОбязательное

barcode

String

Штрихкод подарка (используется только при выключенной опции "Добавлять подарки в чек как товары")

Нет
markingString

Код (артикул) товара-подарка (используется только при включенной опции "Добавлять подарки в чек как товары")

Нет


<?xml version="1.0" encoding="UTF-8"?>
<AdvertisingActions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <AdvertisingAction name="Подарок SR-4020"
                       active="true"
                       mode="unconditional"
                       priority="1001"
                       ignoreRestictions="true"
                       worksAnyTime="true"
                       color="violet"
                       external-code="EXTERNAL_CODE_0001-3">
        <begin-date>2013-03-13T00:00:00</begin-date>
        <end-date>2071-04-13T00:00:00</end-date>
        <actionResults>
            <notification limit="2">
                <online-notification time="SUBTOTAL">
                    <message-for-customer><![CDATA[CUSTOMER_MESSAGE]]></message-for-customer>
                    <message-for-cashier><![CDATA[CASHIER_MESSAGE]]></message-for-cashier>
                </online-notification>
  
                <calculator xsi:type="quantity-based-preferences-calculatorType" divider="3000" multiplier="1" limit="2">
                    <marking>145902</marking>
                </calculator>
  
                <validation enable="true" add-as-products="true">
                    <marking>00998</marking>
                </validation>
            </notification>
 
            <goodsDiscount name="Скидка на подарок" discountPercent="50" for-gifts-only="true">
                <marking-of-the-good id="00998"/>
            </goodsDiscount>
        </actionResults>
    </AdvertisingAction>
</AdvertisingActions>
Ограничение выдачи подарков по клиенту <action-restriction>

AdvertisingActions/AdvertisingAction/actionResults/notification/action-restriction

Наименование атрибута

Тип данныхОписаниеОбязательное

max-value

Integer

Значение ограничения

Да
Ограничение выдачи подарков по акции <client-restriction>

AdvertisingActions/AdvertisingAction/actionResults/notification/client-restriction

Наименование атрибута

Тип данныхОписаниеОбязательное

max-value

Integer

Значение ограничения

Да
restriction-period-typeString

Тип периода действия ограничения

  • DAYS - Дни
  • MONTHS - Месяцы
  • WEEKS - Недели
Нет
periodIntegerЗначение периода действияНет

Предложение по добавлению товара в чек <productOffer>

AdvertisingActions/AdvertisingAction/actionResults/notification/client-restriction

Наименование атрибута

Тип данныхОписаниеОбязательное

marking

String

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

Да
quantityLong

Количество товара в позиции, в "граммах" (т.е., 1000 = 1 кг. (для весового товара) и 1000 = 1 шт. (для штучного товара))

Нет

Условия срабатывания рекламных акций <externalConditions>

В одной рекламной акции может быть сразу несколько условий срабатывания, такая акция срабатывает в случае соблюдения всех заданных условий. Если условия не заданы – акция будет безусловной и работать для всех покупателей.

AdvertisingActions/AdvertisingAction/externalConditions

Наименование элемента

Тип данных

Описание

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

InternalCardsCondition

Комплексный

Наличие внутренней карты

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

Нет
ExternalCardsConditionКомплексный

Наличие внешней карты

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

Нет
HoursActionConditionКомплексный

Часы действия

Нет
DaysActionConditionКомплексныйДни неделиНет
CouponsConditionКомплексныйНаличие купонаНет
purchaseAmountКомплексныйСумма чекаНет
birthday-conditionКомплексныйДень рожденияНет
age-conditionКомплексныйВозраст покупателяНет
completed-profile-conditionКомплексныйСтатус заполненности анкетыНет
choose-external-systemКомплексныйРешает внешняя системаНет
payment-typeКомплексныйПо типу оплатыНет
cash-numsКомплексныйТип "номер кассы" [на которой пробивают чек]Нет
segment-conditionКомплексныйСрабатывание рекламной акции по вхождению дисконтной карты в сегментНет
client-guid-conditionКомплексныйТип "Клиентские", подтип "Код клиента".Нет
country-conditionКомплексныйТип "Товарные", подтип "Страна производитель"Нет
manufacturer-conditionКомплексныйТип "Товарные", подтип "Производитель"Нет
depart-conditionКомплексныйТип "Товарные", подтип "Отдел"Нет
goods-count-conditionКомплексныйТип "Товарные", подтип "Количество товаров"Нет
group-conditionКомплексныйТип "Товарные", подтип "Товарная группа"Нет
sale-group-conditionКомплексныйТип "Товарные", подтип "Группа продаж"Нет
action-results-quantity-conditionКомплексныйКоличество раз срабатыванияНет
cash-template-conditionКомплексныйУсловие срабатывания типа "Шаблоны касс"Нет
counter-conditionКомплексный

Условие срабатывания РА "Счётчик срабатывания"

Нет
external-system-resolution-conditionКомплексный

Условие срабатывания РА: "определяет внешняя система".

Нет
discount-sum-conditionКомплексный

Условие срабатывания РА: "Сумма скидки по РА"

Нет
bank-loyalty-code-conditionКомплексный

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

Нет
external-coupon-conditionКомплексный

Условие срабатывания РА: "Наличие внешнего купона"





loyalty-level-conditionКомплексный

Условие срабатывания РА: "Уровень программы лояльности клиента" для /wiki/spaces/SR10SUPPORT/pages/2475491432.

Нет


        <externalConditions>
            <country-condition>
                <condition country-code="GER" count-condition-type="LESS" count="44.879"/>
                <condition country-code="SWE"/>
            </country-condition>
            <manufacturer-condition>
                <condition manufacturer-code="31" />
                <condition manufacturer-code="21" count-condition-type="EQUAL" count="138.63"/>
            </manufacturer-condition>
            <depart-condition>
                <condition depart-number="84"/>
                <condition depart-number="46" count-condition-type="LESS" count="66.6"/>
            </depart-condition>
            <goods-count-condition count-condition-type="MORE" count="13.49" rang="2.0"/>
            <group-condition with-or="false">
                <condition group-code="5555" count-condition-type="EQUAL" count="1235.082" unique-goods="true" sum-condition-type="LESS" sum="14.66"/>
                <condition group-code="444" />
            </group-condition>
            <sale-group-condition with-or="true">
                <condition group-code="5"/>
				<condition group-code="4" count-condition-type="LESS" count="1.1" unique-goods="true" sum-condition-type="LESS" sum="876.68"/>
            </sale-group-condition>
        </externalConditions>

Наличие внутренней дисконтной карты из определенной категории <InternalCardsCondition>

AdvertisingActions/AdvertisingAction/externalConditions/InternalCardsCondition

Наименование атрибута

РазмерТип данныхОписаниеОбязательное

guid

128StringGuid категории карт в SR10Да

anyCard


BooleanФлаг-признак: сойдет ли любая внутренняя карта для срабатывания этой РА

without-card


Boolean

Флаг-признак: «без карты» — то есть, данное условие срабатывания рекламной акции будет выполнено/удовлетворено если в чеке не была применена никакая внутренняя карта.

Cамо значение атрибута не анализируется: достаточно самого факта, что этот атрибут есть


Наличие внешней карты из определенной категории <ExternalCardsCondition>

AdvertisingActions/AdvertisingAction/externalConditions/ExternalCardsCondition


Наименование атрибута

Тип данныхОписаниеОбязательное

guid

Stringguid категории карт в SetRetail10Да
providerNameString

Идентификатор внешней системы для загрузки рекламных акций с условием "Наличие внешней плагинной карты"

Уникальный идентификатор конкретного плагина необходимо получить у разработчика этого плагина. На момент загрузки РА плагин должен быть уже подключен на сервере.

Нет
without-cardBoolean

Флаг-признак: «без карты» — то есть, данное условие срабатывания рекламной акции будет выполнено/удовлетворено если в чеке не была применена никакая внутренняя карта.

Cамо значение атрибута не анализируется: достаточно самого факта, что этот атрибут есть

Нет


<?xml version="1.0" encoding="UTF-8"?>
<AdvertisingActions>
    <AdvertisingAction AdvertActGUID = "444" name="Условие - внешняя карта плагин" active="true" mode="automatic"
                                    priority="10.0" ignoreRestrictions="false" worksAnyTime="false"
                                    color="red" external-code="666" deleted="false">
   <begin-date>2012-12-01T18:00:00.000</begin-date>
   <end-date>2050-12-01T18:00:00.000</end-date>
   <actionResults>
      <calculation value-type = "CATALOG_PRICE" value = "4.0" secondary-value=""/>
   </actionResults>
   <externalConditions>
      <ExternalCardsCondition providerName="ru.crystals.plugins.card.loymax"/>
   </externalConditions>
  </AdvertisingAction>
</AdvertisingActions>

Период действия внутри суток <HoursActionCondition>

AdvertisingActions/AdvertisingAction/externalConditions/HoursActionCondition

Наименование атрибута

Тип данных

Описание

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

timeStart

String

Начало периода действия в формате:
09:30

Да

timeEnd

String

Окончание периода действия в формате:
23:59

Да

Дни недели действия акции <DaysActionCondition>

AdvertisingActions/AdvertisingAction/externalConditions/DaysActionCondition

Наименование атрибута

Тип данных

Описание

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

value

String

Указываются дни списком через пробел "MO TU WE TH FR SA SU»

Да

Наличие купона из определенной категории <CouponsCondition>

AdvertisingActions/AdvertisingAction/externalConditions/CouponsCondition

Наименование атрибута

РазмерТип данныхОписаниеОбязательное

guid

128

String

guid категории купонов в SetRetail10


Для того, чтобы узнать guid созданный категорий купонов, выполните скрипт в базе данных set на сервере SetRetail/SetCentrum

SELECT guid,
       name
FROM   card_cardtype
       left outer join card_coupons
                    ON card_cardtype.id = card_coupons.id
WHERE  card_coupons.id IS NOT NULL
ORDER  BY guid ASC 


Также посмотреть guid купона можно в строке адреса просомтра карточки категории через визуализацию сервера:


Пример импорта.

Да

number

32

String

Номер купона, который нужно применить для работы акции

Нет

Наличие купона из определенной категории <coupons-filter-condition>

Пример импорта.

AdvertisingActions/AdvertisingAction/externalConditions/coupons-filter-condition

Наименование элемента

Тип данныхОписаниеОбязательное

or

Комплексный

Или

Нет
andКомлексныйИНет
notКомплексныйКромеНет
Наименование атрибутаТип данныхОписаниеОбязательное

categoryIdIntegerID-категории купонаНет
numberIntegerНомер купона, который нужно применить для работы акцииНет

Условие суммы чека <PurchaseAmount>

AdvertisingActions/AdvertisingAction/externalConditions/PurchaseAmount

Наименование атрибута

Тип данных

Описание

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

greater-than

Double

Сумма чека, которую должен превышать чек для срабатывания условия

Нет

less-than

Double

Сумма чека, меньше которой должен быть чек для срабатывания условия

Нет

equal-to

Double

Определяет сумму чека, при которой РА может сработать

Нет
useNominalSumBoolean

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

  • true - использовать
  • false - не использовать

Данная настройка соответствует флажку в карточке рекламной акции УсловияСумма чекаПО ЧЕКУ → Учитывать стоимость товаров, на которые запрещен расчет скидок.

Нет
useSoftCheckSumBoolean

Учитывать только стоимость товаров из мягкого чека

  • true - учитывать 
  • false - не учитывать

Нет
plugin-idStringИдентификатор плагина в рамках РАНет

Условие на день рождения <birthday-condition>

AdvertisingActions/AdvertisingAction/externalConditions/birthday-condition

Наименование атрибута

Тип данных

Описание

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

days-before

nonNegativeInteger

Количество дней до дня рождения клиента. По умолчанию — 0

Нет

days-after

nonNegativeInteger

Количество дней после дня рождения клиента. По умолчанию – 0

Нет

Если не указаны оба параметра, или оба = 0, акция работает только в день рождения клиента

Условие на возраст покупателя <age-condition>

AdvertisingActions/AdvertisingAction/externalConditions/age-condition

Наименование элемента

Тип данных

Описание

Обязательное
age-conditionиКомплексныйСписок условий возрастных ограниченийНет

age-intervalКомплексныйИнтервалы возрастовДа
Наименование атрибутаТип данныхОписаниеОбязательное

left

Integer

Начало интервала.

Если отсутствует, то интервал открыт слева (т.е., распознается как интервал начинающийся в минус бесконечности)

Нет

right

Integer

Окончание интервала.

Если отсутствует, то интервал открыт справа (т.е., распознается как интервал заканчивающийся в плюс бесконечности)

Нет

Условие срабатывания РА: решает SAP CRM <choose-external-system>

AdvertisingActions/AdvertisingAction/externalConditions/choose-external-system

Наименование атрибута

Тип данных

Описание

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

enabled

Boolean

Флаг-признак включения. Если присутствует тег, то включено даже без параметра.

Нет

Условие заполненности анкеты покупателя <completed-profile-condition>

AdvertisingActions/AdvertisingAction/externalConditions/completed-profile-condition

Наименование атрибута

Тип данных

Описание

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

expected-profile-status

Boolean

Ожидаемый статус заполненности анкеты для работы акции.

True – анкета должна быть заполнена, False – анкета не заполнена

Да

Условие срабатывания РА: по типу оплаты <payment-type>

AdvertisingActions/AdvertisingAction/externalConditions/payment-type

Наименование элемента

Тип данных

Описание

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

value

String

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

Пример XML

Начиная с версии 10.2.95.0 можно указывать несолько типов оплат.

Типы оплат:

  • CashPaymentEntityОплата наличными;
  • CashMachinePaymentEntityОплата наличными (купюроприемник);
  • BankCardPaymentEntityОплата по банковской карте;
  • BonusCardPaymentEntityОплата по бонусной карте;
  • GiftCardPaymentEntityОплата по подарочной карте;
  • ExternalBankTerminalPaymentEntityВнешний банковский терминал;
  • ConsumerCreditPaymentEntityПотребительский кредит;
  • CFTGiftCardPaymentEntityОплата по подарочной карте ЦФТ;
  • SiebelBonusCardPaymentEntityОплата по бонусной карте Siebel;
  • ChildrenCardPaymentEntityОплата по Детской карте;
  • BankQRPaymentEntityОплата по QR-коду;
  • BankInstallmentPaymentEntityОплата в рассрочку по карте;
  • CFTEGCPaymentEntityОплата по ЭПС ЦФТ;
  • SupraPaymentEntityОплата по карте Супра;
  • PrepaymentEntityЗачет предоплаты;
  • SiebelBonusesForGiftPaymentEntityБонусы на подарок;
  • SiebelGiftCardPaymentEntityОплата по подарочной карте Siebel;
  • KopilkaPaymentEntityОплата по бонусной карте Копилка;
  • rs.loyalty.payment.pluginПодарочная карта RSL;
  • onepay.payment.pluginПодарочная карта Decathlon;
  • ru.crystals.plugins.payment.socialСоциальная программа;
  • umico.payment.pluginБонусы Umico;
  • ru.crystals.gold.credit.payment.pluginG.O.L.D Аванс юридического лица;
  • ru.crystals.gold.gift.card.payment.pluginПодарочная карта BRAVO.

Нет

Должен быть указан один из параметров

Номера касс, на которых должна работать рекламная акция <cash-nums>

AdvertisingActions/AdvertisingAction/externalConditions/cash-nums

Наименование

элемента

Тип данных

Описание

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

includes

String

Номера касс, на которых должна работать акция (перечисление через, или)
Пример: 3, 4, 7-11, 15

Нет

excludes

String

Номера касс, на которых не должна работать акция (перечисление через, или).

На остальных кассах акция будет работать
Пример: 3, 4, 7-11, 15

Нет

Должен быть указан один из параметров

Условие срабатывания  по удовлетворению владельца карты условий вхождения в сегмент <segment-condition>

AdvertisingActions/AdvertisingAction/externalConditions/segment-condition

segment-orand-only-filterGroup

Группа позволяет использование только одного условия фильтрации типа "И" или "ИЛИ" в элементе

Наименование элемента

Тип данных

Описание

Обязательное
orКомплексный

Условие добавления сегментов по «или», т.е. для срабатывания клиент должен находится в любом из указанных сегментов
Примеры: для срабатывания РА держатель карты должен принадлежать сегменту «A» или «B»:

Да








internal-segment-conditionfilterGroup 

Способ описания "внутренних" ("вложенных" во внешний элемент типа ИЛИ, И, или КРОМЕ) множеств сегментов

Наименование элементаТип данныхОписаниеОбязательное
segmentКомплексный

Самый простой и базовый способ определения множества сегментов: перечислением их по GUID'ам.

Сам список будет определять объединение сегментов (логическое ИЛИ).

Да

guidStringGUID сегментаДа

internal-segment-non-flat-condition-filterGroup

Группа элементов, описавыющая "сегментное множество", в которое должен попадать картоносец для удовлетворения условию срабатывания рекламных акций

Разрешается заполнять только один из нижеперечисленных элементов


orКомплексный

Сегменты, вложенные в этот элемент, взаимодействуют по логическому "ИЛИ" (объединение сегментов)

<segment-condition> 
	<or> 
		<segment guid="A" /> 
		<segment guid="B" /> 
	</or> 
</segment-condition>


Нет

andКомплексный

Сегменты, вложенные в этот элемент, взаимодействуют по логическому "И" (пересечение сегментов)

<segment-condition> 
	<and> 
		<segment guid="A" /> 
		<segment guid="B" /> 
	</and> 
</segment-condition>


Нет

notКомплексный

Данный элемент добавляет логическое отрицание множества сегментов в него "вложенного".
Т.е. фильтру, определенному данным элементом, будут удовлетворять все картоносцы, КРОМЕ тех,
что удовлетворяют вложенному элементу.
(Вычитание сегментов)

<segment-condition> 
	<not> 
		<segment guid="A" /> 
		<segment guid="B" /> 
	</not> 
</segment-condition>


Нет
andКомплексный

Условие добавления сегментов по «и», т.е. для срабатывания клиент должен находиться во всех указанных сегментах.

Да








internal-segment-conditionfilterGroup 

Способ описания "внутренних" ("вложенных" во внешний элемент типа ИЛИ, И, или КРОМЕ) множеств сегментов

Наименование элементаТип данныхОписаниеОбязательное
segmentКомплексный

Самый простой и базовый способ определения множества сегментов: перечислением их по GUID'ам.

Сам список будет определять объединение сегментов (логическое ИЛИ).

Да

guidStringGUID сегментаДа

internal-segment-non-flat-condition-filterGroup

Группа элементов, описывающая "сегментное множество", в которое должен попадать картоносец для удовлетворения условию срабатывания рекламных акций

Разрешается заполнять только один из ниже-перечисленных элементов




orКомплексный

Сегменты, вложенные в этот элемент, взаимодействуют по логическому "ИЛИ" (объединение сегментов)

<segment-condition> 
	<or> 
		<segment guid="A" /> 
		<segment guid="B" /> 
	</or> 
</segment-condition>


Нет
andКомплексный

Сегменты, вложенные в этот элемент, взаимодействуют по логическому "И" (пересечение сегментов)

<segment-condition> 
	<and> 
		<segment guid="A" /> 
		<segment guid="B" /> 
	</and> 
</segment-condition>


Нет
notКомплексный

Данный элемент добавляет логическое отрицание множества сегментов в него "вложенного".
Т.е., фильтру, определенному данным элементом будут удовлетворять все картоносцы, КРОМЕ тех,
что удовлетворяют вложенному элементу.
(Вычитание сегментов)

<segment-condition> 
	<not> 
		<segment guid="A" /> 
		<segment guid="B" /> 
	</not> 
</segment-condition>


Нет


<segment-condition>
	<or>
		<and>
			<segment guid=”A” />
			<segment guid=”B” />
		</and>
		<not>
			<and>
				<segment guid=”C” />
				<segment guid=”D” />
			</and>
		</not>
	</or>
</segment-condition>

Клиент <client-guid-condition>

AdvertisingActions/AdvertisingAction/externalConditions/client-guid-condition

Наименование элемента

Тип данных

Описание

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

suffixes

Комплексный

Список окончаний кодов клиентов

Нет
conditionКомплексный

Тип условия:

  • EXCLUDE
  • INCLUDE
Нет

suffixКомплексныйОкончаниеНет

Импорт ограничения срабатывания рекламной акции <action-results-quantity-condition>

Шаблоны касс <cash-template-condition>

AdvertisingActions/AdvertisingAction/externalConditions/cash-template-condition

Наименование элемента

Тип данных

Описание

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

template-guid

long

GUID шаблонов

Нет

Счетчик <counter-condition>

AdvertisingActions/AdvertisingAction/externalConditions/counter-condition

Наименование атрибута

Тип данных

Описание

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

counter-id

String

Идентификатор счётчика

  • counter-id не должен повторяться
  • Два экзмепляра counter-condition не могут быть с одинаковым counter-id


Да
main-valueIntegerЦелевое значение, с которым будет проводиться сравнение текущего значения счётчика для клиентаДа
second-valueIntegerВторое значение для условия BETWEENЕсли comparison-type = "BETWEEN"
comparison-typeКомплексный

Оператор сравнения.

Возможные значения:

  • MORE - больше
  • LESS - меньше
  • EQUAL - равно
  • MULTIPLY - кратно
  • BETWEEN - между
Да
include-current-purchaseBoolean

Флаг: С учётом текущей покупки. Работает только для счётчиков с метриками Чеки, Товары и показателем Количество.

Если есть необходимость включения этого флага, то нужно гарантировать, чтобы эта акция-условие считалась после акции-счётчиков, которые используются.

Акции-счётчики - акции, в которых счётчик создался, их externalCode = counter-id


Нет

Последовательность импорта

  1. Акция-условие зависима от акции-счётчика (акция-счётчик является мастером для акции-условие);
  2. Акция-условие суммируется всегда, а акция-счётчик нет;
  3. Акция-условие и акция-счётчик находятся на одном уровне, то приоритет у акции-счётчик должен быть выше и они не должны между собой конкурировать по результатам.

Рекомендуется использовать вариант 1, только так гарантируется прозрачная и чёткая последовательность. 

<?xml version="1.0" encoding="UTF-8"?>
<AdvertisingActions>
  <AdvertisingAction name="Скидка. Счетчики в условиях" active="true" mode="automatic"
             priority="10" ignoreRestictions="false" worksAnyTime="false"
             color="red">
    <begin-date>2012-12-01T18:00:00</begin-date>
    <end-date>2050-12-01T18:00:00</end-date>
    <externalConditions>
      <counter-condition counter-id="SUM_CHEQUE" main-value="20000" comparison-type="MORE"/>
      <counter-condition counter-id="ITEMS_COUNT" main-value="2000" second-value="5000" comparison-type="BETWEEN"/>
    </externalConditions>
    <actionResults>
        <calculation value-type="PERCENT" value="33"/>
    </actionResults>
  </AdvertisingAction>
</AdvertisingActions>

Определяет внешняя система <external-system-resolution-condition>

AdvertisingActions/AdvertisingAction/externalConditions/external-system-resolution-condition

Наименование элемента

Тип данных

Описание

Обязательное
external-system-resolution-conditionIntegerУсловие срабатывания РА: "определяет внешняя система".Нет
Наименование элементаТип данныхОписаниеОбязательное
providerNameStringИдентификатор внешней системыДа


<?xml version="1.0" encoding="utf-8"?>
<AdvertisingActions>
	<AdvertisingAction name="SR-3206"
	active="true" 
	mode="automatic" 
	priority="10000"
	ignoreRestictions="true" 
	worksAnyTime="false" сolor="Red">
		<begin-date>2012-02-21T00:00:00Z</begin-date>
		<end-date>2025-02-20T00:00:00Z</end-date>
		<externalConditions>		
			<external-system-resolution-condition>
				<providerName>ru.crystals.globus.sap.condition.plugin</providerName>
			</external-system-resolution-condition>
		</externalConditions>
		<actionResults>
			<goodsDiscount name = "10% скидки на бородинский" discountPercent = "10.0">
				<!-- Хлеб КАРАВАЙ Бородинский 350 г -->
				<marking-of-the-good id = "055666_ST" />
			</goodsDiscount>
			<bonus type="DiscountFromCheck" accountType="Глобус"/>
		</actionResults>
	</AdvertisingAction>
</AdvertisingActions>

Сумма скидки по РА <discount-sum-condition>

Код банковской программы лояльности <bank-loyalty-code-condition>

Условие срабатывания РА: Наличие внешнего купона <external-coupon-condition>

Условие срабатывания РА: Уровень программы лояльности клиента <loyalty-level-condition>

AdvertisingActions/AdvertisingAction/externalConditions/loyalty-level-condition

Наименование атрибута

Тип данных

Описание

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

loyalty-level-id

Long

Идентификатор уровня программы лояльности

Да
plugin-idStringИдентификатор плагина в рамках РАНет


<AdvertisingActions>
    <AdvertisingAction name="SLS-1474" active="true" mode="automatic" priority="1000.0" ignoreRestrictions="false"
                       worksAnyTime="false" color="green" external-code="1234567" AdvertActGUID="412741212" deleted="false">
        <begin-date>2012-12-01T18:00:00.000</begin-date>
        <end-date>2050-12-01T18:00:00.000</end-date>
        <actionResults>
            <goodsDiscount name="Тест" calcWeightProductCountAsOne="false" maxQuantity="0.0" discountPercent="1.0" conditionCount="3.0">
                <for-all-goods>false</for-all-goods>
                <goodsGroup name="Тест">
                    <marking-of-the-good id="5"/>
                </goodsGroup>
            </goodsDiscount>
        </actionResults>
        <externalConditions>
            <loyalty-level-condition loyalty-level-id="12"/>
        </externalConditions>
    </AdvertisingAction>
</AdvertisingActions>

Условие срабатывания РА: По решению покупателя <client-decision-condition>

Условие срабатывания РА: "Решает кассир" (ручные скидки) <cashier-condition>


Типы ценников рекламной акции <pricetag-type>

AdvertisingActions/AdvertisingAction/pricetag-type

Наименование элемента

Тип данных

Описание

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

pricetag-type

list

Типы ценников, что надо распечатать на данную акцию

Допускается только одно повторение элемента в рекламной акции. Если требуется указать два типа ценника: Акционный и Скидочный (дополнительный/замещающий), тогда они должны быть перечислены через пробел:

  • ACTION - акционный ценник.
  • ADDITIONAL - скидочный (Дополнительный/замещающий)

<pricetag-type>ACTION ADDITIONAL</pricetag-type>

Нет

Cписок внешних кодов шаблонов ценников <pricetag-template>

AdvertisingActions/AdvertisingAction/pricetag-template

Наименование атрибута

Тип данных

Описание

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

count

PositiveInteger

Количество ценников данного шаблона, что надо распечатать в автоматическом режиме

Нет

Привязка к формату шаблона ценника из внешней системы <template-format>

Метки рекламных акций <actionLabels>

AdvertisingActions/AdvertisingAction/actionLabels

Поле

Тип данных

Описание

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

label

String

Наименование метки рекламной акции

Нет

В одной рекламной акции может быть до 5 меток.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AdvertisingActions>
    <AdvertisingAction name="SR2823 Акция с метками" active="true" mode="automatic" priority="4236.0" ignoreRestictions="false" worksAnyTime="false" color="violet" external-code="SR10_763893" deleted="false" discountType="9">
        <begin-date>2019-04-04T12:10:45.498</begin-date>
        <end-date>2200-12-31T16:02:34.482</end-date>
        <actionResults>
            <calculation value-type="PERCENT" value="10" secondary-value=""/>
        </actionResults>        
        <actionLabels>
            <label>Скидки поставщиков</label>
        </actionLabels>
    </AdvertisingAction>
</AdvertisingActions>

Множество кодов РА, игнорирующих запрет новых скидок после срабатывания данной акции <finalActionExclusions>

Дополнительная информация

Остановка рекламных акций

Загруженная из ERP Рекламная акция может быть остановлена из ERP двумя способами:

  1. Загрузка акции с указанием end-date, равной планируемой дате окончания акции.
  2. Загрузка акции с указанием deleted = true. При получении такой акции из ERP акция с данным кодом остановится в SetRetail 10 незамедлительно.
При использовании тега deleted достаточно загрузить только признак удаления и код акции без остального содержимого


<AdvertisingActions> 
<AdvertisingAction name=”Скидка на количество по карте (зависит от 2й цены)” active=”true” mode=”automatic” priority=”1” ignoreRestictions=”true” worksAnyTime=”false” color=”green” external-code=”SR10_001”>
    <dependence key=”external-code” value=”SR10_1363”/>
    <dependence key=”external-code” value=”SR10_1364”/>
            <begin-date>2012-10-21T00:00:00Z</begin-date>
            <end-date>2012-11-31T00:00:00Z</end-date>
            <actionResults>
    <catalog>
    <marking-of-the-good id = “3850114202480” discountStart = “2.000” fixedPrice = “1000.00” maxQuantity = “43534.00”/>
    </catalog>
            </actionResults>
    <externalConditions>
                <InternalCardsCondition guid=”1359”/> 
      </externalConditions>
        </AdvertisingAction>
</AdvertisingActions> 

Одинаковые наборные акции