Импорт рекламных акций из ERP в SetRetail10

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

Методы веб-сервиса для импорта рекламных акций

Без обратной связи

МетодimportActions
URLhttp://IP-адрес_сервера:8090/SET-ERPIntegration/AdvertisingActionsImport
WSDLhttp://IP-адрес_сервера:8090/SET-ERPIntegration/AdvertisingActionsImport?wsdl

Поле

Тип данных

Описание

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

Принимаемые параметры  

xmlData

base64Binary

Рекламные акции в формате XML

Да

Возвращаемые параметры

return

boolean

Ответ об успешном прохождении валидации пакета данных и принятии его в обработку


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


С обратной связью

МетодimportActionsWithTi
URLhttp://IP-адрес_сервера:8090/SET-ERPIntegration/AdvertisingActionsImport
WSDLhttp://IP-адрес_сервера:8090/SET-ERPIntegration/AdvertisingActionsImport?wsdl

Поле

Тип данных

Описание

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

Принимаемые параметры

xmlData

base64Binary

XML в формате данных Рекламных акций, кодированный с помощью base64Binary

Да

ti

String

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

Нет

Возвращаемые параметры

return

boolean

True в случае успешной обработки пакета


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

Важно

Идентификатор пакета ti Transaction Id – является уникальным идентификатором этого пакета в SetRetail10, что накладывает определённые ограничения на повторный импорт пакета и загрузку разных типов данных с одним идентификатором.

Рекламные акции <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 рекламных акций. Рекламная акция будет отклонена, если в данных РА:

  • Указана зависимость от другой акции, которой нет в SR10;
  • Указан магазин, которого нет в SR10;
  • Не указан один из обязательных параметров величины скидки (фиксированная цена / процент скидки и т.п.)


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

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

AdvertisingActions/AdvertisingAction

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

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

Размер

Тип данных

Описание

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

advertActGUID


Integer

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

Нет

name

255

String

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

Да

active


Boolean

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

Да

mode

13

String

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

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

priority

15

Double

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

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

Нет

ignoreRestictions

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



Boolean

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

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

ignoreRestrictions



Boolean

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

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

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

SR-3219 Getting issue details... STATUS

SR-3563 Getting issue details... STATUS

Нет

worksAnyTime



Boolean

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

color

7

String

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

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

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

external-code

255

String

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

Да

ti

255

String

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

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

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

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

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

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

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

SR-5427 Getting issue details... STATUS

10.3.10.0

Нет

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

Размер


Тип данных

Описание

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

shop-indices

1024

PositiveInteger

(white space separated)

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

Нет

begin-date


 DateTime

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

Да

end-date


 DateTime

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

Да

pricetag-type

255

 String

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

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

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

Блок

Описание

dependence

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

externalConditions

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

actionResults

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

pricetag-template

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

actionLabelsМетки рекламной акции

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

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

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

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

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

Важно:

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

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

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

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

AdvertisingActions/AdvertisingAction/dependence

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

Размер

Тип данных

Описание

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

key

255

String

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

Да

value

255

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

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

CR-2932 Getting issue details... STATUS

10.2.83.0

10.2.84.0

counter

Счётчик

SLS-261 Getting issue details... STATUS

SLS-256 Getting issue details... STATUS

SLS-259 Getting issue details... STATUS

10.2.75.0

coupon

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

SR-5169 Getting issue details... STATUS

CR-6133 Getting issue details... STATUS

10.3.5.0

bonus

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

message

SR-5486 Getting issue details... STATUS

CR-7417 Getting issue details... STATUS

10.3.13.0

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

notification

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

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

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

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

AdvertisingActions/AdvertisingAction/actionResults/set

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

Размер

Тип данных

Описание

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

name

64

String

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

Да

valueType

64

String

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

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

value

15

Double

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

Нет

wholesale-restriction

4294967295

Integer

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

Нет

maxQuantity

3

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

4294967295

integer

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

Да

discountPercent

15

Double

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

Нет

fixedPrice

15

Double

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

Нет

groupName

32

String

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

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

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

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

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

Размер

Тип данных

Описание

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

id

255

String

код товара

Да

maxQuantity


Double

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

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

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

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

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

CR-3655 Getting issue details... STATUS

SR-3702 Getting issue details... STATUS

10.2.82.0

Нет

discountStart

Double

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

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

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

10.2.89.0

SR-4019 Getting issue details... STATUS

SR-4020 Getting issue details... STATUS

Нет
for-soft-check-onlyBoolean

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

10.3.4.0

SR-5161 Getting issue details... STATUS

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

apply-count-for-each-row

String

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

  • true
  • false

SR-5218 Getting issue details... STATUS

CR-6154 Getting issue details... STATUS

10.3.6.0

Применяется к элементам списка и действуют на количество товара каждого объекта 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Комплексный

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

SLS-382 Getting issue details... STATUS

10.2.80.0

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

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

SR-3610 Getting issue details... STATUS

SR-3671 Getting issue details... STATUS

10.2.80.0

Нет
action-label-excludeString

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

SR-4928 Getting issue details... STATUS

10.3.0.0

Нет
Пример
<?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>

SLS-382 Getting issue details... STATUS

10.2.80.0

AdvertisingActions/AdvertisingAction/actionResults/goodsDiscount/client-restriction

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

Тип данных

Описание

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

client-restriction

