Экспорт результатов расчета скидок из SetRetail10 в ERP (веб-сервис на стороне SetRetail10)

ВЕРСИЯ WEB-СЕРВИСА 1.6

Для файлового экспорта сохраняется в виде отдельного файла discounts_*.xml

Методы веб-сервиса для экспорта результатов расчета скидок

За заданный период

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

Поле

Тип данных

Описание

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

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

fromDate

date

Начало диапазона в формате YYYY-MM-DD

Нет

toDate

date

Конец диапазона в формате YYYY-MM-DD

Нет

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

return

base64Binary

Отчет по скидкам за период


Описание формата выгрузки скидок

Пример запроса
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:plug="http://plugins.operday.ERPIntegration.crystals.ru/">
   <soapenv:Header/>
   <soapenv:Body>
      <plug:getLoyResultsByPeriod>
         <!--Optional:-->
         <fromDate>2019-05-13</fromDate>
         <!--Optional:-->
         <toDate>2019-06-13</toDate>
      </plug:getLoyResultsByPeriod>
   </soapenv:Body>
</soapenv:Envelope>


За заданный период по товару

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

Поле

Тип данных

Описание

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

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

fromDate

date

Начало диапазона в формате YYYY-MM-DD

Нет

toDate

date

Конец диапазона в формате YYYY-MM-DD

Нет

goodsCode

string

Код товара

Нет

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

return

base64Binary

Отчет по скидкам за период


Описание формата выгрузки скидок

Пример запроса
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:plug="http://plugins.operday.ERPIntegration.crystals.ru/">
   <soapenv:Header/>
   <soapenv:Body>
      <plug:getLoyResultsByPeriodAndProduct>
         <!--Optional:-->
         <fromDate>2019-03-01</fromDate>
         <!--Optional:-->
         <toDate>2019-05-31</toDate>
         <!--Optional:-->
         <goodsCode>45035</goodsCode>
      </plug:getLoyResultsByPeriodAndProduct>
   </soapenv:Body>
</soapenv:Envelope>


По заданным параметрам

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

Поле

Тип данных

Описание

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

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

fromDate

date

Начало диапазона в формате YYYY-MM-DD

Нет

toDate

date

Конец диапазона в формате YYYY-MM-DD

Нет

shopNumber

integer

Номер магазина

Нет

cashNumber

integer

Номер кассы

Нет

shiftNumber

integer

Номер смены

Нет

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

return

base64Binary

Отчет по скидкам за период


Описание формата выгрузки скидок

Пример запроса
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:plug="http://plugins.operday.ERPIntegration.crystals.ru/">
   <soapenv:Header/>
   <soapenv:Body>
      <plug:getLoyResultsByPeriodAndShift>
         <!--Optional:-->
         <fromDate>2019-05-01</fromDate>
         <!--Optional:-->
         <toDate>2019-05-31</toDate>
         <!--Optional:-->
         <shopNumber>3328</shopNumber>
         <!--Optional:-->
         <cashNumber>1</cashNumber>
         <!--Optional:-->
         <shiftNumber>15</shiftNumber>
      </plug:getLoyResultsByPeriodAndShift>
   </soapenv:Body>
</soapenv:Envelope>

Чеки <purchases>

purchases

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

Тип данных

Описание

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

purchase

Комплексный

Данные чека

Да

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

Тип данных

Описание

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

count

Long

Количество передаваемых чеков, т.е. общее количество тегов purchase вложенных в общий тег purchases

Нет

Состав чека <purchase>

purchases/purchase

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

Тип данных

Описание

Обязательное
shopLongНомер магазина/заправки откуда пришёл чекНет
operationTypeBooleanТип операции (продажа(true) / возврат(false))Нет
cashLongНомер кассыНет
shiftLongНомер сменыНет
saletimeStringДата и время продажи (чека)Нет
transactionTimeStringВремя проведения расчёта по чекуНет
numberLongНомер чекаНет
discountValueTotalDoubleОбщая сумма скидка по чеку, в "рублях"Нет
writeOffBonusesDoubleПолная сумма списаний бонусов в чекеНет
chargeOnBonusesDoubleПолная сумма начислений бонусов в чекеНет

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

Тип данных

Описание

Обязательное
discountКомплексныйСписок скидок, сработавших в этом чекеНет
discountCardКомплексныйСписок дисконтных карт, примененных при оплате этого чекаНет
bonusesКомплексныйСписок бонусных транзакций, проведенных в этом чекеНет
couponsКомплексный

Выданные купоны

SLS-1290 Getting issue details... STATUS

SLS-1295 Getting issue details... STATUS

CR-5582 Getting issue details... STATUS

10.3.4.0

Нет

Список скидок <discount>

purchases/purchase/discount

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

Тип данных

Описание

Обязательное
positionIdLongПорядковый номер позиции на которую распространяется данная скидка, если 0-то скидка на чекДа
goodCodeStringКод товара (из позиции) по которой было начислениеНет
amountDoubleСумма скидки (по позции/чеку), в "рублях"Да
isDiscountPurchaseBooleanПризнак того что скидка распространяется на весь чекДа
AdvertActGUIDLongИдентификатор рекламной акцииДа
AdvertActExternalCodeStringВнешний код рекламной акцииНет
AdvertActDiscountTypeStringТип скидки (тип рекламной акции) с точки зрения Set5Нет
advertTypeStringТип/характер применённой скидкиДа
quantityDoubleКоличество товара, на которое сработала скидкаНет
card-numberStringНомер карты (или купона), по которому сработала скидка на эту позициюНет
transactionIdStringИдентификатор транзакции списания бонусов (если скидка была бонусной CFT или Spasibo)Нет
externalActionIdStringИдентификатор акции внешней системыНет

Список дисконтных карт <discountCard>

purchases/purchase/discountCard

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

Тип данных

Описание

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

discountCard

String

Список дисконтных карт, примененных при оплате этого чека

Нет

Список бонусных транзакций <bonuses>

purchases/purchase/bonuses

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

Тип данных

Описание

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

chargeOnBonuses

Комплексный

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

Нет
writeOffBonusesКомплексныйСписок бонусных транзакций списания, проведенных в этом чекеНет

Транзакции начисления <chargeOnBonuses>

purchases/purchase/bonuses/chargeOnBonuses

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

Тип данных

ОписаниеОбязательное
transactionIdStringИдентификатор транзакцииДа
bonusesTypeStringТип бонусного процессингаДа
amountDoubleСумма транзакцииДа
cardNumberStringНомер картыДа
bonusaccountsidLongID бонусного счетаНет
AdvertActExternalCodeStringВнешний код АкцииНет
AdvertActDiscountTypeStringКод типа акцииНет
AdvertActGUIDLongGUID акцииНет

Транзакции списания <writeOffBonuses>

purchases/purchase/bonuses/writeOffBonuses

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

Тип данных

ОписаниеОбязательное
transactionIdStringИдентификатор транзакцииДа
bonusesTypeStringТип бонусного процессингаДа
amountDoubleСумма транзакцииДа
cardNumberStringНомер картыДа
bonusaccountsidLongID бонусного счетаНет
AdvertActExternalCodeStringВнешний код АкцииНет
AdvertActDiscountTypeStringКод типа акцииНет
AdvertActGUIDLongGUID акцииНет


<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<purchases count="1">
    <purchase shop="3382" operationType="true" cash="1" shift="30" saletime="2019-05-14T18:04:35.113" transactionTime="2019-05-14T18:04:29.636" number="8" discountValueTotal="10.8" writeOffBonuses="10.0" chargeOnBonuses="0.0">
        <discount positionId="1" goodCode="45034" amount="0.8" isDiscountPurchase="true" AdvertActGUID="160069" AdvertActExternalCode="SR10_160069" AdvertActDiscountType="66" advertType="DISCOUNT" quantity="1.0" card-number=""/>
        <discount positionId="1" goodCode="45034" amount="10.0" isDiscountPurchase="true" AdvertActGUID="160257" AdvertActExternalCode="SR10_160097" AdvertActDiscountType="9" advertType="BONUS_SR10" quantity="1.0" card-number="987987"/>
        <discountCard>987987</discountCard>
        <bonuses>
            <writeOffBonuses bonusesType="BONUS_SR10" amount="10.0" cardNumber="987987" bonusaccountsid="153225" AdvertActExternalCode="SR10_160097" AdvertActDiscountType="9" AdvertActGUID="160257"/>
        </bonuses>
    </purchase>
</purchases>

Выданные купоны <coupons>

https://crystals.atlassian.net/browse/SLS-1290

https://crystals.atlassian.net/browse/SLS-1295

CR-5582 Getting issue details... STATUS

10.3.4.0

Включение экспорта:

Информация по управлению версиями веб-сервисов.

Модуль

Название параметра

Номер версии

SET_ERP_INTEGRATION

export.file.loyalty.version

1.6

SET_ERP_INTEGRATION

export.file.purchases.version

1.10

SET_ERP_INTEGRATION

export.set10wsclient.purchases.version

1.19

SET_ERP_INTEGRATION

fiscal.info.export.purchase.discount.document.schema.version

1.6

SET_ERP_INTEGRATION

