Onlinecheck – Онлайн-чеки
Таблица Onlinecheck используется только в БД кассового сервера.
| Свойство | Тип данных | Описание | Примечания |
|---|---|---|---|
| id | int(20) | Идентификатор записи | Обязательно для заполнения |
documentid | varchar(50) | Идентификатор документа | Обязательно для заполнения |
| document | text | Чек в формате JSON, представленный в виде строки с экранированными кавычками | |
state | varchar(20) | Статус онлайн-чека:
| Для загрузки нового документа используется статус
|
| shopcode | varchar(50) | Код магазина | |
| cashcode | varchar(50) | Код кассы | |
| change_date | datetime | Дата и время изменения статуса документа | Обязательно для заполнения |
| last_state | tinyint | Признак того, что статус онлайн-чека является последним:
| |
onlinepaymentstatus | varchar(100) | Статус онлайн-оплаты:
| Для онлайн-чеков, которые были сохранены на КС до добавления поля Статус онлайн-оплаты Изменение статуса оплаты возможно только для онлайн-чеков со статусом NOT_PAID
|
| sourcedocumentid | varchar(50) | Идентификатор документа-основания |
Структура JSON-объекта document
{
"documentid": 7771231232,
"document": {
"positions": [
{
"posnum": 1,
"code": "8070002401961",
"barcode": "8070002401961",
"name": "Футболка из хлопка с коротким рукавом, Белый, S",
"minprice": 0,
"price": 799,
"quant": 1,
"measure": 796,
"measurename": "шт",
"isfractionalmeasure": false,
"vatcode": "101",
"vatrate": 20,
"vatsum": 159.8,
"dept": 0,
"paymentmethod": 4,
"paymentobject": 0,
"taramode": 0,
"tmctype": "alcohol",
"excisemark": "",
"catalogcode": 0,
"supplier": {
"agentpaymentobject": 1,
"inn": "987654321012",
"name": "S means Supplier",
"phone": "+788005553535",
"suppliercode": "1"
},
"additionalprices": {
"1": {
"barcode": "100",
"code": 1,
"documentId": "1234",
"effectiveDate": "2023-12-26T11:06:32.000",
"name": "дополнительная цена 1",
"packingPrice": 0,
"price": 14
}
}
}
],
"discounts": [
{
"campaigncode": 19,
"campaignname": "акция",
"discountcode": 20,
"discountmode": 1,
"discountname": "скидка с индексной ставкой",
"discountrate": 1,
"discountsum": 12.5,
"discounttype": 3,
"ispositiondiscount": 1,
"minpriceignored": false,
"posnum": 1
}
],
"identifier": "",
"sum": 799,
"dontChange":0,
"isModifiable":0,
"cardIsDeletable":0,
"client": {
"name": "Клиент",
"inn": "123456789012",
"organization": {
"name": "Организация",
"inn": "123456789013"
}
}
}
Параметры объекта document:
| Наименование | Тип данных | Описание | Примечания |
|---|---|---|---|
| positions | array | Позиции чека | Поле обязательно для заполнения |
| identifier | string | Для внутреннего использования. Остается пустым | |
| payments | array | Оплаты | |
| sum | double | Сумма чека | |
dontChange | int | Запрещено изменение чека:
| Поле необязательно для заполнения. По умолчанию |
isModifiable | int | Разрешена модификация чека:
| Поле необязательно для заполнения. По умолчанию Используется при |
cardIsDeletable | int | Разрешено удаление карты:
| Поле необязательно для заполнения. По умолчанию Используется при:
|
| client | object | Клиент | |
| cards | array | Карты | |
| coupons | array | Купоны | |
| shopname | string | Название магазина | |
| pointsForEarn | double | Сумма баллов для начисления | |
| pointsForSpend | double | Сумма баллов для списания |
Свойства массива объектов position:
| Наименование | Тип данных | Описание | Примечания |
|---|---|---|---|
articul | string | Артикул товара | |
| barcode | string | Штрих-код товара | Поле обязательно для заполнения |
| code | string | Код товара | Поле обязательно для заполнения |
dept | int | Код отдела | Поле обязательно для заполнения |
| isallowbonusspend | boolean | Списание бонусов:
| |
isfractionalmeasure | boolean | Дробная единица измерения:
| По умолчанию |
| measure | int | Код единицы измерения | Поле обязательно для заполнения. Используется для совместимости с обычной кассой. Указываем любое числовое значение |
| measurename | string | Наименование единицы измерения | Поле обязательно для заполнения |
| minprice | double | Минимальная цена товара | Поле обязательно для заполнения |
| name | string | Наименование товара | Поле обязательно для заполнения |
paymentmethod | int | Признак способа расчета | Признак способа расчета указывается на основании признака предмета расчета |
| paymentobject | int | Признак предмета расчета | Поле обязательно для заполнения |
| posnum | int | Номер позиции в чеке | Поле обязательно для заполнения |
| price | double | Цена товара | Поле обязательно для заполнения |
| quant | double | Количество товара | Поле обязательно для заполнения |
| catalogcode | int | Код каталога | Используется для считывания кода номенклатуры средств индивидуальной защиты |
| taramode | int | Значение 0 | Для внутреннего использования |
| tmc | object | Товар | |
tmctype | string | Тип товара:
| |
| excisemark | string | Код маркировки | Используется для алкогольной и табачной продукции, для обувных и маркированных товаров |
| supplier | object | Поставщик товаров | |
| vatcode | string | Код налога | Поле обязательно для заполнения. Должен быть больше или равен |
| vatrate | double | Ставка налога | Поле обязательно для заполнения. Можно указать |
| vatsum | double | Сумма налога | Поле обязательно для заполнения. Можно указать |
| spentbonuses | array | Списанные бонусы | |
| earnedbonuses | array | Начисленные бонусы | |
| additionalprices | object | Дополнительные цены | |
| discounts | array | Скидки |
Параметры объекта tmc:
| Наименование | Тип данных | Описание |
|---|---|---|
| price | double | Цена товара |
| minprice | double | Минимальная цена товара |
| opmode | int | Флаги работы с товаром:
|
Параметры объекта supplier:
| Наименование | Тип данных | Описание |
|---|---|---|
| agentpaymentobject | int | Признак агента по предмету расчета |
| inn | string | ИНН поставщика |
| name | string | Наименование поставщика |
| phone | string | Телефон поставщика |
| suppliercode | string | Код поставщика |
Свойства массива объектов spentbonuses:
| Наименование | Тип данных | Описание |
|---|---|---|
| campaigncode | int | Код группы акций |
| campaignname | string | Название группы акций |
| discountname | string | Название скидки |
| discountsum | double | Сумма скидки |
| sessionid | string | Уникальный идентификатор списания |
Свойства массива объектов earnedbonuses:
| Наименование | Тип данных | Описание |
|---|---|---|
| campaigncode | int | Код группы акций |
| campaignname | string | Название группы акций |
| cardnumber | string | Номер карты, на которую будут произведены начисления |
| posnum | int | Порядковый номер операции |
| amount | double | Сумма начисления бонусов |
| assettimebeg | datetime | Дата и время активации бонуса |
| assettimeend | datetime | Дата и время аннулирования бонуса |
| weight | int | Вес акции |
Объект additionalprices формируется в виде пар <ключ>:<значение>. В качестве ключа используется значение поля code (код индекса цены) в строковом представлении, в качестве значения – объект "Дополнительная цена".
Параметры объекта "Дополнительная цена":
Наименование | Тип данных | Описание |
| barcode | string | Штрих-код товара |
| code | int | Код индекса цены |
| documentid | string | Идентификатор документа переоценки |
| effectivedate | datetime | Дата переоценки |
| name | string | Название цены |
| packingprice | double | Цена для расфасовки |
| price | double | Дополнительная цена |
Свойства массива объектов discounts:
Наименование | Тип данных | Описание | Примечание |
campaigncode | int | Код группы акций | Поле обязательно для заполнения |
campaignname | string | Название группы акций | Поле обязательно для заполнения |
discountcode | int | Код скидки | Поле обязательно для заполнения |
discountmode | int | Режим скидки:
| Поле обязательно для заполнения |
discountname | string | Название скидки | Поле обязательно для заполнения |
discountrate | double | Ставка скидки (проценты в случае процентной скидки, сумма в случае суммовой скидки, | Поле обязательно для заполнения |
discountsum | double | Сумма скидки | Поле обязательно для заполнения |
discounttype | int | Тип скидки:
| Поле обязательно для заполнения |
ispositiondiscount | int | Флаг на что применялась скидка:
| Поле обязательно для заполнения |
| minpriceignored | boolean | Флаг игнорирования минимальной цены при применении скидки | Поле обязательно для заполнения |
posnum | int | Номер товарной позиции | |
couponnumber | string | Номер купона |
Свойства массива объектов payments:
| Наименование | Тип данных | Описание | Примечания |
|---|---|---|---|
| type | int | Тип оплаты:
| Поле обязательно для заполнения. Для онлайн-чеков необходимо указывать тип оплаты Для корректной работы необходимо настроить соотнесение типов оплат на кассе |
| amount | double | Сумма оплаты в рублях | Поле обязательно для заполнения. Например, |
| valcode | int | Код валюты | Нужен для продаж, чтобы отличать офлайн оплаты от онлайн оплат. Значение может быть любым. |
| valname | string | Наименование валюты |
Свойства массива объектов cards:
| Наименование | Тип данных | Описание |
|---|---|---|
| number | string | Номер карты |
Свойства массива объектов coupons:
| Наименование | Тип данных | Описание |
|---|---|---|
| type | int | Тип купона |
number | string | Номер купона |
Параметры объекта client:
Свойство | Тип данных | Описание |
name | string | ФИО клиента |
text | string | Дополнительная информация |
sex | int | Пол клиента:
|
birthday | date | День рождения |
specialDate1 | date | Первая особая дата клиента |
specialDate2 | date | Вторая особая дата клиента |
specialDate3 | date | Третья особая дата клиента |
specialDate1Name | string | Название первой особой (специальной) даты |
specialDate2Name | string | Название второй особой (специальной) даты |
specialDate3Name | string | Название третьей особой (специальной) даты |
zipCode | string | Почтовый индекс клиента |
address | string | Адрес клиента |
string | ||
webPage | string | Web-страница |
phoneNumber | string | Телефонный номер клиента |
inn | string | ИНН |
document | string | Данные документа клиента (паспорта, водительского удостоверения и т.д.) |
okpo | string | ОКПО |
okpd | string | ОКПД |
occupation | string | Род занятий |
childrenCount | int | Количество детей клиента |
extendedOptions | text | Дополнительные параметры |
organization | object | Организация |
Параметры объекта organization:
| Наименование | Тип данных | Описание |
|---|---|---|
| name | string | Наименование организации |
| inn | string | ИНН организации |