КомплексныйОграничение по сумме скидки РА по клиентуНет
Наименование атрибутаТип данныхОписаниеОбязательное
max-valueIntegerЗначение ограниченияДа
restriction-period-typeКомплексныйТип периода действия ограниченияНет
periodКомплексныйЗначение периода действияДа
Пример XML:
<AdvertisingActions><AdvertisingAction name="НЕ РЕДАКТИРОВАТЬ" active="true" mode="automatic" worksAnyTime="true" external-code="SLS-382" deleted="false"priority="100000.0" ignoreRestrictions="false" color="yellow"><begin-date>2012-12-01T18:00:00</begin-date><end-date>2050-12-01T18:00:00</end-date><actionLabels><label>социальные</label></actionLabels>
    <actionResults>
		
        <goodsDiscount name="Штучные товары 60шт" calcWeightProductCountAsOne="false" discountPercent="10.0" allowOffline="false">
            <for-all-goods>false</for-all-goods>
            <product-type>ProductPieceEntity</product-type>
            <client-restriction max-value="60" restriction-period-type="DAYS" period="30"/>
        </goodsDiscount>
		
		
        <goodsDiscount name="Весовые товары 6кг" calcWeightProductCountAsOne="false" discountPercent="10.0" allowOffline="false">
            <for-all-goods>false</for-all-goods>
            <product-type>ProductWeightEntity</product-type>
            <client-restriction max-value="6" restriction-period-type="DAYS" period="30"/>
        </goodsDiscount>
		
    </actionResults>	
	
    <externalConditions>
        <ExternalCardsCondition providerName="ru.crystals.gold.social.card.plugin"/>
    </externalConditions>
	
</AdvertisingAction>
</AdvertisingActions>

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

Условие "до истечения срока годности" результата РА "скидки на товары"

SR-3610 Getting issue details... STATUS

SR-3671 Getting issue details... STATUS

10.2.80.0

AdvertisingActions/AdvertisingAction/actionResults/goodsDiscount/storage-time-condition

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

Тип данных

Описание

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

exclude-manually-added-positions

BooleanФлаг: не учитывать товары, добавленные вручнуюНет
Наименование элементаТип данныхОписаниеОбязательное
periodКомплексныйВременной период, определяющий значения "от" и "до"Да



period-typeКомплексный

Тип периода

  • HOURS - Дни
  • DAYS - Часы
Да
units-fromIntegerЗначение "от"Нет
units-tillIntegerЗначение "до"Да
Пример XML:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AdvertisingActions>
    <AdvertisingAction AdvertActGUID="3434545" name="Срок годности" active="true" mode="unconditional" priority="4736.0" ignoreRestrictions="false" worksAnyTime="true" color="blue" external-code="EXT39248" deleted="false" discountType="5" disableChargeOnBonuses="false">
        <begin-date>2020-04-30T00:00:00.000</begin-date>
        <end-date>2020-04-30T23:59:59.999</end-date>
        <actionResults>
            <goodsDiscount name="Новая скидка на товары 1" calcWeightProductCountAsOne="false" maxQuantity="1.0" discountPercent="20.0">
                <for-all-goods>false</for-all-goods>
                <marking-of-the-good id="45034"/>
				<storage-time-condition exclude-manually-added-positions="true">
					<period period-type="HOURS" units-from="12" units-till="24"/>
				</storage-time-condition>
            </goodsDiscount>
        </actionResults>
        <externalConditions/>
    </AdvertisingAction>
</AdvertisingActions>

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

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

AdvertisingActions/AdvertisingAction/actionResults/calculation

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

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

value-type

String

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

  • CATALOG_PRICE - Дать цену на товары в чеке из справочника товаров (вторые, третьи и четвертые цены). Value определяет номер цены из справочника.
  • COUPON - Взять скидку из примененного на кассе скидочного купона, ранее распечатанного на кассе как результат рекламной акции. Value подразумевает максимальной процент оплаты купоном в чеке.
  • DISCCARD - Дать скидку по дисконтной карте, процент скидки берется из данных категории карты, предъявленной клиентом. Value не заполняется.
  • EXTERNAL_LOYALTY - Результаты рекламной акции определяются сторонним поставщиком лояльности
  • FIXSUMM - Суммовая скидка на чек, value определяет значение скидки
  • 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>


SR-5269 Getting issue details... STATUS

CR-6270 Getting issue details... STATUS

10.3.6.0

AdvertisingActions/AdvertisingAction/actionResults/calculation/calculation-rule

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

Тип данных

Описание

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

percent

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


minLong

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

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

Нет
maxLong

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

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

Нет


Пример XML:
<?xml version="1.0" encoding="utf-8"?>
<AdvertisingActions>
    <AdvertisingAction AdvertActGUID="6665269" name="SR-5269 скидка в размере процента от оплаты" active="true"
                       mode="unconditional" priority="2000.0" ignoreRestrictions="false" worksAnyTime="false"
                       color="green" external-code="SR-5269-01" deleted="false" disableChargeOnBonuses="false">
        <begin-date>2021-03-13T00:00:00.000</begin-date>
        <end-date>2021-04-13T00:00:00.000</end-date>
        <actionResults>
            <calculation value-type="PAYMENT_TYPE_PERCENT" secondary-value="BankCardPaymentEntity">
				<calculation-rule percent="6" >
					<condition min="10000" max="20000"/>
				</calculation-rule>
            </calculation>
        </actionResults>
        <externalConditions/>
    </AdvertisingAction>
</AdvertisingActions>

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

Информация об этой функциональности входит в состав страницы Импорт рекламных акций из ERP в SetRetail10 глава Бонусы как скидка <bonus-discount>.

SR-5172 Getting issue details... STATUS

CR-6207 Getting issue details... STATUS

10.3.6.0

AdvertisingActions/AdvertisingAction/actionResults/bonus-discount

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

Тип данных

Описание

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

max-percent

Double

Максимальный процент оплаты баллами от суммы чека

Да

position-max-percent

Double

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

SR-5458 Getting issue details... STATUS

10.3.10.0

Нет

type

String

Тип (CRM, спасибо от сбербанка, внутренние бонусы, ...).

Если отсутствует, то по умолчанию == "CRM".

Нет

plugin-id

String

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

Нет

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

Тип данных

Описание

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

for-all-goods

Boolean

Флаг-признак: РА действует на весь товарный справочник

Значение по умолчанию true

  • true - применяется на весь товарный справочник;

  • false - отключено применение на весь товарный справочник.

Нет

goods-filterGroup

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

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

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

Нет

name

Комплексный

Название составного объекта

Нет

marking-of-the-good

Комплексный

Товар

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

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

  • maxQuantity / 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 / Код (артикул) товара / *Обязательное;

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

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

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

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

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

Нет

group

String

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

