HW agent API 2.14.1

Раздел API

Печать

Печать PDF по ссылке или файлом, картинок и команд принтера (ESC/POS, ZPL, EPL) на принтеры Windows и принтеры без драйвера; принтер по имени, номеру устройства или назначению (role). Очередь и состояние принтеров.

GET/api/v1/print-jobsЗадания печати агента
POST/api/v1/print-jobsПечать
POST/api/v1/print-jobs/{id}/retryПовторить задание печати
POST/api/v1/print-jobs/{id}/cancelОтменить задание печати
GET/api/v1/printersПринтеры Windows, их назначения и настройки печати
GET/api/v1/printers/statusСостояние принтеров
GET/api/v1/printers/jobsОчередь принтера в системе
DELETE/api/v1/printers/jobsОчистить очередь принтера
GET/api/v1/printers/capabilitiesВозможности принтера

Задания печати агента#

GET/api/v1/print-jobs

Новые первыми; состояние — как у операций: QUEUED, RUNNING, SUCCEEDED, FAILED

Параметры

ИмяГдеТипОписание
limitqueryinteger int32

Ответ 200 application/json

Массив · Operation
  • idstring uuid
  • typestring
  • idempotencyKeystring
  • resourcesмассив string
  • statusstring
    значения: QUEUED RUNNING SUCCEEDED FAILED UNKNOWN
  • stagestring
  • createdAtstring date-time
  • startedAtstring date-time
  • finishedAtstring date-time
  • resultлюбое значение
  • 3 поля · OperationError
    • codestring
    • messagestring
    • detailsлюбое значение
  • warningsмассив string

Ошибки — problem+json с полем code, см. коды ошибок.

Пример запроса

curl
curl 'http://localhost:7790/api/v1/print-jobs'
curl
curl 'https://cloud.hw-connector.ru/agent/api/v1/print-jobs' \
  -H 'X-Api-Key: hwk_…' \
  -H 'X-Device-Id: 42'
POST/api/v1/print-jobs
Операция

PDF по ссылкам, готовый PDF или картинки — с настройками принтера (масштаб, бумага); raw — команды ESC/POS, ZPL, EPL напрямую на принтер. Ссылки скачиваются до печати

Параметры

ИмяГдеТипОписание
Idempotency-Keyобязательныйheaderstring
Preferheaderstring

Тело запроса application/json обязательное

Поля · PrintJobRequest
  • urlsмассив string
  • documentstring
  • imagesмассив string
  • rawstring
  • textмассив TextLine
    4 поля · TextLine
    • kindstringобязательное
      значения: TEXT PAIR SEPARATOR
    • textstring
    • rightstring
    • alignstring
      значения: LEFT CENTER RIGHT
  • printerstring
  • deviceinteger int32
  • rolestring
  • copiesinteger int32
    от 1
    до 20
  • htmlstring
  • htmlUrlstring
  • 14 полей · PrintOptions
    • pagesstring
    • duplexstring
      значения: ONE_SIDED LONG_EDGE SHORT_EDGE
    • traystring
    • colorstring
      значения: COLOR MONOCHROME
    • dpiinteger int32
    • nUpinteger int32
      от 1
      до 16
    • collateboolean
    • orientationstring
      значения: AUTO PORTRAIT LANDSCAPE
    • rotationinteger int32
    • scalingstring
      значения: ACTUAL FIT SHRINK
    • paperWidthMmnumber double
    • paperHeightMmnumber double
    • marginsMmstring
    • jobNamestring
  • expireAfterSecinteger int32
    от 1
JSON
{
  "urls": [
    "string"
  ],
  "document": "string",
  "images": [
    "string"
  ],
  "raw": "string",
  "text": [
    {
      "kind": "TEXT",
      "text": "string",
      "right": "string",
      "align": "LEFT"
    }
  ],
  "printer": "string",
  "device": 1,
  "role": "string",
  "copies": 1,
  "html": "string",
  "htmlUrl": "string",
  "options": {
    "pages": "string",
    "duplex": "ONE_SIDED",
    "tray": "string",
    "color": "COLOR",
    "dpi": 1,
    "nUp": 1,
    "collate": false,
    "orientation": "AUTO",
    "rotation": 1,
    "scaling": "ACTUAL",
    "paperWidthMm": 1.5,
    "paperHeightMm": 1.5,
    "marginsMm": "string",
    "jobName": "string"
  },
  "expireAfterSec": 1
}

Ответ 200 application/json

