Работа с СКО

Для корректного запуска приложения и работы с СКО, требуется объявление переменной окружения OPERATOR_CODE с указанием кода оператора. На основании кода оператора будут доступны устройства с соответствующим кодом оператора.

Доступные коды оператора:

  • 5 - dev окружение iKassa
  • 910000001 - stage окружение iKassa, используемое Республиканским Унитарным Предприятием "Информационно-Издательский Центр Министерства по Налогам и Сборам" (РУП ИИЦ МНС)
  • 1 - prod окружение iKassa, используемое на реальных торговых точках

В случае компрометации устройства, либо по решению РУП ИИЦ МНС или Оператора Программной Кассы СКО может быть заблокировано для совершения всех фискальных операций, кроме операции изъятия и закрытия смены. Все операции, в случае блокировки, будут отдавать ошибку TSRV_TOKEN_NOT_ACTIVE

Запросить текущий статус СКО можно с помощью метода get_status

Важно: статус СКО по умолчанию - unknown и, если нет подключения к интернету, либо сервера iKassa недоступны, из текущей сети, использование СКО невозможно и требуется подключение к интернету.

Важно: на старте приложения осуществляется поиск доступного СКО.


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

По причине, описанной выше, скорость при выполнении команд может падать при некоторых обстоятельствах. Ниже описаны способы ускорения работы


Приостановка отправки документов

Приложение опрашивает все СКО на предмет наличия неотправленных документов 1 раз в 3 секунды. Процесс удаления документов состоит из трех этапов:

  • Запрос документа из СКО
  • Попытка отправки документа
  • В случае успешной отправки - запрос в СКО на удаление документа

Соответственно в момент отправки происходит 2 блокировки.

В ряде случае может потребоваться максимальная производительность при совершении операций и для этого имеется метод приостановки отправки документов и соответственно метод возобновления отправки документов.

Важно: СКО может работать до 7 дней без отправки документов, однако это не означает, что отправка документов должна быть отключена 7 дней и включаться по необходимости и данные о кассовых документах должны уходить по мере возможности. Сервер Оператора Программной Кассы, а так же Система Контроля Кассового Оборудования так или иначе получают информацию о работе СКО и, соответственно, имеют возможность отслеживания "блокировки отправки" на срок 7 дней при наличии возможности отправки документов


Обновление списка СКО

Важно помнить, что список доступных СКО обновляется в ручном режиме, путем передачи заголовка tokens.refresh со значением "true".

Обновление списка так же может вести к потенциальным блокировкам и замедлению работы, т.к. происходит поиск СКО с последующей проверкой регистрационных данных СКО, которое точно так же блокирует возможность мгновенно совершить действие с СКО.

Исходя из изложенного выше, стоит передавать tokens.refresh исключительно в том случае, если СКО не было найдено, либо по какой-то причине команда отдала ошибку TSRV_TOKEN_NOT_FOUND


Кэширование данных

Мы очень заботимся о скорости выполнения операций и потому существует кэширование части информации для максимально быстрых запросов без обращения к СКО. Список методов, которые отдают кэшированные данные: