Введение

Приложение Artix:LoyaltyManagement предоставляет возможность управления схемой лояльности через API. В качестве протокола взаимодействия используется SOAP.

Подключение

Для примера предположим, что сервер (API) запущен локально на порту 8080.

URL для выполнения запросов:

http://localhost:8080/loyalty-api/ws/

WSDL можно получить по адресу:

http://localhost:48080/loyalty-api/ws/loyalty.wsdl

Альтернативную WSDL без наследования параметров родительских методов можно получить по адресу:

http://localhost:48080/loyalty-api/ws/loyalty_expanded.wsdl 

Запросы

Добавление скидочной акции

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

Входные параметры

НазваниеОписаниеПараметр обязателен

name

Название акции+
codeКод акции
beginDateДата начала акции 
endDate

Дата завершения акции

dayTimeВременное ограничение акции. Для его установки необходимо указывать 2 таких параметра: первый содержит время начала действия акции, второй – время окончания действия акции- *
multipleDayTimeВременное ограничение акции, внутри указывается время начала и время окончания действия акции. Позволяет устанавливать до трех временных ограничений акции.- *
weekDaysОграничение дней недели акции, максимум 7 ограничений – дни недели 
tagGroupsГруппы меток зон действия, внутри группы указываются метки
catalogsКаталоги акции
resultsРезультаты акции, максимум 3 результата – воздействие, сообщение кассиру и сообщение покупателю*
resultImpactНовый формат заполнения результата – воздействие+ *
resultCashMessageНовый формат заполнения результата – сообщение кассиру-
resultClientMessageНовый формат заполнения результата – сообщение клиенту-
conditionsУсловия акции
actualWithAllФлаг – суммируется с другими-
manualActivateФлаг – выбор кассиром-
bonusesAllowedФлаг – разрешить начисление бонусов-
priorityПриоритет акции. Значение должно быть в пределах диапазона [1;10]-
calcCounterAfterCloseФлаг – рассчитывать счетчики после закрытия чека
lifeLimitsСрок жизни счетчика-

qualifiers

Дополнительные параметры (спецификаторы)-

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

* В запросе должен присутствовать результат – воздействие. Указать его можно через параметр results или resultImpact, подробнее описано тут.

Пример запроса на добавление дисконтной акции
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://soap.domain.loyalty.artix.su/">
   <soapenv:Header/>
   <soapenv:Body>
      <soap:addDiscountCampaignRequest>
         <soap:campaign>
            <soap:name>123</soap:name>
            <soap:code>546</soap:code>
            <!--Optional:-->
            <soap:beginDate>2016-02-22</soap:beginDate>
            <!--Optional:-->
            <soap:endDate>2025-03-23</soap:endDate>
            <!--Zero or more repetitions:-->
            <soap:catalogs>
               <soap:id>123</soap:id>
               <soap:name>Каталог</soap:name>
               <!--1 or more repetitions:-->
               <soap:catalogItems>
                  <soap:code>435</soap:code>
                  <!--Optional:-->
                  <soap:price>456</soap:price>
               </soap:catalogItems>
            </soap:catalogs>
            <!--Optional:-->
               <soap:resultImpact>
                  <soap:templateId>1001</soap:templateId>
                  <!--Zero or more repetitions:-->
                  <soap:templateValues>
                     <soap:key>fixedValue</soap:key>
                     <soap:value>25</soap:value>
                  </soap:templateValues>
               </soap:resultImpact>
            <!--Optional:-->
            <soap:resultCashMessage>
               <soap:htmlMessageCash><![CDATA[
                <b>Сообщение кассиру</b>
                ]]></soap:htmlMessageCash>
            </soap:resultCashMessage>
            <!--Optional:-->
            <soap:resultClientMessage>
               <soap:htmlMessageClient><![CDATA[
                <b>Сообщение покупателю</b>
                ]]></soap:htmlMessageClient>
            </soap:resultClientMessage>
			<!--Zero or more repetitions:-->
            <soap:conditions>
               <soap:conditionId>153</soap:conditionId>
            </soap:conditions>
		    <soap:qualifiers>AFTER_CLOSE</soap:qualifiers>
             <!--Optional:-->
            <soap:actualWithAll>false</soap:actualWithAll>
            <!--Optional:-->
            <soap:calcCounterAfterClose>true</soap:calcCounterAfterClose>
            <!--Zero or more repetitions:-->
            <soap:lifeLimits>
               <soap:id>lifeCounter1</soap:id>
               <soap:beginIntervalCondition>THROUGH</soap:beginIntervalCondition>
               <soap:beginIntervalValue>1</soap:beginIntervalValue>
               <soap:beginIntervalMetric>DAY</soap:beginIntervalMetric>
               <soap:endIntervalCondition>NOT_SET</soap:endIntervalCondition>
               <soap:weight>11</soap:weight>
            </soap:lifeLimits>
            <!--Optional:-->
            <soap:bonusesAllowed>true</soap:bonusesAllowed>
            <!--Optional:-->
            <soap:maxTimes>2</soap:maxTimes>
            <!--Optional:-->
            <soap:byTmc>true</soap:byTmc>
            <!--Optional:-->
            <soap:priority>2</soap:priority>
         </soap:campaign>
      </soap:addDiscountCampaignRequest>
   </soapenv:Body>
</soapenv:Envelope> 

Возвращаемый результат

В случае успешного добавления акции в ответе будет представлен код добавленной акции, код статуса создания – "0" и сам статус – "ok".

Пример ответа успешного добавления
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <ns2:addDiscountCampaignResponse xmlns:ns2="http://soap.domain.loyalty.artix.su/">
         <ns2:campaignCode>546</ns2:campaignCode>
         <ns2:creationStatusCode>0</ns2:creationStatusCode>
         <ns2:creationStatusText>ok</ns2:creationStatusText>
      </ns2:addDiscountCampaignResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Если запрос на добавление акции был ошибочным, то в ответе будет содержаться код акции – "-1",  код статуса ошибки – "-1" и сообщение о том, что акцию создать не удалось и указана причина ошибки.

Пример ответа ошибки добавления
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header/><SOAP-ENV:Body>
      <ns2:addDiscountCampaignResponse xmlns:ns2="http://soap.domain.loyalty.artix.su/">
          <ns2:campaignCode>-1</ns2:campaignCode>
          <ns2:creationStatusCode>-1</ns2:creationStatusCode>
          <ns2:creationStatusText>Не удалось создать акцию</ns2:creationStatusText>
      </ns2:addDiscountCampaignResponse></SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Добавление бонусной акции

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

Входные параметры

НазваниеОписаниеПараметр обязателен

name

Название акции+
codeКод акции
beginDateДата начала акции 
endDate

Дата завершения акции

dayTimeВременное ограничение акции. Для его установки необходимо указывать 2 таких параметра: первый содержит время начала действия акции, второй – время окончания действия акции- *
multipleDayTimeВременное ограничение акции, внутри указывается время начала и время окончания действия акции. Позволяет устанавливать до трех временных ограничений акции.- *
weekDaysОграничение дней недели акции, максимум 7 ограничений – дни недели 
tagGroupsГруппы меток зон действия, внутри группы указываются метки
catalogsКаталоги акции
resultsРезультаты акции, максимум 3 результата – воздействие, сообщение кассиру и сообщение покупателю*
resultImpactНовый формат заполнения результата – воздействие.+ *
resultCashMessageНовый формат заполнения результата – сообщение кассиру.-
resultClientMessageНовый формат заполнения результата – сообщение клиенту.-
conditionsУсловия акции
weightПорядок списания бонусов-
weightNotSetФлаг – очередь списания не учитывается-
beginRangeDateДата начала активности бонусов-
endRangeDateДата деактивации бонусов-
beginBonusesIntervalConditionУсловие начала действия бонусов-
beginBonusesIntervalValueУказывает количество времени через которое активируются бонусы-
beginBonusesIntervalMetricУказывает через сколько дней, недель или месяцев активируются бонусы-
beginDateWithBeginNextMetricУказывает с какого следующего дня, недели или месяца активируются бонусы-
beginDateWithBeginCurrentMetricУказывает с какого текущего дня, недели или месяца активируются бонусы-
endBonusesIntervalConditionУсловие окончания действия бонусов-
endBonusesIntervalValueУказывает количество времени через которое будут деактивированы бонусы-
endBonusesIntervalMetricУказывает через сколько дней, недель или месяцев будут деактивированы бонусы-
actualWithAllФлаг – суммируется со всеми
bonusesAllowCaseУказывает в каком случае начислять бонусы (на все акции (ALL_CAMPAIGN), только на акции с флагом начислять бонусы (ALLOW_CAMPAIGN) и не начислять (NO_CAMPAIGN))
calcCounterAfterCloseФлаг – рассчитывать счетчики после закрытия чека

lifeLimits 

Срок жизни счетчика-

qualifiers

Дополнительные параметры (спецификаторы)-

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

* В запросе должен присутствовать результат – воздействие. Указать его можно через параметр results или resultImpact, подробнее описано тут.

Пример запроса на добавление бонусной акции
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://soap.domain.loyalty.artix.su/">
   <soapenv:Header/>
   <soapenv:Body>
      <soap:addBonusCampaignRequest>
         <soap:campaign>
            <soap:name>Бонусная акция</soap:name>
            <soap:code>546</soap:code>
            <soap:multipleDayTime>
               <soap:timeStart>07:30</soap:timeStart>
               <soap:timeEnd>09:47</soap:timeEnd>
            </soap:multipleDayTime>
            <!--0 to 7 repetitions:-->
            <soap:weekDays>MONDAY</soap:weekDays>
            <soap:weekDays>FRIDAY</soap:weekDays>
            <!--Zero or more repetitions:-->
            <soap:catalogs>
               <soap:id>123</soap:id>
               <soap:name>sfg</soap:name>
               <!--1 or more repetitions:-->
               <soap:catalogItems>
                  <soap:code>435</soap:code>
                  <!--Optional:-->
                  <soap:price>456</soap:price>
               </soap:catalogItems>
            </soap:catalogs>
            <!--1 to 3 repetitions:-->
            <!--Optional:-->
            <soap:resultImpact>
               <soap:templateId>10001</soap:templateId>
               <!--Zero or more repetitions:-->
               <soap:templateValues>
                  <soap:key>fixedValue</soap:key>
                  <soap:value>15.4</soap:value>
               </soap:templateValues>
            </soap:resultImpact>
            <!--Optional:-->
            <soap:resultCashMessage>
               <soap:htmlMessageCash><![CDATA[
                <b>Сообщение кассиру</b>
                ]]></soap:htmlMessageCash>
            </soap:resultCashMessage>
            <!--Optional:-->
            <soap:resultClientMessage>
               <soap:htmlMessageClient><![CDATA[
                <b>Сообщение покупателю</b>
                ]]></soap:htmlMessageClient>
            </soap:resultClientMessage>        
            <!--Zero or more repetitions:-->
            <soap:conditions>
               <soap:conditionId>153</soap:conditionId>
            </soap:conditions>
		    <soap:qualifiers>AFTER_CLOSE</soap:qualifiers>
             <!--Optional:-->
            <soap:actualWithAll>true</soap:actualWithAll>
            <!--Optional:-->
            <soap:calcCounterAfterClose>true</soap:calcCounterAfterClose>
            <!--Zero or more repetitions:-->
           <soap:lifeLimits>
               <soap:id>lifeCounter1</soap:id>
               <soap:beginIntervalCondition>THROUGH</soap:beginIntervalCondition>
               <soap:beginIntervalValue>1</soap:beginIntervalValue>
               <soap:beginIntervalMetric>DAY</soap:beginIntervalMetric>
               <soap:endIntervalCondition>NOT_SET</soap:endIntervalCondition>
               <soap:weight>11</soap:weight>
            </soap:lifeLimits>
            <!--Optional:-->
            <soap:bonusesAllowCase>ALLOW_CAMPAIGN</soap:bonusesAllowCase>
            <!--Optional:-->
            <soap:beginBonusesIntervalCondition>DATE</soap:beginBonusesIntervalCondition>
            <!--Optional:-->
            <soap:beginBonusesIntervalValue>5</soap:beginBonusesIntervalValue>
            <!--Optional:-->
            <soap:beginBonusesIntervalMetric>DAY</soap:beginBonusesIntervalMetric>
            <!--Optional:-->
            <soap:beginRangeDate>2016-12-12</soap:beginRangeDate>
            <!--Optional:-->
            <soap:beginDateWithBeginCurrentMetric>MONTH</soap:beginDateWithBeginCurrentMetric>
            <!--Optional:-->
            <soap:beginDateWithBeginNextMetric>MONTH</soap:beginDateWithBeginNextMetric>
            <!--Optional:-->
            <soap:endBonusesIntervalCondition>2017-12-12</soap:endBonusesIntervalCondition>
            <!--Optional:-->
            <soap:endBonusesIntervalValue>DATE</soap:endBonusesIntervalValue>
            <!--Optional:-->
            <soap:endBonusesIntervalMetric>5</soap:endBonusesIntervalMetric>
            <!--Optional:-->
            <soap:endRangeDate>DAY</soap:endRangeDate>
            <!--Optional:-->
            <soap:weightNotSet>false</soap:weightNotSet>
            <!--Optional:-->
            <soap:weight>FIRST</soap:weight>
         </soap:campaign>
      </soap:addBonusCampaignRequest>
    </soapenv:Body>
