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

Импорт карт <cards-catalog>

cards-catalog

Поле

Тип данных

Описание

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

internal-card-type

Комплексный

Список типов внутренних карт

Нет

internal-card

Комплексный

Список внутренних карт

Нет

bonus-account

Комплексный

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

Нет

Категории внутренних карт <internal-card-type>

cards-catalog/internal-card-type

Поле

Тип данных

Описание

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

guid

Long

Уникальный идентификатор категории внутренних карт. Ключевое поле.

Да

name

String

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

Да

color

String

Цвет категории карты из списка:

  • BLUE
  • BRONZE
  • COPPER
  • GOLD
  • GREEN
  • GREY
  • IRON
  • ORANGE
  • PLATINUM
  • RED
  • SILVER
  • WHITE
  • YELLOW
Нет

personalized

Boolean

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

Нет

percentage-discount

Double

Процент скидки категории карт

Если не размер процента скидки отсутствует, тогда задается значение = 0

Да

work-period-start

Date

Дата начала действия категории, по умолчанию устанавливается время импорта

Нет

work-period-end

Date

Дата окончания действия категории, по умолчанию время срока действия категории карт не ограничен

Нет
show-card-from-range-notificationBoolean

Информировать кассира о добавлении карты из диапазона

Допустимые значения:

  • true
  • false
Нет

deleted

Boolean

Передается true для удаления категории

Допустимые значения:

  • true
  • false
Нет

card-range

Комплексный

Список диапазонов карт

Нет

Диапазон внутренних карт <card-range>

cards-catalog/internal-card-type/card-range

Поле

Тип данных

Описание

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

guid

Long

Уникальный идентификатор диапазона внутренних карт.

Ключевое поле

Да

startField

String

Номер первой карты диапазона

Да

countField

nonNegativeInteger

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

Да

deleted

Boolean

Передается true для удаления диапазона

Да

Экземпляры внутренних карт <internal-card>

cards-catalog/internal-card

Поле

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

number

StringНомер картыДа

amount

DoubleСумма накоплений на картеНет

expiration-date

DateДата окончания срока действия, более приоритетный срок действия, чем общий срок действия категории картНет

status

Комплексный

Статус карты из списка

  • ACTIVE
  • BLOCKED
  • CREATE
  • INACTIVE
  • PRE_ACTIVE
  • PRE_DEACTIVE
  • PRE_USED
  • USED
Да

deleted

BooleanПередается true для удаления картыДа

card-type-guid

Long

Ссылка на идентификатор категории карт.

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


Нет

percentage-discount

DoubleПроцент скидки по карте. Заполняется, если не указан Card-type-guid. Карта будет привязана к категории с данным процентом картыНет

attached-to-counterparty

Boolean

Привязка карты к контрагенту (юридическому лицу).

Допустимые значения:

  • true
  • false
Нет

client

КомплексныйПривязка карты к клиентуНет

counterparty

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

purchase-accumulation

КомплексныйНакопления по картеНет

Клиенты внутренних карт <client>

cards-catalog/internal-card/client

Поле

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

guid


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

last-name

128StringФамилия клиентаНет

first-name

128StringИмя клиентаНет

middle-name

128StringОтчество клиентаНет

сlient-type


typeClient

Тип клиента:

  • PRIVATE – Физическое лицо
  • JURISTIC_PERSON – Юридическое лицо
Нет

birth-date


DateДата рождения клиентаНет

sex


sexType

Пол клиента. По умолчанию не указан.

  • MALE
  • FEMALE
Нет

marital


Boolean

Семейное положение: Замужем/Женат

Допустимые значения:

  • true
  • false
Нет

auto


Boolean

Наличие автомобиля

Допустимые значения:

  • true
  • false
Нет
pass-number12StringНомер паспортаНет
pass-serie12StringСерия паспортаНет
phone12StringТелефонНет
email128StringЭлектронная почта клиентаНет

city

128StringНазвание городаНет
region128StringРегион/Область

district

128StringРайонНет

district-area

128StringРайон городаНет

zip

6StringИндексНет

street

128StringУлицаНет

house

6StringНомер домаНет

building

6StringКорпус (строение)Нет

apartment

6StringКвартираНет
mobile-phone128StringМобильный телефонНет
smartphone-type
smartphoneType

Тип мобильного телефона

  • Android
  • iOS
  • Samsung
Нет
mobile-operator64StringОператор мобильной связи или выдавший картуНет
children-age12StringВозраст детей.Нет
delivery128StringКем выдан?Нет
delivery-date
DateКогда выдан?Нет
send-catalog
Boolean

