Оглавление
| ОГЛАВЛЕНИЕ ––––––––––––––––––––––––––––––––––––––––– | стр. |
|---|---|
| - Введение | 4 |
| - Сфера применения | 5 |
| - Установка, обслуживание, аварийные ситуации | 7 |
| - Личный кабинет | 8 |
| - Валюта кассовых операций | 9 |
| - Способы оплаты | 10 |
| - Взаимодействие с ПК | 11 |
| - Описание полей пакета ответа от ПК | 12 |
| - Описание полей исходящий пакетов | 13 |
| - Описание стандартного интерфейса (GUI) | 14 |
| - Инициализация ПК и СКО | 16 |
| - Отправка документов из СКО на сервера ОПКС | 17 |
| - Правила округления | 18 |
| - Работа с принтером | 19 |
| - Последовательность вычислений | 21 |
| - Передача документа в электронном виде | 22 |
| - Ограничения и проверки | 23 |
| - Ошибки | 24 |
| - Заголовки | 25 |
| - Запрос в принтер | 26 |
| - Получение СКО | 27 |
| - Получение СКО по серийному номеру | 29 |
| - Получение наличных в СКО | 31 |
| - Получение номера следующего док-а | 33 |
| - Получение кол-ва неотправленных док-ов | 34 |
| - Получение последнего неотправленного док-а | 35 |
| - Состояние СКО | 36 |
| - Накопленный оборот | 38 |
| - Статус СКО | 39 |
| - Печать копии ранее фискализированного документа | 40 |
| - Авторизация | 41 |
| - Выход | 42 |
| - Открытие смены | 43 |
| - Получение Х отчёта | 45 |
| - Печать Х отчёта | 46 |
| - Закрытие смены | 47 |
| - Внесение | 50 |
| - Изъятие | 51 |
| - Выдача | 52 |
| - Сохранение товара | 53 |
| - Удаление товаров | 55 |
| - Получение товара | 56 |
| - Получение известных идентификаторов товаров | 58 |
| - Регистрация продажи | 59 |
| - Регистрация продажи (внутр. БД ч товаров) | 63 |
| - Регистрация продажи (КСО) | 66 |
| - Создание/редактирование заказа | 67 |
| - Получение информации по всем заказам | 71 |
| - Получение информации по id заказа | 72 |
| - Отмена заказа | 73 |
| - Печать счета | 74 |
| - Оплата заказа | 75 |
| - Возврат | 77 |
| - Возврат (внутр.БД товаров) | 80 |
| - Аннулирование | 83 |
| - Результат выполнения фискальной операции | 84 |
| - Результат выполнения X/Z-Отчёт | 85 |
Введение
Настоящее руководство на программное обеспечение, входящее в состав Программной Кассы «ПК IKASSA multi (Dusik_r)» (Далее - ПК). Руководство предоставляется пользователям ПК в Личном кабинете пользователя, либо на бумажном носителе. Данное руководство может дополняться и изменяться. Информация об изменении руководства пользователя может быть предоставлена на сайте ikassa.by, в личном кабинете пользователя, либо уведомлением на email адрес пользователя. Данное руководство содержит информацию о функциях и принципах работы ПК. Описание программного интерфейса (API) для взаимодействия с ПК. Описание стандартного интерфейса, поставляемого с ПК. Данная ПК устанавливается на устройство пользователей только специалистами ООО “АЙЭМЛЭБ”. ПК может быть установлена на любое устройство, совместимое с ОС Windows 7 и выше и Unix-подобные ОС, например - Linux, MacOS. Минимальные требования, предъявляемые к устройствам для установки ПК:
- процессор с частотой не менее 600 Ghz
- оперативная память не менее 64 мб
- жесткий диск не менее 10 Гб
Важно!
- Операции
ОтменаиКоррекцияне реализованы. - При проведении фискальных операций и формировании X и Z-отчетов информация об операциях совершенных иным способом безналичного расчета отображается как
Др. способыс указанием названия соответствующего способа совершения операции (при указании).
Протокол взаимодействия ПК IKASSA multi(Dusik-r) v. 2.1.0 со сферой для использования на автозаправочных станциях при продаже нефтепродуктов, сжиженных углеводородных газов функционирует с ПО «Оператор», входящим в ППП «Система автоматизации АЗС», под управлением ОС Windows и обеспечивает возможность интеграции с другими поставщиками ПО для АЗС посредством открытого интерфейса программирования приложений. ПО «Оператор» предназначено для автоматизации рабочего места оператора (кассира), выполняющего операции по продаже нефтепродуктов (топлива, сжиженного углеводородного газа, сжатого компримированного газа), сопутствующих товаров и услуг, оказываемых на АЗС за наличный расчет, за безналичный расчет с использованием банковских платежных карточек, за безналичный расчет иными способами, смешанным (комбинированным) способом расчета одновременно. ПО «Оператор» входит в состав ППП «Система автоматизации АЗС» и при работе в составе автоматизированной информационной системы управления технологическим процессом отпуска нефтепродуктов «БЕРЛИО».
Описание работы со сферой применения на АЗС содержится в документе Пакет прикладных программ «Система автоматизации АЗС» Программное обеспечение «Касса самообслуживания» и Пакет прикладных программ «Система автоматизации АЗС» Руководство оператора (сокращенная версия). ПК IKASSA multi(Dusik-r) v. 2.1.0 применяемая на автозаправочных станциях при продаже нефтепродуктов, сжиженных углеводородных газов, обеспечивает учет средств платежа и оформление платежного документа в едином цикле с отпуском нефтепродуктов, сжиженных углеводородных газов.
Протокол взаимодействия ПК IKASSA multi(Dusik-r) v. 2.1.0 в режиме магазина беспошлинной торговли (МБТ) функционирует с ППП «PowerPOS» под управлением ОС Windows и обеспечивает возможность интеграции с другими поставщиками ПО для МБТ посредством открытого интерфейса программирования приложений. ПО «PowerPOS» предназначено для автоматизации рабочего места оператора (кассира), выполняющего операции по продаже в местах розничной торговли (магазинах, супермаркетах, магазинах беспошлинной торговли). Описание работы в режиме МБТ содержится в документе Пакет прикладных программ «PowerPOS» Руководство оператора. Интеграция с ПК разработана ООО «Астрон ЛТД».
ПК IKASSA multi(Dusik-r) v. 2.1.0 при работе в сфере общественного питания (обслуживание потребителя официантами (барменами) за столиком с формированием счета и передачей его потребителю) взаимодействует в едином цикле с СКО при выполнении функций программной кассы, а также обеспечивает учет денежных средств и оформление счета, платежного документа в едином цикле с заказом и отпуском блюд (товаров, услуг).
Сфера применения
-
Сфера торговли*:
- обеспечивается дифференцированный учет данных о товарах;
- обеспечивается реализация товаров, подлежащих маркировке;
-
Дополнительных операций:
- возврат НДС;
- выдача наличных денежных средств держателям банковских платежных карточек;
- прием платежей в адрес третьих лиц.
-
Сфера общественного питания*:
- обеспечивается обслуживание потребителя официантами (барменами) за столиком с формированием счета и передачей его потребителю;
- обеспечивается дифференцированный учет данных о товарах;
- обеспечивается реализация товаров, подлежащих маркировке.
-
Дополнительных операций:
- возврат НДС;
- выдача наличных денежных средств держателям банковских платежных карточек;
- прием платежей в адрес третьих лиц.
-
Сфера услуг (кроме автомобильных перевозок пассажиров**)*.
-
Дополнительных операций:
- возврат НДС;
- выдача наличных денежных средств держателям банковских платежных карточек;
- прием платежей в адрес третьих лиц.
-
Сфера для использования на автозаправочных станциях при продаже нефтепродуктов, сжиженных углеводородных газов с использованием ППП «Система автоматизации АЗС»*:
- обеспечивается продажа нефтепродуктов;
- обеспечивается продажа сжиженных углеводородных газов;
- обеспечивается дифференцированный учет данных о товарах;
- обеспечивается реализация товаров, подлежащих маркировке;
-
Дополнительных операций:
- возврат НДС;
- выдача наличных денежных средств держателям банковских платежных карточек;
-
Сфера самообслуживания*:
- обеспечивается дифференцированный учет данных о товарах;
- обеспечивается реализация товаров, подлежащих маркировке;
-
Дополнительных операций:
- возврат НДС;
- прием платежей в адрес третьих лиц.
*За исключением случаев, когда в этих сферах в соответствии с законодательством для приема платежа используются специальные компьютерные системы.
**Под автомобильными перевозками пассажиров понимаются услуги автомобильных перевозок пассажиров в регулярном сообщении и автомобильных перевозок пассажиров автомобилями-такси.
Установка, обслуживание, аварийные ситуации
Установка, наладка, обслуживание программной кассы производится сотрудниками ООО “АЙЭМЛЭБ” или автиризированными партнерами при наличии сертификата авторизации, выданного ООО “АЙЭМЛЭБ”. Программное обеспечение программной кассы «ПК IKASSA multi (Dusik_r)», размещаемой на электронных (мобильных) устройствах пользователей программных касс, обеспечивает работу в климатических условиях при температуре окружающей среды в помещении от плюс 5 до плюс 35 градусов Цельсия, а при условии использования программной кассы на открытом воздухе - от минус 10 до плюс 35 градусов Цельсия.
Программная касса автоматически блокируется при:
- отсутствии или неисправности памяти средства контроля оператора;
- непередаче в центр обработки данных оператора программной кассовой системы кассовых документов, навигационных данных, иных данных и информации о событиях, совершаемых на программных кассах, сформированных в течение смены, более семи суток (при работе программной кассы на электронном устройстве пользователя программной кассы);
- времени работы программной кассы с открытой сменой более двадцати четырех часов;
- завершении срока действия ТСОК;
- отзыве заключения о соответствии оператора программной кассовой системы и (или) программной кассовой системы и (или) программной кассы предъявляемым требованиям;
- передаче из центра обработки данных оператора программной кассовой системы по результатам запроса центра обработки данных СККО команды о блокировке работы программной кассы;
- получении отрицательного итогового значения в платежном документе;
- выполнении кассовых операций регистрации изъятия наличных денежных средств, регистрации возврата средств платежа, регистрации изъятия для выдачи наличных денежных средств держателям банковских платежных карточек на сумму большую, чем сумма наличных денежных средств согласно информации денежных счетчиков;
- попытке реализации товаров, подлежащих маркировке, с указанием количества товара более единицы. Возобновление работы программной кассы после ее блокировки, осуществляется оператором программной кассовой системы после устранения обстоятельств, повлекших блокировку работы программной кассы.
Контакты оператора для обращений в случае возникновения аварийных ситуаций:
Техническая поддержка почта: [email protected] телефон: 213
Личный кабинет iKassa (ЛК)
Ссылки на вход в ЛК:
- my.ikassa.by - прод
- my.test.imlab.by - тест
- my.stage.imlab.by - РУП
Получение доступов к ЛК субъекта хозяйствования:
- Отправьте запрос в произвольной форме на почтовый [email protected], в запросе указать:
- email для регистрации
- УНП организации
- контакный номер (мобильный)
- На почтовый ящик указанный в письме будет выслана ссылка для регистрации
- Перейти по ссылке
- Придумать пароль для входа
- Ввести телефон указанный при регистрации
- Нажать «Зарегистрироваться»
- Произойдет редирект на страницу выбора продуктов
- Выбрать
Личный кабинет
- Выбрать
- Произойдет вход в ЛК
Двухфакторая аутентификация
- При повтороном входе в Личный кабинет iKassa второй фактор высылается на указанную при регистрации почту.
Валюта кассовых операций
В ПК, для совершения операций, доступны к использованию следующие валюты:
BYNUSDRUBEUR
Способы оплаты
В соответствии с требованиями, предъявляемыми к ПК, реализованы следующие способы оплаты в ПК:
- Наличные
- Безналичные
- Другие способы оплаты
При запросе на фискализацию чека есть возможность указать подтипы других способов оплаты.
Взаимодействие с ПК
Данная версия ПК поставляется вместе со стандартным интерфейсом (далее - GUI) для отслеживания структуры пакетных данных.
ПК подразумевает взаимодействие с использованием протоколов, построенных поверх TCP/IP (например - HTTP), либо использование тестового GUI, который реализует весь функционал ПК на основе протокола взаимодействия.
При взаимодействии с ПК максимально доступное количество одновременных активных сессий ограничено одним соединением (один интерфейс - одна ПК).
ПК в режиме самообслуживания взаимодействует только с интерфейсами интегрированными через АПИ согласно Руководства Программиста.
ПК самообслуживания обеспечивает выполнение работником продавца (исполнителя) кассовых операций формирования:
Открытие сменыХ-отчетаАннулированиеЗакрытие сменыформированияZ-отчета
ПК самообслуживания обеспечивает выполнение покупателем кассовых операций формирования:
Продажа(не поддерживает кассовые операции регистрации продажи за наличный расчет).
Описание полей пакета ответа от ПК
Структура ответа от ПК представляет из себя JSON, со следующими полями
| Название | Описание | Обязательность |
|---|---|---|
| type | Поле type служит для объявления типа передаваемого сообщения. Список поддерживаемых сообщений со временем может расширяться. | + |
| data | Поле data содержит тело запроса. Тело запроса меняется в зависимости от обслуживающего сервиса, а так же исполняемой функции. | - |
Описание полей исходящий пакетов
Исходящий пакет представляет из себя набор JSON полей:
| Название | Описание | Обязательность |
|---|---|---|
| type | Поле type служит для объявления типа передаваемого сообщения. Список поддерживаемых сообщений со временем может расширяться. | + |
| address | Данное поле требуется для идентификации сервиса (dispatcher), который будет обслуживать данное сообщение | + |
| data | Поле data содержит тело запроса. Тело запроса меняется в зависимости от обслуживающего сервиса, а так же исполняемой функции. | - |
| headers | Поле headers содержит в себе дополнительную информацию, которая требуется для выполнения операции. | - |
| headers.action | Поле headers обязано содержать поле action, в котором содержится название выполняемого метода в рамках сервиса. | + |
Описание стандартного интерфейса (GUI)