</soapenv:Envelope>    

Возвращаемый результат

В случае успешного добавления акции в ответе будет представлен код добавленной акции, код статуса создания – "0" и сам статус – "ok".
Пример ответа успешного добавления
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <ns2:addBonusCampaignResponse xmlns:ns2="http://soap.domain.loyalty.artix.su/">
         <ns2:campaignCode>546</ns2:campaignCode>
		<ns2:creationStatusCode>0</ns2:creationStatusCode>
         <ns2:creationStatusText>ok</ns2:creationStatusText>
      </ns2:addBonusCampaignResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Если запрос на добавление акции был ошибочным, то в ответе будет содержаться код акции – "-1", код статуса ошибки – "-1" и сообщение о том, что акцию создать не удалось и указана причина ошибки.

Пример ответа ошибки добавления
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header/><SOAP-ENV:Body>
      <ns2:addBonusCampaignResponse xmlns:ns2="http://soap.domain.loyalty.artix.su/">
         <ns2:creationStatusCode>-1</ns2:creationStatusCode>
		 <ns2:creationStatusCode>-1</ns2:creationStatusCode>         
		 <ns2:creationStatusText>Не удалось создать акцию</ns2:creationStatusText>
      </ns2:addBonusCampaignResponse></SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Добавление купонной акции

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

Входные параметры 

НазваниеОписаниеПараметр обязателен

name

Название акции+
codeКод акции
beginDateДата начала акции 
endDate

Дата завершения акции

dayTimeВременное ограничение акции. Для его установки необходимо указывать 2 таких параметра: первый содержит время начала действия акции, второй – время окончания действия акции- *
multipleDayTimeВременное ограничение акции, внутри указывается время начала и время окончания действия акции. Позволяет устанавливать до трех временных ограничений акции.- *
weekDaysОграничение дней недели акции, максимум 7 ограничений – дни недели 
tagGroupsГруппы меток зон действия, внутри группы указываются метки
catalogsКаталоги акции
resultsРезультаты акции, максимум 2 результата – воздействие и сообщение кассиру*
resultImpactНовый формат заполнения результата – воздействие.+ *
resultCashMessageНовый формат заполнения результата – сообщение кассиру.-
resultClientMessageНовый формат заполнения результата – сообщение клиенту.-
conditionsУсловия акции
campaignCouponSettingsНастройки купона+
beginRangeDateДата начала активности бонусов-
endRangeDateДата деактивации бонусов-
beginCouponIntervalConditionУсловие начала действия бонусов-
beginCouponIntervalValueУказывает количество времени через которое активируется купон-
beginBonusesIntervalMetricУказывает через сколько дней, недель или месяцев активируется купон-
beginDateWithBeginNextMetricУказывает с какого следующего дня, недели или месяца активируется купон-
beginDateWithBeginCurrentMetricУказывает с какого текущего дня, недели или месяца активируется купон-
endCouponIntervalConditionУсловие окончания действия купона-
endCouponIntervalValueУказывает количество времени через которое будет деактивирован купон-
endCouponIntervalMetricУказывает через сколько дней, недель или месяцев будет деактивирован купон-
actualWithAllФлаг – суммируется со всеми (НЕ ИСПОЛЬЗУЕТСЯ)
calcCounterAfterCloseФлаг – рассчитывать счетчики после закрытия чека
lifeLimitsСрок жизни счетчика-

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

* В запросе должен присутствовать результат – воздействие. Указать его можно через параметр results или resultImpact, подробнее описано тут.

Пример запроса на добавление купонной акции
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://soap.domain.loyalty.artix.su/">
   <soapenv:Header/>
   <soapenv:Body>
      <soap:addCouponCampaignRequest>
         <soap:campaign>
            <soap:name>Купонная акция</soap:name>
            <soap:code>2</soap:code>
            <!--Optional:-->
            <soap:beginDate>2016-12-02</soap:beginDate>
            <!--Optional:-->
            <soap:endDate>2025-12-03</soap:endDate>
            <!--0 to 2 repetitions:-->
            <soap:dayTime>2016-02-02T01:01:00</soap:dayTime>
            <soap:dayTime>2016-02-02T01:02:00</soap:dayTime>
            <!--0 to 7 repetitions:-->
            <soap:weekDays>MONDAY</soap:weekDays>
            <soap:weekDays>FRIDAY</soap:weekDays>
            <!--Zero or more repetitions:-->
            <soap:catalogs>
               <soap:id>123</soap:id>
               <soap:name>sfg</soap:name>
               <!--1 or more repetitions:-->
               <soap:catalogItems>
                  <soap:code>435</soap:code>
                  <!--Optional:-->
                  <soap:price>456</soap:price>
               </soap:catalogItems>
            </soap:catalogs>
            <!--Optional:-->
            <soap:resultImpact>
               <soap:templateId>140</soap:templateId>
               <!--Zero or more repetitions:-->
               <soap:templateValues>
                  <soap:key>productCatalog</soap:key>
                  <soap:value>123</soap:value>
               </soap:templateValues>
               <soap:templateValues>
                  <soap:key>couponNumber</soap:key>
                  <soap:value>10</soap:value>
               </soap:templateValues>
            </soap:resultImpact>
            <!--Optional:-->
            <soap:resultCashMessage>
               <soap:htmlMessageCash><![CDATA[
                <b>Сообщение кассиру</b>
                ]]></soap:htmlMessageCash>
            </soap:resultCashMessage>            
            <!--Zero or more repetitions:-->
            <soap:conditions>
               <soap:conditionId>131</soap:conditionId>
               <!--Zero or more repetitions:-->
               <soap:conditionValues>
                  <soap:key>cardNumber</soap:key>
                  <soap:value>324</soap:value>
               </soap:conditionValues>
            </soap:conditions>
            <!--Optional:-->
            <soap:actualWithAll>false</soap:actualWithAll>            
            <!--Optional:-->
            <soap:calcCounterAfterClose>false</soap:calcCounterAfterClose>
            <!--Zero or more repetitions:-->
            <!--Optional:-->
            <soap:beginCouponIntervalCondition>DATE</soap:beginCouponIntervalCondition>
            <!--Optional:-->
            <soap:beginCouponIntervalValue>5</soap:beginCouponIntervalValue>
            <!--Optional:-->
            <soap:beginCouponIntervalMetric>DAY</soap:beginCouponIntervalMetric>
            <!--Optional:-->
            <soap:beginRangeDate>2016-12-12</soap:beginRangeDate>
            <!--Optional:-->
            <soap:beginDateWithBeginCurrentMetric>MONTH</soap:beginDateWithBeginCurrentMetric>
            <!--Optional:-->
            <soap:beginDateWithBeginNextMetric>MONTH</soap:beginDateWithBeginNextMetric>
            <!--Optional:-->
            <soap:endCouponIntervalCondition>2016-12-12</soap:endCouponIntervalCondition>
            <!--Optional:-->
            <soap:endCouponIntervalValue>DATE</soap:endCouponIntervalValue>
            <!--Optional:-->
            <soap:endCouponIntervalMetric>5</soap:endCouponIntervalMetric>
            <!--Optional:-->
            <soap:endRangeDate>DAY</soap:endRangeDate>
            <!--1 or more repetitions:-->
            <soap:campaignCouponSettings>
               <soap:couponId>10</soap:couponId>
               <!--Optional:-->
               <soap:name>Купон 10</soap:name>
               <soap:couponPrefix>123456789012</soap:couponPrefix>
               <!--Optional:-->
               <soap:text>Текст на купоне</soap:text>
               <!--Optional:-->
               <soap:couponFormatId>651b9fc739fd3f6385635018</soap:couponFormatId>
               <soap:unique>NO</soap:unique>
               <soap:printFormat>EAN13</soap:printFormat>
            </soap:campaignCouponSettings>
         </soap:campaign>
      </soap:addCouponCampaignRequest>
    </soapenv:Body>
   </soapenv:Envelope>

Возвращаемый результат

В случае успешного добавления акции в ответе будет представлен код добавленной акции, код статуса создания – "0" и сам статус – "ok".

Пример ответа успешного добавления
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <ns2:addCouponCampaignResponse xmlns:ns2="http://soap.domain.loyalty.artix.su/">
         <ns2:campaignCode>2</ns2:campaignCode>
         <ns2:creationStatusCode>0</ns2:creationStatusCode>
         <ns2:creationStatusText>ok</ns2:creationStatusText>
      </ns2:addCouponCampaignResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>  

Если запрос на добавление акции был ошибочным, то в ответе будет содержаться код акции – "-1",  код статуса ошибки – "-1" и сообщение о том, что акцию создать не удалось и указана причина ошибки.

Пример ответа ошибки добавления
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <ns2:addCouponCampaignResponse xmlns:ns2="http://soap.domain.loyalty.artix.su/">
         <ns2:campaignCode>-1</ns2:campaignCode>
         <ns2:creationStatusCode>-1</ns2:creationStatusCode>
         <ns2:creationStatusText>Не удалось создать акцию. campaignCouponSettings.couponId не заполнен.</ns2:creationStatusText>
      </ns2:addCouponCampaignResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>     

Правила заполнения настроек купона

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

Настройки купона 123456789012
<soap:campaignCouponSettings>
	<soap:couponId>10</soap:couponId>
    <soap:name>Купон</soap:name>
    <soap:couponPrefix>123456789012</soap:couponPrefix>
    <soap:text>Текст на купоне</soap:text>
    <soap:couponFormatId>815376153</soap:couponFormatId>
    <soap:unique>NO</soap:unique>
    <soap:printFormat>EAN13</soap:printFormat>
</soap:campaignCouponSettings>
ПараметрЗначениеОписаниеПараметр обязателен
couponIdЦелочисленноеДолжен быть уникальным. Используется для связки результата акции с нужными настройками купона.+
nameСтрокаНазвание купона.-
couponPrefixЗависит от выбранного формата печатиПрефикс купона.+
textСтрокаСообщение на купоне.-
couponFormatIdСтрока

Идентификатор формата печати купона. Если значение не указано, то будет использован формат по-умолчанию.

-
uniqueYESУникальный купон.+
NOНе уникальный купон.
printFormatEAN13Формат печати номера купона. Должен содержать 12 цифр.+
CODE128

Формат печати номера купона. Должен содержать от 1 до 103 символов. Принимает цифры, английские буквы,