Поля · Operation
  • idstring uuid
  • typestring
  • idempotencyKeystring
  • resourcesмассив string
  • statusstring
    значения: QUEUED RUNNING SUCCEEDED FAILED UNKNOWN
  • stagestring
  • createdAtstring date-time
  • startedAtstring date-time
  • finishedAtstring date-time
  • resultлюбое значение
  • 3 поля · OperationError
    • codestring
    • messagestring
    • detailsлюбое значение
  • warningsмассив string

Ошибки — problem+json с полем code, см. коды ошибок.

Пример запроса

curl
curl -X POST 'http://localhost:7790/api/v1/print-jobs' \
  -H 'Idempotency-Key: $(uuidgen)' \
  -H 'Prefer: wait=30' \
  -H 'Content-Type: application/json' \
  --data '{"urls":["string"],"document":"string","images":["string"],"raw":"string","text":[{"kind":"TEXT","text":"string","right":"string","align":"LEFT"}],"printer":"string","device":1,"role":"string","copies":1,"html":"string","htmlUrl":"string","options":{"pages":"string","duplex":"ONE_SIDED","tray":"string","color":"COLOR","dpi":1,"nUp":1,"collate":false,"orientation":"AUTO","rotation":1,"scaling":"ACTUAL","paperWidthMm":1.5,"paperHeightMm":1.5,"marginsMm":"string","jobName":"string"},"expireAfterSec":1}'
curl
curl -X POST 'https://cloud.hw-connector.ru/agent/api/v1/print-jobs' \
  -H 'X-Api-Key: hwk_…' \
  -H 'X-Device-Id: 42' \
  -H 'Idempotency-Key: $(uuidgen)' \
  -H 'Prefer: wait=30' \
  -H 'Content-Type: application/json' \
  --data '{"urls":["string"],"document":"string","images":["string"],"raw":"string","text":[{"kind":"TEXT","text":"string","right":"string","align":"LEFT"}],"printer":"string","device":1,"role":"string","copies":1,"html":"string","htmlUrl":"string","options":{"pages":"string","duplex":"ONE_SIDED","tray":"string","color":"COLOR","dpi":1,"nUp":1,"collate":false,"orientation":"AUTO","rotation":1,"scaling":"ACTUAL","paperWidthMm":1.5,"paperHeightMm":1.5,"marginsMm":"string","jobName":"string"},"expireAfterSec":1}'

Повторить задание печати#

POST/api/v1/print-jobs/{id}/retry
Операция

Новое задание с теми же документами и настройками; нужен новый Idempotency-Key

Параметры

ИмяГдеТипОписание
idобязательныйpathstring uuid
Idempotency-Keyобязательныйheaderstring
Preferheaderstring

Ответ 200 application/json

Поля · Operation
  • idstring uuid
  • typestring
  • idempotencyKeystring
  • resourcesмассив string
  • statusstring
    значения: QUEUED RUNNING SUCCEEDED FAILED UNKNOWN
  • stagestring
  • createdAtstring date-time
  • startedAtstring date-time
  • finishedAtstring date-time
  • resultлюбое значение
  • 3 поля · OperationError
    • codestring
    • messagestring
    • detailsлюбое значение
  • warningsмассив string

Ошибки — problem+json с полем code, см. коды ошибок.

Пример запроса

curl
curl -X POST 'http://localhost:7790/api/v1/print-jobs/3f6c1d9e-1b2a-4c55-9e0d-6a1f0c2b7d11/retry' \
  -H 'Idempotency-Key: $(uuidgen)' \
  -H 'Prefer: wait=30'
curl
curl -X POST 'https://cloud.hw-connector.ru/agent/api/v1/print-jobs/3f6c1d9e-1b2a-4c55-9e0d-6a1f0c2b7d11/retry' \
  -H 'X-Api-Key: hwk_…' \
  -H 'X-Device-Id: 42' \
  -H 'Idempotency-Key: $(uuidgen)' \
  -H 'Prefer: wait=30'

Отменить задание печати#

POST/api/v1/print-jobs/{id}/cancel

Только пока оно ждёт принтер (QUEUED); начатое — уже в очереди Windows, его очищает DELETE /printers/jobs

Параметры

ИмяГдеТипОписание
idобязательныйpathstring uuid

Ответ 200 application/json

Поля · Operation
  • idstring uuid
  • typestring
  • idempotencyKeystring
  • resourcesмассив string
  • statusstring
    значения: QUEUED RUNNING SUCCEEDED FAILED UNKNOWN
  • stagestring
  • createdAtstring date-time
  • startedAtstring date-time
  • finishedAtstring date-time
  • resultлюбое значение
  • 3 поля · OperationError
    • codestring
    • messagestring
    • detailsлюбое значение
  • warningsмассив string

Ошибки — problem+json с полем code, см. коды ошибок.

Пример запроса

