The jobticket endpoint is an extension to calibrateFLOW at extra cost. This endpoint allows to submit a jobticket (JSON) along with optional processing instructions.
Using this endpoints does not require the need to have prepared preflight profiles for checking and fixing. Hence knowledge about the underlying preflighting technology.
A common use case the preflighting of a print job against the job ticket information. The needed checks and fixups are either defined in the job ticket or get generated automatically based on rules (for example based on the uploaded product type).
This endpoint supports the methode byLink or byUpload
Create a new jobticket call
POST https://ppadev.calibrate.at/api/JobTickets/byLink
BODY application/json
JSON payload based on jobticket schema
or
POST https://ppadev.calibrate.at/api/JobTickets/byUpload
BODY form-data
form-data.task JSON payload
form-data.<fileid_1> binary
form-data.<fileid_2> binary
…
to trigger preflight setup based on PDF/X-ready, a minum job ticket JSON looks like this. The file gets fetched from its S3 storage, the result is pushed to the defined S3 storage folder.
{"ticket": {
"externalId": "1534496124",
"customAttributes": {
"categoryA": "std",
"categoryB": "std",
"delivery": "upload",
"printingMethod": "4C-druck"
},
"productList": [{
"isRoot": true,
"externalId": "1534496125",
"intent": {
"layoutIntent": {
"sides": "oneSided",
"spreadType": "singlePage",
"pages": 1,
"dimensions": [
300,
162
],
"bleed": 3
}
}
}],
"processList": [],
"resourceList": [
{
"id": "inputfile",
"direction": "input",
"usage": "original",
"resourceVars": {
"uri": "s3://calibrateflow-demo/Testfiles/Flyer_A4.pdf"
}
}
]
}}
the response is the same as when calling the task endpoint:
{
"name": "PortalTask",
"description": "Generated by JobTicketService",
"status": "waiting",
"completed": false,
"result": {},
"container": "5c8527d2ff80260057855dc5",
"callback": {
"url": "http://customer.callback.at"
},
"id": "5c8527d2d975bd0057399a18",
"processes": [
{
"processId": "portalPreflight",
"name": "profile",
"priority": 100,
"data": {
"reports": [
{
"type": "TEMPLATE",
"templatePath": {
"base": "$common",
"name": "Overview_STD"
},
"name": "$originalName_übersicht.pdf"
},
{
"type": "XML",
"id": "5c8527d2ff80260057855dc1"
}
],
"variables": [
{
"userPath": "/root/data/common/masterprofile/"
},
{
"homePath": "/root/data/common/masterprofile/",
"id": "5c8527d2ff80260057855dc4"
},
{
"pdf_t_b_template": "{\"id\":\"Portalworkflow\",\"base\":[],\"type\":\"standard\",\"name\":\"PDF/X-ready V1.4 requirements\",\"checks\":[{\"id\":\"iccBasedCmykOverprintOpm1\"},{\"id\":\"fontNameNotUtf8\"},{\"id\":\"fontNameWrongMasking\"},{\"id\":\"oiMissing\"},{\"id\":\"spotcolorNameNotUtf8\"},{\"id\":\"bppGt8\"},{\"id\":\"alternateImagePrinting\"},{\"id\":\"trueTypeEncodingInvalid\"},{\"id\":\"trueTypeDifferenceStandardEncoding\"},{\"id\":\"moreThanOneEncodingTrueType\"},{\"id\":\"cidGt\"},{\"id\":\"trappedKeyNotSet\",\"severity\":3},{\"id\":\"isEncrypted\",\"severity\":3},{\"id\":\"OutputIntentwithoutProfil\",\"severity\":3},{\"id\":\"OutputIntentMissing\",\"severity\":3},{\"id\":\"noPdfX\",\"severity\":3},{\"id\":\"interactiveFormfields\",\"severity\":3},{\"id\":\"deviceRgbTextLineart\",\"severity\":3},{\"id\":\"deviceRgbImage\",\"severity\":3},{\"id\":\"lzwCompression\",\"severity\":3},{\"id\":\"annotations\",\"severity\":3},{\"id\":\"fontWidthUnequal\",\"severity\":3},{\"id\":\"postscriptEmbedded\",\"severity\":3},{\"id\":\"transferCurve\",\"severity\":3},{\"id\":\"opi\",\"severity\":3},{\"id\":\"damaged\",\"severity\":3},{\"id\":\"security\",\"severity\":3},{\"id\":\"missingGlyph\",\"severity\":3},{\"id\":\"missingFont\",\"severity\":3},{\"id\":\"userScreeningSetting\",\"severity\":3},{\"id\":\"x\",\"name\":{\"en_US\":\"PDF/X Checks\",\"de_DE\":\"PDF/X Prüfungen\"},\"description\":{\"en_US\":\"all PDF/X relate4d checks, but not for a specific PDF/X-version\",\"de_DE\":\"alle PDF/X releavten Prüfungen, ausgenommen der spezifischen Prüfungen der einzelnen PDF/X Versionen\"}},{\"id\":\"alternateColorSpaceNotDevice\"},{\"id\":\"jpeg2000Used\"},{\"id\":\"iccBasedRgbTextLineart\",\"severity\":3},{\"id\":\"pageScaling\",\"severity\":3},{\"id\":\"calGrayTextLineart\",\"severity\":3},{\"id\":\"iccBasedGrayTextLineart\",\"severity\":3},{\"id\":\"iccBasedCmykTextLineart\",\"severity\":3},{\"id\":\"calGrayImage\",\"severity\":3},{\"id\":\"iccBasedGrayImage\",\"severity\":3},{\"id\":\"iccBasedCmykImage\",\"severity\":3},{\"id\":\"calRgbTextLineart\",\"severity\":3},{\"id\":\"labImage\",\"severity\":3},{\"id\":\"calRgbImage\",\"severity\":3},{\"id\":\"iccBasedRgbImage\",\"severity\":3},{\"id\":\"optionalContent\",\"severity\":3},{\"id\":\"transparencyUsed\",\"severity\":3},{\"id\":\"pdfVersionGt\",\"severity\":3,\"variables\":[{\"key\":\"version\",\"value\":1.4}]},{\"id\":\"x1a\"},{\"id\":\"fontInvalid\"},{\"id\":\"imageInvalid\"},{\"id\":\"oiMissingIcc\"},{\"id\":\"blendingCsCmykSoftmask\",\"severity\":3},{\"id\":\"oiPucv3\",\"severity\":1},{\"id\":\"oiPucNp\",\"severity\":1},{\"id\":\"oiPucv2\",\"severity\":1},{\"id\":\"oiPcv3\",\"severity\":1},{\"id\":\"oiPc330Np\",\"severity\":1},{\"id\":\"oiIcv2\",\"severity\":1},{\"id\":\"oiPc300Np\",\"severity\":1},{\"id\":\"oiIcv2300\",\"severity\":1},{\"id\":\"oiPxrUnknown\",\"severity\":2,\"variables\":[{\"key\":\"knowCustomOis\",\"value\":\"\"}]},{\"id\":\"oiPxrSheetfedUsDeprecated\",\"severity\":2},{\"id\":\"oiPxrSheetfedEciDeprecated\",\"severity\":2},{\"id\":\"oiPxrDeprecated\",\"severity\":2},{\"id\":\"oiPxrSheetfedOutdated\",\"severity\":2},{\"id\":\"oiPxrSheetfedUs\",\"severity\":1},{\"id\":\"oiPxrSheetfedEci\",\"severity\":1},{\"id\":\"oiPxrLargeGamut\",\"severity\":2},{\"id\":\"CropBoxNeMediaBox\",\"severity\":2},{\"id\":\"resolutionSingleImageLevel2\",\"severity\":1,\"variables\":[{\"key\":\"minRes\",\"value\":\"299.5\"},{\"key\":\"maxRes\",\"value\":\"449.5\"}]},{\"id\":\"resolutionSingleImageLevel1\",\"severity\":2,\"variables\":[{\"key\":\"minRes\",\"value\":\"299.5\"}]},{\"id\":\"BlackKonlyKnockoutLteFillText\",\"severity\":1,\"variables\":[{\"key\":\"size\",\"value\":\"11.94\"}]},{\"id\":\"spotColorsIdenticalAltanate\",\"severity\":3},{\"id\":\"deviceGrayOverprintStroke\",\"severity\":2},{\"id\":\"deviceGrayOverprintFill\",\"severity\":2},{\"id\":\"deviceGrayBlackOverprintLteStrokeText\",\"severity\":2,\"variables\":[{\"key\":\"size\",\"value\":\"11.94\"}]},{\"id\":\"deviceGrayBlackOverprintLteFillText\",\"severity\":2,\"variables\":[{\"key\":\"size\",\"value\":\"11.94\"}]},{\"id\":\"deviceGrayBlackKnockoutLteStrokeText\",\"severity\":2,\"variables\":[{\"key\":\"size\",\"value\":\"11.94\"}]},{\"id\":\"deviceGrayBlackKnockoutLteFillText\",\"severity\":2,\"variables\":[{\"key\":\"size\",\"value\":\"11.94\"}]},{\"id\":\"deviceGrayBlackOverprintGtStrokeText\",\"severity\":2,\"variables\":[{\"key\":\"size\",\"value\":\"11.95\"}]},{\"id\":\"deviceGrayBlackOverprintGtFillText\",\"severity\":2,\"variables\":[{\"key\":\"size\",\"value\":\"11.95\"}]},{\"id\":\"BlackKonlyKnockoutLteStrokeLineart\",\"severity\":2,\"variables\":[{\"key\":\"width\",\"value\":\"1.9994\"}]},{\"id\":\"deviceGrayBlackOverprintLteStrokeLineart\",\"severity\":2,\"variables\":[{\"key\":\"width\",\"value\":\"1.9994\"}]},{\"id\":\"deviceGrayBlackKnockoutLteStrokeLineart\",\"severity\":2,\"variables\":[{\"key\":\"width\",\"value\":\"1.9994\"}]},{\"id\":\"deviceGrayBlackOverprintGtStrokeLineart\",\"severity\":2,\"variables\":[{\"key\":\"width\",\"value\":\"1.9995\"}]},{\"id\":\"deviceGrayBlackOverprintFillLineart\",\"severity\":2},{\"id\":\"seperationAll\",\"severity\":2},{\"id\":\"minLineWidthSingleColor100pzt\",\"severity\":2,\"variables\":[{\"key\":\"width\",\"value\":\"0.124\"}]},{\"id\":\"minLineMultiColor\",\"severity\":2,\"variables\":[{\"key\":\"width\",\"value\":\"0.25\"}]},{\"id\":\"minTextSizeSingleColor\",\"severity\":2,\"variables\":[{\"key\":\"size\",\"value\":\"5\"}]},{\"id\":\"minTextSizeMultiColor\",\"severity\":2,\"variables\":[{\"key\":\"size\",\"value\":\"8\"}]},{\"id\":\"zeroPtLines\",\"severity\":2},{\"id\":\"rotation\",\"severity\":3},{\"id\":\"orientationUnequal\",\"severity\":3},{\"id\":\"richBlackTextLineartFill\",\"severity\":2},{\"id\":\"richBlackTextLineartStroke\",\"severity\":2},{\"id\":\"sizeOrientationUnequal\",\"severity\":2},{\"id\":\"Text400PztStroke\",\"severity\":2},{\"id\":\"Lineart400PztStroke\",\"severity\":2},{\"id\":\"Text400PztFill\",\"severity\":2},{\"id\":\"separatedBlackTextFill\",\"severity\":2},{\"id\":\"blendingCsCmyk\",\"severity\":3},{\"id\":\"Lineart400PztFill\",\"severity\":2},{\"id\":\"strokeTac\",\"severity\":2,\"variables\":[{\"key\":\"less\",\"value\":320}]},{\"id\":\"fillTac\",\"severity\":2,\"variables\":[{\"key\":\"less\",\"value\":320}]},{\"id\":\"whiteLineartStrokeOverprint\",\"severity\":2},{\"id\":\"whiteLineartFillOverprint\",\"severity\":2},{\"id\":\"whiteTextStrokeOverprint\",\"severity\":3},{\"id\":\"whiteTextFillOverprint\",\"severity\":3},{\"id\":\"BlackKonly100przKnockoutLteStrokeLineart\",\"severity\":2,\"variables\":[{\"key\":\"less\",\"value\":2}]},{\"id\":\"BlackKonly100przKnockoutLteFillText\",\"severity\":2,\"variables\":[{\"key\":\"size\",\"value\":12}]},{\"id\":\"spotcolorUsed\",\"severity\":1},{\"id\":\"tacAbove\",\"severity\":2,\"variables\":[{\"key\":\"maxTac\",\"value\":320},{\"key\":\"maxTacAperture\",\"value\":15}]},{\"id\":\"resolutionBitmapLevel3\",\"severity\":1,\"variables\":[{\"key\":\"maxRes\",\"value\":3600}]},{\"id\":\"resolutionBitmapLevel2\",\"severity\":1,\"variables\":[{\"key\":\"minRes\",\"value\":550},{\"key\":\"maxRes\",\"value\":800}]},{\"id\":\"resolutionBitmapLevel1\",\"severity\":2,\"variables\":[{\"key\":\"minRes\",\"value\":550}]},{\"id\":\"resolutionHalftoneLevel3\",\"severity\":1,\"variables\":[{\"key\":\"maxRes\",\"value\":750}]},{\"id\":\"resolutionHalftoneLevel2\",\"severity\":1,\"variables\":[{\"key\":\"minRes\",\"value\":200},{\"key\":\"maxRes\",\"value\":300}]},{\"id\":\"resolutionHalftoneLevel1\",\"severity\":2,\"variables\":[{\"key\":\"minRes\",\"value\":200}]},{\"id\":\"emptyPage\",\"severity\":1},{\"id\":\"spotCount\",\"severity\":2,\"variables\":[{\"key\":\"number\",\"value\":3}]},{\"id\":\"xReady\"},{\"id\":\"labTextLineart\",\"severity\":3}],\"fixups\":[]}",
"id": "5c8527d2ff80260057855dc2"
},
{
"template": "Portalworkflow",
"id": "5c8527d2ff80260057855dc3"
}
],
"options": [
"novariables",
"uncompressimg"
],
"arguments": [
{
"language": "de"
}
],
"id": "portalPreflight",
"profilePath": {
"base": "$common",
"name": "data/calibrate_masterProfile.kfpx"
}
},
"completed": false,
"status": "Waiting",
"result": {},
"children": [],
"resourceRefs": [
"inputfile"
],
"id": "5c8527d2d975bd0057399a19",
"taskId": "5c8527d2d975bd0057399a18"
}
],
"resources": [
{
"resourceId": "inputfile",
"name": "Flyer_A4.pdf",
"originalFilename": "Flyer_A4.pdf",
"direction": "input",
"pathType": "file",
"uri": "s3://calibrateflow-demo/Testfiles/Flyer_A4.pdf",
"usage": "original",
"container": "5c8527d2ff80260057855dc5",
"mimeType": "application/pdf",
"internalUrl": "https://ppa.calibrate.at/api/Containers/5c8527d2ff80260057855dc5/download/Flyer_A4.pdf",
"destinationUrl": "",
"size": 2361140,
"id": "5c8527d2d975bd0057399a1a",
"taskId": "5c8527d2d975bd0057399a18"
}
]
}
If the preflight process is know to the calling client, it is possible to pass this information as processList object:
"processList": [
{
"id": "portalPreflight",
"type":"preflight",
"processVars": {
"do": true,
"engine": "pdfTB",
"template":{
"id" : "Portalworkflow",
"base": [
"pdfxready_classic_checks"
]
}
}
}
It is further possible, to add additional check and fixups with variables.
As of now, the type of reports that are required have to be defined in a separate JSON file that can only be configured by calibrate staff. This will change in the near future.
calibrate also supports uri definitions using Amazon S3 storage. For this to work, an AWS Key and secret must be defined (done by the calibrate staff).
Example: "uri": "s3://calibrateflow-demo/Testfiles/Flyer_A4.pdf"
If the destination files shall also get stored on S3 using a specific folder (which must exist), add the following object to the resourceList collection:
{
"id": "outputfile",
"direction": "output",
"usage": "processed",
"pathType": "folder",
"resourceVars": {
"uri": "s3://la-forma-uploads/generated/"
}
}