Товарная группа на которую воздействует РА

Нет

sale-group

String

Код группы продаж

Список идентификаторов (кодов) групп продаж, на товары из которых воздействует РА

Нет

manufacturer

String

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

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

Нет

department

String

Номер отдела

Номер отдела, на товары из которого воздействует РА

Нет

country

String

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

Нет

product-type

String

Тип товара

Тип товара, на который воздействует РА

Нет

composite

Комплексный

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

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

Нет

exclude

Комплексный

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

Нет

goods-filterGroup

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

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

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

Нет

name

Комплексный

Название составного объекта

Нет

marking-of-the-good

Комплексный

Товар

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

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

  • maxQuantity / 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 / Код (артикул) товара / *Обязательное;

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

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

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

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

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

Нет

group

String

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

Товарная группа, на которую воздействует РА

  • id / String / Идентификатор группы продаж / *Обязательное

Нет

sale-group

String

Код группы продаж

Список идентификаторов (кодов) групп продаж, на товары из которых воздействует РА

Нет

manufacturer

String

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

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

Нет

department

String

Номер отдела

Номер отдела, на товары из которого воздействует РА

Нет

country

String

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

Нет

product-type

String

Тип товара

Тип товара, на который воздействует РА

Нет

composite

Комплексный

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

Нет

discount-restriction

Комплексный

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

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

Нет

Пример XML:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AdvertisingActions>
    <AdvertisingAction AdvertActGUID="77388" name="test155" active="true" mode="automatic" priority="1000077.0" ignoreRestrictions="false" worksAnyTime="true" color="blue" external-code="SR10_74787" deleted="false" discountType="30" disableChargeOnBonuses="false">
        <begin-date>2021-11-23T11:20:59.626</begin-date>
        <end-date>2200-12-31T23:32:23.310</end-date>
        <actionResults>
            <bonus-discount max-percent="66.0" type="BONUS_SR10">
                <for-all-goods>false</for-all-goods>
                <goodsGroup name="Список продуктов">
                    <marking-of-the-good id="00000"/>
                    <marking-of-the-good id="00002"/>
                </goodsGroup>
                <marking-of-the-good>184196_ST</marking-of-the-good>
                <marking-of-the-good>184197_ST</marking-of-the-good>
                <group id="32"/>
                <sale-group>24</sale-group>
                <manufacturer>0000102305</manufacturer>
                <department>363</department>
                <country>RU</country>
                <product-type>ProductPieceEntity</product-type>
                <composite>
                    <group id="321303"/>
                    <manufacturer>0000100290</manufacturer>
                    <country>RU</country>
                    <name>Составной объект</name>
                </composite>
                <exclude>
                  <goodsGroup name="писок продуктов">
                      <marking-of-the-good id="00000"/>
                      <marking-of-the-good id="00002"/>
                  </goodsGroup>
                  <goodsGroup name="Хлеб (Россия)"/>
                  <group id="32"/>
                  <sale-group>24</sale-group>
                    <manufacturer>0000100633</manufacturer>
                    <department>1</department>
                    <country>88</country>
                    <product-type>ProductCFTGiftCardEntity</product-type>
                    <composite>
                        <group id="GRP_777"/>
                        <manufacturer>0000100290</manufacturer>
                        <country>49</country>
                        <name>состав исключения</name>
                    </composite>
                </exclude>
            </bonus-discount>
        </actionResults>
        <externalConditions>
            <InternalCardsCondition anyCard="false" guid="40122017"/>
        </externalConditions>
    </AdvertisingAction>
</AdvertisingActions>

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

SR-5458 Getting issue details... STATUS

CR-7273 Getting issue details... STATUS

10.3.10.0

AdvertisingActions/AdvertisingAction/actionResults/bonus-discount/discount-restriction

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

Тип данных

Описание

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

max-percent

DoubleМаксимальный процент скидки бонусами на товары, входящие в фильтр. 

Да

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


Тип данных

Описание

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

goods-filterGroup

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

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

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

Нет

marking-of-the-good

Комплексный

Товар

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

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

  • maxQuantity / 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 / Код (артикул) товара / *Обязательное;

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

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

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

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

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

Нет
groupString

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

Товарная группа, на которую воздействует РА

Нет
sale-groupString

Код группы продаж

Список идентификаторов (кодов) групп продаж, на товары из которых воздействует РА

Нет
manufacturerString

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

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

Нет
departmentString

Номер отдела

Номер отдела, на товары из которого воздействует РА

Нет
countryString

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

Нет
product-typeString

Тип товара

Тип товара, на который воздействует РА

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

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

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

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

Название составного объекта

Нет


Пример XML:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AdvertisingActions>
    <AdvertisingAction AdvertActGUID="6665270"
                       name="SR-5458 Индивидуальные потолки списания бонусов на товары"
                       active="true"
                       mode="unconditional"
                       priority="2000.0"
                       ignoreRestrictions="false"
                       worksAnyTime="false"
                       color="green"
                       external-code="SR-5458"
                       deleted="false"
                       disableChargeOnBonuses="false">
        <begin-date>2021-03-13T00:00:00.000</begin-date>
        <end-date>2021-04-13T00:00:00.000</end-date>
        <actionResults>
            <bonus-discount max-percent="95.0" position-max-percent="10.0" type="BONUS_SR10">
                <for-all-goods>false</for-all-goods>
                <goodsGroup name="Список продуктов">
                    <marking-of-the-good id="00004"/>
                    <marking-of-the-good id="22334456"/>
                    <marking-of-the-good id="00005"/>
                    <marking-of-the-good id="202444"/>
                </goodsGroup>
                <group id="32"/>
                <sale-group>24</sale-group>
                <manufacturer>0000102305</manufacturer>
                <department>363</department>
                <country>RU</country>
                <product-type>ProductPieceEntity</product-type>
                <composite>
                    <group id="321303"/>
                    <manufacturer>0000100290</manufacturer>
                    <country>RU</country>
                    <name>Составной объект</name>
                </composite>
                <exclude>
                    <goodsGroup name="Список продуктов">
                        <marking-of-the-good id="00000"/>
                        <marking-of-the-good id="00002"/>
                    </goodsGroup>
                </exclude>
                <discount-restriction max-percent="33.0">
                    <marking-of-the-good id="202444"/>
                </discount-restriction>
                <discount-restriction max-percent="20.0">
                    <marking-of-the-good id="00005"/>
                </discount-restriction>
                <discount-restriction max-percent="40.0">
                    <marking-of-the-good id="22334456"/>
                </discount-restriction>
                <discount-restriction max-percent="55.0">
                    <composite>
                        <group id="32"/>
                        <manufacturer>0000102305</manufacturer>
                        <country>RU</country>
                        <name>состав исключения</name>
                    </composite>
                </discount-restriction>
            </bonus-discount>
        </actionResults>
        <externalConditions/>
    </AdvertisingAction>