curl
curl -X POST 'http://localhost:7790/api/v1/print-jobs/3f6c1d9e-1b2a-4c55-9e0d-6a1f0c2b7d11/cancel'
curl
curl -X POST 'https://cloud.hw-connector.ru/agent/api/v1/print-jobs/3f6c1d9e-1b2a-4c55-9e0d-6a1f0c2b7d11/cancel' \
  -H 'X-Api-Key: hwk_…' \
  -H 'X-Device-Id: 42'

Принтеры Windows, их назначения и настройки печати#

GET/api/v1/printers

Ответ 200 application/json

Массив · PrinterInfo
  • namestring
  • isDefaultboolean
  • rolesмассив string
  • 4 поля · PrinterSettings
    • scalingstring
      значения: ACTUAL FIT SHRINK
    • orientationstring
      значения: AUTO PORTRAIT LANDSCAPE
    • paperWidthMmnumber double
    • paperHeightMmnumber double

Ошибки — problem+json с полем code, см. коды ошибок.

Пример запроса

curl
curl 'http://localhost:7790/api/v1/printers'
curl
curl 'https://cloud.hw-connector.ru/agent/api/v1/printers' \
  -H 'X-Api-Key: hwk_…' \
  -H 'X-Device-Id: 42'

Состояние принтеров#

GET/api/v1/printers/status

Готов, печатает, не в сети, ошибка и причины (нет бумаги, замятие, крышка); изменения приходят событием printer

Ответ 200 application/json

Массив · Status
  • enabledboolean
  • consentboolean
  • forcedboolean
  • lastSentstring date-time
  • lastErrorstring
  • previewJsonNode
    24 поля · JsonNode
    • emptyboolean
    • arrayboolean
    • nullboolean
    • objectboolean
    • floatboolean
    • numberboolean
    • intboolean
    • doubleboolean
    • textualboolean
    • longboolean
    • shortboolean
    • stringboolean
    • pojoboolean
    • booleanboolean
    • binaryboolean
    • nodeTypestring
      значения: ARRAY BINARY BOOLEAN MISSING NULL NUMBER OBJECT POJO STRING
    • missingNodeboolean
    • floatingPointNumberboolean
    • bigIntegerboolean
    • bigDecimalboolean
    • containerboolean
    • integralNumberboolean
    • valueNodeboolean
    • embeddedValueboolean

Ошибки — problem+json с полем code, см. коды ошибок.

Пример запроса

curl
curl 'http://localhost:7790/api/v1/printers/status'
curl
curl 'https://cloud.hw-connector.ru/agent/api/v1/printers/status' \
  -H 'X-Api-Key: hwk_…' \
  -H 'X-Device-Id: 42'

Очередь принтера в системе#

GET/api/v1/printers/jobs

Задания в очереди Windows (CUPS в Linux и macOS), в том числе не от агента

Параметры

ИмяГдеТипОписание
nameобязательныйquerystring

Ответ 200 application/json

Массив · Job
  • idstring
  • documentstring
  • statusstring
  • pagesinteger int32
  • submittedstring

Ошибки — problem+json с полем code, см. коды ошибок.

Пример запроса

curl
curl 'http://localhost:7790/api/v1/printers/jobs?name=text'
curl
curl 'https://cloud.hw-connector.ru/agent/api/v1/printers/jobs?name=text' \
  -H 'X-Api-Key: hwk_…' \
  -H 'X-Device-Id: 42'

Очистить очередь принтера#

DELETE/api/v1/printers/jobs

Удаляет все задания из очереди Windows (CUPS) этого принтера

Параметры

ИмяГдеТипОписание
nameобязательныйquerystring

Ответ 200 application/json

Тип: словарь → любое значение

Ошибки — problem+json с полем code, см. коды ошибок.

Пример запроса

curl
curl -X DELETE 'http://localhost:7790/api/v1/printers/jobs?name=text'
curl
curl -X DELETE 'https://cloud.hw-connector.ru/agent/api/v1/printers/jobs?name=text' \
  -H 'X-Api-Key: hwk_…' \
  -H 'X-Device-Id: 42'

Возможности принтера#

GET/api/v1/printers/capabilities

Лотки, бумага, двусторонняя печать, цвет, разрешения, копии, N-up — по сведениям драйвера

Параметры

ИмяГдеТипОписание
nameобязательныйquerystring

Ответ 200 application/json

Тип: словарь → любое значение

Ошибки — problem+json с полем code, см. коды ошибок.

Пример запроса

curl
curl 'http://localhost:7790/api/v1/printers/capabilities?name=text'
curl
curl 'https://cloud.hw-connector.ru/agent/api/v1/printers/capabilities?name=text' \
  -H 'X-Api-Key: hwk_…' \
  -H 'X-Device-Id: 42'