Импорт рекламных акций из 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

Начиная с версии 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


Boolean

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

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

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Флаг-признак, запрещающий новые скидки после срабатывания данной акцииНет

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

Размер


Тип данных

Описание

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

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

bonus

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

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Идентификатор плагина в рамках РАНет
Наименование элементаТип данныхОписаниеОбязательное

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Список идентификаторов (кодов) групп продаж, товары из которых удовлетворяют данному фильтруНет
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

КомплексныйАртикулы (коды товаров), на которые будут установлены скидкиНет

goodsGroup

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

group

КомплексныйИдентификатор товарной группыНет
sale-groupStringСписок идентификаторов (кодов) групп продаж, товары из которых удовлетворяют данному фильтруНет
        Артикулы (коды товаров), на которые будут установлены скидки <marking-of-the-good>

AdvertisingActions/AdvertisingAction/actionResults/goodsDiscount/goods-filter-includeGroup/goods-filterGroup/marking-of-the-good

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

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

id

StringКод товараДа

maxQuantity

Double

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

Если отсутствует - без ограничений.

Нет

discountStart

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

conditionCount

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

fixedPrice

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

wholesale-restriction

DoubleУстановленное оптовое ограничение (количество товара со скидкой за сутки для одного покупателя)Нет
        Описание списка товаров со скидкой <goodsGroup>

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

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

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

name

StringНаименование списка товаровДа

marking-of-the-good

КомплексныйТовары, на которые будем устанавливать скидкиНет






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

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

Если отсутствует - без ограничений.

Нет
discountStartDoubleОпределяет количество товара, начиная с которого на этот товар будет начисляться скидка. По умолчанию с первого же товараНет
conditionCountDoubleОпределяет количество товара, при покупке которого на все количество этого товара будет дана скидка. По умолчанию при любом количестве.Нет
fixedPriceDoubleФиксированная акционная цена товара.Нет
wholesale-restrictionDoubleУстановленное оптовое ограничение (количество товара со скидкой за сутки для одного покупателя)Нет
        Идентификатор товарной группы со скидкой <group>

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

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

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

id

StringКод группы товаровДа
        Список идентификаторов (кодов) групп продаж, товары из которых удовлетворяют данному фильтру <sale-group>

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

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

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

sale-group

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

AdvertisingActions/AdvertisingAction/actionResults/goodsDiscount/exclude

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

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

exclude

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

goods-filterGroup

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

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

marking-of-the-goodКомплексныйАртикулы (коды товаров), на которые будут установлены скидкиНет

goodsGroupКомплексныйСписок товаровНет

groupКомплексныйИдентификатор отварной группыНет

sale-groupStringСписок идентификаторов (кодов) групп продаж, товары из которых удовлетворяют данному фильтруНет
Группа элементов, описывающая товарный фильтр <goods-filterGroup>
        Артикулы (коды товаров), на которые будут установлены скидки <marking-of-the-good>

AdvertisingActions/AdvertisingAction/actionResults/goodsDiscount/exclude/goods-filterGroup/marking-of-the-good

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

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

id

StringКод товараДа

maxQuantity

Double

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

Если отсутствует - без ограничений.

Нет

discountStart

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

conditionCount

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

fixedPrice

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

wholesale-restriction

DoubleУстановленное оптовое ограничение (количество товара со скидкой за сутки для одного покупателя)Нет
        Описание списка товаров со скидкой <goodsGroup>

AdvertisingActions/AdvertisingAction/actionResults/goodsDiscount/exclude/goods-filterGroup/goodsGroup

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

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

name

StringНаименование списка товаровДа

marking-of-the-good

КомплексныйТовары, на которые будем устанавливать скидкиНет






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

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

Если отсутствует - без ограничений.

Нет
discountStartDoubleОпределяет количество товара, начиная с которого на этот товар будет начисляться скидка. По умолчанию с первого же товараНет
conditionCountDoubleОпределяет количество товара, при покупке которого на все количество этого товара будет дана скидка. По умолчанию при любом количестве.Нет
fixedPriceDoubleФиксированная акционная цена товара.Нет
wholesale-restrictionDoubleУстановленное оптовое ограничение (количество товара со скидкой за сутки для одного покупателя)Нет
        Идентификатор товарной группы со скидкой <group>

AdvertisingActions/AdvertisingAction/actionResults/goodsDiscount/exclude/goods-filterGroup/group

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

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

id

StringКод группы товаровДа
        Список идентификаторов (кодов) групп продаж, товары из которых удовлетворяют данному фильтру <sale-group>

AdvertisingActions/AdvertisingAction/actionResults/goodsDiscount/exclude/goods-filterGroup/sale-group

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

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

sale-group

StringСписок идентификаторов (кодов) групп продаж, товары из которых удовлетворяют данному фильтруНет
Ограничение по сумме скидки рекламной акции по клиенту <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

Нет

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

AdvertisingActions/AdvertisingAction/actionResults/bonus-discount

Поле

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

max-percent

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

type

String

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

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

Нет

Счетчик <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>

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

AdvertisingActions/AdvertisingAction/actionResults/bonus

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

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

type

StringПринцип вычисления бонуса. (Поддерживается только "DiscountFromCheck" - процент от суммы чека)Да
sponsorStringСпонсор бонусной программы (CRM, спасибо от сбербанка, внутренние бонусы (SET10), ...).
Если отсутствует, то по умолчанию = "BONUS_SR10" (бонусы SET10).
Нет
accountTypeIdLongУказатель на тип счётаНет
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

SR-3717 - Getting issue details... STATUS

10.2.91.0

dateTime

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

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

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

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

Нет

endDate

SR-3717 - Getting issue details... STATUS

10.2.91.0

dateTime

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

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

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

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

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

Тип данных

ОписаниеОбязательное
bonus-accrual-ruleКомплексныйПравила начисления бонусов в зависимости от размера оплаты по банковской картеНет
tokens-accrual-ruleКомплексный

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

CR-2932 - Getting issue details... STATUS

10.2.83.0

10.2.84.0

Нет
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>

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

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

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

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

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

Нет
Наименование элементаТип данныхОписаниеОбязательное
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Флаг-признак, что данная скидка действует на весь товарный справочник.Нет
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Список идентификаторов (артикулов) товаровНет

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

AdvertisingActions/AdvertisingAction/actionResults/notification

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

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

limit

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

online-notification

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

slip-content

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

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

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

Нет
adds-as-productsBoolean

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

10.2.89.0

SR-4019 - Getting issue details... STATUS

SR-4020 - Getting issue details... STATUS

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

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





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

Да

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Предоставлять преференцию при отсутствии связи с сервером ограниченийНет
Наименование элементаТип данныхОписаниеОбязательное
action-restrictionКомплексныйОграничение срабатывания РА всегоНет

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

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

Тип периода действия ограничения. Значение по умолчанию - DAYS


DAYS - дни; WEEKS - недели; MONTHS - месяца

Нет
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Предоставлять преференцию при отсутствии связи с сервером ограниченийНет
Наименование элементаТип данныхОписаниеОбязательное
action-restrictionКомплексныйОграничение суммы скидки по акции всегоНет

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

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

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

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

  • DAYS - дни; 
  • WEEKS - недели; 
  • MONTHS - месяца
Нет
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>


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

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

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

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

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