- Описание команд, которые доступны для работы с ПК
- Адрес, который используется для совершения данной команды
- Набор полей, требуемых для передачи в ПК.
Каждое поле имеет русское название поля, а также наименование поля, передаваемого в пакете (серый текст в круглых скобках). Описание каждого поля имеется в Руководстве пользователя ПК в соответствии с английскими наименованиями.
- 3.1 Блок заголовков. Рядом с каждым заголовком присутствует кнопка которая позволяет “Удалить” \ “Добавить” заголовок в итоговый запрос. Наличие заголовка в запросе можно проверить в блоке 4.
- 3.2 Блок тела запроса и комментариев. Комментарии пол умолчанию отключены, для запросов, в которых они поддерживаются - имеется возможность включить их, нажав на кнопку “Включить комментарии”
- Структура пакета для запроса в ПК. Структура запроса заполняется параллельно с заполнением полей из пункта 3 и полностью соответствует посылаемым данным.
- Ответ от ПК полученный в ответ на запрос.
- Кнопка для отправки пакета в ПК и получения ответа.
Инициализация ПК и СКО
ПК осуществляет опрос СКО, подключенного к ПК, по запросу. При безошибочном взаимодействии с СКО ПК проверяет список атрибутов СКО и сверяет их на соответствие Кода Оператора (далее - КО), и Учетного Номера Плательщика (далее - УНП). В случае несоответствия, СКО помечается, как недоступное, и отправляется событие на сервер ОПКС о несоответствии лицензии подключенному СКО.
ПК поддерживает постоянное подключение к серверам ОПКС.
Отправка документов из СКО на сервера ОПКС
После успешной авторизации по PIN-коду начинается отправка документов из ПК на сервера ОПКС.
Документы извлекаются из СКО последовательно, начиная с самого старого и удаляются из СКО при успешном сохранении на сервер ОПКС по 1 штуке за раз.
Извлечение документов происходит раз в 3 секунды для обеспечения стабильной и быстрой работы с СКО при совершении параллельных отправке документов запросов.
Правила округления
Все значения, имеющий тип Sum и требующие округления, округляются в 2 этапа:
- Округление до 3 знаков в сторону 0 (было:
1.2356, стало:1.235) - Округление до 2 знаков, по правилам математики
- Пример 1. было:
1.235, стало:1.24 - Пример 2. было:
1.234, стало:1.23
- Пример 1. было:
Работа с принтером
Для использования принтера требуется передать наборы заголовков, в зависимости от желаемого способа использования принтера.
Общее
Печать осуществляется путем построчного формирования для последующей печати, добавлением стилей, преобразованием в набор EscPos команд и отправкой на принтер данных.
Т.к. позиционирование построчное и основано на максимальном кол-ве символов в строке, имеется возможность передать кол-во символов для правильного формирования чека под конкретные размеры путем передачи заголовка printer.spl. Значение по умолчанию для данного заголовка - 48
Процесс вывода на печать выглядит следующим образом:
- Осуществляется подключение к печатающему устройству
- Совершается запрашиваемая операция
- Осуществляется вывод на печать сформированных данных
В случае возникновения ошибки на последнем этапе (вывод на печать), возвращается ошибка со всеми данными по совершенной операцией в поле op_data структуры.
Все данные передаются в кодировке CP866 и для корректного отображения данных на бумажном чеке, требуется, чтобы в принтере кодировкой по умолчанию была установлена кодировка CP866, либо требуется передача заголовка printer.cp866
Принтер выбирается на основе printer.* заголовков в следующей приоритетности:
USBDummy
Если заголовки первого принтера не были найдены - будет попытка найти следующий принтер. Dummy принтер всегда имеет низший приоритет.
USB-принтер
Для работы с USB принтером требуется передача двух заголовков:
- printer.usb.vendor - строковое представление vendorId устройства
- printer.usb.product - строковое представление productId устройства
Перед любой операцией печати с использованием USB принтера, программная касса “забирает” контроль над USB устройством. В случае, если программной кассе не удалось этого сделать, будет возвращена ошибка с префиксом USB_
В случае, если требуется вывести какую-то информацию на принтер до или после печати - USB устройство доступно для подключения соответственно ДО выполняемой операции и после ее завершения
Dummy-принтер
Данный тип принтера не выводит ничего на печать. Для задействования требуется передача заголовка printer.dummy с любым значением
Последовательность вычислений
При совершении операций, где входными данными являются стоимость за единицу, кол-во, скидка и прочие, формула выглядит следующим образом: ОКР(ЦЕНА * КОЛИЧЕСТВО)-СКИДКА Где:
- ОКР - функция округления числа по правилам округления;
- ЦЕНА - цена за единицу товарной позиции;
- КОЛИЧЕСТВО - количество товарной позиции;
- СКИДКА - скидка по товарной позиции.
Передача документа в электронном виде
Передача документа в электронном виде осуществляется посредством получения документа по адресу:
receipts.cloud.ikassa.by/render/[УИ]?spl=32- продreceipts.cloud.test.imlab.by/render/[УИ]?spl=32- тестreceipts.cloud.stage.imlab.by/render/[УИ]?spl=32- РУП
Описание полей:
- [УИ] - передается УИ документа
- spl=? - указывается количество символов в строке
Дальнейшая передача документа клиенту осуществляется в зависимости от технического решения пользователя кассы.
Ограничения и проверки
- Смена не может быть открыта более 24 часов.
- В случае, если смена открыта более 24 часов, требуется совершение изъятия на полную сумму (не требуется, если наличных в кассе - 0) с последующим закрытием смены.
- Кол-во одновременно хранимых документов в СКО напрямую зависит от их размера (количества позиций и наличия маркированных товаров). При превышении лимита требуется передача документов на сервер ОПКС. Возможность фискализации документов будет заблокирована до момента освобождения достаточного кол-ва свободного места для нового документа.
- СКО может работать в режиме без доступа к Internet (off-line) не более 7 дней подряд. По истечении 7 дней работа СКО блокируется и требуется отправка неотправленных документов на сервера ОПКС.
- Проверка суммы:
- имеет не более
2знаков после запятой - является положительным числом
- не превышает максимального значения
- имеет не более
- Проверка имени кассира:
- Длина поля не равна
0 - Длина поля не превышает
20символов - Не может быть пустым
- Длина поля не равна
- Проверка скидки и надавки тов. позиции:
- имеет не более
2знаков после запятой
- имеет не более
- Проверка наименования тов. позиции:
- Длина не равна 0
- Длина не превышает 128 символов
- Проверка способов оплат и сдачи:
наличными + карта + другиебольше, либо равно суммеК оплатепо чекукарта + другиеменьше, либо равно суммеК оплатепо чекукарта + другиеравно суммеК оплатепо чеку и сумма оплат наличными равна0. Обьяснение: если сумма наличных и безналичных платежей равна требуемой сумме к оплате, то нет возможности дать сдачу, а значит сумма наличных должна быть равна 0.change(сдача) должна быть больше либо равна0
- Для совершения фискальных операций требуется:
- Авторизация в СКО
- Открытая смена (менее 24 часов).
- по истечению 24 часов открытой смены доступны операции: X-отчет, Изъятие и Закрытие смены
Описание возможных ошибок
Для идентификации ошибки требуется ориентироваться на поле name, т.к. оно является гарантированно уникальным в рамках протокола.
Стоит так же отметить, что список данных ошибок может дополняться и требуется предусмотреть обработку неизвестных ошибок, а так же часть ошибок могут быть никогда не переданы на клиентскую часть и обработаны в рамках логики работы сервиса.
Так же, текстовое описание ошибок description может меняться/дополняться в рамках работы сервиса и, как следствие, полагаться на него как на уникальное значение запрещается.
Ошибки разделяются на подтипы, на основании используемых префиксов, например:
$.avtpcr.*- ошибки, которые отдаются от СКО или связаны с внутренней работой с СКО, например:$.avtpcr.not_authorized- Не пройдена авторизация в СКО$.avtpcr.space.insufficient- Недостаточно памяти в СКО для записи данных
$.io.*- ошибки, связанные с передачей данных из/в СКО$.transport.*- ошибки, связанные с обработкой данных от СКО$.internal.*- ошибки, связанные с внутренними особенностями реализации протоколов взаимодействия с ПК. В случае возникновения ошибок такого рода стоит сообщать операторуavtpcr.*- ошибки связанные с несоблюдением требований при взаимодействии с ПК. Например:avtpcr.status.blocked- Касса заблокированаavtpcr.bundle.unique_id.length- Превышена макс. длина уникального идентификатора для чека
rendering.*- ошибки, связанные с отрисовкой или печатью данныхsko.core.receipt.*- ошибки, связанные непосредственно с функционалом ПК, который отвечает за обработку и формирование кассовых документовorders.*- ошибки работы с функционалом обслуживания за столиками
Список поддерживаемых заголовков
token- серийный номер СКОtokens.refresh- обновление списка СКОprinter.usb\printer.dummy- заголовки и подзаголовки для работы с принтерамиprinter.spl - spl - symbols per line. Указание кол-ва символов в ширину на бумаге, на которой будет происходить печать. По умолчанию: 48printer.cp866- указание номера таблицы символов в принтере соответствующий кодировке CP866. По умолчанию - 17printer.feed- указание кол-во строк прокрутки бумаги после печати. По умолчанию: 5printer.cut- принудительное отрезание бумаги после завершения печати. По умолчанию: true
Запрос в принтер

