Общее описание принципов взаимодействия
Пример взаимодействия с СКО
- Инициализация сессии
- Если сессия была проинициализирована ранее данный этап можно пропустить, используя ранее полученный (и, вероятно, сохраненный) идентификатор сессии
- Получение СКО с передачей заголовка
tokens.refresh
со значениемtrue
, как описано в разделе Работа с СКО - Авторизация
- Получение состояния СКО с целью проверки, открыта ли смена
- Если смена закрыта - Открытие смены
- Внесение
- Продажа
- Аннулирование
- Возврат
- Изъятие
- Закрытие смены
- Завершение сессии
Обработка ошибок
Ошибки разделяются на подтипы, на основании используемых префиксов:
AVQFR_
- ошибки СКОTR_
- ошибки обработки ответов СКО. Практически в 100% случаев обрабатываются на уровне Программной Кассы. Клиентская обработка не требуется. Данные ошибки могут фигурировать в лог-файлахUSB_
- ошибка взаимодействия поUSB
с устройством. При возникновении таких ошибок при работе с СКО, последнее помечается как неактивное и удаляется из списка доступныхCRT_
- ошибки чтения данных из сертификата в СКО. Данная ошибка не передается на текущий момент на клиентскую часть, т.к. при ошибке чтения данных СКО считается невалидным и не помещается в список доступных к использованию. Данные ошибки могут фигурировать в лог-файлахAVTPCR_
- аналогичноCRT_
, но относится к аттрибутам устройстваTIN_
- ошибки валидации входных данных. Данные ошибки не должны возникать при валидной передаче данных и их обработка заключается в исправлении входных данныхTSRV_
- общие сервисные ошибки, должны обрабатываться в соответствии с их описаниемPR_
- ошибки связанные с взаимодействием с принтером. При возникновении данного типа ошибок на этапе фискализации передается полеop_data
с фискальным чекомSM_
- ошибки сессий. Ошибки описаны в разделе СессииTORD_
- ошибки работы с заказами в ресторанном режиме. В режиме ритейла данные ошибки отсутствуют
Более подробно об ошибках описано в описании методов и в разделе Ошибки данной документации.