Публичный ресурс
Импорт рекламных акций из ERP в SetRetail10
Для чтения визуальной составляющей схемы XSD, а также типами обязательных данных, ознакомьтесь с правилами использования.
- 1 Рекламные акции <AdvertisingActions>
- 1.1 Рекламная акция <AdvertisingAction>
- 1.1.1 Зависимости <dependence>
- 1.1.2 Регионы в зоне охвата акции <region-indices>
- 1.1.3 Города в зоне охвата акции <city-indices>
- 1.1.4 Форматы магазинов в зоне охвата акции <format-indices>
- 1.1.5 Результаты рекламной акции <actionResults>
- 1.1.5.1 Скидка на наборы <set>
- 1.1.5.1.1 Пример акции-набора со списком товара в строке
- 1.1.5.1.2 Список строк скидки на наборы <row>
- 1.1.5.1.2.1 Товар в строке набора <marking-of-the-good>
- 1.1.5.1.2.2 Описание товарной группы в строке набора <group>
- 1.1.5.1.2.3 Описание производителя товаров в строке набора <manufacturer>
- 1.1.5.1.2.4 Описание отдела в строке набора <department>
- 1.1.5.1.2.5 Описание производителя товаров в строке набора <country>
- 1.1.5.1.2.6 Описание группы продаж в строке набора <sale-group>
- 1.1.5.1.2.7 Множество товарных групп (по кодам) <groups-element>
- 1.1.5.1.2.8 Множество производителей (по кодам) <manufacturers-element>
- 1.1.5.1.2.9 Множество номеров отделов <departments-element>
- 1.1.5.1.2.10 Множество стран (по кодам) <countries-element>
- 1.1.5.1.2.11 Множество групп продаж (по кодам) <sale-groups-element>
- 1.1.5.1.2.12 Ограничение (при выборке товаров) по цене <price-restriction>
- 1.1.5.1.3 Информирование о частичном исполнении акции <possible-set-notification>
- 1.1.5.1.3.1 Товар <marking>
- 1.1.5.1.3.2 Товарная группа <group>
- 1.1.5.1.3.3 Производитель товаров <manufacturer>
- 1.1.5.1.3.4 Отдел <department>
- 1.1.5.1.3.5 Страна <country>
- 1.1.5.1.3.6 Группа продаж <sale-group>
- 1.1.5.1.4 Пример акции с информированием о частичном исполнении
- 1.1.5.2 Каталог фиксированных цен <catalog>
- 1.1.5.3 Скидки на товары и группы продаж <goodsDiscount>
- 1.1.5.3.1 Пример
- 1.1.5.3.2 Товары и группы товаров, на которые должна сработать акция <goods-filterIncludeAndExcludeGroup>
- 1.1.5.3.3 Товары и группы товаров, которые необходимо исключить из акции <exclude>
- 1.1.5.3.4 Ограничение по сумме скидки рекламной акции по клиенту <client-restriction>
- 1.1.5.3.5 Импорт скидки на товары со сроком годности, близким к истечению <storage-time-condition>
- 1.1.5.3.6 Условие наличия или отсутствия указанного признака у цены товара <price-identifier-condition>
- 1.1.5.3.7 Пример XML:
- 1.1.5.4 Скидки на чек <calculation>
- 1.1.5.5 Бонусы как скидка <bonus-discount>
- 1.1.5.6 Счетчик <tokens-discount>
- 1.1.5.6.1 Пример XML:
- 1.1.5.7 Счетчик <counter>
- 1.1.5.7.1 Пример XML:
- 1.1.5.8 Печать купона <coupon>
- 1.1.5.9 Бонусы на счёт <bonus>
- 1.1.5.9.1 Пример загрузки рекламной акции для начисления бонусов начиная с версии 10.2.51.0
- 1.1.5.9.2 Правила начисления бонусов в зависимости от размера оплаты по банковской карте или количества уже начисленных бонусов <bonus-accrual-rule>
- 1.1.5.9.3 Правило начисления фишек <tokens-accrual-rule>
- 1.1.5.9.4 Набор строк определяющий товары/группы продаж/товарные группы с которых не будут начислены бонусные баллы <product-row>
- 1.1.5.9.5 Набор строк, определяющий товары/группы продаж/товарные группы, на которые будут начислены бонусные баллы <accrual-product-row>
- 1.1.5.9.6 Фильтры механики начисления бонусов <goods-filter-includeAndExcludeGroup>
- 1.1.5.10 Сообщение кассиру <message>
- 1.1.5.11 Сообщение/Информирование как результат <notification>
- 1.1.5.11.1 Online-информирование: сообщения, что надо показать кассиру и покупателю <online-notification>
- 1.1.5.11.2 Сообщение на чеке <slip-content>
- 1.1.5.11.3 Пример использования поля slip-content
- 1.1.5.11.4 Вычислитель количества "преференций" (наклеек, "смурфиков", "волчков"), что получит покупатель <calculator>
- 1.1.5.11.5 Необходимость сканирования на кассе штрих-кода <validation>
- 1.1.5.11.6 Пример импорта рекламной акции с товаром-подарком
- 1.1.5.11.7 Ограничение выдачи подарков по клиенту <action-restriction>
- 1.1.5.11.8 Ограничение выдачи подарков по акции <client-restriction>
- 1.1.5.12 Предложение по добавлению товара в чек <productOffer>
- 1.1.5.1 Скидка на наборы <set>
- 1.1.6 Условия срабатывания рекламных акций <externalConditions>
- 1.1.6.1.1 Пример XML:
- 1.1.6.2 Наличие внутренней дисконтной карты из определенной категории <InternalCardsCondition>
- 1.1.6.3 Наличие внешней карты из определенной категории <ExternalCardsCondition>
- 1.1.6.4 Период действия внутри суток <HoursActionCondition>
- 1.1.6.5 Дни недели действия акции <DaysActionCondition>
- 1.1.6.6 Наличие купона из определенной категории <CouponsCondition>
- 1.1.6.7 Наличие купона из определенной категории <coupons-filter-condition>
- 1.1.6.8 Условие суммы чека <PurchaseAmount>
- 1.1.6.9 Условие на день рождения <birthday-condition>
- 1.1.6.10 Условие на возраст покупателя <age-condition>
- 1.1.6.11 Условие срабатывания РА: решает SAP CRM <choose-external-system>
- 1.1.6.12 Условие срабатывания РА: по типу оплаты <payment-type>
- 1.1.6.13 Номера касс, на которых должна работать рекламная акция <cash-nums>
- 1.1.6.14 Условие срабатывания по удовлетворению владельца карты условий вхождения в сегмент <segment-condition>
- 1.1.6.15 Клиент <client-guid-condition>
- 1.1.6.16 Импорт ограничения срабатывания рекламной акции <action-results-quantity-condition>
- 1.1.6.17 Шаблоны касс <cash-template-condition>
- 1.1.6.18 Счетчик <counter-condition>
- 1.1.6.18.1 Пример XML:
- 1.1.6.19 Определяет внешняя система <external-system-resolution-condition>
- 1.1.6.20 Сумма скидки по РА <discount-sum-condition>
- 1.1.6.21 Код банковской программы лояльности <bank-loyalty-code-condition>
- 1.1.6.22 Условие срабатывания РА: Наличие внешнего купона <external-coupon-condition>
- 1.1.6.23 Условие срабатывания РА: Уровень программы лояльности клиента <loyalty-level-condition>
- 1.1.6.24 Условие срабатывания РА: По решению покупателя <client-decision-condition>
- 1.1.6.25 Условие срабатывания РА: "Решает кассир" (ручные скидки) <cashier-condition>
- 1.1.7 Типы ценников рекламной акции <pricetag-type>
- 1.1.8 Cписок внешних кодов шаблонов ценников <pricetag-template>
- 1.1.9 Привязка к формату шаблона ценника из внешней системы <template-format>
- 1.1.10 Метки рекламных акций <actionLabels>
- 1.1.11 Множество кодов РА, игнорирующих запрет новых скидок после срабатывания данной акции <finalActionExclusions>
- 1.1.12 Период внешнего продвижения <externalPromotions>
- 1.1.12.1 Пример XML:
- 1.1.13 Расширенные атрибуты <extended-attribute>
- 1.1.13.1 Пример XML:
- 1.1 Рекламная акция <AdvertisingAction>
- 2 Дополнительная информация
Методы веб-сервиса для импорта рекламных акций
Без обратной связи | |
Метод | importActions |
URL | http://IP-адрес_сервера:8090/SET-ERPIntegration/AdvertisingActionsImport |
WSDL | http://IP-адрес_сервера:8090/SET-ERPIntegration/AdvertisingActionsImport?wsdl |
Поле | Тип данных | Описание | Обязательное |
Принимаемые параметры | |||
xmlData | base64Binary | Рекламные акции в формате XML | Да |
Возвращаемые параметры | |||
return | boolean | Ответ об успешном прохождении валидации пакета данных и принятии его в обработку |
|
Описание формата рекламных акций
С обратной связью | |
Метод | importActionsWithTi |
URL | http://IP-адрес_сервера:8090/SET-ERPIntegration/AdvertisingActionsImport |
WSDL | http://IP-адрес_сервера:8090/SET-ERPIntegration/AdvertisingActionsImport?wsdl |
Поле | Тип данных | Описание | Обязательное |
Принимаемые параметры | |||
xmlData | base64Binary | XML в формате данных Рекламных акций, кодированный с помощью base64Binary | Да |
ti | String |
| Нет |
Возвращаемые параметры | |||
return | boolean | В случае успешной обработки пакета возвращается: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:importActionsResponse xmlns:ns2="http://ws.discounts.ERPIntegration.crystals.ru/"/>
</soap:Body>
</soap:Envelope>
<return>true</return>
</ns2:importActionsResponse> |
|
Описание формата рекламных акций
Важно
Идентификатор пакета 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 | Наименование РА | Да |
nameForCustomer | String | Название для покупателя (маркетинговое название акции) https://crystals.atlassian.net/browse/SR-7134 https://crystals.atlassian.net/browse/CR-10447 10.4.6.0 | Нет |
description | String | Описание рекламной акции https://crystals.atlassian.net/browse/SR-6936 https://crystals.atlassian.net/browse/CR-10221 10.4.0.0 | Нет |
active | Boolean | Для загрузки активных акций всегда передавать true | Да |
mode | String | Тип условия применения РА.
| Да |
priority | Double | Приоритет (только для схемы работы акций по приоритету, акция с приоритетом 1 более приоритетная, чем акция с приоритетом 1000). По умолчанию 1000. При загрузке значение должно быть равным 1 и более. Логика присваивания приоритета
Присвоение приоритета акции, созданной вручную Вручную заведенная акция работает по другому принципу
Пример
| Нет |
ignoreRestictions В данном параметре отсутствует буква r для слова restrictions | Boolean | Признак игнорирования ограничений на применение скидки в данных товаров
| Нет |
ignoreRestrictions
| Boolean | Признак игнорирования ограничений на применение скидки в данных товаров
Начиная с версии 10.2.75.8 10.2.76.3 10.2.77.0 можно использовать, как новый параметр, так и предыдущий ignoreRestictions | Нет |
worksAnyTime | Boolean |
| Да |
color | String | Цвет маркировки рекламной акции. Используется для визуализации акции в SetRetail10,
| Нет |
external-code | String | Внешний идентификатор РА | Да |
ti | String | Идентификатор транспортного пакета, в котором пришла данная РА | Нет |
deleted | Boolean | Признак удаления рекламной акции. Акция останавливается сразу после загрузки признака остановки. | Нет |
discountType | String | Код типа скидки | Нет |
exempt-from-bonus-discounts | Boolean | Флаг-признак, указывающий на то, что на товары, на которые сработала данная РА, нельзя давать скидки типа "бонусы как скидка". Отсутствие атрибута - распознается как FALSE | Нет |
disableChargeOnBonuses | Boolean | Флаг-признак, запрещающий начисление бонусных баллов на товары, на которые сработала данная РА | Нет |
finalAction | Boolean | Флаг-признак, запрещающий новые скидки после срабатывания данной акции | Нет |
ignoreSoftCheckRestrictions | Boolean | Флаг-признак "Игнорировать ограничения мягкого чека". Ограничение на применение рекламных акций ( https://crystals.atlassian.net/browse/SR-5427 10.3.10.0 | Нет |
Наименование элемента | Тип данных | Описание | Обязательное |
shop-indices | PositiveInteger (разделение через пробел) | Список магазинов через пробел, в которых действует акция. По умолчанию – действует во всей торговой сети. | Нет |
begin-date | DateTime | Дата начала действия акции | Да |
end-date | DateTime | Дата окончания действия акции | Да |
pricetag-type | String | Тип ценника, который должен печататься на товары этой акции. | Нет |
template-format | String | Внешний код формата шаблонов ценников. | Нет |
Блоки содержимого Рекламной акции | |||
Блок | Описание | ||
dependence | Блок позволяет управлять из ERP зависимостью загружаемых РА от других акций, ранее загруженных в систему. Необязательный блок данных | ||
region-indices | Регионы, в которых должна действовать акция. Учитывается фильтр по формату магазинов, если задан параметр Необязательный блок данных. https://crystals.atlassian.net/browse/SR-8625 https://crystals.atlassian.net/browse/CR-14397 10.4.22.0 | ||
city-indices | Города, в которых должна действовать акция. Учитывается фильтр по формату магазинов, если задан параметр Необязательный блок данных. https://crystals.atlassian.net/browse/SR-8625 https://crystals.atlassian.net/browse/CR-14397 10.4.22.0 | ||
format-indices | Фильтр по формату магазинов, действующий на все магазины регионов и городов в заданной зоне охвата акции. Необязательный блок данных. https://crystals.atlassian.net/browse/SR-8625 https://crystals.atlassian.net/browse/CR-14397 10.4.22.0 | ||
externalConditions | Условия применения данной РА, акция сработает только при соблюдении всех указанных в акции условий. Если условия не указаны, акция действует для всех покупателей. Необязательный блок данных, заполняется только при mode = automatic | ||
actionResults | Применяемые скидки в рамках данной Рекламной акции. Обязательный блок данных | ||
pricetag-template | Коды ценников, которые должны печататься по умолчанию на товары этой акции. | ||
actionLabels | Метки рекламной акции | ||
finalActionExclusions | Множество кодов РА, игнорирующих запрет новых скидок после срабатывания данной акции | ||
externalPromotions | Периоды внешнего продвижения https://crystals.atlassian.net/browse/SR-7086 https://crystals.atlassian.net/browse/CR-10739 10.4.2.0 | ||
extended-attribute | Расширенные атрибуты рекламной акции https://crystals.atlassian.net/browse/SR-7388 https://crystals.atlassian.net/browse/CR-11278 10.4.6.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>Регионы в зоне охвата акции <region-indices>
https://crystals.atlassian.net/browse/SR-8625
https://crystals.atlassian.net/browse/CR-14397
10.4.22.0
Возможность указывать зону охвата акции с привязкой к регионам.
Если после загрузки акции в систему будет добавлен новый магазин, входящий в указанный регион, акция автоматически будет распространяться и на него.
Все коды регионов, переданные в составе рекламной акции при импорте, должны существовать в соответствующем справочнике топологии Set Centrum 10. В противном случае акция будет отклонена с ошибкой валидации.
AdvertisingActions/AdvertisingAction/region-indices/region | |||
Наименование атрибута | Тип данных | Описание | Обязательное |
|---|---|---|---|
code | String | Код региона. Регион с указанным кодом должен существовать в справочнике регионов ( | Нет |
Рекламная акция из приведённого ниже примера будет отправлена на все магазины, соответствующие хотя бы одному из следующих условий:
Магазины всех городов, относящихся к регионам с кодами reg_1 и reg_2, у которых в свойствах магазина выбран один из форматов: super или giper.
Магазины городов с кодами city_1 и city_2, у которых в свойствах магазина выбран один из форматов: super или giper.
Магазины с номерами 123 и 124 вне зависимости от форматов магазинов.
Пример акции с указанной зоной охвата
<AdvertisingActions>
<AdvertisingAction name="РА_1" active="true" mode="automatic" color="green" external-code="РА_1">
<shop-indices>123 124</shop-indices>
<region-indices>
<region code="reg_1"/>
<region code="reg_2"/>
</region-indices>
<city-indices>
<city code="city_1"/>
<city code="city_2"/>
</city-indices>
<format-indices>
<format code="super"/>
<format code="giper"/>
</format-indices>
<begin-date>2012-02-21T00:00:00Z</begin-date>
<end-date>2042-02-29T00:00:00Z</end-date>
<actionResults>
<set name="Кефир в подарок">
<row requiedQuantity="1.000" fixedPrice="10.00">
<marking-of-the-good id="00001"/>
</row>
<row groupName="Хлеб" requiedQuantity="3.000" fixedPrice="30.00">
<marking-of-the-good id="00014"/>
<marking-of-the-good id="00004"/>
</row>
</set>
</actionResults>
</AdvertisingAction>
</AdvertisingActions>Города в зоне охвата акции <city-indices>
https://crystals.atlassian.net/browse/SR-8625
https://crystals.atlassian.net/browse/CR-14397
10.4.22.0
Возможность указывать зону охвата акции с привязкой к городам.
Если после загрузки акции в систему будет добавлен новый магазин, привязанный к указанному городу, акция автоматически будет распространяться и на него.
Все коды городов, переданные в составе рекламной акции при импорте, должны существовать в соответствующем справочнике топологии Set Centrum 10. В противном случае акция будет отклонена с ошибкой валидации.
AdvertisingActions/AdvertisingAction/region-indices/city | |||
Наименование атрибута | Тип данных | Описание | Обязательное |
|---|---|---|---|
code | String | Код города. Город с указанным кодом должен существовать в справочнике городов ( | Нет |
Рекламная акция из приведённого ниже примера будет отправлена на все магазины, соответствующие хотя бы одному из следующих условий:
Магазины всех городов, относящихся к регионам с кодами reg_1 и reg_2, у которых в свойствах выбран один из форматов: super или giper.
Магазины городов с кодами city_1 и city_2, у которых в свойствах магазина выбран один из форматов: super или giper.