/api (GET)
Description
Returns descriptive detail about the implementation of ScriptX.Services.
Note that this API is version-less. Simply GET /api from the server. For forwards compatibility code should assume that the object returned may contain more values than at the time code was written.
Applies to:
- ScriptX.Services for Cloud
- ScriptX.Services for On-Premise Devices (Authorisation header is ignored)
- ScriptX.Services for Windows PC
Response model
{
ServiceDescription {
serviceClass (integer): 1 = Cloud, 2 = OnPremise, 3 = WindowsPC ,
currentAPIVersion (string),
serviceVersion (Version),
serverVersion (Version),
serviceUpgrade (Version, optional),
availablePrinters (Array[string], optional),
printHTML (boolean, optional),
printPDF (boolean, optional),
printDIRECT (boolean, optional)
}
Version {
major (integer),
minor (integer),
build (integer),
revision (integer),
majorRevision (integer),
minorRevision (integer)
}
}
ServiceDescription:
- serviceClass (integer, optional)
-
Describes the class of service availble.
1 Public Cloud - prints to file only (PDF/XPS).
2 On Premise - prints to printers both available to the server device and configured to be available.
3 For Windows PC - prints to any printer available to the Windows PC device. - currentAPIVersion (string)
- The latest API version implemented (currently "v1").
- serviceVersion (Version)
- The version of the service server.
- serverVersion (Version)
- The version of ScriptX Server in use by ScriptX.Services.
- serviceUpgrade (Version, optional)
- If a newer version of the service server is available, its version.
- availablePrinters (Array[string], optional),
- An array of the names of all printer devices available on the print server.
- printHTML (boolean, optional)
- True iff the service implements the printHTML api.
- printPDF (boolean, optional)
- True iff the service implements the printPDF api.
- printDIRECT (boolean, optional)
- True iff the service implements the printDirect api.
Version:
- major (integer),
- The major version number - increments on improvements and/or additions which include breaking changes.
- minor (integer),
- The minor version number - increments on improvements and/or additions which do not break current code.
- build (integer),
- The build number - increments with bug fixes.
- revision (integer),
- Internal revisions on a build - no relevance.
- majorRevision (integer),
- Random - do not use.
- minorRevision (integer),
- Random - do not use.
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>
$(function () {
$('#btn_runcode').click(function () { callServer(); });
});
function callServer() {
$('#response-status').text("(waiting)");
var settings = {
method: "GET",
dataType: "json",
jsonp: false,
cache: false
};
settings.headers = { "Authorization": "Basic "
+ btoa("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + ":") };
jQuery.ajax("/api/v1/", settings)
.done(function (data, textStatus, jqXHR) {
$('#response-status').text(('(status: ' + jqXHR.status + ' ' + jqXHR.statusText + ')'));
$('#response').val(JSON.stringify(data, null, " ")); // shows JSON response in textarea element
$('#headers').val(jqXHR.getAllResponseHeaders()); // shows response headers in textarea element
// do something with the ScriptX.Services information
console.log('Service version: ' + data.serviceVersion);
})
.fail(function (jqXHR, textStatus, errorThrown) {
$('#response-status').text('(status: ' + jqXHR.status + ' ' + jqXHR.statusText + ')');
});
}