</AdvertisingActions>

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

CR-2932 Getting issue details... STATUS

10.2.83.0

10.2.84.0

10.2.75.0

AdvertisingActions/AdvertisingAction/actionResults/tokens-discount

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

Тип данных

Описание

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

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

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

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

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

Счетчик <counter>

SLS-261 Getting issue details... STATUS

SLS-256 Getting issue details... STATUS

SLS-259 Getting issue details... STATUS

10.2.75.0

AdvertisingActions/AdvertisingAction/actionResults/counter

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

Тип данных

Описание

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

metric

Комплексный

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

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

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

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

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

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

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

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

  • HOURS - часы
  • DAYS - дни
  • WEEKS - недели
  • MONTHS - месяца
Да
Наименование элементаТип данныхОписаниеОбязательное
markingsСписокКоды товаровНет
Пример XML:
<?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>

Эта страница/секция является составной частью статьи Импорт рекламных акций из ERP в SetRetail10.

SR-5169 Getting issue details... STATUS

CR-6133 Getting issue details... STATUS

В качестве результата рекламной акции произойдет печать чекового купона (возвратного) в составе чека или в отдельном слипе с штрих-кодом или QR-кодом.

AdvertisingActions/AdvertisingAction/actionResults/coupon

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

Тип данных

Описание

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

plugin-id

String

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

Нет

print-slip-inside-receipt

Boolean

Флаг-признак: печатать слип в составе чека

Нет

force-printing

Boolean

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

SR-5523 Getting issue details... STATUS

10.3.13.0

Нет

priority

Long

Приоритет печати купона

Нет

discount

Комплексный

Скидка, которая будет предоставляться по предъявлению напечатанного купона

Нет

period

Комплексный

Период действия купона

Нет

barcode

String

Номер штрихкода чекового (серийного) купона.

Нет

coupon-type-guid

Long

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

Нет

barcode-type

Комплексный

Тип штрих-кода, который нужно распечатать

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

  • BARCODE (по умолчанию)

  • QR

Нет

required-client-card

Boolean

Флаг-признак: для применения купона потребуется применение карты постоянного покупателя.

Нет

only-one-time

Boolean

Флаг-признак: только одноразовое применение купона

Нет

allow-offline

Boolean

Флаг-признак: разрешать расчет без получения данных об ограничениях из внешней системы

Нет

action-restriction

Комплексный

Ограничения по рекламной акции

Нет

client-restriction

Комплексный

Ограничения по клиенту

Нет

text

String

Текст купона.

  • Штрихкод - обязательный атрибут. Печатается в конце %CouponBarcode%

Кроме него возможно использовать следующие подстановки:

  • Название купона %CouponName %

  • Скидка по купону %CouponDiscount %

  • Описание преференций по купону %CouponDescription %

  • Номер дисконтной карты %InternalCard %

  • Общий (суммарный) размер скидки по чеку %TotalDiscount %

  • Размер скидки по РА на чеке %DiscountSum %

  • Дата покупки %PurchaseDate_D_MMMM_YY %

  • Начало действия купона %CouponStartDate_D_MMMM_YY %

  • Конец действия купона %CouponEndDate_DD_MM_YY %

  • Имя покупателя на чеке %Customer alternative: , format: F_M_, width: 20%

    • L_F_M - Фамилия Имя Отчество;

    • F_M - Имя Отчество;

    • F_L - Имя Фамилия;

    • F_ - Имя

    • alternative: - альтернатива для имени. Пример "alternative: Клиент"

    • width - размер текста

Допустимые форматы дат:

  • D_MMMM_YYYY Пример: 10 октября 1997

  • D_MMMM_YY Пример: 10 октября 97

  • DD_MM_YYYY Пример: 10.10.1997

  • DD_MM_YY Пример: 10.10.97

Форматирование текста:

  • ##center## Текст в центре

  • ##right## Текст справа

  • ##left## Текст слева

  • ##double_height## Большой шрифт

  • ##small## Маленький шрифт

  • ##double_width## Жирный шрифт

Да

Скидка, которая будет предоставляться по предъявлению напечатанного купона

AdvertisingActions/AdvertisingAction/actionResults/coupon/discount

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

Тип данных

Описание

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

discount-type

Комплексный

Тип скидки - какой тип рассчитанной скидки будет предоставлен при предъявлении напечатанного купона

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

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

  • FIXSUMM - предоставленная скидка по напечатанному купону будет рассчитываться в пределах установленной суммы

  • PERCENT - предоставленная скидка по напечатанному купону будет рассчитываться в процентах

Нет

discount-value

Double

Значение скидки по данному купону

Нет

max-discount

Double

Максимальный размер скидки (что можно получить при применении в будущем чеке покупки) по данному купону

Нет

Период действия купона

AdvertisingActions/AdvertisingAction/actionResults/coupon/period

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

Тип данных

Описание

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

starts-after-period-type

Комплексный

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

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

  • DAYS - Дни

  • HOURS - Часы

  • MINUTES - Минуты

  • MONTHES - Месяцы

  • NOW - Сейчас

  • WEEKS - Недели

  • YEARS - Годы

Нет

starts-after

Integer

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

Нет

works-period-type

