Публичный ресурс

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

String

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

Да
descriptionString

Описание рекламной акции

Пример XML

SR-6936 - Получение подробных данных проблемы… СТАТУС

CR-10221 - Получение подробных данных проблемы… СТАТУС

10.4.0.0

Нет

active

Boolean

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

Да

mode

String

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

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

priority

Double

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

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

Нет

ignoreRestictions

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

Boolean

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

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

ignoreRestrictions


Boolean

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

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

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

SR-3219 - Получение подробных данных проблемы… СТАТУС

SR-3563 - Получение подробных данных проблемы… СТАТУС

Нет

worksAnyTime

Boolean

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

color

String

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

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

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

external-code

String

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

Да

ti

String

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

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

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

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

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

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

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

SR-5427 - Получение подробных данных проблемы… СТАТУС

10.3.10.0

Нет

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

Тип данных

Описание

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

shop-indices

PositiveInteger

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

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

Нет

begin-date

 DateTime

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

Да

end-date

 DateTime

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

Да

pricetag-type

 String

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

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

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

Блок

Описание

dependence

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

externalConditions

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

actionResults

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

pricetag-template

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

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

Периоды внешнего продвижения

SR-7086 - Получение подробных данных проблемы… СТАТУС

CR-10739 - Получение подробных данных проблемы… СТАТУС

10.4.2.0

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

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

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

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

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

Важно:

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

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

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

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

AdvertisingActions/AdvertisingAction/dependence

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

Тип данных

Описание

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

key

String

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

Да

value

String

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

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

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

AdvertisingActions/AdvertisingAction/actionResults

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

catalog

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

goodsDiscount

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

calculation

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

bonus-discount

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

tokens-discount

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

CR-2932 - Получение подробных данных проблемы… СТАТУС

10.2.83.0

10.2.84.0

counter

Счётчик

SLS-261 - Получение подробных данных проблемы… СТАТУС

SLS-256 - Получение подробных данных проблемы… СТАТУС

SLS-259 - Получение подробных данных проблемы… СТАТУС

10.2.75.0

coupon

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

SR-5169 - Получение подробных данных проблемы… СТАТУС

CR-6133 - Получение подробных данных проблемы… СТАТУС

10.3.5.0

bonus

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

message

SR-5486 - Получение подробных данных проблемы… СТАТУС

CR-7417 - Получение подробных данных проблемы… СТАТУС

10.3.13.0

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

notification

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

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

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

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

AdvertisingActions/AdvertisingAction/actionResults/set

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

Тип данных

Описание

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

name

String

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

Да

valueType

String

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

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

value

Double

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

Нет

wholesale-restriction

Integer

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

Нет

maxQuantity

Integer

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

Нет

calcWeightProductCountAsOne

Boolean

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

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

isSpreadDiscounts

Boolean

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

Нет

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

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

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

Важно:

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

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

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

Важно:

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

AdvertisingActions/AdvertisingAction/actionResults/set/row

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

Тип данных

Описание

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

requiedQuantity

integer

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

Да

discountPercent

Double

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

Нет

fixedPrice

Double

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

Нет

groupName

String

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

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

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

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

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

Тип данных

Описание

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

id

String

код товара

Да

maxQuantity

Double

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

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

discountStart

Double

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

Нет

conditionCount

Double

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

Нет

wholesale-restriction

Double

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

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

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

AdvertisingActions/AdvertisingAction/actionResults/set/row/group

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

Тип данных

Описание

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

id

String

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

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

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

AdvertisingActions/AdvertisingAction/actionResults/set/row/manufacturer

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

Тип данных

Описание

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

id

String

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

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

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

AdvertisingActions/AdvertisingAction/actionResults/set/row/department

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

Тип данных

Описание

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

id

String

Номер отдела

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

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

AdvertisingActions/AdvertisingAction/actionResults/set/row/country

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

Тип данных

Описание

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

id

String

Код страны

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

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

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

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

Тип данных

Описание

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

id

String

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

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

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

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

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

Тип данных

Описание

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

id

