- Created by Миллер Виктория on 12 Sep 2024
Кассовый сервер предоставляет rest
-интерфейс для работы внешних сервисов и приложений. Запросы осуществляются через http
-протокол, данные передаются json
-сериализованными.
Префикс для rest
-интерфейса КС должен иметь следующий вид: http://<host>:<port>/CSrest/rest/<остальная часть запроса>
:
http://localhost:8080/CSrest/rest/system/info
Для получения текущей информации о КС необходимо выполнить запрос типа GET на URL:
/system/info
Результат:
Название поля Тип Описание Примечания version строка версия кассового сервера buildNumber число номер сборки buildDate строка дата сборки commit строка версия проекта в текущий момент времени versionREst число версия REST dictThreadPoolSize число кол-во одновременно выполняемых задач на генерацию справочников saleThreadPoolSize число кол-во одновременно выполняемых задач на загрузку продаж exchangeThreadPoolSize число кол-во одновременно выполняемых задач по взаимодействию с кассой salerunThreadPoolSize число кол-во одновременно выполняемых задач по инициализации выгрузки продаж на кассе salesLoadModes массив БД для загрузки продаж Данные получаются из Настроек сервера (подраздел "Продажи") Для получения текущего состояния КС надо выполнить запрос типа GET на URL:
/system/state
Результат:
Название поля Тип Описание bonusActive логический активность взаимодействия с бонусным сервером licenseManagmentActive логический активность управления лицензиями generateDictionarySchedulerWork логический активность расписания генерации справочников salesSchedulerWork логический активность расписания загрузки продаж dictionaryRunSchedulerWork логический активность расписания сигналов справочников saleRunSchedulerWork логический активность расписания сигналов справочников
Для получения списка магазинов на КС надо выполнить запрос типа GET на URL:
/shops
Результатом является коллекция объектов следующего содержания:
Название поля Тип Описание id строка идентификатор магазина title строка отображаемое имя магазина clusterId строка идентификатор кластера (если есть) exchange объект информация по используемому типу обмена в магазине cashes коллекция список идентификаторов касс в данном магазине parentGroup строковой идентификатор группы, к которой принадлежит магазин Если в качестве GET запроса указать URL:
/shops/<идентификатор магазина>
, то результатом будет эта же информация для конкретного магазина.
Для получения списка касс на КС надо выполнить запрос типа GET на URL:
/cashes
Результатом является коллекция объектов следующего содержания:
Название поля Тип Описание id строка идентификатор кассы (д.б. уникальным на уровне КС) password строка пароль для кассы (не используется) clusterId строка идентификатор кластера (если есть) ip строка ip-адрес кассы (может быть задан в виде доменного имени) title строка отображаемое имя кассы exchange коллекция объектов информация по используемым типам обмена в кассе cashCode строка код кассы (д.б. уникальным в пределах одного кластера) parentShop строка идентификатор магазина, к которому принадлежит касса Если в качестве GET запроса указать URL:
/cashes/<идентификатор кассы>
, то результатом будет эта же информация для конкретной кассы.
Для получения списка справочников на КС надо выполнить запрос типа GET на URL:
/dicts
Результат:
Название поля Тип Описание dictId строка идентификатор справочника caption строка название справочника classes коллекция строк внутренние названия выгружаемых классов справочников Классы, используемые для выгрузки справочниковКласс Описание su.artix.artixinterchange.unload.AgerestrictDictionary.java Выгрузка возрастных ограничений по процентному содержанию алкоголя su.artix.artixinterchange.unload.BarcodeDictionary.java Выгрузка штрих-кодов su.artix.artixinterchange.unload.ButtonDictionary.java Выгрузка кнопок su.artix.artixinterchange.unload.CardDictionary.java Выгрузка современных карт su.artix.artixinterchange.unload.CardGroupDictionary.java Выгрузка современных групп карт su.artix.artixinterchange.unload.CashUserDictionary.java Выгрузка кассиров su.artix.artixinterchange.unload.CatalogDictionary.java Выгрузка каталогов su.artix.artixinterchange.unload.ClientDictionary.java Выгрузка современных клиентов su.artix.artixinterchange.unload.CmactionDictionary.java Выгрузка действий su.artix.artixinterchange.unload.CommandDictionary.java Выгрузка команд su.artix.artixinterchange.unload.CurrencyDictionary.java Выгрузка валюты su.artix.artixinterchange.unload.DeptDictionary.java Выгрузка отделов su.artix.artixinterchange.unload.DiscountKitDictionary.java Выгрузка комплектов su.artix.artixinterchange.unload.DiscSystemDictionary.java Выгрузка дисконтных систем su.artix.artixinterchange.unload.HotKeyDictionary.java Выгрузка горячих клавиш su.artix.artixinterchange.unload.InventGroupDictionary.java Выгрузка групп товаров su.artix.artixinterchange.unload.InventItemDictionary.java Выгрузка товаров su.artix.artixinterchange.unload.InventItemShortDictionary.java Выгрузка товаров без ограничений и дополнительных цен su.artix.artixinterchange.unload.InventItemShortGlobalPricesLocalDictionary.java su.artix.artixinterchange.unload.KbKeyDictionary.java Выгрузка клавиш su.artix.artixinterchange.unload.LDiscCardDictionary.java Выгрузка старых дисконтных карт su.artix.artixinterchange.unload.LDiscFixedDictionary.java Выгрузка старых фиксированных скидок su.artix.artixinterchange.unload.LDiscSchemeDictionary.java Выгрузка старых схем скидок su.artix.artixinterchange.unload.LVatDictionary.java Выгрузка налогов su.artix.artixinterchange.unload.MCashUserDictionary.java Выгрузка старых пользователей su.artix.artixinterchange.unload.MacroDictionary.java su.artix.artixinterchange.unload.MenuDictionary.java Выгрузка меню su.artix.artixinterchange.unload.PriceDictionary.java Выгрузка цен su.artix.artixinterchange.unload.RoleDictionary.java Выгрузка ролей su.artix.artixinterchange.unload.ShopDictionary.java Выгрузка магазинов su.artix.artixinterchange.unload.TimerestrictDictionary.java Выгрузка возрастных ограничений по процентному содержанию алкоголя su.artix.artixinterchange.unload.TmcrequiredquantityDictionary.java su.artix.artixinterchange.unload.TmcvisualverifyDictionary.java su.artix.artixinterchange.unload.UnitDictionary.java Выгрузка единиц измерения Для запуска генерации справочников необходимо отправить запрос типа POST на URL:
http://<хост>:<порт>/CSrest/rest/v2/treeObjects/unload?
Параметры запроса:
Наименование Тип данных Описание Примечания ids строка Идентификатор объекта, на котором необходимо запустить генерацию справочников (магазин, касса, категория) username строка Логин пользователя с кассового сервера В теле запроса передается массив объектов, содержащих следующие поля:
Наименование Тип данных Возможные значения Описание Примечания dictionary строка Имя задачи на выгрузку unloading логический - true
- false
Флаг полной выгрузки При значении true
будет произведена полная выгрузкаПример запроса на запуск генерации справочников на магазине с
id = _shop_1_53cf17d3
с последующей выгрузкой на кассы:POST http://192.169.1.200:8080/CSrest/rest/v2/treeObjects/unload?ids=_shop_1_53cf17d3&username=admin [ { "dictionary": "discount", "unloading": true } ]
Для отправки сигнала на кассу для запуска загрузки справочников необходимо выполнить запрос типа POST на URL:
http://<хост>:<порт>/cashes/<идентификатор кассы>/dicts/startLoad
Тело запроса должно быть пустым.
Для отправки сигнала на кассу для запуска выгрузки продаж необходимо выполнить запрос типа PUT на URL:
http://<host>:<port>/CSrest/rest/sales/unload/cashid/{cashId}/kick
Параметры запроса:
Наименование Тип данных Описание Примечания cashId string Идентификатор кассы, на которую нужно отправить сигнал на выгрузку продаж Сигнал формируется в соответствии с правилами, используемыми при формировании сигнала загрузки продаж через расписание.
При успешном добавлении сигнала возвращается статус HTTP "
200
". При ошибке возвращается код ошибки.
Для любого планировщика со страницы http://<host>:<port>/CS/CashServerWeb/timetable
доступны следующие операции: получить состояние, остановить, запустить.
Задача | Изменяемая часть запроса |
---|---|
Расписание сигналы справочники | schedulers/dictionaries |
Расписание сигналы продажи | schedulers/sales |
Расписание генерация справочников | schedulers/generateDictionaries |
Трансфер справочники | schedulers/generateTransferDictionaries |
Трансфер глобальные справочники | schedulers/generateTransferGlobalDictionaries |
Трансфер продажи | schedulers/generateTransferSale |
Трансфер глобальные продажи | schedulers/generateTransferGlobalSale |
Трансфер структура | schedulers/generateTransferStruct |
Трансфер бонусы | schedulers/generateTransferBonus |
Расписание глобальная генерация | schedulers/generateGlobalDictionaries |
Расписание генерация по категориям | schedulers/generateCategoryDictionaries |
Расписание сигналы весы | schedulers/scales |
Прогрузка переоценок на весы | schedulers/repriceScale |
Загрузка продаж в БД | schedulers/loadSales |
Загрузка продаж из очереди | schedulers/loadSalesQueue |
Контроль целостности продаж | schedulers/sales/controlEntirety |
Для всех задач, перечисленных выше, для управления ею нужно использовать следующие запросы:
Действие | Запрос | Результат |
---|---|---|
Посмотреть состояние задачи | GET <общий префикс>/<изменяемая часть запроса>/status | Успешный результат возвращает HTTP-код "
|
Поставить задачу на паузу | PUT <общий префикс>/<изменяемая часть запроса>/pause | При успешном запросе возвратиться HTTP-код "200 " |
Восстановить выполнение задачи | PUT <общий префикс>/<изменяемая часть запроса>/resume | При успешном запросе возвратиться HTTP-код "200 " |
Задача | Изменяемая часть текста |
---|---|
Генерация справочники | handlers/dictionary |
Обмен справочники | handlers/exchange |
Обмен продажи | handlers/sales |
Прогрузка весов | handlers/scales |
Для всех задач, перечисленных выше, для управления ею нужно использовать следующие запросы:
Действие | Запрос | Результат |
---|---|---|
Проверить, что задача на паузе | GET <общий префикс>/<изменяемая часть запроса>/paused | Успешный результат возвращает HTTP-код "200 " и true , если задача на паузе, иначе будет значение false |
Поставить задачу на паузу | PUT <общий префикс>/<изменяемая часть запроса>/pause | При успешном запросе возвратиться HTTP-код "200 " |
Восстановить выполнение задачи | PUT <общий префикс>/<изменяемая часть запроса>/resume | При успешном запросе возвратиться HTTP-код "200 " |
При установке состояния задачи неважно, какое состояние было предыдущим.
Для приостановки выполнения задачи "Загрузка продаж в БД" можно выполнить curl
-запрос вида:
curl -I -XPUT "http://localhost:8080/CSrest/rest/schedulers/loadSales/pause
Обработка запросов на поиск чека. Поиск чека ведется по идентификатору и коду магазина.
Для того чтобы получить документ продажи надо выполнить GET запрос на URL:
/sales/document/<identifier>[?shopId=<id магазина>&clusterId=<id кластера>&idType=<тип id документа>]
, где identifier
– идентификатор документа, shopId
– id магазина, clusterId
– id кластера, idType
– тип id документа, sourceidentifier
– идентификационный номер документа-основания для операций, fiscalidentifier
– фискальный идентификатор документа. Параметры shopId
, clusterId
и idType
являются необязательными строковыми параметрами.
Параметр idType может принимать значение:
-1 – по полю
sourceidentifier
в таблицеdocument
,0 – по полю
identifier
в таблицеdocument
,1 – по полю
fiscalidentifier
в таблицеdocument
,2 – по номеру карты клиента, поле
number
в таблицеcarditem
,3 – по номеру телефона клиента, поле
phone
в таблицеclient
Возможны следующие варианты запросов:
- Ни один из параметров
shopId
иclusterId
не указан, тогда поиск документа будет осуществляться в БДdocumentsAll
. - Если указать параметр
shopId
(id магазина), то поиск документа будет осуществляться в БДdocuments<номер магазина>
. - Магазин находится в кластере, тогда для него необходимо в запросе указать параметр
clusterId
, при этом:
- Если
shopId
указан, то поиск документа будет осуществляться в БД<номер кластера>
documents<номер магазина>
- Если
shopId
НЕ указан, то поиск документа будет осуществляться в БД<номер кластера>documentsAll
Результатом запроса будет массив json-
объектов, это связано с тем что identifier
не является уникальным значением.
[{ "documentid":16, "cashCode":"13", "docNum":2, "docType":13, "userCode":"4", "timeBeg":1425548174000, "timeEnd":1425548174000, "discPerc":0.00, "discAbs":0.00, "docSum":15.20, "closed":1, "sumcash":0.00, "baseSum":0.00, "modSum":0.00, "sum2m":0.00, "inventPositions":[], "bonusPositions":[], "moneyPositions": [{ "userCode":"4", "posTime":1425548174000, "opCode":44, "valCode":1, "sumB":15.20, "reverseOperation":0, "nrate":0.0000, "bond":0.0000, "bond_quant":0, "vsum":15.20, "sumn":15.20, "sume":15.20, "docNum":2, "c_link":0, "frnum":0, "cardnum":"" }], "stornoPositions":[], "cardPositions":[], "identifier":"333:13:2:2", "vatsum":0.00, "summode":0, "sumtype":0, "dateincrement":0, "deptCode":0, "c_link":0, "sumn":15.20, "sume":15.20, "vbrate":1.0000, "verate":1.0000, "docSumm":15.20 }]
Статусы акцизных марок
Статусы акцизных марок при совершении кассовых операций могут принимать следующие значения:
- 0 – Марка не зарегистрирована в БД,
- 1 – Товар с такой маркой продан,
- 2 – Товар с такой маркой возвращен,
- 3 – Марка зарезервирована в чеке продажи,
- 4 – Марка снята с резерва в чеке продажи,
- 5 – Марка зарезервирована в чеке возврата (чеке возврата по чеку продажи),
- 6 – Марка снята с резерва в чеке возврата (чеке возврата по чеку продажи),
- 7 – Акцизная марка отсутствует в списке разрешенных к продаже,
- 8 – Связка кода и алкокода товара отсутствует,
- 9 – Товар отсутствует на остатке,
- 10 – Штрих-код для проверки в белом списке не передан,
- 11 – Соответствие акцизной марки и штрих-кода в белом списке не найдено,
- 12 – Магазин для проверки остатков не найден,
- 13 – Штрих-код для проверки остатков не заполнен,
- 14 – Код товара для проверки остатков не заполнен,
- 15 – Справочник остатков для товара, по которому проверяем остатки, заполнен не корректно.
Получение статуса акцизной марки
Для получения информации о статусе регистрации акцизной марки нужно выполнить запрос:
типа POST на URL:
http://<host>:<port>/CSrest/rest/sales/exciseMark/status/?doctype=<тип документа>&identifier=<идентификатор чека>[?shopcode=<код магазина>&cashcode=<код кассы>&tmccode=<код товара>&barcode=<штрих-код товара>&additionalexcisemark=<дополнительный штрих-код акцизной марки>&excisetype=<тип акцизной марки>&reserveid=<идентификатор запроса, по которому выполнялось резервирование>]
Параметры
shopcode
,cashcode
,tmccode
,barcode
,additionalexcisemark
,excisetype
,reserveid
являются необязательными параметрами.Параметры
tmccode
(код товара),
barcode
(штрих-код товара),additionalexcisemark
(дополнительный штрих-код акцизной марки) используются для проверки наличия связки кода и алкокода акцизных товаров (статус8
).При выполнении повторного запроса на резервирование акцизной марки в чеке продажи/возврата будет осуществлена проверка на соответствие идентификатора чека и идентификатора запроса на резервирование акцизной марки (
GUID
, БДDocuments
таблицаExcisemarks
полеreserveid
):- если идентификатор чека и идентификатор запроса резервирования акцизной марки (
GUID
) совпадают с соответствующими значениями предыдущего запроса, то статус акцизной марки будет изменен (для чека продажи – статус4
, для чека возврата – статус6
), - если идентификатор чека и идентификатор запроса резервирования акцизной марки (
GUID
) не совпадают с соответствующими значениями предыдущего запроса, то статус акцизной марки не будет изменен (для чека продажи останется статус3
, для чека возврата – статус5
).
Тело запроса состоит из массива строк, содержащих идентификаторы акцизных марок.
Пример тела запроса[ "sdgf8734t", "22N000003L82ID9EYWS0A4K50821001000478QSGD2PXY2RZSFS0A18SKXXR4Q87AKT0", "22N000000HM5B96KYYP01DP408150020199076KX6B38AR2SWXBDJV5PU8H5H1C0X66Y", "20N000004RI5YQIBC2T0DFU40211002010451AD623AXDL7OUSAPNT6Y8SUAYMUAEZGD", "12QWERTYUIOPLKJHGFDSAZX11111234567890QWERTYUIOPQWERTYUIOPQWERTYUIOPQ" ]
Результатом запроса является массив объектов, содержащих информацию об идентификаторах акцизных марок и статусы их регистрации.
Пример ответа[ { "exciseMarkId": "12QWERTYUIOPLKJHGFDSAZX11111234567890QWERTYUIOPQWERTY7IOPQWERTYU1700", "status": 1, "tmccode": "46047016", "barcode": "222", "statusDate": "2016-12-22T10:21:53.000+0000", "exciseType": "ALCOHOL" } ]
- если идентификатор чека и идентификатор запроса резервирования акцизной марки (
типа POST на URL:
http://localhost:38051/CSrest/rest/sales/exciseMark/status/check
Тело запроса состоит из объектов, которые позволяют получить статус марки и информацию из белого списка марок:
Пример тела запроса[ {"exciseMarkId": "111", "exciseType": "ALCOHOL"}, {"exciseMarkId": "222", "exciseType": "TOBACCO"}, {"exciseMarkId": "333", "exciseType": "SHOES"} ]
Телом ответа является массив объектов, содержащих информацию об акцизных марках из белого списка и о статусе марок. В ответе содержится информация об акцизной марке для всех привязанных штрих-кодов:
Пример ответа[ { "exciseType": "ALCOHOL", "exciseMarkId": "123", "exciseMarkWhite": [ { "excisemarkid": "123", "shopcode": "All", "inn": "3333", "exciseType": "ALCOHOL", "serialnumber": "3333", "barcode": "1" }, { "excisemarkid": "123", "shopcode": "All", "inn": "3333", "exciseType": "ALCOHOL", "serialnumber": "3333", "barcode": "2" } ], "status": 0 }, { "exciseType":"TOBACCO", "exciseMarkId":"222", "status":3 }, { "exciseType":"SHOES", "exciseMarkId":"222", "status":0 } ]
Если в теле запроса заполнено поле
barcode
,Пример тела запроса с заполнением поля barcode[ {"exciseMarkId": "111", "exciseType": "ALCOHOL", "barcode": "1"}, {"exciseMarkId": "222", "exciseType": "TOBACCO"}, {"exciseMarkId": "333", "exciseType": "SHOES"} ]
то в ответе будет получена только информация об акцизной марке для указанного штрих-кода:
Пример ответа[ { "exciseType": "ALCOHOL", "exciseMarkId": "123", "exciseMarkWhite": { "excisemarkid": "123", "shopcode": "All", "inn": "3333", "exciseType": "ALCOHOL", "serialnumber": "3333", "barcode": "1" }, "status": 0 }, { "exciseType":"TOBACCO", "exciseMarkId":"222", "status":3 }, { "exciseType":"SHOES", "exciseMarkId":"222", "status":0 } ]
Изменение статуса акцизной марки
Для получения изменения статуса регистрации акцизной марки с сервера касса выполняет запрос типа PUT на URL:
http://<host>:<port>/CSrest/rest/sales/exciseMark/status?identifier=<идентификатор чека>[?shopcode=<код магазина>&cashcode=<код кассы>&excisetype=<тип акцизной марки>&force=false&reserveid=<идентификатор запроса, по которому выполнялось резервирование>]
Параметры shopcode
, cashcode
, excisetype
, reserveid
, force
являются необязательными параметрами.
Параметр force
отвечает за установку статуса акцизных марок без дополнительных проверок:
- при значении
true
установка статуса будет без дополнительной проверки идентификатора чека и идентификатора запроса резервирования акцизной марки (GUID
) на совпадение с соответствующими значениями предыдущего статуса, - при значении
false
если пытаемся поменять статус акцизной марки, то будет учтен предыдущий статус акцизной марки, идентификатор чека и идентификатора запроса резервирования акцизной марки (GUID
) с дополнительной проверкой на совпадение с соответствующими значениями предыдущего статуса.
Тело запроса состоит из массива строк, содержащих идентификаторы акцизных марок и присваиваемом статусе.
[ { "status": 4, "tmccode": "111", "barcode": "11", "exciseMarkId": "12QWERTYUIOPLKJHGFDSAZX11111234567890QWERTYUIOPQWERTYUIOPQWERTYUIOPQ" }, { "status": 4, "tmccode": "111", "barcode": "11", "exciseMarkId": "12QWERTYUIOPLKJHGFDSAZX11111234567890QWERTYUIOPQWERTYUIOPQWERTYUIOPW" } ]
Получение списка каталогов
Для получения списка каталогов необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/catalogs
Для получения списка каталогов с информацией о странице данных необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/catalogs/bypage
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные каталогов товаров | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные каталогов | |
page | integer | Номер страницы, данные с которого нужно отобразить | Не обязателен. По умолчанию 0 |
size | integer | Количество записей на каждой странице | Не обязателен. По умолчанию 100 |
name | string | Поиск по наименованию каталога | Не обязателен. По умолчанию не указано |
name_like | boolean | Поиск по частичному вхождению наименования каталога (начинается с...) | Не обязателен. По умолчанию не указано |
[ { "catalogid":42204230, "catalogname":"Каталог №1" } ]
{"content": [ { "catalogid":1, "catalogname": "Каталог №1" }, { "catalogid":3, "catalogname":"Каталог №2" } ], "firstPage":true, "totalPages":46, "numberOfElements":100, "totalElements":4569, "lastPage":false, "size":100,"number":0 }
Сохранение данных о каталоге в БД КС
Для сохранения данных о каталоге необходимо направить запрос типа POST на URL:
http://<host>:<port>/CSrest/rest/dictionaries/catalogs
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные каталога | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные каталога |
{ "catalogid":42204230, "catalogname":"Каталог результат" }
Получение количества каталогов
Для получения количества каталогов с сервера необходимо выполнить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/catalogs/count
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина |
Удаление записи о каталоге
Для удаления записи о каталоге необходимо направить запрос типа DELETE на URL:
http://<host>:<port>/CSrest/rest/dictionaries/catalogs/id/{id}
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
id | serializable | Идентификатор каталога | Обязательное поле. По умолчанию не указан |
clusterId | string | Идентификатор кластера, с которого необходимо получить данные каталога | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные каталога |
Получение данных каталога по идентификатору
Для получения записи о каталоге необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/catalogs/id/{id}
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
id | serializable | Идентификатор каталога | Обязательное поле. По умолчанию не указан |
clusterId | string | Идентификатор кластера, с которого необходимо получить данные каталога | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные каталога |
Проверка идентификатора каталога
Для получения информации о наличии каталога с конкретным ID необходимо выполнить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/catalogs/{catalogId}/exists
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД All |
shopid | string | Идентификатор магазина |
Получение списка софт-чеков с КС
Для получения списка софт-чеков с сервера необходимо выполнить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/softchecks
Для получения списка софт-чеков с информацией о странице данных необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/softchecks/bypage
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера | Не обязателен. По умолчанию не указан |
page | integer | Номер страницы, с которой будут выведены данные | Необязательный параметр. По умолчанию 0 |
size | integer | Количество записей на одной странице | Необязательный параметр. По умолчанию 100 |
softcheckid | string | Идентификатор софт-чека | Необязательный параметр. По умолчанию не указан |
Результатом запроса является массив объектов, содержащих информацию об идентификаторах софт-чеков, дате и времени их создания и товарных позициях.
[{ "softcheckid": "1", "options": 123, "creationDate": "2017-01-30T05:09:00.000+0000", "softcheckposition": [{ "softcheckpositionid": 1, "softcheckid": "1", "barcode": "1234567890", "quantity": 10.000, "name": "Творог", "code": "654748" }, { "softcheckpositionid": 2, "softcheckid": "1", "barcode": "4515553460", "quantity": 9.000, "name": "Сметана", "code": "067815" } ] }]
Получение количества софт-чеков
Для получения количества софт-чеков с сервера необходимо выполнить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/softchecks/count
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера | Не обязателен. По умолчанию не указан |
Получение софт-чека по его идентификатору
Для получения софт-чека по идентификатору необходимо выполнить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/softchecks/id/{id}
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
id | serializable | Идентификатор софт-чека | Обязательное поле. По умолчанию не указан |
clusterId | string | Идентификатор кластера | Не обязателен. По умолчанию не указан |
Получение софт-чека по его идентификатору с датой отгрузки
Для получения софт-чека по идентификатору с датой отгрузки необходимо выполнить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/softchecks/id/{id}/withStatus
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
id | serializable | Идентификатор софт-чека | Обязательное поле. По умолчанию не указан |
clusterId | string | Идентификатор кластера | Не обязателен. По умолчанию не указан |
Результатом запроса является объект, содержащий информацию об идентификаторе софт-чека, дате и времени его создания и товарных позициях.
{ "softcheckid": "111222333", "options": 7, "creationDate": "2016-03-04T04:37:20.000+0000", "status": 1, "statusDate": "2022-12-05T05:14:56.000+0000", "softcheckposition": [ { "softcheckpositionid": 5, "softcheckid": "111222333", "barcode": "121456789", "quantity": 2.330, "code": "12", "deptNumber": 2, "price": 22.33 } ] }
Сохранение софт-чека
Для сохранения софт-чека на сервере необходимо выполнить запрос типа POST с данными софт-чека на URL:
http://<host>:<port>/CSrest/rest/dictionaries/softchecks
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера | Не обязателен. По умолчанию не указан. |
Пример тела запроса:
{ "softcheckid": "1", "options": 123, "creationDate": "2017-01-30T05:09:00.000+0000", "softcheckposition": [{ "softcheckpositionid": 1, "softcheckid": "1", "barcode": "1234567890", "quantity": 10.000, "name": "Творог", "code": "654748" }, { "softcheckpositionid": 2, "softcheckid": "1", "barcode": "4515553460", "quantity": 9.000, "name": "Сметана", "code": "067815" }] }
Удаление софт-чека
Для удаления софт-чека необходимо отправить запрос типа DELETE на URL:
http://<host>:<port>/CSrest/rest/dictionaries/softchecks/id/{id}
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
id | serializable | Идентификатор софт-чека | Обязательное поле. По умолчанию не указан |
clusterId | string | Идентификатор кластера | Не обязателен. По умолчанию не указан |
Сохранение документа
Для сохранения документа необходимо выполнить запрос POST на URL:
http://<host>:<port>/CSrest/rest/dictionaries/pendingchecks/
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера | Не обязателен. По умолчанию не указан. |
Параметры тела запроса:
Наименование | Тип данных | Возможные значения | Описание |
---|---|---|---|
documentid | string | Уникальный идентификатор документа. Формируется на кассе | |
state | string | Статус отложенного чека:
Статус зарезервированного заказа: Реализовано для сервиса заказа лекарств tabletka.by.
Если заказ в процессе выдачи – сформирован чек продажи, и этот чек откладывается, то статус заказа изменяется на Изменять статусы отложенных чеков на зарезервированные запрещено. Аналогично, изменять статусы зарезервированных заказов на отложенные запрещено. | Статус документа |
cashcode | string | Код кассы | |
shopcode | string | Код магазина | |
document | string | Полный образ чека в формате JSON |
{ "cashcode": "str", "shopcode": "str", "documentid": "str", "document": "str", "state": "str" }
При успешном выполнении запроса возвращается HTTP статус "200
". Если при выполнении запроса произошла ошибка, то тело ответа будет содержать:
{ "errorCode" : "int", "url" : "str", "message" : "str", "errorClassName" : "str" }
Получение документа
Для получения документа необходимо выполнить запрос GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/pendingchecks/{documentid}
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера | Не обязателен. По умолчанию не указан. |
В URL запрос может быть добавлена часть exists
, которая будет проверять наличие запрашиваемых данных и возвращать true
либо false
. Если exists
не указан в запросе, то при отсутствии запрашиваемых данных будет выводиться ошибка.
{ "cashcode": "str", "shopcode": "str", "documentid": "str", "document": "str", "state": "str" }
Изменение документа
Для изменения документа необходимо выполнить запрос PUT на URL:
http://<host>:<port>/CSrest/rest/dictionaries/pendingchecks/{documentid}
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера | Не обязателен. По умолчанию не указан |
{ "cashcode": "str", "shopcode": "str", "document": "str", "state": "str" }
Поля document
и state
не обязательные. В запросе должно присутствовать как минимум одно из них.
При успешном выполнении запроса возвращается HTTP статус "200
". Если при выполнении запроса произошла ошибка, то тело ответа будет содержать:
{ "errorCode" : "int", "url" : "str", "message" : "str", "errorClassName" : "str" }
Получение списка отложенных чеков
Для получения списка отложенных чеков необходимо выполнить запрос GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/pendingchecks[?cashid=<id_кассы>&page=<номер страницы>&size=<размер_страницы>&scope=<охват_записей>&states=<статусы_отложенных_чеков>]
Для получения списка отложенных чеков с информацией о странице данных необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/pendingchecks/bypage[?cashid=<id_кассы>&page=<номер страницы>&size=<размер_страницы>&scope=<охват_записей>&states=<статусы_отложенных_чеков>]
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
cashId | string | Идентификатор кассы, с которой необходимо получить данные отложенных чеков | Необязательный параметр. Данные о магазине и кластере |
clusterId | string | Идентификатор кластера | Не обязателен. По умолчанию не указан |
page | integer | Номер страницы, с которой будут выведены данные | Необязательный параметр. По умолчанию 0 |
size | integer | Количество записей на одной странице | Необязательный параметр. По умолчанию 100 |
scope | string | Охват записей:
| Необязательный параметр. Если не указан, то будут присланы все записи |
states | string | Статус отложенного чека:
Статус зарезервированного заказа: Реализовано для сервиса заказа лекарств tabletka.by.
| Необязательный параметр. Если не указан, то будут присланы чеки со всеми возможными статусами |
В результате обработки запроса сервер возвращает ответ вида:
{ "number": 0, "size": 100, "lastPage": true, "totalElements": 2, "numberOfElements": 2, "totalPages": 1, "firstPage": true, "content": [ { ... непосредственно объект },...следующие объекты страницы ] }
Получение онлайн-чека
Для получения онлайн-чека для восстановления на кассе необходимо выполнить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/onlinechecks/{documentid}
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера | Не обязателен. По умолчанию не указан |
В URL запрос может быть добавлена часть exists
, которая будет проверять наличие запрашиваемых данных и возвращать true
либо false
. Если exists
не указан в запросе, то при отсутствии запрашиваемых данных будет выводиться ошибка.
http://<host>:<port>/CSrest/rest/dictionaries/onlinechecks/1/exist
{ "cashcode": "str", "shopcode": "str", "documentid": "str", "document": "str", "state": "str" }
Изменение онлайн-чека
Для изменения документа необходимо выполнить запрос PUT на URL:
http://<host>:<port>/CSrest/rest/dictionaries/onlinechecks/{documentid}
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера | Не обязателен. По умолчанию не указан. |
{ "cashcode": "str", "shopcode": "str", "document": "str", "state": "str" }
Поля document
и state
не обязательные. В запросе должно присутствовать как минимум одно из них.
При успешном выполнении запроса возвращается HTTP статус "200
". Если при выполнении запроса произошла ошибка, то тело ответа будет содержать:
{ "errorCode" : "int", "url" : "str", "message" : "str", "errorClassName" : "str" }
Сохранение онлайн-чека
Для сохранения документа необходимо выполнить запрос POST на URL:
http://<host>:<port>/CSrest/rest/dictionaries/onlinechecks
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера | Не обязателен. По умолчанию не указан |
Параметры тела запроса:
Наименование | Тип данных | Возможные значения | Описание |
---|---|---|---|
documentid | string | Уникальный идентификатор документа. Формируется на кассе | |
state | string |
| |
cashcode | string | Код кассы | |
shopcode | string | Код магазина | |
document | string | Полный образ чека в формате JSON |
{ "cashcode": "str", "shopcode": "str", "documentid": "str", "document": "str", "state": "str" }
При успешном выполнении запроса возвращается HTTP статус "200
". Если при выполнении запроса произошла ошибка, то тело ответа будет содержать:
{ "errorCode" : "int", "url" : "str", "message" : "str", "errorClassName" : "str" }
Поиск и верификация карты
Перед отправкой запросов необходимо настроить СМС-шлюз. О настройке СМС-шлюза подробнее можно прочитать в статье "Настройки сервера".
Для поиска и верификации карты на кассовом сервере необходимо выполнить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/ident/cards?number=111&idcardgroup=1[?phonenumber=<номер_телефона>&vertype=<тип_верификации>&cashid=<id_кассы>]
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
idcardgroup | integer | Идентификатор группы карт | Обязательный параметр |
number | string | Номер карты, передаваемый с кассы | Обязательный параметр. Проверка будет выполнена в соответствии с указанным местом поиска:
|
phonenumber | string | Номер телефона | Необязательный параметр |
vertype | string | Тип верификации | Необязательный параметр. По умолчанию Можно указать несколько типов верификации через запятую.
|
cashid | string | Идентификатор кассы | Необязательный параметр. Не путать с кодом кассы! При отправке запросов на кластерный КС используется для определения кластера и соответствующей БД с данными. Если запрос отправляется на обычный кассовый сервер, то параметр можно не указывать. |
Если не удалось отправить запрос или получить ответ от сервера, то карта в чек не добавляется. При получении ответа выполняется его анализ.
Если после отказа от ввода кода подтверждения в списке типов верификаций:
- нет других элементов, то карта не будет добавлена в чек,
- есть другие элементы, то будет сформирован повторный запрос на сервер, содержащий в себе список типов верификаций, из которого будет исключена отклоненная верификация и верификация, которую вернул сервер.
В результате поиска и верификации карты сервер возвращает ответ:
[{"cardNumber":<номер_основной_карты>, "verificationCode":<код_верификации>,"verificationResult":<результат_верификации>}]
Результат верификации может принимать значения:
- 0 – SUCCESS. Верификация прошла успешно.
- 1 – INTERNAL_SERVER_ERROR. Верификация не удалась по причине ошибки на сервере.
- 2 – EXTERNAL_PLUGIN_ERROR. Верификация не удалась по причине ошибки во внешнем шлюзе (к примеру, шлюз посылки СМС возвратил ошибку).
При результате верификации 0
выполняется проверка поля cardNumber
на пустоту:
- если получен номер карты, то карта добавляется в чек,
- если номер карты пуст, то кассиру выводится ошибка, карта в чек не добавляется.
Код отправляется пользователю через тот тип верификации, который указан в запросе. В запросе может быть указано несколько типов верификации, приоритетным является тот, который в списке указан самым первым. Если ни один из указанных типов верификации не доступен, то код отправлен не будет.
Получение списка клиентов с кассового сервера
Для получения списка клиентов необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/clients
Для получения списка клиентов с постраничной информацией необходимо направить запрос типа GET на URl:
http://<host>:<port>/CSrest/rest/dictionaries/clients/bypage
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные клиентов | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные клиентов | |
page | integer | Номер страницы, данные с которого нужно отобразить | Не обязателен. По умолчанию 0 |
size | integer | Количество записей на каждой странице | Не обязателен. По умолчанию 100 |
name | string | Поиск по имени клиента | Не обязателен. По умолчанию не указано |
name_like | boolean | Поиск по частичному вхождению имени клиента (начинается с...) | Не обязателен. По умолчанию не указано |
phonenumber | string | Поиск по номеру телефона | Не обязателен. По умолчанию не указано |
phonenumber_like | boolean | Поиск по частичному вхождению номера телефона (заканчивается на...) | Не обязателен. По умолчанию
|
organizationcode | varchar | Поиск по коду организации | Не обязателен. По умолчанию не указано |
birthday | integer | Поиск по дате рождения клиента | Не обязателен. По умолчанию не указано. Задается в формате "ГГГГММДД " |
codeword | string | Поиск по кодовому слову | Не обязателен. По умолчанию не указано |
codeword_like | boolean | Поиск по частичному вхождению кодового слова (начинается с...) | Не обязателен. По умолчанию false |
order | string | Направление сортировки поиска по полю name | Не обязателен. По умолчанию не указано. Принимает значения:
|
subscriptionadj | integer | Поиск по согласию на рассылку |
|
string | Поиск по email | Не обязателен. По умолчанию не указан |
{ "idclient": "1434b73a-3b2a-4ce9-b3a9-dabffaea7fdf", "name": "Иванов Иван Иванович", "text": "hgfg", "sex": 0, "birthday": "1993-09-03", "specialdate1name": "", "specialdate2name": "", "specialdate3name": "", "zipcode": "77778", "address": "", "email": "222", "webpage": "", "phonenumber": "+79231233212", "inn": "", "document": "", "okpo": "", "okpd": "", "occupation": "", "extendedoptions": "", "codeword": "" "organizationcode": "1" "subscriptionadj": 0 }, { "idclient": "14e61dfb-4fe9-4bed-ba04-a436d6352e32", "name": "Сидоров Петр Евгеньевич", "text": "", "sex": 0, "birthday": "1960-10-31", "specialdate1name": "", "specialdate2name": "", "specialdate3name": "", "zipcode": "", "address": "", "email": "", "webpage": "", "phonenumber": "89662225233", "inn": "", "document": "", "okpo": "", "okpd": "", "occupation": "", "extendedoptions": "", "codeword": "" "organizationcode": "2" "subscriptionadj": 1 }
{ "content": [ { "idclient": "2311212111111111", "name": "Иван Панченко "sex": 0, "organizationcode": "1" "subscriptionadj": 1 }, { "idclient": "ee71afa1-6985-4e85-9cca-2f37ce553269", "name": "Тестовый пользователь с кодом организации", "text": "", "sex": 0, "specialdate1name": "", "specialdate2name": "", "specialdate3name": "", "zipcode": "", "address": "", "email": "", "webpage": "", "phonenumber": "", "inn": "", "document": "", "okpo": "", "okpd": "", "occupation": "", "extendedoptions": "", "codeword": "", "organizationcode": "1" "subscriptionadj": 0 } ], "numberOfElements": 2, "totalElements": 2, "firstPage": true, "lastPage": true, "totalPages": 1, "size": 100, "number": 0 }
Сохранение данных о клиенте в БД КС
Для сохранения данных о клиенте необходимо направить запрос типа POST на URL:
http://<host>:<port>/CSrest/rest/dictionaries/clients
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные клиентов | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные клиентов |
Тело запроса:
{ "idclient": "ff8081815b601935015b601ede1e0004", "name": "Свиридова Юлия Петровна", "sex": 1, "phonenumber": "79021234567" }
Получение количества объектов (записей о клиентах) с КС
Для получения количества записей о клиентах необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/clients/count
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные клиентов | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазин, с которого необходимо получить данные клиентов |
Удаление записи о клиенте
Для удаления записи о клиенте необходимо направить запрос типа DELETE на URL:
http://<host>:<port>/CSrest/rest/dictionaries/clients/id/{id}
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
id | serializable | Идентификатор клиента | Обязательное поле. По умолчанию не указан |
clusterId | string | Идентификатор кластера, с которого необходимо получить данные клиентов | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные клиентов |
Получение данных о клиенте по идентификатору
Для получения записи о клиенте необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/clients/id/{id}
В URL запрос может быть добавлена часть exists
, которая будет проверять наличие запрашиваемых данных и возвращать true
либо false
. Если exists
не указан в запросе, то при отсутствии запрашиваемых данных будет выводиться ошибка.
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
id | serializable | Идентификатор клиента | Обязательное поле. По умолчанию не указан |
clusterId | string | Идентификатор кластера, с которого необходимо получить данные клиентов | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные клиентов |
Получение списка организаций в КС
Для получения списка организаций необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/organizations
Для получения списка организаций с постраничной информацией необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/organizations/bypage
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные организаций | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные организаций | |
page | integer | Номер страницы, данные с которого нужно отобразить | Не обязателен. По умолчанию 0 |
size | integer | Количество записей на каждой странице | Не обязателен. По умолчанию 100 |
name | string | Поиск по имени клиента | Не обязателен. По умолчанию не указано |
name_like | boolean | Поиск по частичному вхождению имени клиента (начинается с...) | Не обязателен. По умолчанию не указано |
[ { "organizationcode": "1", "name": "Организация 1", "registeredaddress": "Ул. Печкина, 37", "inn": "123456", "kpp": "123456", "okpo": "123456", "operatingaccount": "123456", "bank": "Сбербанк", "correspondingaccount": "123456", "bik": "123456" }, { "organizationcode": "2", "name": "Организация 2", "registeredaddress": "Ул. Чкалова, 123", "inn": "321321", "kpp": "321321", "okpo": "321321", "operatingaccount": "321321", "bank": "ВТБ", "correspondingaccount": "321321", "bik": "321321" } ]
{ "content": [ { "organizationcode": "1", "name": "Организация 1", "registeredaddress": "Ул. Печкина 37", "inn": "123456", "kpp": "123456", "okpo": "123456", "operatingaccount": "123456", "bank": "Сбербанк", "correspondingaccount": "123456", "bik": "123456" }], "numberOfElements": 1, "totalElements": 1, "firstPage": true, "lastPage": true, "totalPages": 1, "size": 100, "number": 0 }
Сохранение данных об организации в БД КС
Для сохранения данных об организации необходимо направить запрос типа POST на URL:
http://<host>:<port>/CSrest/rest/dictionaries/organizations/
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные организаций | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные организаций |
Тело запроса:
{ "organizationcode": "3", "name": "Организация 3", "registeredaddress": "Ул. Ленина, 33", "inn": "321654", "kpp": "321654", "okpo": "321654", "operatingaccount": "321654", "bank": "АльфаБанк", "correspondingaccount": "321654", "bik": "321654" }
Получение количества объектов (записей об организациях) с КС
Для получения количества записей об организациях необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/organizations/count
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные организаций | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные организаций |
Удаление записи об организации
Для удаления записи об организации необходимо направить запрос типа DELETE на URL:
http://<host>:<port>/CSrest/rest/dictionaries/organizations/id/{id}
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
id | serializable | Идентификатор организации | Обязательное поле. По умолчанию не указан |
clusterId | string | Идентификатор кластера, с которого необходимо получить данные организации | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopId | string | Идентификатор магазина, с которого необходимо получить данные организации |
Получение данных об организации по идентификатору
Для получения записи об организации необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/organizations/id/{id}
В URL запрос может быть добавлена часть exists
, которая будет проверять наличие запрашиваемых данных и возвращать true
либо false
. Если exists
не указан в запросе, то при отсутствии запрашиваемых данных будет выводиться ошибка.
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
id | serializable | Идентификатор организации | Обязательное поле. По умолчанию не указан |
clusterId | string | Идентификатор кластера, с которого необходимо получить данные организации | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные организации |
Получение списка групп карт в КС
Для получения списка групп карт необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/cardGroups
Для получения списка клиентов с постраничной информацией необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/cardGroups/bypage
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные групп карт | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные групп карт | |
page | integer | Номер страницы, данные с которого нужно отобразить | Не обязателен. По умолчанию 0 |
size | integer | Количество записей на каждой странице | Не обязателен. По умолчанию 100 |
name | string | Поиск по имени клиента | Не обязателен. По умолчанию не указано |
name_like | boolean | Поиск по частичному вхождению имени клиента (начинается с...) | Не обязателен. По умолчанию не указано |
[ { "idcardgroup": 1, "name": "Основные карты", "text": "1", "cardmode": 1, "prefixbeg": "1", "prefixend": "1", "lenbeg": 1, "lenend": 2, "regexpattern": "1", "inputmask": 1, "regexrule": "0", "valutCode": 1, "discounttype": 1, "discountvalue": 1, "bonususecase": 1, "showinfo": 1, "notaddemptycard": 1, "printinfo": 1 }, { "idcardgroup": 2, "name": "Дополнительные карты", "cardmode": 1, "regexpattern": "44[0-9]", "inputmask": 0 } ]
{ "content": [ { "idcardgroup": 1, "name": "Основные карты", "text": "1", "cardmode": 1, "prefixbeg": "1", "prefixend": "1", "lenbeg": 1, "lenend": 2, "regexpattern": "1", "inputmask": 1, "regexrule": "0", "valutCode": 1, "discounttype": 1, "discountvalue": 1, "bonususecase": 1, "showinfo": 1, "notaddemptycard": 1, "printinfo": 1 }, { "idcardgroup": 2, "name": "Дополнительные карты", "cardmode": 1, "regexpattern": "44[0-9]", "inputmask": 0 } ], "numberOfElements": 2, "totalElements": 2, "lastPage": true, "firstPage": true, "totalPages": 1, "size": 100, "number": 0 }
Сохранение данных о группе карт в БД КС
Для сохранения данных о группе карт необходимо направить запрос типа POST на URL:
http://<host>:<port>/CSrest/rest/dictionaries/cardGroups
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные групп карт | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные групп карт |
Тело запроса:
{ "idcardgroup": 2, "name": "VIP-карты", "cardmode": 1, "regexpattern": "44[0-9]", "inputmask": 0 }
Получение количества объектов (записей о группах карт) с КС
Для получения количества записей о группах карт необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/cardGroups/сount
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные групп карт | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные групп карт |
Удаление записи о группе карт
Для удаления записи о группе карт необходимо направить запрос типа DELETE на URL:
http://<host>:<port>/CSrest/rest/dictionaries/cardGroups/id/{id}
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
id | serializable | Идентификатор группы карт | Обязательное поле. По умолчанию не указан |
clusterId | string | Идентификатор кластера, с которого необходимо получить данные групп карт | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные групп карт |
Получение данных о группе карт по идентификатору
Для получения записи о группе карт необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/cardGroups/id/{id}
В URL запрос может быть добавлена часть exists
, которая будет проверять наличие запрашиваемых данных и возвращать true
либо false
. Если exists
не указан в запросе, то при отсутствии запрашиваемых данных будет выводиться ошибка.
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
id | serializable | Идентификатор группы карт | Обязательное поле. По умолчанию не указан |
clusterId | string | Идентификатор кластера, с которого необходимо получить данные групп карт | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные групп карт |
Получение списка карт с кассового сервера
Для получения списка карт необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/cards
Для получения списка карт с информацией о странице данных необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/cards/bypage
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные карт | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные карт | |
page | integer | Номер страницы, данные с которого нужно отобразить | Не обязателен. По умолчанию 0 |
size | integer | Количество записей на каждой странице | Не обязателен. По умолчанию 100 |
number | string | Поиск по номеру карты | Не обязателен. По умолчанию не указано |
number_like | boolean | Поиск по частичному вхождению номера клиента (начинается с...) | Не обязателен. По умолчанию не указано |
idcardgroup | integer | Фильтровать поиск по идентификатору группы карт | Не обязателен. По умолчанию не указано |
idclient | string | Фильтровать поиск по идентификатору клиента | Не обязателен. По умолчанию не указан |
[ { "idcard": "ff8081815b601935015b601e52ce0003", "idcardgroup": 1, "idclient": "ff8081815b601935015b601ede1e0004", "number": "250111", "blocked": 0 }, { "idcard": "ff8081815b601935015b601f96de0006", "idcardgroup": 1, "idclient": "ff8081815b601935015b601f52360005", "number": "250222", "blocked": 0 } ]
{ "content": [ { "idcard": "ff8081815b601935015b601e52ce0003", "idcardgroup": 1, "idclient": "ff8081815b601935015b601ede1e0004", "number": "250111", "blocked": 0 } ], "numberOfElements": 4, "totalElements": 4, "lastPage": true, "firstPage": true, "totalPages": 1, "size": 100, "number": 0 }
Сохранение данных о карте в БД КС
Для сохранения данных о карте необходимо направить запрос типа POST на URL:
http://<host>:<port>/CSrest/rest/dictionaries/cards
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные карт | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные карт |
Тело запроса:
{ "idcard": "ff8081815b601935015b601e52ce0003", "idcardgroup": 1, "idclient": "ff8081815b601935015b601ede1e0004", "number": "250111", "blocked": 0 }
Получение количества объектов (записей о картах) с КС
Для получения количества записей о картах необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/cards/count
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные карт | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные карт |
Удаление записи о карте
Для удаления записи о карте необходимо направить запрос типа DELETE на URL:
http://<host>:<port>/CSrest/rest/dictionaries/cards/id/{id}
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
id | serializable | Идентификатор карты | Обязательное поле. По умолчанию не указан |
clusterId | string | Идентификатор кластера, с которого необходимо получить данные карты | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные карты |
Получение данных о карте по идентификатору
Для получения записи о карте необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/cards/id/{id}
В URL запрос может быть добавлена часть exists
, которая будет проверять наличие запрашиваемых данных и возвращать true
либо false
. Если exists
не указан в запросе, то при отсутствии запрашиваемых данных будет выводиться ошибка.
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
id | serializable | Идентификатор карты | Обязательное поле. По умолчанию не указан |
clusterId | string | Идентификатор кластера, с которого необходимо получить данные карт | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные карт |
Получение списка групп сертификатов с кассового сервера
Для получения списка групп сертификатов необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/certificates
Для получения списка групп сертификатов с постраничной информацией необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/certificates/bypage
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные групп сертификатов | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные групп сертификатов | |
page | integer | Номер страницы, данные с которого нужно отобразить | Не обязателен. По умолчанию 0 |
size | integer | Количество записей на каждой странице | Не обязателен. По умолчанию 100 |
range | BigDecimal | Искать диапазон по значению | Не обязателен. По умолчанию не указан |
name | string | Искать по частичному вхождению названия (начинается с...) | Не обязателен. По умолчанию не указано |
При поиске диапазона по значению будет найден диапазон, содержащий указанное значение.
Например, при указании в поиске номера 151
будет найден диапазон от 100
до 200
.
[{ "code": "1", "rangefrom": 1, "rangeto": 10, "name": "Сертификаты", "sum": 300, "inputmask": 31 }]
{ "content": [ { "code": "1", "rangefrom": 1, "rangeto": 10, "name": "Сертификаты", "sum": 300, "inputmask": 31 }], "firstPage": true, "totalPages": 1, "numberOfElements": 1, "totalElements": 1, "lastPage": true, "size": 100, "number": 0 }
Получение количества объектов (групп сертификатов) с кассового сервера
Для получения количества записей о группах сертификатов необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/certificates/count
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные о группе сертификатов | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные о группе сертификатов |
Получение группы сертификатов по идентификатору
Для получения записи о группе сертификатов необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/certificates/id/{id}
В URL запрос может быть добавлена часть exists
, которая будет проверять наличие запрашиваемых данных и возвращать true
либо false
. Если exists
не указан в запросе, то при отсутствии запрашиваемых данных будет выводиться ошибка.
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
id | serializable | Идентификатор (код) группы сертификатов | Обязательное поле. По умолчанию не указан |
clusterId | string | Идентификатор кластера, с которого необходимо получить данные групп сертификатов | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные групп сертификатов |
{ "code": "1", "rangefrom": 1, "rangeto": 10, "name": "Сертификаты", "sum": 300, "inputmask": 31 }
Сохранение группы сертификатов в БД КС
Для сохранения данных о группе сертификатов необходимо направить запрос типа POST на URL:
http://<host>:<port>/CSrest/rest/dictionaries/certificates
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные групп сертификатов | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные групп сертификатов |
Тело запроса:
{ "code": "1", "rangefrom": 1, "rangeto": 10, "name": "Сертификаты", "sum": 300, "inputmask": 31 }
Удаление записи о группе сертификатов из БД КС
Для удаления записи о группе сертификатов необходимо направить запрос типа DELETE на URL:
http://<host>:<port>/CSrest/rest/dictionaries/certificates/id/{id}
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
id | serializable | Идентификатор группы сертификатов | Обязательное поле. По умолчанию не указан |
clusterId | string | Идентификатор кластера, с которого необходимо получить данные групп сертификатов | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные групп сертификатов |
Для получения истории изменений карт с кассового сервера без указания параметров пейджинации максимально первые 100 записей необходимо отправить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/cardChanged
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить историю изменений карт | Не обязателен. По умолчанию не указан. Если параметр не указан, то выполняется обращение к БД |
page | integer | Номер страницы данных, которую нужно отобразить | Не обязателен. По умолчанию 0 |
size | integer | Количество записей на каждой странице | Не обязателен. По умолчанию 100 |
idcardOLD | string | Поиск по старому идентификатору карты | Не обязателен. По умолчанию не указано |
idcardNEW | string | Поиск по новому идентификатору карты | Не обязателен. По умолчанию не указано |
userName | string | Поиск по имени пользователя, выполнившего операцию | Не обязателен. По умолчанию не указано |
operation | string | Поиск по операции | Не обязателен. По умолчанию не указано |
application | string | Поиск по приложению, из которого были внесены изменения | Не обязателен. По умолчанию не указано |
{ "id": 1, "operation": "insert", "application": null, "changedNEW": { "status": null, "multiplicatorend": null, "cardstatus": 0, "idcard": "3bae2896-0ec4-42ac-8111-f8884ab5308a", "number": "123456", "idclient": "e2cd6fa:15b1db79910:-7ffc", "pincode": "", "accountNumber": null, "lastKnownBonusBalance": 0, "validitydatebeg": null, "lastKnownBonusBalanceDate": null, "idcardgroup": null, "validitydateend": null, "cardSum": 0, "blocked": null, "multiplicatorcurrent": 0, "multiplicator": 0, "multiplicatorbeg": null }, "changedOLD": { "status": null, "multiplicatorend": null, "cardstatus": 0, "idcard": null, "number": null, "idclient": null, "pincode": null, "accountNumber": null, "lastKnownBonusBalance": null, "validitydatebeg": null, "lastKnownBonusBalanceDate": null, "idcardgroup": null, "validitydateend": null, "cardSum": null, "blocked": 0, "multiplicatorcurrent": null, "multiplicator": null, "multiplicatorbeg": null }, "userName": null, "date": "2017-03-30T05:45:27.000+0000" }
Для получения истории изменений клиентов с кассового сервера без указания параметров пейджинации максимально первые 100 записей необходимо отправить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/clientChanged
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить историю изменений клиентов | Не обязателен. По умолчанию не указан. Если параметр не указан, то выполняется обращение к БД |
page | integer | Номер страницы данных, которую нужно отобразить | Не обязателен. По умолчанию 0 |
size | integer | Количество записей на каждой странице | Не обязателен. По умолчанию 100 |
idclientOLD | string | Поиск по старому идентификатору клиента | Не обязателен. По умолчанию не указано |
idclientNEW | string | Поиск по новому идентификатору клиента | Не обязателен. По умолчанию не указано |
userName | string | Поиск по имени пользователя, выполнившего операцию | Не обязателен. По умолчанию не указано |
operation | string | Поиск по операции | Не обязателен. По умолчанию не указано |
application | string | Поиск по приложению, из которого были внесены изменения | Не обязателен. По умолчанию не указано |
{ "id": 1, "operation": "insert", "application": null, "changedNEW": { "specialdate3name": "", "birthday": "1982-02-05", "sex": 0, "okpd": "", "userid": null, "idclient": "e2cd6fa:15b1db79910:-8000", "codeword": "", "okpo": "", "document": "", "specialdate3": null, "specialdate2": null, "specialdate1": null, "name": "Семён Семёнович Горбунков", "inn": "", "phonenumber": "79031234567", "text": "", "occupation": "", "zipcode": "", "childrencount": null, "specialdate1name": "", "extendedoptions": "", "address": "", "email": "", "webpage": "", "specialdate2name": "" }, "changedOLD": { "specialdate3name": null, "birthday": null, "sex": null, "okpd": null, "userid": null, "idclient": null, "codeword": null, "okpo": null, "document": null, "specialdate3": null, "specialdate2": null, "specialdate1": null, "name": null, "inn": null, "phonenumber": null, "text": null, "occupation": null, "zipcode": null, "childrencount": null, "specialdate1name": null, "extendedoptions": null, "address": null, "email": null, "webpage": null, "specialdate2name": null }, "userName": null, "date": "2017-03-30T05:37:03.000+0000" }
Получение списка каталогов товаров
Для получения списка каталогов товаров необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/inventcatalogs
Для получения списка каталогов товаров с информацией о странице данных необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/inventcatalogs/bypage
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные каталогов товаров | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные каталогов товаров | |
page | integer | Номер страницы, данные с которого нужно отобразить | Не обязателен. По умолчанию 0 |
size | integer | Количество записей на каждой странице | Не обязателен. По умолчанию 100 |
[ { "pk": { "tmccode":"\"1\"", "catalogid":"144622214" }, "tmcprice":41.11 } ]
{"content": [ { "pk": { "tmccode":"\"1\"", "catalogid":"144622214" }, "tmcprice":41.11 } ], "firstPage":true, "totalPages":359, "numberOfElements":100, "totalElements":35801, "lastPage":false, "size":100, "number":0 }
Сохранение данных о каталоге товаров в БД КС
Для сохранения данных о каталоге товаров необходимо направить запрос типа POST на URL:
http://<host>:<port>/CSrest/rest/dictionaries/inventcatalogs
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные каталогов товаров | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные каталогов товаров |
{ "pk": { "tmccode":"\"1\"", "catalogid":"144622214" }, "tmcprice":41.11 }
Получение количества объектов (записей о каталогах товаров) с КС
Для получения количества записей о каталогах товаров необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/inventscatalogs/count
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные каталогов товаров | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные каталогов товаров |
Удаление записи о каталоге товаров
Для удаления записи о каталоге товаров необходимо направить запрос типа DELETE на URL:
http://<host>:<port>/CSrest/rest/dictionaries/inventcatalogs/catalogid/{catalogid}/tmccode/{tmccode}
Где catalogid
– идентификатор каталога товаров, tmccode
– код товара.
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные каталогов товаров | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные каталогов товаров |
Получение данных о каталоге товаров
Для получения записи о каталоге товаров необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/dictionaries/inventcatalogs/catalogid/{catalogid}/tmccode/{tmccode}
Где catalogid
– идентификатор каталога товаров, tmccode
– код товара.
В URL запрос может быть добавлена часть exists
, которая будет проверять наличие запрашиваемых данных и возвращать true
либо false
. Если exists
не указан в запросе, то при отсутствии запрашиваемых данных будет выводиться ошибка.
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные каталогов товаров | Не обязателен. По умолчанию не указан. Если не указан ни один из параметров, то выполняется обращение к БД |
shopid | string | Идентификатор магазина, с которого необходимо получить данные каталогов товаров |
Получение схемы лояльности
Для получения системы лояльности необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/systemLoyalty
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные каталогов товаров | Не обязателен. По умолчанию не указан. Если параметр не указан, то выполняется обращение к БД |
{"discountSystem":"","bonusEarnSystem":"","bonusLimitSystem":"","bonusPeriodicSystem":""}
Запись схемы лояльности
Для записи системы лояльности необходимо направить запрос типа PUT
на url
:
http://<host>:<port>/CSrest/rest/systemLoyalty
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные каталогов товаров | Не обязателен. По умолчанию не указан. Если параметр не указан, то выполняется обращение к БД |
Получение дисконтной системы
Для получения дисконтной системы необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/discount
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные каталогов товаров | Не обязателен. По умолчанию не указан. Если параметр не указан, то выполняется обращение к БД |
Запись дисконтной системы
Для записи дисконтной системы необходимо направить запрос типа PUT на URL:
http://<host>:<port>/CSrest/rest/discount
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные каталогов товаров | Не обязателен. По умолчанию не указан. Если параметр не указан, то выполняется обращение к БД |
Удаление дисконтной системы
Для удаления дисконтной системы необходимо направить запрос типа DELETE на URL:
http://<host>:<port>/CSrest/rest/discount
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные каталогов товаров | Не обязателен. По умолчанию не указан. Если параметр не указан, то выполняется обращение к БД |
Получение системы начисления бонусов
Для получения системы начисления бонусов необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/bonusEarn
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные каталогов товаров | Не обязателен. По умолчанию не указан. Если параметр не указан, то выполняется обращение к БД |
Запись системы начисления бонусов
Для записи системы начисления бонусов необходимо направить запрос типа PUT на URL:
http://<host>:<port>/CSrest/rest/bonusEarn
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные каталогов товаров | Не обязателен. По умолчанию не указан. Если параметр не указан, то выполняется обращение к БД |
Удаление системы начисления бонусов
Для удаления системы начисления бонусов необходимо направить запрос типа DELETE на URL:
http://<host>:<port>/CSrest/rest/bonusEarn
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные каталогов товаров | Не обязателен. По умолчанию не указан. Если параметр не указан, то выполняется обращение к БД |
Получение системы списания бонусов
Для получения системы списания бонусов необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/bonusLimit
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные каталогов товаров | Не обязателен. По умолчанию не указан. Если параметр не указан, то выполняется обращение к БД |
Запись системы списания бонусов
Для записи системы списания бонусов необходимо направить запрос типа PUT на URL:
http://<host>:<port>/CSrest/rest/bonusLimit
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные каталогов товаров | Не обязателен. По умолчанию не указан. Если параметр не указан, то выполняется обращение к БД |
Удаление системы списания бонусов
Для удаления системы списания бонусов необходимо направить запрос типа DELETE
на URL:
http://<host>:<port>/CSrest/rest/bonusLimit
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные каталогов товаров | Не обязателен. По умолчанию не указан. Если параметр не указан, то выполняется обращение к БД |
Получение системы периодического начисления бонусов
Для получения системы периодического начисления бонусов необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/bonusPeriodic
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные каталогов товаров | Не обязателен. По умолчанию не указан. Если параметр не указан, то выполняется обращение к БД |
Запись системы периодического начисления бонусов
Для записи системы периодического начисления бонусов необходимо направить запрос типа PUT на URL:
http://<host>:<port>/CSrest/rest/bonusPeriodic
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные каталогов товаров | Не обязателен. По умолчанию не указан. Если параметр не указан, то выполняется обращение к БД |
Удаление системы периодического начисления бонусов
Для удаления системы периодического начисления бонусов необходимо направить запрос типа DELETE на URL:
http://<host>:<port>/CSrest/rest/bonusPeriodic
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные каталогов товаров | Не обязателен. По умолчанию не указан. Если параметр не указан, то выполняется обращение к БД |
Получение списка документов для возврата товара на другой кассе
Для получения списка документа-основания и всех документов возврата, которые были по нему выполнены, необходимо выполнить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/sales/document/{identifier}/withreturned
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
shopId | string | Идентификатор магазина, с которого необходимо получить данные | По умолчанию All |
clusterId | string | Идентификатор кластера, с которого необходимо получить данные | |
idType | string | Тип идентификатора, по которому будет выполняться поиск документа | При значении "1" – поиск в документах будет выполняться по полю При значении "-1" – поиск в документах будет выполняться по полю При значении "0" или если значение не указано, то поиск будет выполняться по полю При значении "2" – поиск будет выполнятся по номеру карты клиента, поле number в таблице При значении "2" – поиск будет выполнятся по номеру карты клиента, поле number в таблице |
{"mainDocuments": [<массив документов, найденных по указанному идентификатору>], "returnedDocuments": [<массив документов возврата, связанных с документами mainDocuments>]}
Получение персональной цены для клиента
Для получения персональной цены для клиента по номеру карты, коду товара и коду магазина необходимо отправить запрос типа GET на URL:
http://<host>:<port>/personal_discount/v1/personal_price?cardNumber={cardNumber}&inventCode={inventCode}&shopCode={shopCode}
Дублирование цен для связки номера карты, кода товара и кода магазина исключено.
Хост и порт сервиса персональных скидок могут отличаться от адреса кассового сервера. На сервисе персональных скидок включена bacis
авторизация.
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
cardNumber | string | Номер карты | |
inventCode | string | Код товара | |
shopCode | string | Код магазина |
В результате запроса возвращается персональная цена товара.
Получение списка пользователей
Для получения списка пользователей необходимо отправить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/users
[{"userId":"1","password":"2","rights": { "cashAdministration":true, "userAdministration":true, "bonusAdministration":false, "bonusView":false, "manageLoyalty":true, "commitLoyalty":true, "discountsView":false, "accruedOfBonusesView":false, "cancellationOfBonusesView":false, "advertisingView":false, "cardsView":false, "certificatesView":false, "administrationView":false, "manageScripts":false, "summaryTableView":false, "cardManagement":false, "viewCard":false, "clientManagement":false, "viewClient":false, "cardGroupManagement":false, "viewCardGroup":false, "seniorOperatorKTS":false, "operatorKTS":false, "loyaltyOperator":false, "system":false, "bonusEditor":false, "viewBonus":false, "viewCoupons":false, "viewPeriodicChargingOfBonuses":false }}]
Попытка авторизоваться под пользователем
Для того чтобы авторизоваться под пользователем необходимо отправить запрос типа POST на URL:
http://<host>:<port>/CSrest/rest/login
{ "userId": "admin", "password": "admin" }
Добавление пользователя
Для того чтобы добавить нового пользователя необходимо отправить запрос типа POST на URL:
http://<host>:<port>/CSrest/rest/users
{ "userId": "admin34", "password": "admin34", "rights": { "cashAdministration": true, "userAdministration": true, "bonusAdministration": true, "bonusView": true, "manageLoyalty": true, "commitLoyalty": false, "discountsView": false, "accruedOfBonusesView": false, "cancellationOfBonusesView": false, "advertisingView": false, "cardsView": false, "certificatesView": false, "administrationView": false, "manageScripts": false, "summaryTableView": false, "cardManagement": false, "viewCard": false, "clientManagement": false, "viewClient": false, "cardGroupManagement": false, "viewCardGroup": false, "seniorOperatorKTS": false, "operatorKTS": false, "loyaltyOperator": false, "system": false, "bonusEditor": false, "viewBonus": false, "viewCoupons": false, "viewPeriodicChargingOfBonuses": false } }
Получение данных о пользователе
Для получения данных о пользователе необходимо направить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/users/{userId:.+}
Редактирование данных пользователя
Для редактирования данных пользователя необходимо направить запрос типа PUT на URL:
http://<host>:<port>/CSrest/rest/users/{userId:.+}
Удаление пользователя
Для удаления пользователя необходимо направить запрос типа DELETE на url:
http://<host>:<port>/CSrest/rest/users/{userId:.+}
Получение количества пользователей
Для получения количества пользователей необходимо отправить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/webUsers/count
Определение наличия пользователя с заданным именем
Для того чтобы определить есть ли пользователь с таким именем необходимо отправить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/webUsers/{name:.+}/exists
Если пользователь с таким именем найден, то вернется ответ true
, в противном случае false
.
Получение списка пользователей
Для получения списка пользователей необходимо отправить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/webUsers
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
withoutSecurityRole | boolean | Не показывать SecurityRole | Не обязателен. По умолчанию true |
page | integer | Номер страницы с данными, которую нужно отобразить | Не обязателен. По умолчанию не указано |
size | integer | Количество записей на каждой странице | Не обязателен. По умолчанию не указано |
Добавление пользователя
Для добавления пользователя необходимо отправить запрос типа POST на URL:
http://<host>:<port>/CSrest/rest/webUsers
Получение данных о пользователе
Для получения данных о пользователе по имени необходимо отправить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/webUsers/{name:.+}
Для получения данных о пользователе по имени и паролю необходимо отправить запрос типа GET на URL:
http://<host>:<port>/CSrest/rest/webUsers/{name:.+}/{password:.+}
Обновление пользователя
Для обновления данных пользователя необходимо отправить запрос типа PUT на URL:
http://<host>:<port>/CSrest/rest/webUsers/{name:.+}
Удаление пользователя
Для удаления данных о пользователе необходимо отправить запрос типа DELETE на URL:
http://<host>:<port>/CSrest/rest/webUsers/{name:.+}
Получение номера УПД (счет-фактуры)
Для получения номера счет-фактуры необходимо направить запрос типа POST на url
:
http://<host>:<port>/CSrest/rest/waybillNumbers/next
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные | |
shopcode | string | Код магазина, в котором будет выдан УПД (счет-фактура) | Не обязательный |
cashcode | integer | Код кассы, на которой будет выдан УПД (счет-фактура) | Не обязательный |
shiftnum | integer | Номер смены | Не обязательный |
checknum | integer | Номер чека | Не обязательный |
documentid | integer | Идентификатор чека | Не обязательный |
{ "waybillNumber": "1/2325" }
Изменение статуса УПД (счет-фактуры)
Для изменения статуса УПД (обозначения выдачи УПД на кассе) необходимо направить запрос типа PUT на URL:
http://<host>:<port>/CSrest/rest/waybillNumbers/confirm
Параметры запроса:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
clusterId | string | Идентификатор кластера, с которого необходимо получить данные |
{ "waybillNumber": "1/2325" }
- No labels