Комплексный

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

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

  • DAYS - Дни

  • HOURS - Часы

  • MINUTES - Минуты

  • MONTHES - Месяцы

  • NOW - Сейчас

  • WEEKS - Недели

  • YEARS - Годы

Нет

works-period

Integer

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

Нет

Ограничения по рекламной акции

AdvertisingActions/AdvertisingAction/actionResults/coupon/action-restriction

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

Тип данных

Описание

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

max-value

Integer

Указывается общее количество раз печати купона за всю рекламную акцию

Да

Ограничения по клиенту

AdvertisingActions/AdvertisingAction/actionResults/coupon/client-restriction

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

Тип данных

Описание

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

max-value

Integer

Максимальное количество печати купона у одного клиента

Да

restriction-period-type

Комплексный

Тип периодичности печати купона

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

  • DAYS - Дни

  • MONTHS - Месяцы

  • WEEKS - Недели

Нет

period

Integer

Значение периодичности печати купона для покупателя

Нет

Пример XML:

<AdvertisingActions>
    <AdvertisingAction name="Акция с результатом печать купона" active="true" mode="unconditional" priority="50.0" ignoreRestrictions="false" worksAnyTime="true" color="red" external-code="Акция с результатом печать купона">
        <begin-date>2021-10-16T18:00:00</begin-date>
        <end-date>2022-12-01T18:00:00</end-date>
        <actionResults>
            <coupon>
                <force-printing>true</force-printing>
                <print-slip-inside-receipt>true</print-slip-inside-receipt>
                <priority>1</priority>
                <discount>
                    <discount-type>PERCENT</discount-type>
                    <discount-value>10.0</discount-value>
                    <max-discount>1000.0</max-discount>
                </discount>
                <period>
                    <starts-after-period-type>DAYS</starts-after-period-type>
                    <starts-after>1</starts-after>
                    <works-period-type>MONTHES</works-period-type>
                    <works-period>1</works-period>
                </period>
                <required-client-card>true</required-client-card>
                <only-one-time>true</only-one-time>
                <allow-offline>false</allow-offline>
                <action-restriction max-value="1"/>
                <client-restriction max-value="1"/>
                <text>
                    Название купона %CouponName %
                    Скидка по купону %CouponDiscount %
                    Описание преференций по купону %CouponDescription %
                    Номер дисконтной карты  %InternalCard %
                    Общий (суммарный) размер скидки по чеку %TotalDiscount %
                    Размер скидки по РА на чеке %DiscountSum %
                    Дата покупки %PurchaseDate_D_MMMM_YY %
                    Начало действия купона %CouponStartDate_D_MMMM_YY %
                    Конец действия купона %CouponEndDate_DD_MM_YY % где формат
                    D_MMMM_YYYY Пример 10 октября 1997
                    D_MMMM_YY Пример 10 октября 97
                    DD_MM_YYYY Пример 10.10.1997
                    DD_MM_YY Пример 10.10.97
                    Имя покупателя на чеке %Customer alternative: , format: F_M_, width: 20%
                    L_F_M - Фамилия Имя Отчество; F_M - Имя Отчество; F_L - Имя Фамилия; F_ - Имя
                    alternative: альтернатива для имени. Пример "alternative: Клиент", width размер текста
                    ##center## ##double_height##Текст  в центре + большой шрифт
                    ##right## ##small## Текст справа + маленький шрифт
                    ##left## ##double_width## Текст слева + жирный шрифт 
                    ШК - обязательный атрибут. Печатается в конце %CouponBarcode%
                </text>
            </coupon>
        </actionResults>
    </AdvertisingAction>
</AdvertisingActions>

Бонусы на счёт <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

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

SR-3717 Getting issue details... STATUS

10.2.91.0


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

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

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

Нет

endDate


dateTime

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

SR-3717 Getting issue details... STATUS

10.2.91.0


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

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

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

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

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

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

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

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

Тип данных

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

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

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

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

CR-2932 Getting issue details... STATUS

10.2.83.0

10.2.84.0

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

SR-2221 Getting issue details... STATUS

Пример загрузки рекламной акции для начисления бонусов начиная с версии 10.2.51.0
<?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>

SR-5189 Getting issue details... STATUS

10.3.5.0

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

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

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

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

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

Нет
valueLong

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

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

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

minLong

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

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

Нет
maxLong

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

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

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

CR-2932 Getting issue details... STATUS

10.2.83.0

10.2.84.0

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

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

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

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

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

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

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

SR-5338 Getting issue details... STATUS

  • Если 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>

SR-5181 Getting issue details... STATUS

10.3.5.0

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

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

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

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

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

SR-5540 Getting issue details... STATUS

CR-6236 Getting issue details... STATUS

10.3.13.0


AdvertisingActions/AdvertisingAction/actionResults/bonus/goods-filter-includeAndExcludeGroup

Описание атрибутов аналогично goods-filter-includeAndExcludeGroup в главе Товары и группы товаров, на которые должна сработать акция <goods-filterIncludeAndExcludeGroup> goodsDiscountType и главе Бонусы как скидка <bonus-discount>.

  1. Исключение товаров из расчета через product-row начиная с версии 10.3.13.0 считается устаревшим, но сохранено для совместимости.
  2. goods-filter-includeAndExcludeGroup (как и product-row) учитываются только при типе начисления AMOUNTPERCENT и MULTIPLEPERCENT