Согласие на отправку каталога

Допустимые значения:

  • true
  • false
Нет
send-by-sms
Boolean

Согласие на отправку смс

Допустимые значения:

  • true
  • false
Нет

send-by-email


Boolean

Согласие на отправку по электронной почте

Допустимые значения:

  • true
  • false
Нет
shop-number5IntegerНомер магазина, в котором выдали картуНет
other255StringАдрес, прочая информацияНет
receipt-feedback
receipt-feedbackType

Способ оповещения этого держателя карты о совершенной покупке, а также для отправки электронных чеков ОФД.

  • BY_EMAIL - По электронной почте
  • BY_PHONE - СМС
Нет
wants-e-card
Booleand

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

По умолчанию: false

Допустимые значения:

  • true
  • false
Нет

deleted


Boolean

Признак удаления клиента

Допустимые значения:

  • true
  • false
Да

isCompleted


boolean

Признак заполненности анкеты клиента (по умолчанию false)

Допустимые значения:

  • true
  • false
Нет

Контрагенты внутренних карт (юридические лица) <counterparty>

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

cards-catalog/internal-card/counterparty

Поле

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

inn

9, 10 или 12 символов

Integer

ИНН контрагента. Ключевое обязательное поле.

Да

kpp

9

Integer

КПП, не обязательное поле так как может отсутствовать у ИП

Да

name

255

String

Наименование Контрагента (короткое)

Да

full-name

1024

String

Полное наименование контрагента.

Нет

address

255

String

Юридический адрес контрагента

Да

physical-address

255

String

Фактический адрес контрагента

Нет

debitor-number

128

String

Идентификатор контрагента (дебитора) во внешней системе.

Да
debitor-type
String

Тип контрагента (дебитора) во внешней системе

  • mercury (вне зависимости от регистра) - контрагент зарегистрирован в системе "Меркурий"
  • Не mercury или отсутствие атрибута - контрагент не зарегистрирован в системе "Меркурий"
Да


<cards-catalog>
 
    <internal-card card-type-guid="12621262" number="12620001" expiration-date="2049-12-31T00:00:00" status="ACTIVE" attached-to-counterparty="true">
        <counterparty inn="1212121212" kpp="123456789" name="Тестовое юрлицо" full-name="" address="Тестовый адрес" debitor-number="1245648725"/>
		<client guid = "198116" last-name = "Юридический" first-name = "Роман" middle-name = "Аркадьевич" sex = "MALE" birth-date = "1976-05-01"
                email="roman@crystals.ru" send-by-email="true" receipt-feedback="BY_EMAIL"/>
    </internal-card>

  
</cards-catalog>

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

Для возможности загрузки данных о контрагенте используется тег counterparty, в котором передаётся информация о самом юридическом лице, его наименовании и адресах – физическом и юридическом.

Привязка контрагента к карте осуществляется за счёт того, что тег <counterparty> вложен внутрь тега <Internal-card>.

Также осуществляется дополнительная проверка на то, что если у самой карты установлен атрибут attached-to-counterparty, то наличие корректного вложенного тега <counterparty> является обязательным условием импорта данной карты.

Пример возможной связки клиентов, карт и контрагентов:

Накопления по карте <purchase-accumulation>

cards-catalog/internal-card/purchase-accumulation

Поле

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

operation-type

Boolean

Тип операции:

  • true – начисление
  • false – списание по возврату
Да

shop-number

Integer

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

Да

cash-number

Integer

Номер кассы

Да

shift-number

Integer

Номер смены

Да

purchase-number

Integer

Номер чека

Да

purchase-date

DateTime

Дата чека

Да

purchase-sum

Integer

Сумма чека

Да

Бонусный баланс <bonus-account>


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


cards-catalog/bonus-account

Поле

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

guid

Long

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

Да

bonus-update

String

Остаток бонусного счёта

Да

Особенности импорта данных карт

Обработка данных

Обработка пакета данных в модуле карт подразумевает следующие этапы:

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

Обработка категорий карт

Обработка диапазонов карт

Обработка экземпляров карт

Альтернативная схема импорта карт:

Обработка накоплений

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

Обработка данных клиентов

В Set10 cуществуют две возможности разделения продажи на кассах для физических и юридических лиц.

  1. Привязка Дисконтной карты к контрагенту (к юрлицу). При этом у клиента могут быть как карты юридического лица, так и обычные дисконтные карты.
  2. Привязка Клиента – держателя карты к юридическому лицу. При этом все карты этого клиента считаются картами юридического лица.

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

Дисконтные карты юридических лиц

Привязка карт к контрагентам

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