Название действия: request
Метод позволяет послать данные на принтер и опционально ожидать ответа на ту или иную команду.
Входные данные: EscPosReq
| Наименование поля | Описание |
|---|---|
| b64_content | EscPos команды в формате base64. |
| reply_size | Размер ожидаемого ответа. Если ответ не требуется, размер - 0, если значение данного поля null, то значением по умолчанию является 0 |
Получение СКО

Название действия: get_tokens
Данный метод предназначен информации о доступных СКО.
Данный метод не требует передачи поля data в сообщении.
Возвращаемое значение*: Массив значений TokenInformation
*Содержимое ответа находится в поле “data” ответа.
Важно: данный метод сканирует список USB-устройств автоматически при вызове, вне зависимости от того, было ли найдено СКО или нет. После сканирования СКО попадает в список доступных к использованию.
Описание полей TokenInformation:
| Наименование поля | Описание |
|---|---|
| device_id | Регистрационный номер ПК в СККО |
| organization | Наименование компании, на которую зарегистрировано СКО |
| tax_number | УНП СХ |
| pin_code_length | Длина PIN-кода требуемого для авторизации |
| puk_code_length | Длина PUK-кода требуемого для авторизации |
| version | Версия СКО |
| status | Статус блокировки |
| operator_code | Код Оператора Программной Кассы в соответствии с реестром |
| trade_point_name | Наименование торговой точки |
| trade_point_addr | Адрес торговой точки |
Получение СКО по серийному номеру