Пример XML:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AdvertisingActions>
    <AdvertisingAction AdvertActGUID="210620183" name="SR-5540" active="true" mode="unconditional" priority="10.0" ignoreRestrictions="false" worksAnyTime="false" color="red" external-code="SR-5540" deleted="false">
        <begin-date>2012-12-01T18:00:00.000</begin-date>
        <end-date>2050-12-01T18:00:00.000</end-date>
        <actionResults>
            <bonus type="AMOUNTPERCENT" sponsor="BONUS_SR10" bonusValue="1000" summa="0" accountType="SR-5540" accountTypeId="1234" multiplier="1.0" startAfter="1d" timeToLive="2y">
                <for-all-goods>false</for-all-goods>
                <marking-of-the-good id="184195_ST"/>
                <group id="12346"/>
                <sale-group>SG4</sale-group>
                <sale-group>SG5</sale-group>
                <manufacturer>1235</manufacturer>
                <department>2</department>
                <country>AZ</country>
                <product-type>ProductDiscountCardEntity</product-type>
                <composite>
                    <manufacturer>1237</manufacturer>
                    <department>3</department>
                    <name>Составной объект 1</name>
                </composite>
                <exclude>
                    <marking-of-the-good id="184196_ST"/>
                    <goodsGroup name="Список продуктов">
                        <marking-of-the-good id="00000"/>
                        <marking-of-the-good id="00002"/>
                    </goodsGroup>
                    <group id="12345"/>
                    <sale-group>SG3</sale-group>
                    <manufacturer>1234</manufacturer>
                    <department>1</department>
                    <country>RU</country>
                    <product-type>ProductSiebelGiftCardEntity</product-type>
                    <composite>
                        <manufacturer>1237</manufacturer>
                        <department>3</department>
                        <name>Составной объект 1</name>
                    </composite>
                </exclude>
            </bonus>
        </actionResults>
        <externalConditions/>
    </AdvertisingAction>
</AdvertisingActions>

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


Страница является частью статьи Импорт рекламных акций из ERP в SetRetail10 глава Сообщение кассиру <message>.

SR-5486 Getting issue details... STATUS

CR-7417 Getting issue details... STATUS

10.3.13.0

  1. Хотя бы одно сообщение должно быть задано.
  2. Если задано "Сообщение на дисплей покупателя", то также должно быть усатановлено "Сообщение на экран кассира".
  3. На дисплее покупателя может быть отображено максимум две строки по 20 символов. Для разделения строк можно использовать CDATA и символ переноса строки LF (U+000A).


AdvertisingActions/AdvertisingAction/actionResults/message

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

Тип данных

Описание

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

time

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

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

По умолчанию: после "подытога" возможные значения:

  • AFTER_SUBTOTAL - после "подытога";
  • AFTER_FISCALIZE - после фискализации чека.

Нет

message-for-cashierStringСообщение на экран кассира (макс. 140 символов)Нет
message-for-customerStringСообщение на дисплей покупателя (макс. 2 строки по 20 символов)Нет
message-for-sco-customerStringСообщение на дисплей покупателя КСО (макс. 140 символов)Нет


Пример XML:
<AdvertisingActions>
    <AdvertisingAction AdvertActGUID="6665222" name="SR-5486 Импорт/экспорт РА с результатом 'Сообщение кассиру'" active="true"
                       mode="unconditional" priority="2000.0" ignoreRestrictions="false" worksAnyTime="true"
                       color="green" external-code="SR-5486" deleted="false">
        <begin-date>2021-06-13T00:00:00.000</begin-date>
        <end-date>2100-06-13T00:00:00.000</end-date>
        <actionResults>
            <message time="AFTER_SUBTOTAL">
                <message-for-cashier><![CDATA[Сообщение кассиру]]></message-for-cashier>
                <message-for-customer><![CDATA[Сообщение покупателю]]></message-for-customer>
                <message-for-sco-customer><![CDATA[Сообщение покупателю КСО]]></message-for-sco-customer>
            </message>
        </actionResults>
        <externalConditions/>
    </AdvertisingAction>
</AdvertisingActions>

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

AdvertisingActions/AdvertisingAction/actionResults/notification

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

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

limit

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

online-notification

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

slip-content

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

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

SR-5523 Getting issue details... STATUS

10.3.13.0

Нет

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>
Пример использования поля 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

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

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

SR-5421 Getting issue details... STATUS

CR-6950 Getting issue details... STATUS

10.3.11.0

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

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

Нет
adds-as-productsBoolean

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

10.2.89.0

SR-4019 Getting issue details... STATUS

SR-4020 Getting issue details... STATUS

Нет
remember-giftsBoolean

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

SR-5421 Getting issue details... STATUS

CR-6950 Getting issue details... STATUS

10.3.11.0

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

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

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

barcode

String

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

Нет
markingString

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

10.2.89.0

SR-4019 Getting issue details... STATUS

SR-4020 Getting issue details... STATUS

Нет
Пример импорта рекламной акции с товаром-подарком
<?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Комплексный

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

SLS-270 Getting issue details... STATUS

10.2.75.0

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

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

SR-3206 Getting issue details... STATUS

10.2.72.0

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

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

SLS-369 Getting issue details... STATUS

10.2.78.0

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

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

SR-2891 Getting issue details... STATUS

CR-2003 Getting issue details... STATUS

CR-2850 Getting issue details... STATUS

10.2.97.0

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

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

SR-4758 Getting issue details... STATUS

CR-5557 Getting issue details... STATUS

10.2.98.0





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

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

SLS-1480 Getting issue details... STATUS

10.3.10.0

Нет
Пример XML:
        <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

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

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

SR-3359 Getting issue details... STATUS

10.2.75.0

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

Нет
without-card
Boolean

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

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

5

String

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

Да

timeEnd

5

String

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

Да

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

AdvertisingActions/AdvertisingAction/externalConditions/DaysActionCondition

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

Размер

Тип данных

Описание

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

value

20

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

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

Нет

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

AdvertisingActions/AdvertisingAction/externalConditions/PurchaseAmount

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

Тип данных

Описание

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

greater-than

Double

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

Нет

less-than

Double

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

Нет

equal-to

Double

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

Нет
useNominalSumBoolean

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

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

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

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

10.3.4.0

SR-5162 Getting issue details... STATUS

Нет
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 можно указывать несолько типов оплат.

  • SR-4536 Getting issue details... STATUS
  • CR-4589 Getting issue details... STATUS
  • 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>
Нет
Пример сложного сочетания сегментов: сегменту «A» и «B» или НЕ пересечению "C" и "D"
<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КомплексныйОкончаниеНет

Страна производитель <country-condition>

SR-2961 Getting issue details... STATUS

AdvertisingAction/externalConditions/country-condition

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

Тип данных