String

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

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

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

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

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

Тип данных

Описание

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

id

String

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

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

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

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

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

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

Тип данных

Описание

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

id

String

Номер отдела

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

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

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

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

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

Тип данных

Описание

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

id

String

Код страны

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

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

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

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

Тип данных

Описание

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

id

String

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

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

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

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

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

Тип данных

Описание

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

condition

InequationType

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

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

value

Decimal

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

Да

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

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

AdvertisingActions/AdvertisingAction/actionResults/catalog

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

Тип данных

Описание

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

allowOffline

Boolean

Предоставлять преференцию при отсутствии связи с сервером

Нет
plugin-idStringИдентификатор плагина в рамках рекламной акцииНет
Наименование элементаТип данныхОписаниеОбязательное
marking-of-the-goodКомплексныйАртикулы (коды товаров), на которые будут установлены скидкиНет

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

client-restriction

SR-7151 - Получение подробных данных проблемы… СТАТУС

CR-5351 - Получение подробных данных проблемы… СТАТУС

10.4.3.0

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

max-valueIntegerЗначение ограниченияДа
restriction-period-typeКомплексный

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

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

  • DAYS - дни; 
  • WEEKS - недели; 
  • MONTHS - месяцы.
Нет
periodIntegerЗначение периода действияДа
notify-appliedBooleanАтрибут не поддерживается Нет


Пример акции с указанием фиксированных цен на товары
<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>


Начиная с версии 10.4.3.0 элемент catalog доступен к использованию в множественном числе.

Пример акции с указанием фиксированных цен на товары и установленными ограничениями для покупателя
<?xml version="1.0" encoding="utf-8"?>
<AdvertisingActions>
    <AdvertisingAction name="SR-7151 - Фиксированные цены с ограничениями" active="true"
                       mode="unconditional" priority="7151.0" ignoreRestrictions="false" worksAnyTime="true"
                       color="green" external-code="SR-7151" deleted="false">
        <begin-date>2024-04-13T00:00:00.000</begin-date>
        <end-date>2034-04-13T00:00:00.000</end-date>
        <actionResults>
            <catalog>
                <marking-of-the-good id="00771" fixedPrice="20.0"/>
                <client-restriction max-value="6" restriction-period-type="DAYS" period="4"/>
            </catalog>
            <catalog allowOffline="true">
                <marking-of-the-good id="00772" fixedPrice="30.00"/>
                <client-restriction max-value="15" restriction-period-type="MONTHS" period="1"/>
            </catalog>
        </actionResults>
    </AdvertisingAction>
</AdvertisingActions>

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

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


AdvertisingActions/AdvertisingAction/actionResults/goodsDiscount

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

Тип данных

Описание

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

name

String

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

Нет

calcWeightProductCountAsOne

Boolean

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

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

maxQuantity

Double

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

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

discountSum

Double

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

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

goodsSum

Double

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

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

CR-3655 - Получение подробных данных проблемы… СТАТУС

SR-3702 - Получение подробных данных проблемы… СТАТУС

10.2.82.0

Нет

discountStart

Double

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

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

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

10.2.89.0

SR-4019 - Получение подробных данных проблемы… СТАТУС

SR-4020 - Получение подробных данных проблемы… СТАТУС

Нет
for-soft-check-onlyBoolean

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

10.3.4.0

SR-5161 - Получение подробных данных проблемы… СТАТУС

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

apply-count-for-each-row

String

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

  • true
  • false

SR-5218 - Получение подробных данных проблемы… СТАТУС

CR-6154 - Получение подробных данных проблемы… СТАТУС

10.3.6.0

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

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

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

Пример XML

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

goods-filter-includeAndExcludeGroup

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

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

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

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

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

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

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

SLS-382 - Получение подробных данных проблемы… СТАТУС

10.2.80.0

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

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

SR-3610 - Получение подробных данных проблемы… СТАТУС

SR-3671 - Получение подробных данных проблемы… СТАТУС

10.2.80.0

Нет
action-label-excludeString

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

SR-4928 - Получение подробных данных проблемы… СТАТУС

