Справка
Коды ошибок
Ошибка запроса — HTTP 4xx или 5xx и application/problem+json (RFC 9457) с машинным кодом в поле code: ветвитесь по нему, не по тексту. Ошибка устройства — в самой операции.
Формат ошибки
problem+json
{
"type": "about:blank",
"title": "Conflict",
"status": 409,
"detail": "Устройство 1 занято другой операцией",
"code": "DEVICE_BUSY"
}Ошибки запроса
| HTTP | code | Когда |
|---|---|---|
| 400 | INVALID_REQUEST | Неверный JSON, нет Idempotency-Key, нарушены ограничения полей (поля — в detail) |
| 401 | BAD_SIGNATURE | Сайт с ключом подписи прислал запрос без подписи или с неверной подписью |
| 402 | LICENSE_REQUIRED | Нужен ключ лицензии с этой возможностью (терминалы, несколько ККТ, модуль сканера документов или маркировки) |
| 403 | SITE_NOT_ALLOWED | Сайт (Origin) ещё не разрешён: кассир видит запрос в трее и на странице агента — повторите после разрешения |
| 403 | SITE_DENIED | Сайт отклонён на этом компьютере |
| 404 | DEVICE_NOT_FOUND | Нет устройства с таким номером |
| 404 | NOT_FOUND | Нет операции, задания печати, шаблона или файла |
| 409 | IDEMPOTENCY_KEY_REUSED | Ключ уже использован для другой операции |
| 409 | DEVICE_BUSY | Устройство занято другой операцией |
| 409 | INVALID_STATE | Действие сейчас невозможно (например, отменить уже напечатанное задание) |
| 413 | TOO_LARGE | Тело запроса слишком большое |
| 422 | VALIDATION_ERROR | Суммы не сходятся, не указан кассир, неверное значение параметра |
| 502 | DEVICE_ERROR | Устройство ответило ошибкой на запрос, который выполняется сразу (вес, состояние ФН) |
Ошибки в операции
Операция принята, но устройство не справилось: status: FAILED (или UNKNOWN) и error: {code, message, details}. Тексты ошибок устройств — по-русски.
JSON
{
"id": "3f6c1d9e-1b2a-4c55-9e0d-6a1f0c2b7d11",
"type": "receipt",
"status": "FAILED",
"error": {
"code": "DEVICE_ERROR",
"message": "ККТ: нет бумаги"
}
}| code | Что произошло |
|---|---|
DEVICE_ERROR | Ошибка ККТ, терминала или принтера; текст — в message |
PAYMENT_CANCELLED | Чек не напечатан после оплаты картой; оплата отменена на терминале |
PAYMENT_NOT_CANCELLED | Чек не напечатан, отменить оплату не удалось; данные оплаты — в details |
RECEIPT_FAILED_AFTER_REFUND | Деньги на карту возвращены, чек возврата не напечатан |
MARKING_REJECTED | Код маркировки нельзя продать (разрешительный режим) — чек не пробит |
INTERRUPTED | Агент перезапустился во время операции |
TIMEOUT | status: UNKNOWN — устройство не ответило вовремя, результат неизвестен: проверьте устройство и последний документ |
INTERNAL_ERROR | Сбой внутри агента; подробности — в журнале агента |
Ошибки облака
При вызове через облако его собственные ошибки приходят с заголовком X-Hw-Proxy-Error — см. Через облако.