Описание

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

country-code

StringКод страныДа

count-condition-type

Комплексный

Тип условия по кол-ву товаров

  • MORE - Больше
  • LESS - Меньше
  • EQUAL - Равно
Нет

count

DoubleКоличество товаровНет

Производитель <manufacturer-condition>

SR-2962 Getting issue details... STATUS

AdvertisingAction/externalConditions/manufacturer-condition

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

Тип данных

Описание

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

manufacturer-code

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

count-condition-type

Комплексный

Тип условия по кол-ву товаров

  • MORE - Больше
  • LESS - Меньше
  • EQUAL - Равно
Нет

count

DoubleКоличество товаровНет

Отдел <depart-condition>

SR-2965 Getting issue details... STATUS

AdvertisingAction/externalConditions/depart-condition

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

Тип данных

Описание

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

depart-number

LongНомер отделаДа

count-condition-type

Комплексный

Тип условия по кол-ву товаров

  • MORE - Больше
  • LESS - Меньше
  • EQUAL - Равно
Нет

count

DoubleКоличество товаровНет

Количество товаров <goods-count-condition>

SR-2967 Getting issue details... STATUS

AdvertisingAction/externalConditions/goods-count-condition

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

Тип данных

Описание

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

count-condition-type

Комплексный

Тип условия по кол-ву товаров

  • MORE - Больше
  • LESS - Меньше
  • EQUAL - Равно
Да

count

DoubleКоличество товаровДа

rang

Double

Кратность

Нет

Товарная группа <group-condition>

SR-2968 Getting issue details... STATUS

AdvertisingAction/externalConditions/group-condition

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

Тип данных

Описание

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

with-or

Boolean

Флаг: срабатывание акции при наличии в чеке любой из групп
(если false или null - срабатывание акции при наличии в чеке всех групп)

Нет









Наименование элементаТип данныхОписаниеОбязательное
conditionКомплексныйУсловия по группам продажДа
Наименование атрибутаТип данныхОписаниеОбязательное
group-codeStringКод группыДа
count-condition-typeКомплексный

Тип условия по кол-ву товаров

  • MORE - Больше
  • LESS - Меньше
  • EQUAL - Равно
Нет
countDouble

Условие по количеству товаров = число

Нет
unique-goodsBooleanКоличество уникальных товаров (срабатывание акции при наличии разных товаров из группы)Нет
sum-condition-typeКомплексный

Условие общей стоимости товаров:

  • MORE - Больше
  • LESS - Меньше
Нет
sumDouble

Условие общей стоимости товаров = число

Нет

Группа продаж <sale-group-condition>

AdvertisingAction/externalConditions/sale-group-condition

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

Тип данных

Описание

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

with-or

Boolean

Флаг: срабатывание акции при наличии в чеке любой из групп
(если false или null - срабатывание акции при наличии в чеке всех групп)

Нет









Наименование элементаТип данныхОписаниеОбязательное
conditionКомплексныйУсловия по группам продажДа
Наименование атрибутаТип данныхОписаниеОбязательное
group-codeStringКод группыДа
count-condition-typeКомплексный

Тип условия по кол-ву товаров

  • MORE - Больше
  • LESS - Меньше
  • EQUAL - Равно
Нет
countDouble

Условие по количеству товаров = число

Нет
unique-goodsBooleanКоличество уникальных товаров (срабатывание акции при наличии разных товаров из группы)Нет
sum-condition-typeКомплексный

Условие общей стоимости товаров:

  • MORE - Больше
  • LESS - Меньше
Нет
sumDouble

Условие общей стоимости товаров = число

Нет

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

10.2.67.0

SLS-218 Getting issue details... STATUS

Начиная с версии 10.2.67.0 есть возможность загружать рекламные акций из внешних систем с ограничениями срабатывания 

Данные для импорта:

  • количество срабатывания для клиента
  • период срабатывания для клиента {дней/недель/месяцев/весь период действия акции}
  • максимальное количество по всей акции
AdvertisingAction/externalConditions/action-results-quantity-condition

Наименование атрибутаТип данныхОписаниеОбязательное
allowOfflineBooleanПредоставлять преференцию при отсутствии связи с сервером ограниченийНет
plugin-idStringНазвание плагина лояльностиНет
Наименование элементаТип данныхОписаниеОбязательное
action-restrictionКомплексныйОграничение срабатывания РА всегоНет

max-valueintegerМаксимальное количество срабатывания РА всегоДа
client-restrictionКомплексныйОграничение срабатывания РА по клиентуНет

max-valueintegerМаксимальное количество срабатывания РА по клиентуДа
restriction-period-type

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

Значение по умолчанию - DAYS

  • DAYS - дни; 
  • HOURS - часы;
  • MINUTES - минуты;
  • WEEKS - недели; 
  • MONTHS - месяца

Параметры HOURS и MINUTES добавлены, начиная с версии 10.3.14.0.

SR-5565 Getting issue details... STATUS

CR-7732 Getting issue details... STATUS

Нет
periodintegerЗначение периода действия. Если это значение не указано, то считается, что ограничение по клиенту действует весь период действия акции.Нет
Пример акции
<?xml version="1.0" encoding="utf-8"?>
<AdvertisingActions>
    <AdvertisingAction name="РА"
                       active="true"
                       mode="automatic"
                       priority="1000"
                       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>
            <action-results-quantity-condition allowOffline="true">
                <action-restriction max-value="12"/>
                <client-restriction max-value="13" restriction-period-type="DAYS" period="3"/>
            </action-results-quantity-condition>
        </externalConditions>
        <actionResults>
            <calculation value-type="PERCENT" value = "10"/>
        </actionResults>
    </AdvertisingAction>
</AdvertisingActions>

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

AdvertisingActions/AdvertisingAction/externalConditions/cash-template-condition

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

Тип данных

Описание

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

template-guid

long

GUID шаблонов

Нет

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

SLS-270 Getting issue details... STATUS

10.2.75.0

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:
<?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>

SR-3206 Getting issue details... STATUS

10.2.72.0

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>

SLS-369 Getting issue details... STATUS

10.2.78.0

AdvertisingActions/AdvertisingAction/externalConditions/discount-sum-condition

Наименование атрибутаТип данныхОписаниеОбязательное
allowOfflineBooleanПредоставлять преференцию при отсутствии связи с сервером ограниченийНет
plugin-idStringНазвание плагина лояльностиНет
Наименование элементаТип данныхОписаниеОбязательное
action-restrictionКомплексныйОграничение суммы скидки по акции всегоНет

max-valueintegerМаксимальная сумма скидки всегоДа
client-restrictionКомплексныйОграничение суммы скидки для каждого клиентаНет

max-valueintegerМаксимальная сумма скидки по клиентуДа
restriction-period-type

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

Значение по умолчанию - DAYS

  • DAYS - дни; 
  • HOURS - часы;
  • MINUTES - минуты;
  • WEEKS - недели; 
  • MONTHS - месяца

Параметры HOURS и MINUTES добавлены, начиная с версии 10.3.14.0.

SR-5565 Getting issue details... STATUS

CR-7732 Getting issue details... STATUS

Нет
periodintegerЗначение периода действия. Если это значение не указано, то считается, что ограничение по клиенту действует весь период действия акции.Да
Пример XML загрузки рекламной акции с условием применения "Сумма скидки по РА"
<?xml version="1.0" encoding="utf-8"?>
<AdvertisingActions>
    <AdvertisingAction name="Проверка вывода ошибки при применении купон42244а"
                       active="true"
                       mode="automatic"
                       priority="1000"
                       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>
    <discount-sum-condition allowOffline="true">
      <action-restriction max-value="12"/>
      <client-restriction max-value="13" restriction-period-type="DAYS" period="3"/>
    </discount-sum-condition>
  </externalConditions>
        <actionResults>
            <calculation value-type="PERCENT" value = "10"/>
        </actionResults>
    </AdvertisingAction>
</AdvertisingActions>

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


Эта страница/секция является составной частью статьи Импорт рекламных акций из ERP в SetRetail10.

SR-2891 Getting issue details... STATUS

CR-2003 Getting issue details... STATUS

CR-2850 Getting issue details... STATUS

10.2.97.0

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

AdvertisingActions/AdvertisingAction/externalConditions/bank-loyalty-code-condition

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

Тип данных

Описание

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

loyal-codes

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


Пример XML:
<?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>
      <bank-loyalty-code-condition loyal-codes="LC1, LC2"/>
    </externalConditions>
    <actionResults>
        <calculation value-type="PAYMENT_TYPE_PERCENT" secondary-value="BankCardPaymentEntity" value="10"/>
    </actionResults>
  </AdvertisingAction>
</AdvertisingActions>

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


Эта страница/секция является составной частью статьи Импорт рекламных акций из ERP в SetRetail10.

SR-4758 Getting issue details... STATUS

CR-5557 Getting issue details... STATUS

10.2.98.0

Данное условие позволяет срабатывать рекламной акции при добавлении купона из плагина SetAPI. 

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

AdvertisingActions/AdvertisingAction/externalConditions/external-coupon-condition

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

Тип данных

Описание

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

providerName

String

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

Да
categoryGuidLongУникальный идентификатор категории купонаНет
Пример XML:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AdvertisingActions>
    <AdvertisingAction AdvertActGUID="69603" name="Условие - внешний купон" active="true" mode="automatic" priority="10" ignoreRestrictions="false" 
						worksAnyTime="false" color="blue" external-code="SR10_69353" deleted="false" discountType="9" disableChargeOnBonuses="false">
        <begin-date>2021-05-11T14:56:55.688</begin-date>
        <end-date>2200-12-31T14:55:08.998</end-date>
        <actionResults>
            <calculation value-type="PERCENT" value="50" secondary-value=""/>
        </actionResults>
        <externalConditions>
            <external-coupon-condition>
                <providerName>set6.card.plugin</providerName>
                <categoryGuid>101</categoryGuid>
            </external-coupon-condition>
        </externalConditions>
    </AdvertisingAction>
</AdvertisingActions>

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

SLS-1480 Getting issue details... STATUS

10.3.10.0

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>




Типы ценников рекламной акции <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>

SRTE-1088 Getting issue details... STATUS

10.2.38.0

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

AdvertisingActions/AdvertisingAction/template-format

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

Тип данных

Описание

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

template-format

String

Внешний код формата шаблона ценников


Нет

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

Если включена работа с форматами на сервере, то акции с заполненным тегом pricetag-template будут отклонены

Пустой тег template-format воспринимается как удаление привязки акции к формату. Неуказанный тег template-formatигнорируется и не затирает ранее созданную связку акции с форматом.

Пример XML:
<AdvertisingActions>
    <AdvertisingAction name="Replacement for product 9988_ST with discount" active="true" mode="unconditional" priority="1000"
			ignoreRestictions="false" worksAnyTime="false" color="red" external-code="9988_adv_discount_rep">
        <begin-date>2016-04-12T17:42:00</begin-date>
        <end-date>2076-04-13T16:00:00</end-date>
        <actionResults>
            <goodsDiscount name="pirogi" discountPercent="20">
                <marking-of-the-good id="9988_ST"/>
            </goodsDiscount>
        </actionResults>
		
		<pricetag-type>REPLACEMENT</pricetag-type>		
		<template-format>EXT32802</template-format>
    </AdvertisingAction>		
</AdvertisingActions>

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

AdvertisingActions/AdvertisingAction/actionLables

Поле

Тип данных

Описание

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

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>

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

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

Загруженная из 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> 

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

SR-3018 Getting issue details... STATUS

10.2.70.0

В случае импорта в SetRetail10 двух идентичных по условиям акций к чеку будет применена последняя загруженная для того, чтобы в системе отчетности в DWH (Data Warehouse - корпоративное хранилище данных) или в ERP результаты применения акции корректно связывались с мастер-акцией в SAP PMR.

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

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

  • Правило применения к товару последней акции актуально только для акция без признака суммирования с другими рекламной акции.

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