Раздел 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 | Возможности принтера |
Задания печати агента#
/api/v1/print-jobsНовые первыми; состояние — как у операций: QUEUED, RUNNING, SUCCEEDED, FAILED
Параметры
| Имя | Где | Тип | Описание |
|---|---|---|---|
limit | query | integer int32 |
Ответ 200 application/json
Массив · Operation
idstring uuidtypestringidempotencyKeystringresourcesмассив stringstatusstringзначения:QUEUEDRUNNINGSUCCEEDEDFAILEDUNKNOWNstagestringcreatedAtstring date-timestartedAtstring date-timefinishedAtstring date-timeresultлюбое значениеerrorOperationError3 поля · OperationError
codestringmessagestringdetailsлюбое значение
warningsмассив string
Ошибки — problem+json с полем code, см. коды ошибок.
Пример запроса
curl 'http://localhost:7790/api/v1/print-jobs'curl 'https://cloud.hw-connector.ru/agent/api/v1/print-jobs' \
-H 'X-Api-Key: hwk_…' \
-H 'X-Device-Id: 42'PDF по ссылкам, готовый PDF или картинки — с настройками принтера (масштаб, бумага); raw — команды ESC/POS, ZPL, EPL напрямую на принтер. Ссылки скачиваются до печати
Параметры
| Имя | Где | Тип | Описание |
|---|---|---|---|
Idempotency-Keyобязательный | header | string | |
Prefer | header | string |
Тело запроса application/json обязательное
Поля · PrintJobRequest
urlsмассив stringdocumentstringimagesмассив stringrawstringtextмассив TextLine4 поля · TextLine
kindstringобязательноезначения:TEXTPAIRSEPARATORtextstringrightstringalignstringзначения:LEFTCENTERRIGHT
printerstringdeviceinteger int32rolestringcopiesinteger int32от 1до 20htmlstringhtmlUrlstringoptionsPrintOptions14 полей · PrintOptions
pagesstringduplexstringзначения:ONE_SIDEDLONG_EDGESHORT_EDGEtraystringcolorstringзначения:COLORMONOCHROMEdpiinteger int32nUpinteger int32от 1до 16collatebooleanorientationstringзначения:AUTOPORTRAITLANDSCAPErotationinteger int32scalingstringзначения:ACTUALFITSHRINKpaperWidthMmnumber doublepaperHeightMmnumber doublemarginsMmstringjobNamestring
expireAfterSecinteger int32от 1
{
"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 uuidtypestringidempotencyKeystringresourcesмассив stringstatusstringзначения:QUEUEDRUNNINGSUCCEEDEDFAILEDUNKNOWNstagestringcreatedAtstring date-timestartedAtstring date-timefinishedAtstring date-timeresultлюбое значениеerrorOperationError3 поля · OperationError
codestringmessagestringdetailsлюбое значение
warningsмассив string
Ошибки — problem+json с полем code, см. коды ошибок.
Пример запроса
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 -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}'Новое задание с теми же документами и настройками; нужен новый Idempotency-Key
Параметры
| Имя | Где | Тип | Описание |
|---|---|---|---|
idобязательный | path | string uuid | |
Idempotency-Keyобязательный | header | string | |
Prefer | header | string |
Ответ 200 application/json
Поля · Operation
idstring uuidtypestringidempotencyKeystringresourcesмассив stringstatusstringзначения:QUEUEDRUNNINGSUCCEEDEDFAILEDUNKNOWNstagestringcreatedAtstring date-timestartedAtstring date-timefinishedAtstring date-timeresultлюбое значениеerrorOperationError3 поля · OperationError
codestringmessagestringdetailsлюбое значение
warningsмассив string
Ошибки — problem+json с полем code, см. коды ошибок.
Пример запроса
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 -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'Отменить задание печати#
/api/v1/print-jobs/{id}/cancelТолько пока оно ждёт принтер (QUEUED); начатое — уже в очереди Windows, его очищает DELETE /printers/jobs
Параметры
| Имя | Где | Тип | Описание |
|---|---|---|---|
idобязательный | path | string uuid |
Ответ 200 application/json
Поля · Operation
idstring uuidtypestringidempotencyKeystringresourcesмассив stringstatusstringзначения:QUEUEDRUNNINGSUCCEEDEDFAILEDUNKNOWNstagestringcreatedAtstring date-timestartedAtstring date-timefinishedAtstring date-timeresultлюбое значениеerrorOperationError3 поля · OperationError
codestringmessagestringdetailsлюбое значение
warningsмассив string
Ошибки — problem+json с полем code, см. коды ошибок.
Пример запроса
curl -X POST 'http://localhost:7790/api/v1/print-jobs/3f6c1d9e-1b2a-4c55-9e0d-6a1f0c2b7d11/cancel'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, их назначения и настройки печати#
/api/v1/printersОтвет 200 application/json
Массив · PrinterInfo
namestringisDefaultbooleanrolesмассив stringsettingsPrinterSettings4 поля · PrinterSettings
scalingstringзначения:ACTUALFITSHRINKorientationstringзначения:AUTOPORTRAITLANDSCAPEpaperWidthMmnumber doublepaperHeightMmnumber double
Ошибки — problem+json с полем code, см. коды ошибок.
Пример запроса
curl 'http://localhost:7790/api/v1/printers'curl 'https://cloud.hw-connector.ru/agent/api/v1/printers' \
-H 'X-Api-Key: hwk_…' \
-H 'X-Device-Id: 42'Состояние принтеров#
/api/v1/printers/statusГотов, печатает, не в сети, ошибка и причины (нет бумаги, замятие, крышка); изменения приходят событием printer
Ответ 200 application/json
Массив · Status
enabledbooleanconsentbooleanforcedbooleanlastSentstring date-timelastErrorstringpreviewJsonNode24 поля · JsonNode
emptybooleanarraybooleannullbooleanobjectbooleanfloatbooleannumberbooleanintbooleandoublebooleantextualbooleanlongbooleanshortbooleanstringbooleanpojobooleanbooleanbooleanbinarybooleannodeTypestringзначения:ARRAYBINARYBOOLEANMISSINGNULLNUMBEROBJECTPOJOSTRINGmissingNodebooleanfloatingPointNumberbooleanbigIntegerbooleanbigDecimalbooleancontainerbooleanintegralNumberbooleanvalueNodebooleanembeddedValueboolean
Ошибки — problem+json с полем code, см. коды ошибок.
Пример запроса
curl 'http://localhost:7790/api/v1/printers/status'curl 'https://cloud.hw-connector.ru/agent/api/v1/printers/status' \
-H 'X-Api-Key: hwk_…' \
-H 'X-Device-Id: 42'Очередь принтера в системе#
/api/v1/printers/jobsЗадания в очереди Windows (CUPS в Linux и macOS), в том числе не от агента
Параметры
| Имя | Где | Тип | Описание |
|---|---|---|---|
nameобязательный | query | string |
Ответ 200 application/json
Массив · Job
idstringdocumentstringstatusstringpagesinteger int32submittedstring
Ошибки — problem+json с полем code, см. коды ошибок.
Пример запроса
curl 'http://localhost:7790/api/v1/printers/jobs?name=text'curl 'https://cloud.hw-connector.ru/agent/api/v1/printers/jobs?name=text' \
-H 'X-Api-Key: hwk_…' \
-H 'X-Device-Id: 42'Очистить очередь принтера#
/api/v1/printers/jobsУдаляет все задания из очереди Windows (CUPS) этого принтера
Параметры
| Имя | Где | Тип | Описание |
|---|---|---|---|
nameобязательный | query | string |
Ответ 200 application/json
Тип: словарь → любое значение
Ошибки — problem+json с полем code, см. коды ошибок.
Пример запроса
curl -X DELETE 'http://localhost:7790/api/v1/printers/jobs?name=text'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'Возможности принтера#
/api/v1/printers/capabilitiesЛотки, бумага, двусторонняя печать, цвет, разрешения, копии, N-up — по сведениям драйвера
Параметры
| Имя | Где | Тип | Описание |
|---|---|---|---|
nameобязательный | query | string |
Ответ 200 application/json
Тип: словарь → любое значение
Ошибки — problem+json с полем code, см. коды ошибок.
Пример запроса
curl 'http://localhost:7790/api/v1/printers/capabilities?name=text'curl 'https://cloud.hw-connector.ru/agent/api/v1/printers/capabilities?name=text' \
-H 'X-Api-Key: hwk_…' \
-H 'X-Device-Id: 42'