10.3.0.0

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

AdvertisingActions/AdvertisingAction/actionResults/goodsDiscount/goods-filterIncludeAndExcludeGroup

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

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

for-all-goods

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

goods-filterGroup

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

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









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

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

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

manufacturer

String

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

Нет

department

String

Номер отдела

Нет

country

String

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

Нет

product-type

String

Тип товара

Нет

composite

String

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

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

Нет
excludeBoolean

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

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

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

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

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

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

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

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

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

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

marking-of-the-good

Комплексный

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

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

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

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

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

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

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

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

Нет

goodsGroup

Комплексный

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

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

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

    • name

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

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

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

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

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

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

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

Нет

group

Комплексный

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

Нет
sale-groupString

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

Нет
manufacturerString

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

Нет
departmentString

Номер отдела

Нет
countryString

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

Нет
product-typeString

Тип товара

Нет
compositeString

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

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

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

AdvertisingActions/AdvertisingAction/actionResults/goodsDiscount/exclude

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

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

exclude

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

goods-filterGroup

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

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




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

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

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

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

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

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

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

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

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

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

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

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

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

    • name

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

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

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

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

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

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

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

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

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

Нет
sale-groupString

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

Нет
manufacturerString

Номер отдела

Нет
departmentString

Номер отдела

Нет
countryString

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

Нет
product-typeString

Тип товара

Нет
compositeString

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

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

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

SLS-382 - Получение подробных данных проблемы… СТАТУС

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 - Получение подробных данных проблемы… СТАТУС

SR-3671 - Получение подробных данных проблемы… СТАТУС

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 определяет значение скидки
  • GROUP_HIERARCHY - Скидка на иерархию товарных групп
    • CR-10408 - Получение подробных данных проблемы… СТАТУС
    • SR-6737 - Получение подробных данных проблемы… СТАТУС
    • 10.3.30.0
  • PAYMENT_TYPE_PERCENT - Размер скидки определяется возвратным/чековым купоном
  • PERCENT - Процент скидки на чек, value определяет значение скидки.
  • PERSONAL_OFFER - Размер скидки определяется на основе персональных предложений (от внешних поставщиков лояльности)
  • ROUND - Скидка на округление, value определяет масштаб округления (например, 0.1 означает округление до 10 коп)
  • ROUND_BY_POSITIONS - Попозиционное округление
  • SALES_TAX_DISCOUNT - Скидка на налог с продаж
    • 10.2.95.0
    • SR-4535 - Получение подробных данных проблемы… СТАТУС
    • CR-4589 - Получение подробных данных проблемы… СТАТУС
    • Полное описание интеграции и примеры работы /wiki/spaces/SR10SUPPORT/pages/2420080878.
  • WHOLESALE_DISCOUNT - Оптовые скидки. Значение скидки зависит от количество товара. secondary-value = true или false.
Да

value

Decimal

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

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

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

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

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

Типы оплат:

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

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

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

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

SR-5269 - Получение подробных данных проблемы… СТАТУС

CR-6270 - Получение подробных данных проблемы… СТАТУС

10.3.6.0

AdvertisingActions/AdvertisingAction/actionResults/calculation/calculation-rule

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

Тип данных

Описание

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

percent

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


minLong

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

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

Нет
maxLong

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

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

Нет


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

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

CR-10408 - Получение подробных данных проблемы… СТАТУС

SR-6737 - Получение подробных данных проблемы… СТАТУС

10.3.30.0

Был расширен элемент calculation для импорта результата акции "Скидка на иерархию товарных групп"

AdvertisingActions/AdvertisingAction/actionResults/calculation


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

Тип данных

Описание

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

value-type

String

Тип скидки на чек (полный список на странице описания импорта рекламной акции)

GROUP_HIERARCHY - Скидка на иерархию товарных групп

Да
secondary-valueString

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

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

  • MOST_PROFITABLE - применять скидку наиболее выгодную из иерархии групп
  • NEAREST_GROUP - применять скидку из ближайшей к товару группы по иерархии