Название действия: get_tokens_by_serial
Данный метод предназначен для получения информации об СКО по серийному номеру.
Необходимость во входных данных отсутствует, однако серийный номер требуется к передаче в заголовке token.
Так же, опционально может быть передан заголовок tokens.refresh со следующими значениями:
- “true” - будет совершено обновление сканирование USB-устройств
- “false” (по умолчанию) - сканирование USB-устройств совершено не будет
Возвращаемое значение*: TokenInformation, либо ошибка СКО не было найдено
Описание полей TokenInformation:
| Наименование поля | Описание |
|---|---|
| device_id | Регистрационный номер ПК в СККО |
| organization | Наименование компании, на которую зарегистрировано СКО |
| tax_number | УНП СХ |
| pin_code_length | Длина PIN-кода требуемого для авторизации |
| puk_code_length | Длина PUK-кода требуемого для авторизации |
| version | Версия СКО |
| status | Статус блокировки |
| operator_code | Код Оператора Программной Кассы в соответствии с реестром |
| trade_point_name | Наименование торговой точки |
| trade_point_addr | Адрес торговой точки |
Получение наличных в СКО

Название действия: get_cash_in_token
Данный метод предназначен для получения сумм наличных в кассе.
Входные данные:
- null.
- либо строковое значение
Currency
Возвращаемое значение*:
Описание полей currency:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| currency | - | Тип конкретной валюты |
Описание полей CashIn:
| Наименование поля | Описание |
|---|---|
| currency | Тип конкретной валюты |
| sum | Количество денежных средств |
Получение номера следующего док-а

Название действия: next_cheque_number
Данный метод предназначен для получения номера следующего документа.
Входные данные: null
Возвращаемые данные*: номер следующего чека
*Содержимое ответа находится в поле “data” ответа.
Получение кол-ва неотправленных док-ов

