Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Ошибки

В случае возникновения ошибки сервер вернёт объект следующего вида:

{
    "name": String,
    "description": String,
    "op_data": Any?
}
  • при взаимодействии через /tsrv - в поле data сообщения с типом error (HTTP статус 200)
  • при взаимодействии через /tsrv/{address}/{action} - в теле ответа с HTTP статусом 500 (404 - для несуществующего метода)

name - код ошибки, description - описание на русском языке, op_data - доп. данные, как правило null. Коды ошибок можно переопределить в настройках (error_mappings).

В случае возникновения ошибок на методах, отвечающих за фискализацию, ошибки, которые возникли ПОСЛЕ фискализации, помещаются в отдельное поле errors. Например, в случае возникновения ошибок с принтером, ответ будет следующего вида:

{
  "type": "send",
  "data": {
    "header": {
      "uid": "5B69B8EF9BE3E43E09894303",
      "number": 354,
      "date_time": "2025-03-01T15:01:36.933186+03:00",
      "shift_number": 78
    },
    "errors": {
      "printing": {
        "name": "rendering.io.error",
        "description": "Ошибка печати: Debug error"
      },
      "storage": null
    }
  }
}

Если в процессе возникли проблемы при работе с хранилищем данных (ФС), будет помещена так же в storage.

Стоит обратить внимание, что в случае отсутствия ошибок после фискализации поле errors не передается, либо может иметь значение null.

Коды ошибок

Ошибки СКО и ПК ($.avtpcr.*, avtpcr.*, sko.core.*, orders.* и др.) описаны в разделе Описание принципов взаимодействия. Ошибки самого tsrv:

КодОписание
req.format.jsonнекорректный JSON в теле запроса
http.status.<код>ошибка HTTP (например, http.status.404 - метод не найден)
tokens.manager.missingСКО с указанным серийным номером не найдено
tokens.manager.multipleподключено несколько СКО, а заголовок token не передан
printers.missingне переданы заголовки принтера
printers.usb.invalidнекорректные printer.usb.vendor / printer.usb.product
printers.errorпринтер не найден или не удалось его открыть
rendering.cfg.<параметр>.invalidнекорректное значение заголовка отрисовки (spl, encoding, feed, cut, repr, prefix, postfix, code.skip, zero_payments, custom.qr_size)
rendering.errorошибка отрисовки документа
rendering.io.errorошибка печати
tsrv.storage.errorошибка локального хранилища документов
tsrv.storage.entry-not-foundдокумент не найден в локальном хранилище