спец. символы(кроме: < > & " ' #).

QRФормат печати номера купона. Любые символы(кроме: < > & " ' #).

Привязка купона к купонной акции

Значение, указанное в параметре couponId настроек купона, должно совпадать со значением, указанным в параметре couponNumber результата акции.

Будет использован купон 12
...
<soap:results xsi:type="soap:ResultImpact">
  	<soap:templateId>140</soap:templateId>
   	<soap:templateValues>
   		<soap:key>productCatalog</soap:key>
   		<soap:value>123</soap:value>
   	</soap:templateValues>
   	<soap:templateValues>
   		<soap:key>couponNumber</soap:key>
		<!--Значение как у couponId в настройках купона-->
   		<soap:value>2</soap:value>
   	</soap:templateValues>
</soap:results>
...
<soap:campaignCouponSettings>
	<!--Указывается в параметре couponNumber результата-->
	<soap:couponId>1</soap:couponId>
    <soap:name>Купон</soap:name>
    <soap:couponPrefix>11</soap:couponPrefix>
    <soap:text>Текст на купоне</soap:text>
    <soap:couponFormatId>815376153</soap:couponFormatId>
    <soap:unique>NO</soap:unique>
    <soap:printFormat>QR</soap:printFormat>
</soap:campaignCouponSettings>
<soap:campaignCouponSettings>
	<!--Указывается в параметре couponNumber результата-->
	<soap:couponId>2</soap:couponId>
    <soap:name>Купон 2</soap:name>
    <soap:couponPrefix>12</soap:couponPrefix>
    <soap:text>Текст на купоне</soap:text>
    <soap:couponFormatId>815376153</soap:couponFormatId>
    <soap:unique>NO</soap:unique>
    <soap:printFormat>QR</soap:printFormat>
</soap:campaignCouponSettings>
...

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

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

  •  Активация купонов с указанной даты

    С указанной даты
    <soap:beginCouponIntervalCondition>DATE</soap:beginCouponIntervalCondition>
    <soap:beginRangeDate>2016-12-12</soap:beginRangeDate>
  • Активация купонов через определенный интервал времени

    Через 5 дней
    <soap:beginCouponIntervalCondition>THROUGH</soap:beginCouponIntervalCondition>
    <soap:beginCouponIntervalValue>5</soap:beginCouponIntervalValue>
    <soap:beginCouponIntervalMetric>DAY</soap:beginCouponIntervalMetric>
  • Активация купонов в следующий день, неделю, месяц

    В следующий месяц
    <soap:beginCouponIntervalCondition>BEGIN_NEXT</soap:beginCouponIntervalCondition>				
    <soap:beginDateWithBeginNextMetric>MONTH</soap:beginDateWithBeginNextMetric>
  • Активация купонов с начала текущего дня, недели, месяца

    В следующий месяц
    <soap:beginCouponIntervalCondition>BEGIN_CURRENT</soap:beginCouponIntervalCondition>				
    <soap:beginDateWithBeginCurrentMetric>MONTH</soap:beginDateWithBeginCurrentMetric>
ПараметрЗначениеОписание
beginCouponIntervalConditionTHROUGHЧерез указанный интервал купон станет активным
BEGIN_NEXTСо следующего дня/недели/месяца купон станет активным
BEGIN_CURRENTС текущего дня/недели/месяца купон станет активным
NOT_SETЗначение не указано. Купон действуют всегда (по умолчанию)
beginCouponIntervalMetric
beginDateWithBeginNextMetric
beginDateWithBeginCurrentMetric
DAYИнтервал времени измеряется в днях (по умолчанию)
WEEKИнтервал времени измеряется в неделях
MONTHИнтервал времени измеряется в месяцах

Окончание действия купонов

Чтобы установить дату окончания действия купонов необходимо задать дату их деактивации.

  • Деактивация купонов в указанную дату
В указанную дату
<soap:endCouponIntervalCondition>DATE</soap:endCouponIntervalCondition>
<soap:endRangeDate>2016-12-11</soap:endRangeDate>
  • Деактивация купонов через определенный интервал времени
Через 7 дней
<soap:endCouponIntervalCondition>THROUGH</soap:endCouponIntervalCondition>
<soap:endCouponIntervalValue>7</soap:endCouponIntervalValue>
<soap:endCouponIntervalMetricc>DAY</soap:endCouponIntervalMetric>
ПараметрЗначениеОписание
endCouponIntervalConditionDATEВ указанную дату купон будет деактивирован
THROUGHЧерез несколько дней/недель/месяцев купон перестанет действовать
NOT_SETЗначение не указано. Действие купона не ограничено (по умолчанию)
endCouponIntervalMetricDAYИнтервал времени измеряется в днях (по умолчанию)
WEEKИнтервал времени измеряется в неделях
MONTHИнтервал времени измеряется в месяцах

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

Заполнение секции меток

Пример заполненного сообщения
<!--Секция группы меток, внутри нее перечисляются все нужные метки из группы. Секций групп меток может быть несколько  -->
<soap:tagGroups>
    <!--Указывается название группы-->
    <soap:name>Регион</soap:name>
    <!--И названия нужных меток из этой группы-->
    <soap:tags>Томск</soap:tags>
    <soap:tags>Барнаул</soap:tags>
</soap:tagGroups>

Заполнение результатов

В запросе существует три типа результата акций:

  • Impact – результат-воздействие
  • MessageCash – сообщение кассиру
  • MessageClient – сообщение покупателю

Максимальное количество результатов 3, причем не более 1 каждого вида.

На данный момент существует 2 варианта заполнения каждого из этих результатов:

  • Impact - результат-воздействие
    Impact новый вариант, с заполненными параметрами
     <soap:resultImpact>
        <soap:templateId>140</soap:templateId>
        <!--Zero or more repetitions:-->
        <soap:templateValues>
      		<soap:key>productCatalog</soap:key>
      		<soap:value>123</soap:value>
       	</soap:templateValues>
      	<soap:templateValues>
       		<soap:key>couponNumber</soap:key>
      		<soap:value>10</soap:value>
      	</soap:templateValues>
     </soap:resultImpact>
    Impact старый вариант, с заполненными параметрами
    <soap:results xsi:type="soap:ResultImpact">
       	<soap:templateId>140</soap:templateId>
       	<soap:templateValues>
      		<soap:key>productCatalog</soap:key>
      		<soap:value>123</soap:value>
       	</soap:templateValues>
      	<soap:templateValues>
       		<soap:key>couponNumber</soap:key>
      		<soap:value>10</soap:value>
      	</soap:templateValues>
    </soap:results>
  • MessageCash - сообщение кассиру
    MessageCash новый вариант, с заполненными параметрами
    <soap:resultCashMessage>
    	<soap:htmlMessageCash>Сообщение кассиру</soap:htmlMessageCash>
    </soap:resultCashMessage>
    MessageCash старый вариант, с заполненными параметрами
    <soap:results xsi:type="soap:ResultCashMessage">
      	<soap:htmlMessageCash><![CDATA[
      	<b>Сообщение кассиру</b>
       	]]></soap:htmlMessageCash>
    </soap:results>
  • MessageClient - сообщение кассиру
    MessageCash новый вариант, с заполненными параметрами
    <soap:resultClientMessage>
    	<soap:htmlMessageClient>Сообщение клиенту</soap:htmlMessageClient>
    </soap:resultClientMessage>
    MessageCash старый вариант, с заполненными параметрами
    <soap:results xsi:type="soap:ResultClientMessage">
    	<soap:htmlMessageClient><![CDATA[
    	<b>Сообщение клиенту</b>
    	]]></soap:htmlMessageClient>
    </soap:results>


Параметры Impact

При указании номера шаблона результата (templateId) необходимо также указать все необходимые параметры шаблона с верными типами данных. Подробнее о шаблонах и их параметрах можно прочитать в разделе "Работа с шаблонами".

Данный вид результата состоит из двух основных секций:

  • в первой указывается идентификатор используемого шаблона (templateId),
  • во второй перечисляются значения, которые будут вставлены в шаблон (templateValues).

Значений (templateValues) должно быть столько, сколько их в выбранном шаблоне.

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

Например, есть шаблон с 2-мя местами для вставки значений, первое место с id – fixedValue (дробное), второе с id – productCatalog (целочисленное), то значения для них будут выглядеть как два templateValues, в первом будет key fixedValue, value допустим 2.5, второе key productCatalog, value допустим 12.

Если в шаблоне в местах вставки значений присутствует значение с типом CATALOG или PRODUCT_LIST то необходимо создать каталог, а в поле value указать идентификатор созданного каталога (разница между каталогом и списком товаров в том, что в каталоге цена указывается а в списке товаров это поле не используется). 

Если в шаблоне(купонные акции) в местах вставки значений присутствует значение с типом COUPON_GENERATION, то необходимо создать настройки купона и в поле value указать значение couponId созданных настроек.


Типы данных запросов для заполнения секции "values":

ТипПримерОписание
INT569Целочисленное значение
DOUBLE126.7

Дробное значение

CODE"726f3842g9374"Код товара – строковое значение
CATALOG6789

Идентификатор каталога (Целочисленное значение)

PRODUCT_LIST2345Идентификатор списка товаров (Целочисленное значение)
PRODUCT_OPTIONS"options_group1","option_group2"Список идентификаторов признаков товаров в кавычках через запятую
PRODUCT_GROUPS"product_group1","product_group2"Список идентификаторов групп товаров в кавычках через запятую
CARD_GROUPS

777777,555555

Список идентификаторов групп карт через запятую (Целочисленное значение)
STRING"value"Строковое значение
COUPON_GENERATION123Идентификатор настроек купона, может принимать любое значение


Заполнение ограничения по времени

В запросе присутствует 2 формата для указания временных ограничений:

  • dayTime – старый формат времени
  • multipleDayTime – новый формат времени

Одновременное использование различных форматов временных ограничений запрещено. 

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


Оформление временных ограничений

  • dayTime

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

    dayTime, время действия акции с 7:30 до 9:47
    <soap:dayTime>2016-02-02T07:30:00</soap:dayTime>
    <soap:dayTime>2016-02-02T09:47:00</soap:dayTime>


  • multipleDayTime

    Возможно указывать от одного до трех параметров multipleDayTime.

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

    multipleDayTime, время действия акции с 7:30 до 9:47
    <soap:multipleDayTime>
    	<soap:timeStart>07:30</soap:timeStart>
        <soap:timeEnd>09:47</soap:timeEnd>
    </soap:multipleDayTime>
    multipleDayTime, время действия акции с 15:40 до 18:00, с 19:20 до 22:00 и с 23:15 до 00:35
    <soap:multipleDayTime>
    	<soap:timeStart>15:40</soap:timeStart>
        <soap:timeEnd>18:00</soap:timeEnd>
    </soap:multipleDayTime>
    <soap:multipleDayTime>
    	<soap:timeStart>19:20</soap:timeStart>
        <soap:timeEnd>22:00</soap:timeEnd>
    </soap:multipleDayTime>
    <soap:multipleDayTime>
    	<soap:timeStart>23:15</soap:timeStart>
        <soap:timeEnd>00:35</soap:timeEnd>
    </soap:multipleDayTime>

Создание каталога

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

Пример заполненного каталога
<soap:catalogs>
    <soap:id>123</soap:id>
    <soap:name>sfg</soap:name>
    <!--Zero or more repetitions:-->
    <soap:catalogItems>
        <soap:code>435</soap:code>
        <!--Optional:-->
        <soap:price>456</soap:price>
 		<!--Optional:-->
        <soap:percentdiscount>3</soap:percentdiscount>
        <!--Optional:-->
        <soap:mincount>4</soap:mincount>
        <!--Optional:-->
        <soap:maxcount>5</soap:maxcount>
        <!--Optional:-->
        <soap:multiplicity>6</soap:multiplicity>     
	</soap:catalogItems>
    <soap:catalogItems>
        <soap:code>222</soap:code>
        <!--Optional:-->
        <soap:price>2</soap:price>
    </soap:catalogItems>
</soap:catalogs>

Заведение акции с каталогом

Пример заведения акции с каталогом
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:soap="http://soap.domain.loyalty.artix.su/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Header/>
   <soapenv:Body>
      <soap:addDiscountCampaignRequest>
         <soap:campaign>
            <soap:name>Название акции</soap:name>
            <soap:code>1234567</soap:code>
            <!--Секция каталога акции (если в акции несколько каталогов, то и таких секций будет несколько)-->
            <soap:catalogs>
			   <!--Временный идентификатор каталога, уникальный в пределах создаваемой акции -->
               <soap:id>55555</soap:id>
               <soap:name>Название каталога (списка товаров)</soap:name>
               <soap:catalogItems>
                  <soap:code>98740</soap:code> <!--Код товара-->
                  <soap:price>130</soap:price> <!--Акционная цена для этого товара -->
               </soap:catalogItems>
            </soap:catalogs>

			<!--Секция результатов акции-->
            <soap:results xsi:type="soap:ResultImpact">
				<!--Указываем номер/идентификатор шаблона результата с каталогом-->
                <soap:templateId>33</soap:templateId>
				<!--Заполняем переменные выбранного шаблона-->
                <soap:templateValues>
					<!--Указываем идентификатор параметра. У этого параметра должен быть тип CATALOG (список параметров и их типов в документации) -->
                    <soap:key>100</soap:key> <!--Идентификатор параметра-->
                    <soap:value>55555</soap:value> <!--Значение параметра - в значение вставляем идентификатор каталога, созданного выше -->
                </soap:templateValues>
            </soap:results>
         </soap:campaign>
      </soap:addDiscountCampaignRequest>
   </soapenv:Body>
</soapenv:Envelope>

Заведение акции со скидкой по купону

Скидка по купону производится при наличии дисконтной акции с условием на купон.

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

Наименование условия
128Номер купона должен начинаться с указанного значения
129Номер купона из указанного списка
Скидка 10% при наличии купона из списка
 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
 xmlns:soap="http://soap.domain.loyalty.artix.su/"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

 <soapenv:Header/>
    <soapenv:Body>
		<soap:addDiscountCampaignRequest>
			<soap:campaign>
				<soap:name>Скидка 10% на чек при наличии купона</soap:name>
				<soap:code>2</soap:code>
				<soap:results xsi:type="soap:ResultImpact">
					<soap:templateId>100</soap:templateId>					        
					<soap:templateValues>
						<soap:key>percentValue</soap:key>
						<soap:value>10</soap:value>                   
					</soap:templateValues>
				</soap:results> 
				<soap:conditions>
					<soap:conditionId>130</soap:conditionId>
					<soap:conditionValues>
						<soap:key>couponNumber</soap:key>
						<soap:value>"123456789","45612422"</soap:value>
					</soap:conditionValues>
				</soap:conditions>                   
			</soap:campaign>
		</soap:addDiscountCampaignRequest>
	</soapenv:Body>
</soapenv:Envelope>

Правила заполнения срока жизни счетчика

Начало срока жизни

  •  С указанной даты

    С указанной даты
    <soap:beginIntervalCondition>DATE</soap:beginIntervalCondition>
    <soap:beginRangeDate>2016-12-12</soap:beginRangeDate>
  • Через определенный интервал времени

    Через 5 дней
    <soap:beginIntervalCondition>THROUGH</soap:beginIntervalCondition>
       <soap:beginIntervalValue>5</soap:beginIntervalValue>
       <soap:beginIntervalMetric>DAY</soap:beginIntervalMetric>
  • В следующий день, неделю, месяц

    В следующий месяц
    <soap:beginIntervalCondition>BEGIN_NEXT</soap:beginIntervalCondition>				
    <soap:beginDateWithBeginNextMetric>MONTH</soap:beginDateWithBeginNextMetric>
  • С начала текущего дня, недели, месяца

    В следующий месяц
    <soap:beginIntervalCondition>BEGIN_CURRENT</soap:beginIntervalCondition>
    <soap:beginDateWithBeginNextMetric>MONTH</soap:beginDateWithBeginNextMetric>
ПараметрЗначениеОписание
beginIntervalConditionTHROUGHЧерез указанный интервал
BEGIN_NEXTСо следующего дня/недели/месяца
BEGIN_CURRENTС текущего дня/недели/месяца
NOT_SETЗначение не указано (по умолчанию)
beginIntervalMetric
beginDateWithBeginNextMetric
beginDateWithBeginCurrentMetric
DAYИнтервал времени измеряется в днях (по умолчанию)
WEEKИнтервал времени измеряется в неделях
MONTHИнтервал времени измеряется в месяцах

Окончание срока жизни

Чтобы установить дату окончания срока жизни счетчика, необходимо указать дату или интервал.

  • В указанную дату
В указанную дату
<soap:endIntervalCondition>DATE</soap:endIntervalCondition>
<soap:endRangeDate>2016-12-11</soap:endRangeDate>
  • Через определенный интервал времени
Через 7 дней
<soap:endIntervalCondition>THROUGH</soap:endIntervalCondition>
<soap:endIntervalValue>7</soap:endIntervalValue>
<soap:endIntervalMetricc>DAY</soap:endIntervalMetric>
ПараметрЗначениеОписание
endIntervalConditionDATEВ указанную дату
THROUGHЧерез несколько дней/недель/месяцев
NOT_SETЗначение не указано. Срок жизни не ограничен (по умолчанию)
endIntervalMetricDAYИнтервал времени измеряется в днях (по умолчанию)
WEEKИнтервал времени измеряется в неделях
MONTHИнтервал времени измеряется в месяцах

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

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

Составная дисконтная акция представляет из себя сложную акцию, состоящую из списка обычных дисконтных акций (не менее двух) с указанным между ними взаимодействием (параметр interactionType). Акции внутри составной заполняются по обычным правилам, описанным выше, за исключением того, что во всех акция внутри составной должен быть указан один и тот же код, который будет идентифицировать всю составную акцию. Составная акция также, как и обычная акция может суммироваться с другими, для этого необходимо указать в составной акции флаг actualWithAll в true. В акциях внутри составной флаг actualWithAll не имеет значения и может быть установлен в любое значение (true/false), так же и флаг manualActivate.

Входные параметры

НазваниеОписаниеПараметр обязателен

compositeName

Название составной акции+
actualWithAllФлаг – суммируется со всеми-
interactionTypeТип взаимодействия внутри составной акции+
campaigns

Список дисконтных акций в составе составной

+
priority

Приоритет акций. Значение должно быть в пределах диапазона [1;10]

-


Описание параметра взаимодействия внутри составной акции interactionType

ПараметрЗначениеОписание
interactionType
MAX
Максимальная
MINМинимальная
MAXFORPOSМаксимум по позициям
Пример запроса на добавление составной дисконтной акции
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://soap.domain.loyalty.artix.su/">
   <soapenv:Header/>
   <soapenv:Body>
      <soap:addCompositeDiscountCampaignRequest>
         <soap:compositeCampaign>
            <soap:compositeName>Составная дисконтная акция</soap:compositeName>
            <soap:actualWithAll>false</soap:actualWithAll>
            <soap:interactionType>MAX</soap:interactionType>
            <!--2 or more repetitions:-->
            <soap:campaigns>
               <soap:name>Акция в составе 1</soap:name>
               <soap:code>33</soap:code>
               <!--Optional:-->
               <soap:beginDate>2016-09-01</soap:beginDate>
               <!--0 to 2 repetitions:-->
               <soap:dayTime>2016-02-02T01:01:00</soap:dayTime>
               <soap:dayTime>2016-02-02T21:21:00</soap:dayTime>
               <!--0 to 7 repetitions:-->
                <soap:weekDays>TUESDAY</soap:weekDays>      
                <soap:weekDays>WEDNESDAY</soap:weekDays>    
                <soap:weekDays>SATURDAY</soap:weekDays>
               <!--Optional:-->
               <soap:resultImpact>
                  <soap:templateId>100</soap:templateId>
                  <!--Zero or more repetitions:-->
                  <soap:templateValues>
                     <soap:key>percentValue</soap:key>
                     <soap:value>25</soap:value>
                  </soap:templateValues>
               </soap:resultImpact>
               <!--Optional:-->
               <soap:resultCashMessage>
                  <soap:htmlMessageCash><![CDATA[<b>Сообщение кассиру 2123</b>]]></soap:htmlMessageCash>
               </soap:resultCashMessage>
               <!--Optional:-->
               <soap:calcCounterAfterClose>true</soap:calcCounterAfterClose>
            </soap:campaigns>
            <soap:campaigns>
               <soap:name>Акция в составе 2</soap:name>
               <soap:code>33</soap:code>
               <!--Optional:-->
               <soap:beginDate>2016-09-01</soap:beginDate>               
               <!--0 to 2 repetitions:-->
               <soap:dayTime>2016-02-02T01:01:00</soap:dayTime>
               <soap:dayTime>2016-02-02T21:21:00</soap:dayTime>
               <!--0 to 7 repetitions:-->
               <soap:weekDays>TUESDAY</soap:weekDays>      
               <soap:weekDays>WEDNESDAY</soap:weekDays>    
               <soap:weekDays>SATURDAY</soap:weekDays>
               <!--Zero or more repetitions:-->
               <!--Optional:-->
               <soap:actualWithAll>false</soap:actualWithAll>               
               <!--Optional:-->
               <soap:resultImpact>
                  <soap:templateId>1001</soap:templateId>
                  <!--Zero or more repetitions:-->
                  <soap:templateValues>
                     <soap:key>fixedValue</soap:key>
                     <soap:value>25</soap:value>
                  </soap:templateValues>
               </soap:resultImpact>
           <soap:lifeLimits>
               <soap:id>lifeCounter1</soap:id>
               <soap:beginIntervalCondition>THROUGH</soap:beginIntervalCondition>
               <soap:beginIntervalValue>3</soap:beginIntervalValue>
               <soap:beginIntervalMetric>DAY</soap:beginIntervalMetric>
               <soap:endIntervalCondition>NOT_SET</soap:endIntervalCondition>
               <soap:weight>11</soap:weight>
            </soap:lifeLimits>               
               <!--Optional:-->
               <soap:resultCashMessage>
                  <soap:htmlMessageCash><![CDATA[<b>Сообщение кассиру 2123</b>]]></soap:htmlMessageCash>
               </soap:resultCashMessage>
               <!--Optional:-->
               <soap:resultClientMessage>
                  <soap:htmlMessageClient><![CDATA[<b>Сообщение покупателю 23</b>]]></soap:htmlMessageClient>
               </soap:resultClientMessage>               
            </soap:campaigns>
         </soap:compositeCampaign>
      </soap:addCompositeDiscountCampaignRequest>
   </soapenv:Body>
</soapenv:Envelope>   

Возвращаемый результат

В случае успешного добавления акции в ответе будет представлен код добавленной акции.

Пример ответа успешного добавления
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <ns2:addCompositeDiscountCampaignResponse xmlns:ns2="http://soap.domain.loyalty.artix.su/">
         <ns2:campaignCode>33</ns2:campaignCode>
      </ns2:addCompositeDiscountCampaignResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

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

Пример ответа ошибки добавления
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header/><SOAP-ENV:Body>
      <ns2:addDiscountCampaignResponse xmlns:ns2="http://soap.domain.loyalty.artix.su/">
         <ns2:creationStatusCode>-1</ns2:creationStatusCode>
         <ns2:creationStatusText>Не удалось создать акцию</ns2:creationStatusText>
      </ns2:addDiscountCampaignResponse></SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Добавление составной бонусной акции

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

Составная бонусная акция представляет из себя сложную акцию, состоящую из списка обычных бонусных акций (не менее двух) с указанным между ними взаимодействием (параметр interactionType). Акции внутри составной заполняются по обычным правилам, описанным выше, за исключением того, что во всех акция внутри составной должен быть указан один и тот же код, который будет идентифицировать всю составную акцию. Составная акция также, как и обычная акция может суммироваться с другими, для этого необходимо указать в составной акции флаг actualWithAll в true. В акциях внутри составной флаг actualWithAll не имеет значения и может быть установлен в любое значение (true/false), так же и флаг manualActivate

Входные параметры

НазваниеОписаниеПараметр обязателен

compositeName

Название составной акции+
actualWithAllФлаг – суммируется со всеми-
interactionTypeТип взаимодействия внутри составной акции+
campaigns

Список бонусных акций в составе составной

+


Описание параметра взаимодействия внутри составной акции interactionType

ПараметрЗначениеОписание
interactionType
MAX
Максимальная
MINМинимальная
MAXFORPOSМаксимум по позициям
Пример запроса на добавление составной бонусной акции
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://soap.domain.loyalty.artix.su/">
   <soapenv:Header/>
   <soapenv:Body>
      <soap:addCompositeBonusCampaignRequest>
         <soap:compositeCampaign>
            <soap:compositeName>Составная бонусная акция</soap:compositeName>
            <soap:actualWithAll>true</soap:actualWithAll>
            <soap:interactionType>MAX</soap:interactionType>
            <!--2 or more repetitions:-->
            <soap:campaigns>
               <soap:name>Акция в составе 1</soap:name>
               <soap:code>12</soap:code>            
            <!--Optional:-->
            <soap:resultCashMessage>
               <soap:htmlMessageCash><![CDATA[
                <b>Сообщение кассиру</b>
                ]]></soap:htmlMessageCash>
            </soap:resultCashMessage> 
            <soap:resultImpact>
               <soap:templateId>10001</soap:templateId>
               <!--Zero or more repetitions:-->
               <soap:templateValues>
                  <soap:key>fixedValue</soap:key>
                  <soap:value>15.4</soap:value>
               </soap:templateValues>
            </soap:resultImpact>                         
               <!--Zero or more repetitions:-->
           <soap:lifeLimits>
               <soap:id>lifeCounter1</soap:id>
               <soap:beginIntervalCondition>THROUGH</soap:beginIntervalCondition>
               <soap:beginIntervalValue>1</soap:beginIntervalValue>
               <soap:beginIntervalMetric>DAY</soap:beginIntervalMetric>
               <soap:endIntervalCondition>NOT_SET</soap:endIntervalCondition>
               <soap:weight>11</soap:weight>
            </soap:lifeLimits>
            </soap:campaigns>
            <soap:campaigns>
               <soap:name>Акция в составе 2</soap:name>
               <soap:code>12</soap:code>
               <!--Optional:-->
               <soap:resultImpact>
                   <soap:templateId>124</soap:templateId>
                   <!--Zero or more repetitions:-->
                   <soap:templateValues>
                       <soap:key>fixedValue</soap:key>
                       <soap:value>2.5</soap:value>
                   </soap:templateValues>
                   <soap:templateValues>
                       <soap:key>productOptions</soap:key>
                       <soap:value>"mc01","mc02"</soap:value>
                   </soap:templateValues>
               </soap:resultImpact>
            </soap:campaigns>
         </soap:compositeCampaign>
      </soap:addCompositeBonusCampaignRequest>
   </soapenv:Body>
</soapenv:Envelope>

Возвращаемый результат

В случае успешного добавления акции в ответе будет представлен код добавленной акции.

Пример ответа успешного добавления
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <ns2:addCompositeDiscountCampaignResponse xmlns:ns2="http://soap.domain.loyalty.artix.su/">
         <ns2:campaignCode>12</ns2:campaignCode>
      </ns2:addCompositeDiscountCampaignResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

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

Пример ответа ошибки добавления
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header/><SOAP-ENV:Body>
      <ns2:addDiscountCampaignResponse xmlns:ns2="http://soap.domain.loyalty.artix.su/">
         <ns2:creationStatusCode>-1</ns2:creationStatusCode>
         <ns2:creationStatusText>Не удалось создать акцию</ns2:creationStatusText>
      </ns2:addDiscountCampaignResponse></SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Правила заполнения настроек для акций с наборными шаблонами

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

НазваниеОписаниеПараметр обязателен
maxTimesМаксимальное количество применений в чеке- *
maxTimesNotSpecifiedsНе учитывать максимальное количество применений в чеке- *
cartesianВыполнять воздействие по каждому товару отдельно- *
byTmcВыбирать только один товар по коду из каждой части набора- *

* В запросе должен быть указан только один из параметров – maxTimes или maxTimesNotSpecifieds.

* В запросе может быть указан только один из параметров – cartesian или byTmc. Если оба параметра не указаны, то набор фомируется из всех товаров, входящих в каталог.

Пример задания акции с наборным шаблоном
<!--Optional:-->
<soap:maxTimes>2</soap:maxTimes>
<!--Optional:-->
<soap:byTmc>true</soap:byTmc>
Пример задания акции с наборным шаблоном
<!--Optional:-->
<soap:maxTimesNotSpecifieds>true</soap:maxTimesNotSpecifieds>
<!--Optional:-->
<soap:cartesian>true</soap:cartesian>

Получение списка скидочных акций

Входные параметры

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

НазваниеОписаниеПараметр обязателен
beginTime Вернуть акции, которые действуют в промежуток времени начинающийся с указанной даты-
endTimeВернуть акции, которые действуют в промежуток времени по указанную дату-
createDateВернуть акции, созданные в указанную дату и позже-
nameВернуть акции с указанным названием-
codeВернуть акции с указанным кодом-

Возвращаемый результат

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

НазваниеОписание
nameНазвание акции
codeКод акции
idВнутренний идентификатор акции
beginDateДата начала действия акции (если установлена в акции)
endDateДата окончания действия акции (если установлена в акции)
createDateДата и время создания акции
stateТекущий статус акции
Пример запроса на получение дисконтной акции
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://soap.domain.loyalty.artix.su/">
   <soapenv:Header/>
   <soapenv:Body>
      <soap:getDiscountCampaignsRequest>
         <!--Optional:-->
         <soap:beginTime>2018-01-17</soap:beginTime>
         <!--Optional:-->
         <soap:endTime>2018-01-21</soap:endTime>
         <!--Optional:-->
         <soap:createDate>2018-01-07</soap:createDate>
         <!--Optional:-->
         <soap:name>Дисконтная акция</soap:name>
         <!--Optional:-->
         <soap:code>1</soap:code>
      </soap:getDiscountCampaignsRequest>
   </soapenv:Body>
</soapenv:Envelope>
Пример ответа на получение дисконтной акции
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <ns2:getDiscountCampaignsResponse xmlns:ns2="http://soap.domain.loyalty.artix.su/">
         <ns2:campaigns>
            <ns2:name>Дисконтная акция</ns2:name>
            <ns2:code>1</ns2:code>
            <ns2:beginDate>2018-01-17T00:00:00.554+07:00</ns2:beginDate>
            <ns2:endDate>2018-01-21T23:59:59.554+07:00</ns2:endDate>
            <ns2:id>288732730</ns2:id>
            <ns2:state>Акция активна</ns2:state>
            <ns2:createDate>2018-01-19T17:19:36.765+07:00</ns2:createDate>
         </ns2:campaigns>
      </ns2:getDiscountCampaignsResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

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

Входные параметры

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

НазваниеОписаниеПараметр обязателен
beginTime Вернуть акции, которые действуют в промежуток времени начинающийся с указанной даты-
endTimeВернуть акции, которые действуют в промежуток времени по указанную дату-
createDateВернуть акции, созданные в указанную дату и позже-
nameВернуть акции с указанным названием-
codeВернуть акции с указанным кодом-

Возвращаемый результат

Будут возвращены активные акции, которые удовлетворяют всем указанным в запросе параметрам. Если они не были установлены, то вернутся все активные акции данной секции(не включая акции, принадлежащие составным)
НазваниеОписание
nameНазвание акции
codeКод акции
idВнутренний идентификатор акции
beginDateДата начала действия акции (если установлена в акции)
endDateДата окончания действия акции (если установлена в акции)
createDateДата и время создания акции
stateТекущий статус акции
Пример запроса на получение дисконтной акции
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://soap.domain.loyalty.artix.su/">
   <soapenv:Header/>
   <soapenv:Body>
      <soap:getBonusCampaignsRequest>
         <!--Optional:-->
         <soap:beginTime>2018-01-17</soap:beginTime>
         <!--Optional:-->
         <soap:endTime>2018-01-21</soap:endTime>
         <!--Optional:-->
         <soap:createDate>2018-01-07</soap:createDate>
         <!--Optional:-->
         <soap:name>Дисконтная акция</soap:name>
         <!--Optional:-->
         <soap:code>1</soap:code>
      </soap:getBonusCampaignsRequest>
   </soapenv:Body>
</soapenv:Envelope>
Пример ответа на получение дисконтной акции
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <ns2:getBonusCampaignsResponse xmlns:ns2="http://soap.domain.loyalty.artix.su/">
         <ns2:campaigns>
            <ns2:name>Бонусная акция</ns2:name>
            <ns2:code>12</ns2:code>
            <ns2:beginDate>2018-01-19T00:00:00.346+07:00</ns2:beginDate>
            <ns2:id>1570049533</ns2:id>
            <ns2:state>Акция активна</ns2:state>
            <ns2:createDate>2018-01-19T17:25:32.262+07:00</ns2:createDate>
         </ns2:campaigns>
      </ns2:getBonusCampaignsResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>


Получение списка купонных акций

Входные параметры

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

НазваниеОписаниеПараметр обязателен
beginTime Вернуть акции, которые действуют в промежуток времени начинающийся с указанной даты-
endTimeВернуть акции, которые действуют в промежуток времени по указанную дату-
createDateВернуть акции, созданные в указанную дату и позже-
nameВернуть акции с указанным названием-
codeВернуть акции с указанным кодом-

Возвращаемый результат

Будут возвращены активные акции, которые удовлетворяют всем указанным в запросе параметрам. Если они не были установлены, то вернутся все активные акции данной секции
НазваниеОписание
nameНазвание акции
codeКод акции
idВнутренний идентификатор акции
beginDateДата начала действия акции (если установлена в акции)
endDateДата окончания действия акции (если установлена в акции)
createDateДата и время создания акции
stateТекущий статус акции
Пример запроса на получение купонной акции
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://soap.domain.loyalty.artix.su/">
   <soapenv:Header/>
   <soapenv:Body>
      <soap:getCouponCampaignsRequest>
         <!--Optional:-->
         <soap:beginTime>2017-12-02</soap:beginTime>
         <!--Optional:-->
         <soap:endTime>2017-12-02</soap:endTime>
         <!--Optional:-->
         <soap:createDate>2017-11-28</soap:createDate>
         <!--Optional:-->
         <soap:name>Купонная акция</soap:name>
         <!--Optional:-->
         <soap:code>2</soap:code>
      </soap:getCouponCampaignsRequest>
   </soapenv:Body>
</soapenv:Envelope>
Пример ответа на получение купонной акции
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <ns2:getCouponCampaignsResponse xmlns:ns2="http://soap.domain.loyalty.artix.su/">
         <ns2:campaigns>
            <ns2:name>Купонная акция</ns2:name>
            <ns2:code>2</ns2:code>
            <ns2:beginDate>2017-12-02T00:00:00.000+07:00</ns2:beginDate>
            <ns2:endDate>2017-12-03T23:59:59.000+07:00</ns2:endDate>
            <ns2:id>440369505</ns2:id>
            <ns2:state>Акция активна</ns2:state>
            <ns2:createDate>2017-11-29T11:47:17.098+07:00</ns2:createDate>
         </ns2:campaigns>
      </ns2:getCouponCampaignsResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

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

Входные параметры

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

НазваниеОписаниеПараметр обязателен
nameВернуть акции, с указанным названием-
codeВернуть акции, с указанным кодом-

Возвращаемый результат

Будут возвращены составные акции со списком активных дочерних акций.

Если в составной акции нет активных дочерних акций, то она возвращена не будет.

НазваниеОписание
compositeNameНазвание составной акции
actualWithAllФлаг – суммируется со всеми
interactionTypeТип взаимодействия внутри составной акции
campaigns

Список активных скидочных акций в составе составной

Структура возвращаемого объекта акции внутри составной

НазваниеОписание
nameНазвание акции
codeКод акции
idВнутренний идентификатор акции
beginDateДата начала действия акции (если установлена в акции)
endDateДата окончания действия акции (если установлена в акции)
createDateДата и время создания акции
stateТекущий статус акции
Пример запроса на получение составной скидочной акции
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://soap.domain.loyalty.artix.su/">
   <soapenv:Header/>
   <soapenv:Body>
      <soap:getCompositeDiscountCampaignsRequest>
         <!--Optional:-->
         <soap:name>Составная дисконтная акция</soap:name>
         <!--Optional:-->
         <soap:code>33</soap:code>
      </soap:getCompositeDiscountCampaignsRequest>
   </soapenv:Body>
</soapenv:Envelope>
Пример ответа на получение составной скидочной акции
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <ns2:getCompositeDiscountCampaignsResponse xmlns:ns2="http://soap.domain.loyalty.artix.su/">
         <ns2:compositeCampaigns>
            <ns2:compositeName>Составная дисконтная акция</ns2:compositeName>
            <ns2:actualWithAll>false</ns2:actualWithAll>
            <ns2:interactionType>MAX</ns2:interactionType>
            <ns2:campaigns>
               <ns2:name>Акция в составе 1</ns2:name>
               <ns2:code>33</ns2:code>
               <ns2:beginDate>2016-09-01T00:00:00.000+07:00</ns2:beginDate>
               <ns2:id>1545524622</ns2:id>
               <ns2:state>Акция активна</ns2:state>
               <ns2:createDate>2017-07-25T17:15:18.646+07:00</ns2:createDate>
            </ns2:campaigns>
            <ns2:campaigns>
               <ns2:name>Акция в составе 2</ns2:name>
               <ns2:code>33</ns2:code>
               <ns2:beginDate>2016-09-01T00:00:00.000+07:00</ns2:beginDate>
               <ns2:id>730265934</ns2:id>
               <ns2:state>Акция активна</ns2:state>
               <ns2:createDate>2017-07-25T17:15:19.074+07:00</ns2:createDate>
            </ns2:campaigns>
         </ns2:compositeCampaigns>
      </ns2:getCompositeDiscountCampaignsResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

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

Входные параметры

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

НазваниеОписаниеПараметр обязателен
nameВернуть акции, с указанным названием-
codeВернуть акции, с указанным кодом-

Возвращаемый результат

Будут возвращены составные акции со списком активных дочерних акций.

Если в составной акции нет активных дочерних акций, то она возвращена не будет.

НазваниеОписание
compositeNameНазвание составной акции
actualWithAllФлаг – суммируется со всеми
interactionTypeТип взаимодействия внутри составной акции
campaigns

Список активных бонусных акций в составе составной

Структура возвращаемого объекта акции внутри составной

НазваниеОписание
nameНазвание акции
codeКод акции
idВнутренний идентификатор акции
beginDateДата начала действия акции (если установлена в акции)
endDateДата окончания действия акции (если установлена в акции)
createDateДата и время создания акции
stateТекущий статус акции
Пример запроса на получение составной бонусной акции
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://soap.domain.loyalty.artix.su/">
   <soapenv:Header/>
   <soapenv:Body>
      <soap:getCompositeBonusCampaignsRequest>
         <!--Optional:-->
         <soap:name>Составная бонусная акция</soap:name>
         <!--Optional:-->
         <soap:code>12</soap:code>
      </soap:getCompositeBonusCampaignsRequest>
   </soapenv:Body>
</soapenv:Envelope>
Пример ответа на получение составной бонусной акции
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <ns2:getCompositeBonusCampaignsResponse xmlns:ns2="http://soap.domain.loyalty.artix.su/">
         <ns2:compositeCampaigns>
            <ns2:compositeName>Составная бонусная акция</ns2:compositeName>
            <ns2:actualWithAll>true</ns2:actualWithAll>
            <ns2:interactionType>MAX</ns2:interactionType>
            <ns2:campaigns>
               <ns2:name>Акция в составе 1</ns2:name>
               <ns2:code>12</ns2:code>
               <ns2:id>1532338349</ns2:id>
               <ns2:state>Акция активна</ns2:state>
               <ns2:createDate>2017-07-25T17:18:04.602+07:00</ns2:createDate>
            </ns2:campaigns>
            <ns2:campaigns>
               <ns2:name>Акция в составе 2</ns2:name>
               <ns2:code>12</ns2:code>
               <ns2:id>1656974346</ns2:id>
               <ns2:state>Акция активна</ns2:state>
               <ns2:createDate>2017-07-25T17:18:04.737+07:00</ns2:createDate>
            </ns2:campaigns>
         </ns2:compositeCampaigns>
      </ns2:getCompositeBonusCampaignsResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Удаление скидочной акции

Входные параметры

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

НазваниеОписаниеПараметр обязателен
code Код акции для удаления+

Возвращаемый результат

НазваниеОписание
codeКод акции
isRemovedФлаг успешности удаления
messageСообщение описывающее статус удаления
Пример удаления дисконтной акции
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://soap.domain.loyalty.artix.su/">
   <soapenv:Header/>
   <soapenv:Body>
      <soap:removeDiscountCampaignRequest>
         <soap:campaignCode>67781</soap:campaignCode>
      </soap:removeDiscountCampaignRequest>
   </soapenv:Body>
</soapenv:Envelope>
Пример ответа на удаления дисконтной акции
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <ns2:removeDiscountCampaignResponse xmlns:ns2="http://soap.domain.loyalty.artix.su/">
         <ns2:campaignCode>13</ns2:campaignCode>
         <ns2:isRemoved>true</ns2:isRemoved>
         <ns2:message>Remove success. 1 campaign(s) removed.</ns2:message>
      </ns2:removeDiscountCampaignResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Удаление бонусной акции

Входные параметры

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

НазваниеОписаниеПараметр обязателен
code Код акции для удаления+

Возвращаемый результат

НазваниеОписание
codeКод акции
isRemovedФлаг успешности удаления
messageСообщение описывающее статус удаления
Пример удаления бонусной акции
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://soap.domain.loyalty.artix.su/">
   <soapenv:Header/>
   <soapenv:Body>
      <soap:removeBonusCampaignRequest>
         <soap:campaignCode>67781</soap:campaignCode>
      </soap:removeBonusCampaignRequest>
   </soapenv:Body>
</soapenv:Envelope>
Пример ответа на удаления бонусной акции
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <ns2:removeBonusCampaignResponse xmlns:ns2="http://soap.domain.loyalty.artix.su/">
         <ns2:campaignCode>13</ns2:campaignCode>
         <ns2:isRemoved>true</ns2:isRemoved>
         <ns2:message>Remove success. 1 campaign(s) removed.</ns2:message>
      </ns2:removeBonusCampaignResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Удаление купонной акции

Входные параметры

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

НазваниеОписаниеПараметр обязателен
code Код акции для удаления+

Возвращаемый результат

НазваниеОписание
codeКод акции
isRemovedФлаг успешности удаления
messageСообщение описывающее статус удаления
Пример удаления купонной акции
<so
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://soap.domain.loyalty.artix.su/">
   <soapenv:Header/>
   <soapenv:Body>
      <soap:removeCouponCampaignRequest>
         <soap:campaignCode>2</soap:campaignCode>
      </soap:removeCouponCampaignRequest>
   </soapenv:Body>
</soapenv:Envelope>

В ответе отображается количество удаленных акций в message.

Пример ответа на удаления купонной акции
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <ns2:removeCouponCampaignResponse xmlns:ns2="http://soap.domain.loyalty.artix.su/">
         <ns2:campaignCode>2</ns2:campaignCode>
         <ns2:isRemoved>true</ns2:isRemoved>
         <ns2:message>Удаление успешно. Удалена 6 акция.</ns2:message>
      </ns2:removeCouponCampaignResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Удаление составной скидочной акции

Входные параметры

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

НазваниеОписаниеПараметр обязателен
code Код акции для удаления+

Возвращаемый результат

НазваниеОписание
codeКод акции
isRemovedФлаг успешности удаления
messageСообщение описывающее статус удаления
Пример удаления составной скидочной акции
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://soap.domain.loyalty.artix.su/">
   <soapenv:Header/>
   <soapenv:Body>
      <soap:removeCompositeDiscountCampaignRequest>
         <soap:campaignCode>33</soap:campaignCode>
      </soap:removeCompositeDiscountCampaignRequest>
   </soapenv:Body>
</soapenv:Envelope>
Пример ответа на удаления составной скидочной акции
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <ns2:removeCompositeDiscountCampaignResponse xmlns:ns2="http://soap.domain.loyalty.artix.su/">
         <ns2:campaignCode>33</ns2:campaignCode>
         <ns2:isRemoved>true</ns2:isRemoved>
         <ns2:message>Удаление успешно. Удалено 1 составных акций с 2 подакциями.</ns2:message>
      </ns2:removeCompositeDiscountCampaignResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Удаление составной бонусной акции

Входные параметры

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

НазваниеОписаниеПараметр обязателен
code Код акции для удаления+

Возвращаемый результат

НазваниеОписание
codeКод акции
isRemovedФлаг успешности удаления
messageСообщение описывающее статус удаления
Пример удаления составной бонусной акции
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://soap.domain.loyalty.artix.su/">
   <soapenv:Header/>
   <soapenv:Body>
      <soap:removeCompositeBonusCampaignRequest>
         <soap:campaignCode>12</soap:campaignCode>
      </soap:removeCompositeBonusCampaignRequest>
   </soapenv:Body>
</soapenv:Envelope>
Пример ответа на удаления составной бонусной акции
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <ns2:removeCompositeBonusCampaignResponse xmlns:ns2="http://soap.domain.loyalty.artix.su/">
         <ns2:campaignCode>12</ns2:campaignCode>
         <ns2:isRemoved>true</ns2:isRemoved>
         <ns2:message>Удаление успешно. Удалено 1 составных акций с 2 подакциями.</ns2:message>
      </ns2:removeCompositeBonusCampaignResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Список шаблонов

Шаблоны результатов дисконтных акций

Купи товар кратно N штукам и получи на это количество процентную скидку

Шаблон
НазваниеКупи товар кратно N штукам и получи на это количество процентную скидку
Код1009 (ранее 35)
Описание

В списке должен быть указан товар или несколько товаров, купив которые в количестве кратном указанному числу,

Например:

На каждые 3 шт товара из списка "Молочный" будет предоставлена процентная скидка в размере 7%

В списке "Молочный" перечислены следующие товары: Молоко, Кефир, Масло.При этом чеке присутствует: 4 шт Молоко, 7 шт Кефир

Скидка 7% будет на 4 шт Молоко и 5 шт Кефир. На 2 шт Кефир будет полная стоимость.

 Если скидка нужна на конкретный товар, то можно в списке указать только одни товар

Параметры шаблона:

Идентификатор параметраТип параметраОписание

productCatalog

PRODUCT_LISTИдентификатор списка товаров
percentValueDOUBLEРазмер скидки в процентах
everyProductCountDOUBLEКоличество товара
Пример

Пример: На каждые 3 единиц товара из списка "Бытовая химия" будет предоставлена процентная скидка в размере 20 %

Специальная цена на товары при покупке больше N шт. товаров из списка

Шаблон
НазваниеСпециальная цена на товары при покупке больше N шт. товаров из списка
Код134 (ранее 17)
Описание

Например:

При покупке от 5 единиц товара из списка "Спички" будет установлена специальная цена № 4 на весь данный товар в чеке

Параметры шаблона:

Идентификатор параметраТип параметраОписание
productCountDOUBLEКоличество товара
productCatalogPRODUCT_LISTИдентификатор списка товаров
indexValueINTНомер специальной цены
Пример

При покупке от 3 единиц товара из списка "На 23 февраля" будет установлена специальная цена № 2 на весь данный товар в чеке

Процентная скидка по карте на товары с признаком

Шаблон
НазваниеПроцентная скидка по карте на товары с признаком
Код1010 (ранее 36)
ОписаниеПроцентная скидка по карте на товары с признаком

Параметры шаблона:

Идентификатор параметраТип параметраОписание
productOptionsPRODUCT_OPTIONSСписок опций товаров
Пример

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

Процентная скидка на товары из списка, если их в чеке больше N шт.

Шаблон
Название Процентная скидка на товары из списка, если их в чеке больше N шт.
Код 132 (ранее 15)
Описание

При покупке от 5 единиц товара из списка "Спички" будет предоставлена процентная скидка в размере 20% на весь данный товар в чеке

Обратите внимания, что скидку будет предоставлена на ВЕСЬ данный товар (из списка) в чеке, а не только на первый 5 шт
Учитывается весь товар в чеке, даже если он в разных позициях

Параметры шаблона:

Идентификатор параметраТип параметраОписание
productCountDOUBLEКоличество товара
productCatalogPRODUCT_LISTИдентификатор списка товаров
percentValueDOUBLEРазмер скидки в процентах
Пример

 При покупке от 2 единиц товара из списка "Конец лета" будет предоставлена процентная скидка в размере 15 % на весь данный товар в чеке

Фиксированная цена на товары из каталога

Шаблон
Название

Фиксированная цена на товары из каталога

Код127 (ранее 33)
Описание- 

Параметры шаблона:

Идентификатор параметраТип параметраОписание
productCatalogCATALOGИдентификатор каталога
Пример

На товары из каталога "Новогодняя распродажа" будет установлена фиксированная цена, указанная в каталоге

Фиксированная цена на товары при покупке больше N шт. товаров из списка

Шаблон
НазваниеФиксированная цена на товары при покупке больше N шт. товаров из списка
Код133 (ранее 16)
Описание

Например:

При покупке от 5 единиц товара из списка "Спички" будет установлена цена в размере 49 руб. на каждый данный товар в чеке

Параметры шаблона:

Идентификатор параметраТип параметраОписание
productCountDOUBLEКоличество товара
productCatalogPRODUCT_LISTИдентификатор списка товаров
fixedValueDOUBLEФиксированная цена
Пример
 При покупке от 5 единиц товара из списка "К 1 сентября" будет установлена цена в размере 65 руб. на каждый данный товар в чеке

Специальная цена на ограниченное количество товаров из списка

Шаблон
НазваниеСпециальная цена на ограниченное количество товаров из списка
Код1007 (ранее 34)
Описание

На ограниченное количество товаров в чеке из списка будет установлена спец. цена. Важно понимать, что ограничение работает только в пределах одного чека. Если покупку совершить например двумя чеками, то ограничение количества будет применено к каждому чеку в отдельности

Например:

На первыe 5 товаров в чеке из списка "Сок" будет установлена спец. цена № "2"

Основная цена Сока равна 100 руб, а спец. цена № 2 равна 70 руб

Пример исходного чека:


НазваниеКоличествоСтоимость
Молоко1шт50.00
Сок4 шт400.00
Хлеб2 шт60.00
Сок2 шт200.00

Чек, после применения скидки:


НазваниеКоличествоСтоимостьСкидка
Молоко1 шт50.000
Сок4 шт280.00120
Хлеб2 шт60.000
Сок2 шт170.0030

Параметры шаблона: 

Идентификатор параметраТип параметраОписание
maxProductCountDOUBLEКоличество товара
productCatalogPRODUCT_LISTИдентификатор списка товаров
indexValueINTНомер специальной цены
Пример
На первые 2 товара в чеке из списка "За ВДВ" будет установлена спец. цена № 3

Процентная скидка на все товары с признаком при покупке больше N шт.

Шаблон
НазваниеПроцентная скидка на все товары с признаком при покупке больше N шт.
Код1013 (ранее 39)
Описание

Процентная скидка на все товары с признаком при покупке больше N шт.

Параметры шаблона:  

Идентификатор параметраТип параметраОписание
minProductCountDOUBLEКоличество товара
productOptionsPRODUCT_OPTIONSCписок опций товаров
percentValueDOUBLEРазмер скидки в процентах
Пример

При покупке от 3 единиц товара с признаком "зеленый" будет предоставлена процентная скидка в размере 30 % на весь данный товар в чеке

Специальная цена на M шт. товаров из списка при покупке N шт. товаров из другого списка 

Шаблон
НазваниеСпециальная цена на M шт. товаров из списка при покупке N шт. товаров из другого списка
Код131 (ранее 14)
Описание

Например:

При покупке 3 единиц товара из списка "Молоко" на 2 единицы товара из списка "Хлеб" будет установлена специальная цена № 2

В таком случае в чеке должны присутствовать все 5 единиц товара, иначе акция не сработает

Параметры шаблона: 

Идентификатор параметраТип параметраОписание
productCountDOUBLEКоличество товара
productCatalogPRODUCT_LISTИдентификатор списка товаров.
productCount2DOUBLEКоличество товара
productCatalog2PRODUCT_LISTИдентификатор списка товаров.
indexValueINTНомер специальной цены
Пример
 При покупке 4 единиц товара из списка "Новогодняя распродажа" на 2 единицы товара из списка "Рождественские праздники" будет установлена специальная цена № 3

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

Шаблон
НазваниеФиксированная цена на товар с кодом
Код1011 (ранее 37)
ОписаниеФиксированная цена на товар с кодом

Параметры шаблона:

Идентификатор параметраТип параметраОписание
productCodeCODEИдентификатор товара
fixedValueDOUBLEФиксированная цена
Пример
На товар с кодом "3" будет установлена цена в размере 115 руб. 

Специальная цена на M шт. товаров при покупке N шт. товаров из списка

Шаблон
НазваниеСпециальная цена на M шт. товаров при покупке N шт. товаров из списка
Код129 (ранее 11)
Описание

Например:

При покупке 3 единиц товара из списка "Молоко" на 2 единицы товара из списка будет установлена специальная цена № 5

В таком случае в чеке должны присутствовать все 5 единиц товара, иначе акция не сработает

Параметры шаблона: 

Идентификатор параметраТип параметраОписание
productCountDOUBLEКоличество товара
productCatalogPRODUCT_LISTИдентификатор списка товаров.
productCount2DOUBLEКоличество товара
indexValueINTНомер специальной цены 
Пример
 При покупке 4 единиц товара из списка "На 23 февраля" на 2 единицы данного товара будет установлена специальная цена № 2

Процентная скидка на товар с кодом

Шаблон
НазваниеПроцентная скидка на товар с кодом
Код1012 (ранее 38)
ОписаниеПроцентная скидка на товар с кодом

Параметры шаблона:

Идентификатор параметраТип параметраОписание
productCodeCODEИдентификатор товара
percentValueDOUBLEРазмер скидки в процентах
Пример
На товар с кодом "40" будет процентная скидка в размере 15 %

Процентная скидка на M шт. товаров из списка при покупке N шт. товаров из другого списка 

Шаблон
НазваниеПроцентная скидка на M шт. товаров из списка при покупке N шт. товаров из другого списка
Код130 (ранее 12)
Описание

Например:

При покупке 3 единиц (кг) товара из списка "Шашлык" будет предоставлена процентная скидка в размере 30% на 2 единиц товара из списка "Уголь"

В таком случае в чеке должны присутствовать все 5 единиц товара, иначе акция не сработает

Параметры шаблона: 

Идентификатор параметраТип параметраОписание
productCountDOUBLEКоличество товара
productCatalogPRODUCT_LISTИдентификатор списка товаров
percentValueDOUBLEРазмер скидки в процентах
productCount2DOUBLEКоличество товара
productCatalog2PRODUCT_LISTИдентификатор списка товаров
Пример

При покупке 2 единиц товара из списка "К 1 сентября" будет предоставлена процентная скидка в размере 20 % на 3 единиц товара из списка "Школьная форма" 

Процентная скидка на товары из указанных групп, если товаров в чеке больше N шт.

Шаблон
НазваниеПроцентная скидка на товары из указанных групп, если товаров в чеке больше N шт.
Код135 (ранее 40)
Описание

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

Например:

При покупке от 3 единиц товара из групп "Заморозка, Полуфабрикаты" будет предоставлена процентная скидка в размере 15% на весь данный товар в чеке

Параметры шаблона:

Идентификатор параметраТип параметраОписание
productGroupsPRODUCT_GROUPSСписок идентификаторов групп
productCountDOUBLEКоличество товара
percentValueDOUBLEРазмер скидки в процентах
Пример
При покупке от 3 единиц товара из групп "Заморозка" будет предоставлена процентная скидка в размере 30 % на весь данный товар в чеке

При покупке N шт. товаров с признаком, процентная скидка на M шт. из них

Шаблон
НазваниеПри покупке N шт. товаров с признаком, процентная скидка на M шт. из них
Код1005 (ранее 23)
Описание

Например:

При покупке от 5 единиц товара признаком "синий" на 3 самых дешевых единиц данного товара будет предоставлена процентная скидка в размере 70%

Параметры шаблона: 

Идентификатор параметраТип параметраОписание
productCountDOUBLEКоличество товара
productOptionsPRODUCT_OPTIONSСписок опций товаров
productCount2DOUBLEКоличество товара
percentValueDOUBLEРазмер скидки в процентах 
Пример
При покупке 4 единиц товара с признаком "молочные" на 2 самых дешевых единиц данного товара будет предоставлена процентная скидка в размере 5 % 

Процентная скидка на товары из списка

Шаблон
НазваниеПроцентная скидка на товары из списка
Код106 (ранее 24)
Описание

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

На товары из списка "Сок моя семья" будет предоставлена скидка 15%

Если в списке "Сок моя семья" перечислены следующие коды товаров: 11, 22, 44, 66

То пример чека может выглядеть следующим:

КодНазваниеКоличествоСкидка
33Молоко1 шт-
11Сок 1Л2 шт15%
66Сок 2Л1 шт15%
66Сок 2Л1 шт15%

Параметры шаблона: 

Идентификатор параметраТип параметраОписание
productCatalogPRODUCT_LISTИдентификатор списка товаров
percentValueDOUBLEРазмер скидки в процентах
Пример
На товары из списка "Новогодняя распродажа" будет предоставлена процентная скидка в размере 15 %

Фиксированная цена на товары из списка

Шаблон
НазваниеФиксированная цена на товары из списка
Код109 (ранее 25)
ОписаниеНапример:

На товары из списка "Сок моя семья" будет установлена цена "35" руб.

Параметры шаблона: 

Идентификатор параметраТип параметраОписание
productCatalogPRODUCT_LISTИдентификатор списка товаров
fixedValueDOUBLEФиксированная цена
Пример
 При покупке товаров из списка "За ВДВ" на них будет установлена цена в размере 15 руб.

Специальная цена на товары из списка

Шаблон
НазваниеСпециальная цена на товары из списка
Код112 (ранее 26)
Описание

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

Например:

На товары из списка "Фрукты" будет установлена специальная цена № 3

Если в списке "Фрукты" перечислены следующие коды товаров: 11, 22, 44, 66

То пример чека может выглядеть следующим:

КодНазваниеКоличествоСкидка
33Молоко1 штобычная цена товара
11Апельсины2 кгспец цена №3
77Хлеб3 штобычная цена товара
66Яблоки1 кгспец цена №3
55Огурцы0.5 кгобычная цена товара

Параметры шаблона: 

Идентификатор параметраТип параметраОписание
productCatalogPRODUCT_LISTИдентификатор списка товаров
indexValueINTНомер специальной цены
Пример
На товары из списка "На 23 февраля" будет установлена специальная цена № 3 

Процентная скидка на товары из групп

Шаблон
НазваниеПроцентная скидка на товары из групп
Код113 (ранее 27)
Описание

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


Например:

На товары из групп "Молочная продукция","Заморозка" будет предоставлена скидка 7%

Параметры шаблона: 

Идентификатор параметраТип параметраОписание
productGroupsPRODUCT_GROUPSСписок идентификаторов групп товаров
percentValueDOUBLEРазмер скидки в процентах 
Пример
 На товары из групп "Заморозка" будет предоставлена процентная скидка в размере 20 %

Фиксированная цена на товар из группы

Шаблон
НазваниеФиксированная цена на товар из группы
Код116 (ранее 28)
Описание

Например:

На товары из группы "Молочная продукция" будет скидка "20" руб.

Параметры шаблона: 

Идентификатор параметраТип параметраОписание
productGroupsPRODUCT_GROUPSСписок идентификаторов групп товаров
fixedValueDOUBLEФиксированная цена
Пример
 На товары из группы "Книги" будет установлена цена в размере 125 руб.

Специальная цена на товары из группы

Шаблон
НазваниеСпециальная цена на товары из группы
Код119 (ранее 29)
Описание

Например:

На товары из группы "Молочная продукция" будет установлена специальная цена №"3"

Параметры шаблона: 

Идентификатор параметраТип параметраОписание
productGroupsPRODUCT_GROUPSСписок идентификаторов групп товаров
indexValueINTНомер специальной цены
Пример
 На товары из группы "Бытовая техника" будет установлена специальная цена № 4

Все товары по специальной цене

Шаблон
НазваниеВсе товары по специальной цене
Код105 (ранее 3)
Описание

Каждый товар в чеке будет продан по специальной (индексной) цене

Например:

Каждый товар будет продан по спец. цене № 4

Если у товара отсутствует специальная цене № 4, то он будет продан по основной цене. При этом на товар будет дана скидка 0 руб. 

Параметры шаблона: 

Идентификатор параметраТип параметраОписание
indexValueINTНомер специальной цены
Пример
 Каждый товар будет продан по спец. цене № 2

Суммовая скидка на всю покупку

Шаблон
НазваниеСуммовая скидка на всю покупку
Код103 (ранее 2)
Описание

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

Например:

На всю покупку будет предоставлена суммовая скидка в размере 500 руб.

Параметры шаблона:  

Идентификатор параметраТип параметраОписание
sumValueDOUBLEСумма скидки
Пример
На всю покупку будет предоставлена суммовая скидка в размере 50 руб.

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

Шаблон
НазваниеПроцентная скидка на всю покупку
Код100 (ранее 1)
ОписаниеКаждая позиция в чеке будет продана с заданной процентной скидкой 

Например:

На всю покупку будет предоставлена процентная скидка в размере 3%

Если на позицию по какой-то причине вместо 3% можно дать только 2%, например не позволяет минимальная цена товара, то будет предоставлена скидка только 2%

 Параметры шаблона: 

Идентификатор параметраТип параметраОписание
percentValueDOUBLEРазмер скидки в процентах
Пример
 На всю покупку будет предоставлена процентная скидка в размере 20 %

Процентная скидка на позицию введенная кассиром

Шаблон
НазваниеПроцентная скидка на позицию введенная кассиром
Код1003 (ранее 7)
Описание

На текущую позицию будет предоставлена процентная скидка. Размер этой скидки должен быть указан (заранее настроен) в кнопке, которую нажмет кассир. Кнопку можно настроить так, что величина будет всегда фиксирована, например 10%, а можно настроить так, что эту величину кассир будет вводить явно после каждого нажатия кнопки.

Параметры шаблона: 

Идентификатор параметраТип параметраОписание
buttonCodeINTИдентификатор кнопки
Пример
 На позицию будет предоставлена процентная скидка в размере введенном кассиром по кнопке с кодом 12

Процентная скидка на товары с признаком

Шаблон
НазваниеПроцентная скидка на товары с признаком
Код120 (ранее 30)
Описание

Например:

На товары с признаком "Желтый ценник" будет скидка "12"%

Параметры шаблона: 

Идентификатор параметраТип параметраОписание
productOptionsPRODUCT_OPTIONSСписок опций товаров
percentValueDOUBLEРазмер скидки в процентах 
Пример
 На товары c признаком "зеленый" будет предоставлена процентная скидка в размере 15 %

Процентная скидка на всю покупку введенная кассиром

Шаблон
НазваниеПроцентная скидка на всю покупку введенная кассиром
Код1000 (ранее 5)
ОписаниеНа всю покупку (на каждую позицию в чеке) будет предоставлена процентная скидка. Размер этой скидки должен быть указан (заранее настроен) в кнопке, которую нажмет кассир. Кнопку можно настроить так, что величина будет всегда фиксированна, например 10%, а можно настроить так, что эту величину кассир будет вводить явно после каждого нажатия кнопки.

Параметры шаблона:

Идентификатор параметраТип параметраОписание
buttonCodeINTИдентификатор кнопки 
Пример
 На всю покупку будет предоставлена процентная скидка в размере введенном кассиром по кнопке с кодом 13

Специальная цена на товары с признаком

Шаблон
НазваниеСпециальная цена на товары с признаком
Код126 (ранее 32)
Описание

Например:

На товары с признаком "Желтый ценник" будет установлена специальная цена №"2"

Параметры шаблона: 

Идентификатор параметраТип параметраОписание
productOptionsPRODUCT_OPTIONSСписок опций товаров
indexValueINTНомер специальной цены
Пример
 На товар c признаком "серый" будет установлена специальная цена № 2

Фиксированная цена на товары с признаком

Шаблон
НазваниеФиксированная цена на товары с признаком
Код123 (ранее 31)
Описание

Например:

На товары с признаком "Желтый ценник" будет установлена цена "49" руб

 Параметры шаблона: 

Идентификатор параметраТип параметраОписание
productOptionsPRODUCT_OPTIONSСписок опций товаров
fixedValueDOUBLEФиксированная цена
Пример

На товары c признаком "синий" будет установлена цена в размере 145 руб.

Процентная скидка на M шт. товаров при покупке N шт. товаров из списка

Шаблон
НазваниеПроцентная скидка на M шт. товаров при покупке N шт. товаров из списка
Код128 (ранее 9)
Описание

Например:

При покупке 5 единиц товара из списка "Сок" будет предоставлена процентная скидка в размере 50% на 2 единицы данного товара

Этот шаблон подходит для использования в акциях: "2+1", "Три по цене двух" ,"Четыре по цене трех" и т.д.Для этого нужно при покупке, например, 2 шт товара дать 100% скидку на 1 шт – это и будет акция "Три по цене двух"

Параметры шаблона:

Идентификатор параметраТип параметраОписание
productCountDOUBLEКоличество товара 
productCatalogPRODUCT_LISTИдентификатор списка товаров
percentValueDOUBLEРазмер скидки в процентах
productCount2DOUBLEКоличество товара
Пример

При покупке 4 единиц товара из списка "На 23 февраля" будет предоставлена процентная скидка в размере 30 % на 2 единицы данного товара

Шаблоны результатов бонусных акций

Процентный бонус на всю покупку 

Шаблон
НазваниеПроцентный бонус на всю покупку
Код101 (ранее 1)
Описание

Параметры шаблона:

Идентификатор параметраТип параметраОписание
percentValueDOUBLEВеличина процентов от суммы покупки
Пример

На карту покупателя будут начислены бонусные баллы в размере 50% от суммы покупки 

Процентный бонус с коэффициентом на товары с признаком

Шаблон
Название

Процентный бонус с коэффициентом на товары с признаком

Код1006 (ранее 3)
Описание

Процентный бонус на товары с указанным признаком. С математическим округлением: округление к ближайщему целому

Применение коэффициента происходит уже после округления. Коэффициент может быть дробным, например: 1,5

Параметры шаблона: 

Идентификатор параметраТип параметраОписание
percentValueDOUBLEВеличина процентов от суммы покупки 
impactMultiplierDOUBLEКоэффициент
productOptionsPRODUCT_OPTIONSОпции товара
Пример

На карту покупателя будут начислены бонусные баллы в размере 25 % от стоимости товаров с признаком “лето”. Баллы будут умножены на 2.

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

Шаблон
Название

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

Код121 (ранее 5)
Описание

Процентный бонус на товары с указанным признаком.  С математическим округлением: округление к ближайщему целому.

Если указано несколько признаков, то достаточно наличие только одного из них.

Например:

На карту покупателя будут начислены бонусные баллы в размере 7% от стоимости товаров с признаком "podarok, sale"

Параметры шаблона:

Идентификатор параметраТип параметраОписание
percentValueDOUBLE

Величина процентов от суммы покупки

productOptionsPRODUCT_OPTIONS Список опций товаров
Пример
На карту покупателя будут начислены бонусные баллы в размере 7% от стоимости товаров с признаком "podarok".

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

Шаблон
Название

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

Код1001 (ранее 6)
Описание

Процентный бонус на товары с всеми указанными признаками. С математическим округлением: округление к ближайщему целому.

Например:

На карту покупателя будут начислены бонусные баллы в размере 3% от стоимости товаров, у которых присутствуют все признаки: "priznak2", "priznak6", "priznak7"

Параметры шаблона: 

Идентификатор параметраТип параметраОписание
percentValueDOUBLE

Величина процентов от суммы покупки

productOptionsPRODUCT_OPTIONSСписок опций товаров
Пример
На карту покупателя будут начислены бонусные баллы в размере 15% от стоимости товаров со всеми признаками “чай”, “кофе”, “конфеты”.

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

Шаблон
Название

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

Код107 (ранее 7)
Описание

Процентный бонус на товары из заданного списка. С математическим округлением: округление к ближайщему целому.

Процентный бонус на товары из заданного списка.

Например:

На карту покупателя будут начислены бонусные баллы в размере 5% от стоимости товаров из списка "Канцелярия" 

Параметры шаблона:

Идентификатор параметраТип параметраОписание
percentValueDOUBLEВеличина процентов от суммы покупки
productCatalogPRODUCT_LISTИдентификатор списка товаров
Пример
На карту покупателя будут начислены бонусные баллы в размере 13% от стоимости товаров из списка “Овощи”

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

Шаблон
НазваниеПроцентный бонус на товары из списка
Код104 (ранее 8)
Описание

На всю покупку будет начислено указанное количество бонусных баллов.

Например:

На карту покупателя будет начислено 20 бонусных баллов

Параметры шаблона: 

Идентификатор параметраТип параметраОписание
fixedValueDOUBLEКоличество бонусных баллов
Пример
На карту покупателя будет начислено 20 бонусных баллов.

Фиксированные бонусы за товар

Шаблон
НазваниеФиксированные бонусы за товар
Код1004 (ранее 9)
Описание

При наличии в чеке заданного товара будет начислено указанное количество бонусных баллов. Один раз за чек.

Например:

При наличии в чеке товара с кодом "21783648" будет начислено 50 бонусных баллов

Параметры шаблона:

Идентификатор параметраТип параметраОписание
fixedValueDOUBLEКоличество бонусных баллов
productCodeCODEИдентификатор товара
Пример
При наличии в чеке товара с кодом 21783648 будет начислено 50 бонусных баллов

Фиксированные бонусы за каждую N-ую сумму в чеке

Шаблон
НазваниеФиксированные бонусы за каждую N-ую сумму в чеке
Код1008 (ранее 10)
Описание

За каждую определенную сумму в чеке будет начислено заданное количество баллов.

Например:

За каждые 500 руб. в чеке будет начислено 10 бонусных баллов

В данном случае, если чек на сумму 1800 руб (без учета скидок), то будет начислено 30 баллов

Параметры шаблона:

Идентификатор параметраТип параметраОписание
everySumDOUBLEСумма необходимая для начисления баллов
fixedValueDOUBLEКоличество начисляемых баллов
Пример
За каждые 500 руб. в чеке будет начислено 10 бонусных баллов

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

Шаблон
НазваниеПроцентный бонус с множителем на товары с признаком
Код1018 (ранее 11)
Описание

Процентный бонус на товары с указанным признаком. Расчитанные бонусы будут умножены на величину указанную в карте (multiplicator).

С математическим округлением: округление к ближайщему целому.

Округление происходит до применение множетеля.

Параметры шаблона:

Идентификатор параметраТип параметраОписание
percentValueDOUBLE

Проценнтная величина начисления (максимум 100)

productOptionsPRODUCT_OPTIONSСписок опций товаров
Пример
На карту покупателя будут начислены бонусные баллы в размере 10% от стоимости всех товаров с признаком “bonus”, баллы будут умножены на множитель из карты

Фиксированные бонусы на товары с признаком

Шаблон
НазваниеФиксированные бонусы на товары с признаком
Код124 (ранее 12)
Описание

За каждый товар в чеке, у которого присутствует заданный признак будет начислено указанное количество баллов.

Например:

На карту покупателя будет начислено 20 бонусных баллов за каждый товар с признаком "deal"

Параметры шаблона:

Идентификатор параметраТип параметраОписание
fixedValueDOUBLE

Количество бонусных баллов

productOptionsPRODUCT_OPTIONSСписок опций товаров
Пример

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

2018-01-17

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

  • No labels