Нет

Предоставление скидки на чек по фильтру <discount>

Элемент calculation добавлен абстрактный элемент discount, который должен использоваться при дальнейших расширениях скидки на чек, как абстрактное правило значения скидки, на какой-либо фильтр.

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

AdvertisingActions/AdvertisingAction/actionResults/calculation/discount


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

Тип данных

Описание

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

value

Decimal

Значение скидки.

Используется в скидке на иерархию товарных групп как процент скидки.

Нет

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

Тип данных

Описание

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

goods-filterGroup

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

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

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

Нет

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

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

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

Используется для скидки на иерархию товарных групп, для указания, на какую товарную группу распространяется скидка.

Нет
Пример XML:
<?xml version="1.0" encoding="utf-8"?>
<AdvertisingActions>
    <AdvertisingAction AdvertActGUID="6665269" name="SR-6737 Скидка на иерархию товаров" active="true"
                       mode="unconditional" priority="2000.0" ignoreRestrictions="false" worksAnyTime="false"
                       color="green" external-code="SR-6737-01" deleted="false" disableChargeOnBonuses="false">
        <begin-date>2021-03-13T00:00:00.000</begin-date>
        <end-date>2021-04-13T00:00:00.000</end-date>
        <actionResults>
            <calculation value-type="GROUP_HIERARCHY" secondary-value="MOST_PROFITABLE">
                <discount value="10">
                    <group id="1111"/>
                </discount>
				<discount value="20">
                    <group id="2222"/>
					<group id="2223"/>	
                </discount>
				<discount value="5">
                    <group id="3333"/>	
                </discount>	
            </calculation>
        </actionResults>
        <externalConditions/>
    </AdvertisingAction>
</AdvertisingActions>

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

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

SR-5172 - Получение подробных данных проблемы… СТАТУС

CR-6207 - Получение подробных данных проблемы… СТАТУС

10.3.6.0

AdvertisingActions/AdvertisingAction/actionResults/bonus-discount

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

Тип данных

Описание

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

max-percent

Double

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

Да

position-max-percent

Double

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

SR-5458 - Получение подробных данных проблемы… СТАТУС

10.3.10.0

Нет

type

String

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

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

Нет

plugin-id

String

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

Нет

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

Тип данных

Описание

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

for-all-goods

Boolean

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

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

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

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

Нет

goods-filterGroup

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

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

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

Нет

name

Комплексный

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

Нет

marking-of-the-good

Комплексный

Товар

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

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

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

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

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

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

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

Нет

goodsGroup

Комплексный

Группы товаров

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

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

    • name

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

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

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

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

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

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

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

Нет

group

String

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

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

Нет

sale-group

String

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

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

Нет

manufacturer

String

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

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

Нет

department

String

Номер отдела

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

Нет

country

String

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

Нет

product-type

String

Тип товара

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

Нет

composite

Комплексный

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

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

Нет

exclude

Комплексный

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

Нет

goods-filterGroup

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

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

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

Нет

name

Комплексный

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

Нет

marking-of-the-good

Комплексный

Товар

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

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

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

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

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

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

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

Нет

goodsGroup

Комплексный

Список товаров

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

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

    • name

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

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

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

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

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

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

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

Нет

group

String

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

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

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

Нет

sale-group

String

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

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

Нет

manufacturer

String

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

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

Нет

department

String

Номер отдела

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

Нет

country

String

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

Нет

product-type

String

Тип товара

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

Нет

composite

Комплексный

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

Нет

discount-restriction

Комплексный

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

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

Нет

Пример XML:

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

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

SR-5458 - Получение подробных данных проблемы… СТАТУС

CR-7273 - Получение подробных данных проблемы… СТАТУС

10.3.10.0

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

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

Тип данных

Описание

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

max-percent

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

Да

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


Тип данных

Описание

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

goods-filterGroup

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

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

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

Нет

marking-of-the-good

Комплексный

Товар

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

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

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

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

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

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

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

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

Группы товаров

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

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

    • name

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

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

        • maxQuantity / Double / Макс