Работа с СКО
Для работы с СКО не требуется дополнительных настроек.
В случае компрометации устройства, либо по решению РУП ИИЦ МНС или Оператора Программной Кассы СКО может быть заблокировано для совершения всех фискальных операций.
При попытке совершения фискальных в случаях, приведенных в абзаце выше,
будет возникать ошибка avtpcr.status.blocked.
В случае если статус СКО устарел (Отсутствовала синхронизация с сервером более 7 дней),
будет возвращаться ошибка avtpcr.status.sync-required.
Для синхронизации с сервером требуется вызвать Обновление статуса. При первом запуске ПО и нахождении СКО требуется обязательное подключение к интернету, для получения данных об СКО и его конфигурации.
В случае если конфигурация не удалась или не завершилась (отсутствие интернета или другие причины),
при попытке совершения фискальных операций будет возвращена ошибка avtpcr.not-configured.
Автоматическая попытка конфигурации СКО осуществляется раз в 2 секунды.
При последующих запусках, если данные не устарели и присутствуют, конфигурация может осуществляться без наличия интернета
После успешной конфигурации статус СКО автоматически обновляется с сервера раз в 15 минут, конфигурация — раз в 5 минут (при ошибке — повтор через 5 секунд). Не отправленные документы отправляются на сервер автоматически после авторизации.
Для автоматической авторизации при подключении СКО см. tokens в Настройках.
Определить состояние работы с СКО можно путем запроса Данных об СКО.
Поля is_configured и is_compatible должны быть установлены в значение true, а status.block_reasons должен быть пустым
Выбор и обновление списка СКО
Список СКО определяется автоматически один раз при запуске приложения. В дальнейшем
список обновляется в ручном режиме, путем передачи заголовка tokens.refresh со значением "true".
Если заголовок token не передан и подключено ровно одно СКО — будет использовано оно.
Если подключено несколько СКО — будет возвращена ошибка tokens.manager.multiple.
Обновление списка так же может вести к потенциальным блокировкам и замедлению работы, т.к. происходит поиск СКО с последующей проверкой регистрационных данных СКО, которое точно так же блокирует возможность мгновенно совершить действие с СКО.
Исходя из изложенного выше, стоит передавать tokens.refresh исключительно
в том случае, если СКО не было найдено, либо по какой-то причине команда
отдала ошибку tokens.manager.missing