Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Оглавление

...

Поле

Тип данных

Обязательно

Описание

Purchase – общие данные чека

id

long

Нет

Идентификатор транзакции (не заполняется при передаче, заполняется Процессингом и только в том случае, если по чеку были какие-либо скидки или операции с бонусными баллами)

shop

long

Centrum - да
Ratail - нет

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

number

long

Нет

Номер чека

shift

long

Нет

Номер смены

cash

long

Нет

Номер кассы

amount

double

Нет

Сумма чека (в рублях). Должна равняться сумме стоимости всех позиций в чеке.

saletime

datetime

Да

Дата регистрации чека. Дата и время записываются в формате ISO-8601, пример: 2017-

discountAmount

Double

Нет

Сумма скидок по чеку

Устаревшая версия Jira
serverSystem JIRA
serverIdbc8d3685-f9c0-329d-9054-b12aabbcb834
keySR-5612

Устаревшая версия Jira
serverSystem JIRA
serverIdbc8d3685-f9c0-329d-9054-b12aabbcb834
keyCR-7898

Статус
colourBlue
title10.3.14.0

Блок кода
languagexml
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
	<soap:Body>
		<ns2:doProcessPurchaseResponse xmlns:ns2="http://listners.discount.crystals.ru/">
			<return amount="37.32" discountAmount="4.14" number="123" saletime="2017-06-20T21:56:12.000" shift="1" cash="1" shop="6502">
				<position discountable="true" amount="12.81" cost="14.23" count="1.0" goodsCode="00001" departNumber="1" order="1" id="1"/>
				<position discountable="true" amount="24.51" cost="27.23" count="1.0" goodsCode="00002" departNumber="1" order="2" id="2"/>
				<advertise operation="accept">
					<appliedAction actionGuid="13597" actionName="Безусловная скидка 10%" actionType="DISCOUNT_GOODS"/>
					<discount posID="1" amount="1.42" quantity="1.0" actionGuid="13597"/>
					<discount posID="2" amount="2.72" quantity="1.0" actionGuid="13597"/>
				</advertise>
			</return>
		</ns2:doProcessPurchaseResponse>
	</soap:Body>
</soap:Envelope>

saletime

datetime

Да

Дата регистрации чека. Дата и время записываются в формате ISO-8601, пример: 2017-07-20T10:45:15.000+06:00, однако не следует передавать таймзону здесь.

ignoreAdditionalClientCards

boolean

Нет

Игнорировать дополнительные карты/купоны клиента.

Устаревшая версия Jira
serverSystem JIRAcolumnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverIdbc8d3685-f9c0-329d-9054-b12aabbcb834
keySLS-1242

Устаревшая версия Jira
serverSystem JIRAcolumnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverIdbc8d3685-f9c0-329d-9054-b12aabbcb834
keyCR-5582

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

Информация

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

Блок кода
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:lis="http://listners.discount.crystals.ru/">
   <soapenv:Header/>
   <soapenv:Body>
      <lis:doProcessPurchase>
         <purchase amount="14.23" number="123" saletime="2021-10-05T21:56:12.000" shift="1" cash="1" shop="1328" ignoreAdditionalClientCards="true">
                <position discountable="true" amount="14.23" cost="14.23" count="1" goodsCode="00001" departNumber="1" order="1"/>
                <discountCard cardNumber="22020000"/>
            </purchase>
            <check>false</check>
      </lis:doProcessPurchase>
   </soapenv:Body>
</soapenv:Envelope>

Position – данные позиции чека

id

long

Нет

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

goodsCode

string

Да

Код товара

cost

double

Нет

Стоимость единицы товара в данной позиции, используется для расчета скидок (в рублях). Если не указана, то возьмётся из бд Set10.

count

double

Да

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

departNumber

long

Да

Номер отдела

order

long

Да

Оригинальный номер позиции в исходном чеке

discountable

boolean

Да

Признак участия товара в расчете скидок. true если участвует и false в противном случае.

costWithDiscount

Статус
title10.3.1.0

https://crystals.atlassian.net/browse/SR-4903

https://crystals.atlassian.net/browse/

Устаревшая версия Jira
serverSystem JIRA
serverIdbc8d3685-f9c0-329d-9054-b12aabbcb834
keySR-4903

Устаревшая версия Jira
serverSystem JIRA
serverIdbc8d3685-f9c0-329d-9054-b12aabbcb834
keyCR-5854

Double

Да

Цена товара с учетом всех скидок.

Payment – данные оплат чека

externalCode

string

Нет

Код типа оплаты

paymentType

string

Нет

Не используется, заполнять не требуется

amount

double

Нет

Сумма оплаты данным типом оплат

DiscountCard – данные дисконтных карт и купонов

cardNumber

string

Нет

Номер дисконтной карты или купона

bonusActive

double

Нет

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

bonusTotal

double

Нет

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

amountToWriteoff

double

Нет

Это поле используется и клиентом, и процессингом. В случае, если это поле не задано, при наличии действующей акции "Бонусы как скидка", оно будет заполнено максимальной величиной бонусных баллов, доступных для списания в данном чеке. Если действует та же акция и это поле заполнено клиентом, калькулятор принимает величину в поле amountToWriteoff как величину, которую необходимо списать с бонусного баланса клиента, тем самым применив бонусы как скидку. Если оплата была равна максимальной величине списания бонусов для данного чека, в ответе это поле не возвращается. В противном случае, если оплата оказалась меньше максимальной, возвращается величина баллов, всё ещё доступных для оплаты в данном чеке. Попытка оплатить бонусными баллами величиной большей, чем максимально допустимая, приведёт к ошибке.

notAppliedReason

string

Нет

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

в расчете скидок. Поле принимает фиксированный диапазон значений:

USED - купон уже был использован и потому не применён;

INACTIVE - срок действия карты или купона ещё не начался;

EXPIRED - срок действия карты или купона истёк;

NOT_FOUND - карта или купон не найдены;

DOES_NOT_FIT - карта или купон не применены, поскольку не соблюлись условия действия рекламной акции, использующей данную карту или купон;

MORE_PROFITABLE_DISCOUNT_APPLIED - карта или купон не была применена, поскольку сработала рекламная акция, несущая большу́ю скидку;

BLOCKED - карта заблокирована;

OTHER - все остальные причины, не перечисленные здесь. При нормальной работе вы не должны увидеть эту причину неприменения.

validThrough

Date

Нет

Заполняется только процессингом и только в случае, если карта или купон не применены по причинам DOES_NOT_FIT или MORE_PROFITABLE_DISCOUNT_APPLIED. Поле не заполняется при условии, если купон действует бессрочно. Отображает дату, до которой действует карта или купон.

...

Поле или структура

Тип данных

Описание

advertise – данные рассчитанных РА

operation

String

Признак проведения операции расчета РА (accept– успешно, reject– неуспешно)

reason

String

Описание причины неуспешного проведения операции расчета. Актуально при operation = ‘reject’

customer – данные о владельце Внутренних карт

id

Long

Идентификатор клиента

clientName

String

Имя владельца ДК

card

String

Номер Внутренней карты

appliedAction – описание примененных в чеке рекламных акций

actionType

String

Тип скидки

  • DEFAULT - другое

  • SET_GOODS - товарный набор

  • DISCOUNT_GOODS - скидка на товары

  • SECOND_PRICE - вторая цена (на самом деле: "цена из справочника")

  • DISCOUNT_CARD - скидка по карте

  • FIX_PRICE - фиксированная цена

  • DISCOUNT - денежная сидка

  • https://crystals.atlassian.net/browse/SR-4870

    https://crystals.atlassian.net/browse/

    по карте

  • FIX_PRICE - фиксированная цена

  • DISCOUNT - денежная сидка

  • Устаревшая версия Jira
    serverSystem JIRA
    serverIdbc8d3685-f9c0-329d-9054-b12aabbcb834
    keySR-4870

    • Устаревшая версия Jira
      serverSystem JIRA
      serverIdbc8d3685-f9c0-329d-9054-b12aabbcb834
      keyCR-5749

    • Статус
      title10.2.99.0

      • BONUSES - списание/начисление бонусов

      • STAMPS - списание/начисление фишек

actionName

String

Название акции

actionGuid

Long

Идентификатор акции

externalCode

String

Идентификатор акции в внешней системе.

dateStart

Datetime

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

dateFinish

Datetime