Название действия: get_stored_documents
Данный метод предназначен для получения информации, о количестве неотправленных документов.
Входные данные: null
Возвращаемые данные*: количество неотправленных документов на сервер.
*Содержимое ответа находится в поле “data” ответа.
Получение последнего неотправленного док-а

Название действия: get_oldest_document
Данный метод предназначен для получения самого “старого” неотправленного документа на сервер Оператора Программной Кассы.
Входные данные: null
Возвращаемые данные*: OldestDocument
| Наименование поля | Описание |
|---|---|
| uid | Строковое значение в HEX формате Уникального Идентификатора (УИ) кассового документа |
| date | Дата и время фискализации чека |
Состояние СКО

Название действия: get_token_state
Данный метод позволяет получить состяние СКО.
Входные данные: отсутствуют
Возвращаемые данные*:
*Содержимое ответа находится в поле “data” ответа.
nullесли авторизация не пройдена- State, если авторизация пройдена
Описание полей State:
| Наименование поля | Описание |
|---|---|
| last_uid | УИ последнего документа |
| shift_state | Информация о смене. Отсутствует в случае, если смена закрыта |
Описание полей ShiftState:
| Наименование поля | Описание |
|---|---|
| next_cheque_number | Номер следующего документа |
| shift_number | Номер текущей смены |
| shift_open_date | Дата-время открытия смены |
| cash_in | Остаток наличных в смене |
Накопленный оборот

Название действия: get_total_income
Метод позволяющий получить данные по накопленному обороту
Входные данные: currency
Описание поля currency
| Наименование поля | Обязательность | Описание |
|---|---|---|
| currency | - | Тип конкретной валюты |
Возвращаемые данные*:
*Содержимое ответа находится в поле “data” ответа.
sum- значение накопленного оборота по валюте
Статус СКО

Название действия: get_status
Метод для получения статуса СКО.
Входные данные: отсутствуют
Возвращаемые данные*:
- Статус unknown означает то, что приложение не смогло узнать статус кассы.
- Статус blocked означает, что касса была заблокирована.
- Статус active означает, что все хорошо и касса может работать
Печать копии ранее фискализированного документа

Название действия: print_prev_receipt
Получение и печать ранее фискализированного документа.
Описание полей ReceiptRequest:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| shift_number | - | Опциональное поле номера смена, если не указано используется текущий номер смены |
| number | + | Номер фискального документа в указанной/текущей смене |
Возвращаемые данные:
- cм. раздел “Результат выполнения фискальной операции”
- null - если документ не найден
Авторизация

Название действия: authorize
Данный метод предназначен для совершения авторизации в СКО.
Входные данные: Pin
| Наименование поля | Обязательность | Описание |
|---|---|---|
| pin | + | Строковое представление PIN-кода |
Возвращаемые данные*: *Содержимое ответа находится в поле “data” ответа.
- null в случае успеха
Важно: после каждой неверной попытки авторизации задержка ответа увеличивается. После 3 попытки время ожидания ответа авторизации составляет 10 секунд. После ввода успешного PIN-кода задержка сбрасывается
Выход

Название действия: logout
Данный метод предназначен для совершения выхода из авторизованной сессии.
Входные данные: null
Возвращаемые данные*:
*Содержимое ответа находится в поле “data” ответа.
nullв случае успеха
Открытие смены

Данный метод предназначен для открытия смены.
Название действия: open_shift
Важно: смена может быть открыта не более 24 часов.
Открытие смены Ресторанный режим (обсуживание за столиками)
- при открытии смен необхоимо указать
Открыть в ресторанном режиме (mode) - в данном режиме свободная продажа (без формирования счета) доступна только при совершении авансовго платежа с кодом товара Аванс.
| Наименование поля | Обязательность | Описание |
|---|---|---|
| type | + | Тип кода: prepayment - Аванс |
Входные данные: null
Возвращаемые данные:
*Содержимое ответа находится в поле “data” ответа.
nullв случае успеха
Получение Х отчёта

Данный метод предназначен для получения X-отчета.
Название действия: get_x_report
Входные данные: null
Возвращаемые данные:
- cм. раздел “Результат выполнения X/Z-Отчёт”
- null - если чек не найден
Важно: данный метод НЕ отдает документ на печать. Для отправки на печать следует использовать метод печати X-отчёта
Печать Х отчёта

Данный метод предназначен для печати X-отчета.
Название действия: print_x_report
Входные данные: null
Возвращаемые данные:
- cм. раздел “Результат выполнения X/Z-Отчёт”
- null - если чек не найден
Важно: в случае, если в операции не совершалось никаких операций, массив счетчиков (data.counters) будет пустым, однако на печать в любом случае уйдут счетчики с нулевыми значениями по валюте BYN
Закрытие смены