fiscal.info.export.discounts.document.schema.version

1.6

/purchases/purchase/coupons/coupon

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

Тип данных

Описание

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

coupons

Комплексный

Выданные купоны

Нет

coupon

Комплексный

Выданный купон

Да

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

Тип данных

Описание

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

number

String

Номер купона

Нет

status

String

Статус купона

  • Issued - выдан

Нет

typeGuid

Long

Id категории

Нет

typeName

String

Название категории

Нет

startDate

DateTime

Дата выдачи

Нет

finishate

DateTime

Срок окончания

Нет

Пример экспорта чека:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<purchases count="1">
    <purchase tabNumber="1" userName="Администраторов Администратор Администраторович" operationType="true" cashOperation="INCOME" operDay="2021-10-05+03:00" shop="1331" cash="1" shift="2" number="9" saletime="2021-10-06T00:52:59.497+03:00" begintime="2021-10-06T00:52:53.916+03:00" amount="120.70" discountAmount="0.00" inn="7802781104" clientGuid="1" qrcode="t=20211006T0052&amp;s=120.70&amp;fn=00a81bdf-19eb-4037-914e-9e6cd4ea79b1&amp;i=13&amp;fp=0&amp;n=1" fiscalDocNum="13;9" status="REGISTERED">
        <plugin-property key="FISCAL_DOC_ID" value="13"/>
        <plugin-property key="UID_PURCHASE" value="697091fc-c3ef-41e0-95b6-5ae3bf500b86"/>
        <positions>
            <position order="1" departNumber="1" goodsCode="00919" barCode="4600919000007" count="1.000" cost="120.70" nds="20.0" ndsSum="20.12" discountValue="0.00" costWithDiscount="120.70" amount="120.70" dateCommit="2021-10-06T00:52:55.886+03:00" insertType="1">
                <plugin-property key="countryName" value="Россия"/>
            </position>
        </positions>
        <payments>
            <payment typeClass="CashPaymentEntity" amount="130.00" description="Оплата наличными"/>
            <payment typeClass="CashChangePaymentEntity" amount="9.30" description=""/>
        </payments>
        <discountCards>
            <discountCard>22020000</discountCard>
        </discountCards>
        <card type="INTERNAL" number="22020000" addedBy="HAND"/>
        <coupons>
            <coupon number="320001003013610170311" status="Issued" typeGuid="100" typeName="xxssww" startDate="2021-10-06T00:00:54.233+03:00" finishDate="2021-12-12T00:00:54.233+03:00"/>
        </coupons>
        <bonuses/>
    </purchase>
</purchases>

Пример экспорта карты в addedBy с типом ECOUPON:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<purchases count="1">
    <purchase tabNumber="1" userName="Администраторов Администратор Администраторович" operationType="true" cashOperation="INCOME" operDay="2021-10-05+03:00" shop="1331" cash="1" shift="2" number="5" saletime="2021-10-05T17:53:02.949+03:00" begintime="2021-10-05T17:52:51.698+03:00" amount="109.70" discountAmount="11.00" inn="7802781104" clientGuid="1" qrcode="t=20211005T1753&amp;s=109.70&amp;fn=00a81bdf-19eb-4037-914e-9e6cd4ea79b1&amp;i=9&amp;fp=0&amp;n=1" fiscalDocNum="9;5" status="REGISTERED">
        <plugin-property key="FISCAL_DOC_ID" value="9"/>
        <plugin-property key="UID_PURCHASE" value="51cf0060-9edd-4c67-9c5f-5615f8aab4a1"/>
        <positions>
            <position order="1" departNumber="1" goodsCode="00919" barCode="4600919000007" count="1.000" cost="120.70" nds="20.0" ndsSum="18.28" discountValue="11.00" costWithDiscount="109.70" amount="109.70" dateCommit="2021-10-05T17:52:54.861+03:00" insertType="1">
                <plugin-property key="countryName" value="Россия"/>
            </position>
        </positions>
        <payments>
            <payment typeClass="CashPaymentEntity" amount="110.00" description="Оплата наличными"/>
            <payment typeClass="CashChangePaymentEntity" amount="0.30" description=""/>
        </payments>
        <discountCards>
            <discountCard>22020000</discountCard>
            <discountCard>320009002000000000001</discountCard>
            <discountCard>320009002000000000002</discountCard>
        </discountCards>
        <card type="INTERNAL" number="22020000" addedBy="HAND"/>
        <card type="COUPON_CARD" number="320009002000000000001" addedBy="ECOUPON"/>
        <card type="COUPON_CARD" number="320009002000000000002" addedBy="ECOUPON"/>
    </purchase>
</purchases>