Для того, чтобы узнать результат задания, необходимо отправить GET-запрос:
http://kassa.shop-ctrl.ru/api/2/requests?token&uuid
http://localhost:8526/requests?token&uuid
Пример проверки состояния выполнения задания в виде GET-запроса:
http://kassa.shop-ctrl.ru/api/2/requests?token=862df162a3c25c339f26a97c462dd&uuid=3232df1622444
В ответ вернется JSON, содержащий в себе результаты и статусы задания.
В ответ на запрос результата задания возвращается массив результатов каждого подзадания. Каждый результат включает в себя поля:
status - состояние подзадания. Может принимать значения:
ready - подзадание выполнено
error - подзадание завершено с ошибкой
wait - подзадание ожидает выполнения
inProgress - подзадание в процессе выполнения
interrupted - подзадание не выполнялось, т.к. одно из подзаданий ранее завершилось с ошибкой
blocked - результат подзадания неизвестен, очередь заданий остановлена
canceled - задание, в состав которого входит подзадание, отменено пользователем
errorCode - код ошибки из списка кодов ошибок
errorDescription - текст ошибки
result - результат подзадания
Возвращаемые ошибки
В случае успешного чтения результата служба печати(сервер) вернет статус 200 (OK) и JSON с результатом.
Также могут вернуться следующие ошибки:
404 (Not Found) - задание с заданным uuid не найдено
Обработка статусов
Если все подзадачи имеют статус ready, значит, они все выполнены без ошибок.
Если одна или несколько из подзадач имеют статус wait, значит, задание еще не начинало выполняться или выполняется в данный момент.
Если одна из подзадач имеет статус error, то все подзадачи после неё (в рамках задания) будут иметь статус interrupted и выполняться не будут. Пользователь может устранить проблему, вызвавшую ошибку выполнения подзадания, и провести его еще раз, вместе со всеми прерванными подзаданиями. Для этого нужно составить новое задание.
Статус blocked означает, что результат фискальной операции неизвестен (например, потеряна связь с ККТ). Все подзадачи после текущей (в рамках задания) будут иметь статус interrupted и выполняться не будут. Служба печати (сервер) входит в состояние восстановления работоспособности и не будет выполнять другие задания до тех пор, пока не узнает результат последней операции. Поля errorCode и errorDescription будут заполнены, т.е. на них можно ориентироваться при устранении неисправности. Как только служба печати(сервер) узнает у ККТ состояние этой операции, он обновит состояние соответствующего задания на error или ready и выполнение остальных задач продолжится.