Данный метод предназначен для печати Z-отчета.
Формирование сменных счетчиков в ресторанном режиме
| Наименование | Примечание |
|---|---|
| Количество оформленных заказов за смену | В поле вносится информация об общем количестве всех оформленных (открытых) в текущую смену заказах (включая заказы, которые были перенесены из предыдущих смен) |
| Сумма оформленных заказов за смену | В поле вносятся данные о сумме всех оформленных (открытых) заказах за смену (включая дозаказы; примененные надбавки; заказы, которые были перенесены из предыдущих смен) |
| Количество отменных заказов за смену | В поле вносится информация об общем количестве всех отмененных в текущую смену заказах |
| Сумма отмененных заказов за смену | В поле вносится информация об итоговой сумме всех отмененных в текущую смену заказах |
| Количество закрытых заказов за смену | В поле вносится информация об общем количестве всех оформленных (открытых) и закрытых в текущую смену заказах (включая заказы, которые были перенесены из предыдущих смен, при условии их оплаты (закрытии) в текущей смене) |
| Сумма закрытых заказов за смену | В поле вносится информация о сумме всех оформленных (открытых) и закрытых заказах за смену (включая суммы коррекций (уменьшение) и суммы дозаказов (увеличение) (при их наличии) |
| Сумма коррекций заказов за смену | В поле вносится информация об общей сумме, на которую были скорректированы (уменьшены) заказы за смену (включая примененные скидки) |
| Количество коррекций заказов за смену | В поле вносится информация об общем количестве всех проведенных за смену коррекций (уменьшений) заказов (включая примененные скидки) |
| Количество перенесенных заказов за смену | В поле вносится информация об общем количестве заказов, которые были перенесены в следующую смену |
| Сумма перенесенных заказов за смену | В поле вносится информация об общей сумме всех заказов, которые были перенесены в следующую смену (включая суммы коррекций (уменьшение) и суммы дозаказов (увеличение) (при их наличии) |
Важно!
- Перед выполнением кассовой операции формирования Z-отчета в отношении открытых заказов осуществляется их закрытие, или отмена, или перенос в следующую смену с регистрацией этой операции в отчетах.
- Счетчик пересенных заказов формируется автоматически при закрытии смены
- Закрытие заказа на программной кассе в объектах общественного питания должно сопровождаться формированием счета
- При изменении заказа после формирования счета необходимо повторное формирование счета
Название действия: close_shift
Входные данные:
- null
Важно: для закрытия смены, требуется полное изъятие наличных
Возвращаемые данные:
- cм. раздел “Результат выполнения X/Z-Отчёт”
- null - если чек не найден
Внесние

Название действия: create_deposit
Данная функция позволяет внести наличные деньги в кассу. Для внесения денег выберите вкладку Операция “Внесение”.
Описание полей:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| cashier | + | Имя кассира. |
| currency | + | Валюта совершаемой операции, если не передано - byn |
| sum | + | Сумма операции |
Возвращаемые данные:
- cм. раздел “Результат выполнения фискальной операции”
- null - если чек не найден
Изъятие

Данная функция позволяет изъять наличные деньги из кассы. Для изъятия денег выберите вкладку Операция “Изъятие”.
Название действия: create_withdraw
Описание полей запроса:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| cashier | + | Имя кассира. |
| currency | + | Валюта совершаемой операции, если не передано - byn |
| sum | + | Сумма операции |
Возвращаемые данные:
- cм. раздел “Результат выполнения фискальной операции”
- null - если чек не найден
Выдача

Данная функция позволяет изъять наличные деньги из кассы. Для изъятия денег выберите вкладку Операция “Выдача”.
Название действия: create_client_withdraw
Описание полей запроса:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| cashier | + | Имя кассира. |
| currency | + | Валюта совершаемой операции, если не передано - byn |
| sum | + | Сумма операции |
Возвращаемые данные:
- cм. раздел “Результат выполнения фискальной операции”
- null - если чек не найден
Сохранение товара

Метод для сохранения товарной позиции во внутреннее хранилище.
При создании товара необходимо заполнить обязательные поля согласно таблицы описания полей.
Название действия: store
Входные данные: StorageItem:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| id | + | Идентификатор товара |
| price | + | Цена за единицу тов. позиции |
| type | + | Тип кода товарной позиции |
| value | + | Код товарной позиции |
| name | + | Наименование тов. позиции |
| tax_rate | - | НДС тов. позиции |
| has_mark | - | Тов. содержит маркировку |
type может иметь следующие значения:
code- без GTIN/EANgtin- GTIN/EANservice- Услугаprepayment- Аванс
tax_rate имеющий следующие поддерживаемые значения:
tax0tax10tax20tax25
Возвращаемые данные:
- null - если товар был успешно сохранен и ранее товар с данным идентификатором отсутствовал
- StorageItem - ранее существовавший товар с данным идентификатором
Удаление товара

Название действия: remove
Метод для удаления товарной позиции из хранилища.
Входные данные: идентификатор товара.
| Наименование поля | Обязательность | Описание |
|---|---|---|
| id | + | Идентификатор товара |
Получение товара

Название действия: get
Метод для получения информации о товаре из хранилища.
Входные данные: идентификатор товара.
| Наименование поля | Обязательность | Описание |
|---|---|---|
| id | + | Идентификатор товара |
Возвращаемые данные:
| Наименование поля | Описание |
|---|---|
| id | Идентификатор товара |
| price | Цена за единицу тов. позиции |
| type | Тип кода товарной позиции |
| value | Код товарной позиции |
| name | Наименование тов. позиции |
| tax_rate | НДС тов. позиции |
| has_mark | Признак маркировки |
Получение известных идентификаторов товаров
Метод для получения идентификаторов всех сохраненных товаров.

Название действия: get_ids
Входные данные: отсутствуют
Возвращаемые данные*: массив строковых идентификаторов товаров
*Содержимое ответа находится в поле “data” ответа.
Регистрация продажи

Данный метод предназначен для совершения операции продажи.
Название действия: create_sale
Описание полей запроса:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| comments | + | Описание блоков комментариев чека продажи |
| cashier | + | Имя кассира. |
| currency | + | Валюта совершаемой операции, если не передано - byn |
| cheque_discount | + | Скидка по чеку |
| cheque_markup | + | Надбавка по чеку |
Описание полей item:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| id | + | Клиентский идентификатор товарной позиции, на текущий момент не используется сервисом |
| price | + | Цена товарной позиции за 1 единицу |
| quantity | + | Кол-во товарной позиции |
| discount | + | Скидка товарной позиции. В случае, если скидка не должна быть применена, должно быть передано значение null |
| markup | + | Надбавка товарной позиции. В случае, если надбавка не должна быть применена, должно быть передано значение null |
| name | + | Наименование товарной позиции. Не может быть пустым. Пробелы в начале и конце строки удаляются для избежания отсутствия наименования товарной позиции. Максимальная длина: 50 символов |
| tax_rate | + | НДС. Важно помнить, что НДС 0 и отсутствие НДС - разные вещи |
Поля section:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| code | - | Номер секции от 1 до 255 |
| name | - | Название секции |
Поля scan:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| si | - | Маркировка СИ |
| ukz | - | Маркировка УКЗ |
| unknown | - | Неизвестный тип маркировки |
| type | - | Тип кода, варианты значений: code - без GTIN/EAN, gtin - GTIN/EAN, service - Услуга, prepayment - Аванс |
| code | - | Значение кода товара. Содержит исключительно цифры. В случае, если типКода указан как gtin, максимальная длина значенияКода равна 14 символам. Для остальных случаев ограничение в 13 символов |
Поля payment:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| payment_type | + | Тип платежа |
| name | - | Наименования платежа. Может отсутствовать. |
| value | + | Сумма платежа |
| ref | - | идентификатор платежного средства. Является опциональным полем и может быть использовано для идентификации RRN банковской транзакции, информации о банковском платеже, либо номере сертификата |
Важно: сумма по ставке НДС рассчитывается путем вычисления суммы НДС по каждой товарной позиции и сложением этих сумм.
Возвращаемые данные:
- cм. раздел “Результат выполнения фискальной операции”
- null - если чек не найден
Регистрация продажи (внутр. БД товаров)

Данный метод предназначен для совершения операции продажи из внутренней БД товаров.
Описание полей запроса:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| comments | + | Описание блоков комментариев чека продажи |
| cashier | + | Имя кассира. |
| currency | + | Валюта совершаемой операции, если не передано - byn |
| cheque_discount | + | Cкидка по чеку |
| cheque_markup | + | Cкидка по чеку |
Описание полей item:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| id | + | Клиентский идентификатор товарной позиции, на текущий момент не используется сервисом |
| quantity | + | Кол-во товарной позиции |
| discount | + | Скидка товарной позиции. В случае, если скидка не должна быть применена, должно быть передано значение null |
| markup | + | Надбавка товарной позиции. В случае, если надбавка не должна быть применена, должно быть передано значение null |
Поля scan:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| si | - | Маркировка СИ |
| ukz | - | Маркировка УКЗ |
Описание полей payment
| Наименование поля | Обязательность | Описание |
|---|---|---|
| payment_type | + | Тип платежа |
| name | - | Наименования платежа. Может отсутствовать. |
| value | + | Сумма платежа |
| ref | - | идентификатор платежного средства. Является опциональным полем и может быть использовано для идентификации RRN банковской транзакции, информации о банковском платеже, либо номере сертификата |
Возвращаемые данные:
- cм. раздел “Результат выполнения фискальной операции”
- null - если чек не найден
Регистрация продажи в режиме КСО
Данный метод предназначен для совершения операции продажи на кассе самообслуживания из внутренней БД товаров, без доступа к остальным операциям кассы.
Режим КСО позволяет:
- Осуществлять продажу только за безналичный расчет;
- Обеспечивать работу только с базой товаров (работ, услуг)
Перед переходом в режим работы КСО необходимо совершить операцию Открытие смены.
В режиме КСО для покупателя не доступны следующие операции: Аннулирование, Возврат, получение/печать X-отчета, Закрытие смены (формирование Z-отчета), данные операции доступны только для кассира (администратора) после выхода из режима КСО.
Для Входа и Выхода в режим КСО используйте пароль: 1111
Описание полей item:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| id | + | Клиентский идентификатор товарной позиции, на текущий момент не используется сервисом |
| quantity | + | Кол-во товарной позиции |
| unknown | - | Неизвестный тип маркировки |
| si | - | Маркировка СИ |
| ukz | - | Маркировка УКЗ |
Доступыне способы оплаты:
- Банк. пл. картой (cashless):
- Др. способы (Other):
Важно!:
- Реализация применения скидок и надбавок, осуществления безналичных оплат в автоматическом режиме обепечивается решением субъекта хозяйствования при организации работы с собственной базой товаров, согласно руководства Программиста.
- В имени кассира при печати отображается “-” прочерк
Создание/редактирование заказа
Данный метод предназначен для совершения операции создания/редактирования заказа.
Название действия: create_or_edit_order

Описание полей запроса:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| id | + | ID заказа. Макс. длина - 36 символов |
| cashier | + | Кассир, работающий с заказом. Не может превышать 20 символов длинной, не может быть пустым. |
| table | + | Номер столика |
| items | - | Массив товарных позиций |
| place | + | Номер места за столиком, если имеется |
| markup | - | Надбавка, если имеется |
| discount | - | Скидка, если имеется |
| prepayment | - | Предоплата с указанием способа. На момент оплаты будет преобразовано в тип оплаты “Предоплата” |
Описание полей item:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| id | + | Клиентский идентификатор товарной позиции, на текущий момент не используется сервисом |
| price | + | Цена товарной позиции за 1 единицу |
| quantity | + | Кол-во товарной позиции |
| discount | + | Скидка товарной позиции. В случае, если скидка не должна быть применена, должно быть передано значение null |
| markup | + | Надбавка товарной позиции. В случае, если надбавка не должна быть применена, должно быть передано значение null |
| name | + | Наименование товарной позиции. Не может быть пустым. Пробелы в начале и конце строки удаляются для избежания отсутствия наименования товарной позиции. Максимальная длина: 50 символов |
| tax_rate | + | НДС. Важно помнить, что НДС 0 и отсутствие НДС - разные вещи |

Поля section:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| code | - | Номер секции от 1 до 255 |
| name | - | Название секции |
Поля scan:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| si | - | Маркировка СИ |
| ukz | - | Маркировка УКЗ |
| unknown | - | Неизвестный тип маркировки |
| type | - | Тип кода, варианты значений: code - без GTIN/EAN, gtin - GTIN/EAN, service - Услуга, prepayment - Аванс |
| code | - | Значение кода товара. Содержит исключительно цифры. В случае, если типКода указан как gtin, максимальная длина значенияКода равна 14 символам. Для остальных случаев ограничение в 13 символов |
Поля payment:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| payment_type | + | Тип платежа |
| name | - | Наименования платежа. Может отсутствовать. |
| value | + | Сумма платежа |
| ref | - | идентификатор платежного средства. Является опциональным полем и может быть использовано для идентификации RRN банковской транзакции, информации о банковском платеже, либо номере сертификата |
Важно: сумма по ставке НДС рассчитывается путем вычисления суммы НДС по каждой товарной позиции и сложением этих сумм.
Возвращаемые данные:
- cм. раздел “Результат выполнения фискальной операции”
- null - если чек не найден
Получение информации по всем заказам
Метод для получения идентификаторов всех сохраненных заказов.

Название действия: get_orders_information
Входные данные: отсутствуют
Возвращаемые данные*: Номер зказа, сумма, номер счета (если был распечатан)
*Содержимое ответа находится в поле “data” ответа.
Получение информации по id заказа
Метод для получения идентификаторов всех сохраненных заказов.

Название действия: get_order_information_by_id
Входные данные: id заказа
Возвращаемые данные*: Номер зказа, сумма, номер счета (если был распечатан)
*Содержимое ответа находится в поле “data” ответа.
Отмена заказа
Метод для отмены заказа.

Название действия: cancel_order
Входные данные: id заказа
Возвращаемые данные*: null
*Содержимое ответа находится в поле “data” ответа.
Печать счета
Метод для печати счета по id заказа.

Название действия: bill
Входные данные: id заказа
Возвращаемые данные*: Номер счета, Рекламный текст.
*Содержимое ответа находится в поле “data” ответа.
Оплата заказа

Метод для оплаты заказа
Название действия: pay_order
Важно: после оплаты заказа заказ удаляется из хранилища заказов
Описание полей запроса:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| order_id | + | Идентификатор заказа |
| payments | + | Описание комментариев счета |
Описание полей payment:*
| Наименование поля | Обязательность | Описание |
|---|---|---|
| payment_type | + | Тип платежа |
| name | - | Наименования платежа. Может отсутствовать. |
| value | + | Сумма платежа |
| ref | - | идентификатор платежного средства. Является опциональным полем и может быть использовано для идентификации RRN банковской транзакции, информации о банковском платеже, либо номере сертификата |
Возвращаемые данные:
- cм. раздел “Результат выполнения фискальной операции”
- null - если чек не найден
Возврат

Данная функция позволяет выполнить операцию возврата.
Название действия: create_money_back
Описание полей:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| cashier | + | Имя кассира. Не может превышать 20 символов длинной, не может быть пустым. Пробелы в начале и конце строки удаляются и таким образом гарантируется, что не будет передано пустое имя кассира |
| currency | + | Валюта совершаемой операции, если не передано - byn |
Поля item:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| id | + | Клиентский идентификатор товарной позиции, на текущий момент не используется сервисом |
| price | + | Цена товарной позиции за 1 единицу |
| quantity | + | Кол-во товарной позиции |
| name | + | Наименование товарной позиции. Не может быть пустым. Пробелы в начале и конце строки удаляются для избежания отсутствия наименования товарной позиции. Максимальная длина: 128 символов |
Поля section:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| code | - | Номер секции от 1 до 255 |
| name | - | Название секции |
Поля scan:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| si | - | Маркировка СИ |
| ukz | - | Маркировка УКЗ |
| unknown | - | Неизвестный тип маркировки |
| type | - | Тип кода, варианты значений: code - без GTIN/EAN, gtin - GTIN/EAN, service - Услуга, prepayment - Аванс |
| code | - | Значение кода товара. Содержит исключительно цифры. В случае, если типКода указан как gtin, максимальная длина значенияКода равна 14 символам. Для остальных случаев ограничение в 13 символов |
Поля payment:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| payment_type | + | Тип платежа |
| name | - | Наименования платежа. Может отсутствовать. |
| value | + | Сумма платежа |
| ref | - | идентификатор платежного средства. Является опциональным полем и может быть использовано для идентификации RRN банковской транзакции, информации о банковском платеже, либо номере сертификата |
**Важно: Для данного запроса поле currency игнорируется и может быть не передано
Возвращаемые данные:
- cм. раздел “Результат выполнения фискальной операции”
- null - если чек не найден
Возврат (внутр.БД товаров)

Данная функция позволяет выполнить операцию возврата.
Описание полей:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| cashier | + | Имя кассира. Не может превышать 20 символов длинной, не может быть пустым. Пробелы в начале и конце строки удаляются и таким образом гарантируется, что не будет передано пустое имя кассира |
| currency | + | Валюта совершаемой операции, если не передано - byn |
Описание полей item:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| id | + | Идентификатор товара |
| quantity | + | Кол-во товарной позиции |
Поля section:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| code | - | Номер секции от 1 до 255 |
| name | - | Название секции |
Поля scan:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| si | - | Маркировка СИ |
| ukz | - | Маркировка УКЗ |
| type | - | Тип кода, варианты значений: code - без GTIN/EAN, gtin - GTIN/EAN, service - Услуга, prepayment - Аванс |
| code | - | Значение кода товара. Содержит исключительно цифры. В случае, если типКода указан как gtin, максимальная длина значенияКода равна 14 символам. Для остальных случаев ограничение в 13 символов |
Описание полей payment:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| payment_type | + | Тип платежа |
| name | - | Наименования платежа. Может отсутствовать. |
| value | + | Сумма платежа |
| ref | - | идентификатор платежного средства. Является опциональным полем и может быть использовано для идентификации RRN банковской транзакции, информации о банковском платеже, либо номере сертификата |
Важно: Для данного запроса поле currency игнорируется и может быть не передано
Возвращаемые данные:
- cм. раздел “Результат выполнения фискальной операции”
- null - если чек не найден
Аннулирование

Данная функция позволяет аннулировать чек продажи, фискализированный в течение смены. Для аннулирования выберите вкладку Операция “Аннулирование”.
Название действия: create_rollback
Описание полей:
| Наименование поля | Обязательность | Описание |
|---|---|---|
| cashier | + | Имя кассира. |
Важно: Может быть аннулирован только последний платежный документ. Если после платежного документа были сделаны любые другие фиск. операции, аннулирование невозможно.
Возвращаемые данные:
- cм. раздел “Результат выполнения фискальной операции”
- null - если чек не найден
Результат выполнения фискальной операции
{
"repr": Repr?,
"unique_id": String?,
"header": {
"uid": String,
"number": Int,
"date_time": String,
"shift_number": Integer
},
"errors": Errors?
}
Поля:
| Поле | Тип | Примечание |
|---|---|---|
repr | Repr? | Результаты отрисовки чека и прочие доп. данные |
unique_id | String? | Может отсутствовать. Уникальный ID операции |
header | Header | Содержит uid, number (номер док-та), date_time (в формате RFC3339), shift_number (номер смены) |
errors | Errors? | Ошибки, которые могли возникнуть после (!) фискализации |
Repr
| Поле | Тип | Примечание |
|---|---|---|
esc_pos | String? | Может отсутствовать. Содержит набор EscPos команд в base64 формате |
text | String? | Может отсутствовать. Текстовое представление чека (без QR с УИ) |
text_b64 | String? | Может отсутствовать. Текстовое представление чека (без QR с УИ) в base64 формате |
link | String? | Может отсутствовать. Ссылка на чек |
Результат выполнения X/Z-Отчёт
Возвращаемые данные
uid- УИ. В случае, если это Z-отчет - обязательное полеcashier- Имя кассира в Z-отчете - опциональное поле, в X-отчете всегдаnulldevice_id- Регистрационный номер ПК в СККОtax_number- УНПcompany_name- Наименование организацииopen_date- Дата открытия сменыclose_date- Дата закрытия смены, присутствует только в Z-отчетеnumber- Номер сменыfirst_sale_number- Номер первого документа продажи в сменеlast_sale_number- Номер последнего документа продажи в сменеsales_count- количество документов продажcurrency_counters- Массив сменных счетчиков, содержит информацию по каждой валюте, по которой совершались операции в сменеtotal_income- накопленный оборотadditional.third_party- счетчики операций в пользу 3-х лиц
Данные и блока currency_counters
currency_counters- валюта счетчикаcount- кол-во операций в валютеsum- сумма продаж в валютеcard- сумма по картеcash- сумма за наличныеother- сумма другими способамиthird_party- счетчик операций в пользу 3х лицtotal- сумма продаж в валюте в пользу 3х лицsales- счетчик продажmoney_backs- счетчик возвратовrollback- счетчик аннулированияwithdraws- счетчик изъятийclient_withdraws- счетчик выдачиdeposits- счетчик внесенийmarking_si- счетчик продаж СИmarking_ukz- счетчик продаж УКЗsi_refund- счетчик возврата СИsi_rollback- счетчик аннулирования СИukz_refund- счетчик возврата УКЗukz_rollback- счетчик аннулирования УКЗadditional.orders- дополнительные счетчики
Данные и блока additional.orders
total- открытые заказыcanceled- отмененные заказыclosed- закрытые заказыcorrected- коррекции заказовmoved- пересененные заказыcount- кол-во операций в валютеsum- сумма продаж в валюте