status (GET)
{server}/api/v1/printPdf/status/{jobToken}
Description
(requires v2.8 or later)
Returns the current status of a job as identified by the job token returned (as data.jobIdentifier) from a preceding /PrintPdf/print POST.
Applies to:
- ScriptX.Services for Cloud
- ScriptX.Services for On-Premise Devices (Authorisation header is ignored)
- ScriptX.Services for Windows PC
Request parameters
jobToken (string, required)
- jobToken (string, required)
- The job identifier for the job being queried, as returned by a preceding POST to /PrintPdf/print.
Response model
JobStatus {
message (string, optional),
status (integer, optional): 0 = NotStarted, 1 = Queued, 2 = Starting, 3 = Downloading,
4 = Downloaded, 5 = Printing, 6 = Completed, 7 = Paused,
8 = PrintingPdf, 100 = Collected, 101 = CodeException,
102 = CompletedWait, -2 = Abandoned, -1 = ItemError,
jobIdentifier (string, optional)
}
JobStatus:
- message (string, optional)
- String that may contain additional information regarding the current status of the job e.g. error description.
- status (integer, optional)
-
Integer that indicates the current status of the job identified in the API request jobToken parameter.
Values: 0 (NotStarted), 1 (Queued), 2 (Starting), 3 (Downloading), 4 (Downloaded), 5 (Printing), 6 (Completed), 7 (Paused), 8 (PrintingPdf), 100 (Collected), 101 (CodeException), 102 (CompletedWait), -2 (Abandoned), -1 (ItemError) - jobIdentifier (string, optional)
- Returns the job token as confirmation of the request this is answering.
Example usage
Request
<h5>Response <span id="response-status"></span></h5>
<textarea id="response" readonly="readonly" rows="3" class="codefont"></textarea>
<h5>Response headers</h5>
<textarea id="headers" readonly="readonly" rows="3" class="codefont"></textarea>
document.addEventListener("DOMContentLoaded", function() {
document.getElementById('btn_runcode').addEventListener('click', function() { callServer(); });
});
function callServer() {
document.getElementById('response-status').textContent = "(waiting)";
const apiUrl = "/api/v1/printPdf/status/8c72a9871ba64c4ba507b4392c1ce0b9";
const headers = new Headers({
"Authorization": "Basic " + btoa("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + ":"),
"Content-Type": "application/json"
});
fetch(apiUrl, { method: "GET", headers: headers })
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok: ' + response.statusText);
}
document.getElementById('response-status').textContent =
'(status: ' + response.status + ' ' + response.statusText + ')';
return response.json().then(data => {
// show JSON response in textarea element
document.getElementById('response').value = JSON.stringify(data, null, " ");
// do something with the status
var jobCompleted = data.status === 6;
return response.headers;
});
})
.then(headers => {
// show response headers in textarea element
let headersText = "";
for (let pair of headers.entries()) {
headersText += `${pair[0]}: ${pair[1]}\n`;
}
document.getElementById('headers').value = headersText;
})
.catch(error => {
document.getElementById('response-status').textContent = '(error: ' + error.message + ')';
document.getElementById('response').value = "Failed to fetch data.";
});
}