Дата и время окончания действия рекламной акции. null, если акция действует бесконечно.

appliedCard- описание карт и купонов, по которым сработала описываемая акция (если акция действует не по карте, блок не заполняется)

cardType

String

Тип карты (InternalCard – внутренняя дисконтная карта, ExternalCard - внешняя карта, Coupon – купон)

cardNumber

String

Номер карты

discount – данные о рассчитанных в чеке скидках

posID

Integer

Номер позиции, на которую применена скидка. Если 0 – скидка применена на весь чек

amount

Long

Сумма скидки

actionGuid

Long

Идентификатор РА (описание акции в секции appliedAction)

quantity

Integer

Количество товара, на которое применена скидка

bonus – данные о бонусных операциях

bonusValue

Double

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

card

String

Номер карты, на которую начислены баллы

firstDate

Datetime

Дата начала действия начисленных баллов (не заполняется, если начисленные бонусы действуют с текущего момента)

lastDate

Datetime

Дата окончания действия начисленных баллов (не заполняется, если начисленные бонусы действуют бессрочно)

accountTypeCode

Long

Код типа бонусного счета

actionGuid

Long

Идентификатор РА (описание акции в секции appliedAction)

bonusPosition - информация о том, как распределились бонусы по позициям

bonusValue

Double

Количество бонусов. Если начисленные бонусы, то значение больше нуля. Если списанные - меньше

posID

Integer

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

сообщения кассиру и покупателю

cashiermessage

String

Сообщение кассиру

customermessage

String

Сообщение покупателю

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

barcode

String

Баркод купона. Заполняется только при операции commit. При операции doProcessDiscount с параметром check=true, даже если результатом применения рекламной акции был купон, его номер не показывается, поскольку на этом этапе ещё можно отменить транзакцию. Выполнение операции commit означает, что транзакция завершена, заказ оплачен и только тогда пользователь может получить номер купона, который можно использовать.

title

String

Название купона. Купон может не иметь названия.

description

String

Описание купона. Купон может не иметь описания.

activationDate

Datetime

Дата и время без учета таймзоны, при наступлении которой купон становится активным. null, если становится активным сразу по выдаче.

expirationDate

Datetime

Дата и время без учета таймзоны, по истечении которой купон перестаёт быть активным. null, если купон бессрочный.

discount

Long

(только для скидочных купонов) Величина скидки, которую предоставляет этот купон. Единицы величины описываются полем type купона.

maxDiscount

Long

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

type

String

(только для скидочных купонов) Тип скидки купона. Возможные значения:

PERCENT - означает, что скидка предоставляется в процентах.

FIXED_SUM - фиксированная величина скидки в минимальных денежных единицах.

CALCULATED - скидка расчитывается по чеку.

category

String

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

UNIQUE - несерийный купон однократного применения.

DISCOUNT - скидочный купон.

OTHER - иной тип купона, не попавший под остальные типы. Используется, когда выдаваемый купон выдаётся просто в виде штрих-кода, без указания категории или типа купона.

actionGuid

Long

Guid акции, результатом которой стала выдача этого купона.

position - дополнительные возвращаемые значения в позиции

nds

Double

ставка НДС по позиции

ndsSum

Double

сумма НДС по позиции

amount

Double

Итоговая стоимость позиции (в рублях).

discountable

Boolean

Применена скидка

cost

Double

Стоимость позиции

count

Double

Количество товара в позиции

departNumber

Integer

Номер отдела

goodsCode

String

Код товара

id

Integer

Код позиции в строке

order

String

Номер заказа

...

Учет скидки по сроку годности

https://crystals.atlassian.net/browse/SR-4685

...

Устаревшая версия Jira
serverSystem JIRA
serverIdbc8d3685-f9c0-329d-9054-b12aabbcb834
keySR-4685

Устаревшая версия Jira
serverSystem JIRA
serverIdbc8d3685-f9c0-329d-9054-b12aabbcb834
keyCR-5394

Статус
title10.2.97.0

Атрибут добавляется в блок позиций чека в методе doProcessPurchase, для возможности передачи срока годности конкретной позиции в SetOmni и расчёта скидки по сроку годности.
Данный атрибут должен быть также указан в возвращаемом блоке позиций для рассчитанного чека.

...