PlanetPress Connect REST API Cookbook With Working Examples Planet Press 1.5 15 EN

User Manual: Pdf PlanetPress Connect - 1.5 - REST API Cookbook with Working Examples User Guide for Objectif Lune PlanetPress Software, Free Instruction Manual

Open the PDF directly: View PDF PDF.
Page Count: 402

DownloadPlanetPress Connect REST API Cookbook With Working Examples Planet Press - 1.5 Planetpress-connect-rest-api-15 EN
Open PDF In BrowserView PDF
REST API Cookbook with
Working Examples
Version: 1.5

REST API Cookbook with Working Examples
Version 1.5
Last Revision: 17/01/2017
Objectif Lune, Inc.
2030 Pie-IX, Suite 500
Montréal, QC, Canada, H1V 2C8
+1 (514) 875-5863
www.objectiflune.com

All trademarks displayed are the property of their respective owners.

© Objectif Lune, Inc. 1994-2017. All rights reserved. No part of this documentation may be
reproduced, transmitted or distributed outside of Objectif Lune Inc. by any means whatsoever
without the express written permission of Objectif Lune Inc. Objectif Lune Inc. disclaims
responsibility for any errors and omissions in this documentation and accepts no responsibility
for damages arising from such inconsistencies or their further consequences of any kind.
Objectif Lune Inc. reserves the right to alter the information contained in this documentation
without notice.

Page 4

Table of Contents
Table of Contents

5

Welcome to the PlanetPress Connect REST API Cookbook

7

Technical Overview

8

Workflow & Workflow Processes

9

Workflow Components

16

Workflow Operations

20

JSON Structures

21

Working Examples

33

Getting Started

34

Server Security & Authentication

43

Working with the File Store

48

Working with the Entity Services

78

Working with the Workflow Services

99

REST API Reference

211

Authentication Service

215

Content Creation Service

220

Content Item Entity Service

232

Page 5

Content Set Entity Service

243

Data Record Entity Service

256

Data Set Entity Service

271

Data Mapping Service

281

Content Creation (Email) Service

297

File Store Service

308

Content Creation (HTML) Service

329

Job Creation Service

338

Job Entity Service

352

Job Set Entity Service

362

Output Creation Service

372

All-In-One Service

388

Copyright Information

400

Legal Notices and Acknowledgments

401

Page 6

Welcome to the PlanetPress Connect
REST API Cookbook
This guide is aimed at technically experienced users who wish to learn and use the REST API
available in PlanetPress Connect version 1.5.
The PlanetPress Connect REST API consists of many services that expose access to a
number of areas including workflow, data entity management and file store operations.
These services can be used to perform various interactions with the PlanetPress Connect
server such as:
l

Upload & Manage Data Files, Data Mapping Configurations & Design Templates in File
Store

l

Create, Manage & Find Data Entities internal to the PlanetPress Connect Server

l

Create & Monitor Processing Operations within the Workflow

The REST API also supports added security to restrict unauthorized access to the services.
This guide is broken down into three sections:
l

l

l

Technical Overview - Overview of the concepts and structures used in PlanetPress
Connect and the REST API
Working Examples - Working examples of the PlanetPress Connect REST API in action
(HTML5 & JavaScript/jQuery)
REST API Reference - A complete reference to the PlanetPress Connect REST API &
Services

It is recommended that the technical overview section be read first, followed by the working
examples, using the REST API reference for greater detail on implementing any specific
example.

Page 7

Technical Overview
This section provides an overview of the concepts and structures used within PlanetPress
Connect and the REST API.
l

Workflow & Workflow Processes

l

Workflow Components

l

Workflow Operations

l

JSON Structures

Page 8

Workflow & Workflow Processes
In PlanetPress Connect there are four main workflow processes: Data Mapping, Content
Creation, Job Creation, and Output Creation.
There is also an additional workflow process, named All-In-One, which embodies all four other
workflow processes in a singular process.
The following flowchart illustrates the primary workflow in PlanetPress Connect:

Page 9

Data Mapping
The Data Mapping process involves taking a data file or source, applying a data mapping
configuration to it, and producing a structured set of data or data records (a Data Set). This
process can also produce a data set from a PDF/VT file using its internal meta data instead of a
data mapping configuration.
The following flowchart illustrates the standard workflow for the Data Mapping process:

The following flowchart illustrates the alternative workflow for the Data Mapping process when
using PDF/VT data files specifically:

Page 10

Page 11

Content Creation
The Content Creation process involves taking a number of data records (from a Data Set)
combining it with a suitable design template, and producing a set or sets of content (Content
Sets). If the content is for the email or web context then output can be published at this stage.
The following flowchart illustrates the standard workflow for the Content Creation process:

Page 12

Job Creation
The Job Creation process involves taking one or more content sets and applying a preset for
organising/sorting/grouping them into sets of logical jobs (a Job Set). This includes data
filtering and finishing options.
The following flowchart illustrates the standard workflow for the Job Creation process:

Page 13

Output Creation
The Output Creation process involves taking a set of jobs, applying a preset and generating the
printed output.
The following flowchart illustrates the standard workflow for the Output Creation process:

Page 14

All-In-One
The following flowchart illustrates the potential inputs, outputs and workflows for the All-In-One
process:

Page 15

Workflow Components
Each process in the overall PlanetPress Connect workflow takes a series of inputs and
produces output. These can be divided into Input Components and Data Entities.

Page 16

Input Components
Input components are used as input to a specific workflow process. The following table lists the
types of input components used in the PlanetPress Connect workflow:

Name

Relevant Workflow
Process

Data File

Data Mapping

Data Mapping
Configuration

Data Mapping

Design Template

Content Creation

File Name Examples

l

Promo-EN-10.csv

l

Promo-EN-10000.csv

l

PDFVT-Data.pdf

l

Promo-EN.OL-datamapper

l

l
l

Job Creation Preset

Job Creation

l

Output Creation Preset

Output Creation

l

l

Transact-EN.OLdatamapper
letter-ol.OL-template
invoice-ol-transpromo.OLtemplate
Promo-EN-JC-Config.OLjobpreset
FX4112_Hold_Config.OLoutputpreset
Promo-EN-OC-Config.OLoutputpreset

Page 17

Data Entities
There are many data entity types used by PlanetPress Connect, but not all entities can be
accessed through the REST API. The main types to be aware of when working with the API are
Data Sets, Data Records, Content Sets, Content Items, Jobs Sets and Jobs. The following table
lists these entity types in greater detail:

Entity

Description

Data
Set &
Data
Records

The data set is the artefact produced by a data mapping operation. It holds the
data that was mapped out of the input data file. A data mapping operation
produces a single data set, which contains as many data records as there are
documents. Each data record contains a collection of data values. The data
records in the data set form the master record, or document record, which
typically contains document recipient information. The master record can also
contain a collection of data tables, which form the detail records that hold data
such as invoice line items. Each data table contains a collection of data records,
where each data record contains a collection of data values and a collection of
data tables, and so on.

Content
Sets &
Content
Items

The content set is the artefact produced by a content creation operation. It holds
all the pages that were produced by the operation. A content creation operation
produces one or more content sets, which contain as many content items as
there were data records given at the start of the operation. Because the data
records used may have different data set owners, a content set cannot be linked
to a single data set, but rather content items are linked to data records. A content
item is further divided in content sections and content pages.

Job Set
& Jobs

The job set is the artefact produced by a job creation operation. It consists in a
hierarchical structure that divides documents is various structures and basically
decides which documents are to be printed and in which order. A job creation
operation creates a single job set with contains a series of containers where
every level contains one or more of the next level down: jobs, job segments,
document sets, documents and document pages. The last level in the chain, the
document pages, contains a single content item. Hence, at the job creation
level, a document may consist of one or more content items.

Page 18

Data entities can be produced as output from a workflow process and can then be used as
input to another workflow process.

Page 19

Workflow Operations
Each individual process in the overall workflow process can potentially be a long running
operation.
Accordingly, an initial HTTP request is submitted to initiate the workflow operation, then
additional requests are required to monitor progress and retrieve the final result. All the required
detail is included in the HTTP response headers of the initial request, including the URIs that
should be used for further processing
A successful request will return a response that will include the headers listed in the following
table:

Header

Description

operationId

The unique id of the operation being processed

Link

Contains multiple link headers which provide details on which URI to use to
retrieve further information on the operation:
l

l

l

Header with rel="progress" - The URL to use to check the progress of
the operation
Header with rel="result" - The URL to use to retrieve the result of the
operation
Header with rel="cancel" - The URL to use to cancel the operation

A request made to the progress URI during processing will return a progress percentage value
of 0 to 100, and finally the value of ‘done’ once the operation has completed.
A request made to the cancel URI during processing will immediately cancel the operation.
A request made to the result URI after processing has completed will return the final result of
the operation.
This approach is replicated across most workflow based services as demonstrated in the
Working with the Workflow Services page of the Working Examples section.

Page 20

JSON Structures
The following table lists the various JSON structures used by the PlanetPress Connect REST
API:

Name

Example

JSON
Identifier

{
"identifier": 12345
}

JSON
Identifier
(Named)

{

JSON
Identifier List

{

"identifier": "Promo-EN-1000.csv"
}

"identifiers": [ 12345, 23456, 34567 ]
}

JSON
Identifier (with
createOnly
flag)

{

JSON
Identifier List
(with
createOnly
flag)

{

JSON
Name/Value
List
(Properties
Only)

[

"identifier": 12345,
"createOnly": true
}

"identifiers": [ 12345, 23456, 34567 ],
"createOnly": true
}

{
"name": "start",
"value": "2015-01-01 00:00:00T-0500"
},
{

Page 21

Name

Example
"name": "end",
"value": "2015-12-31 23:59:59T-0500"
}
]

JSON
Name/Value
List

{
"id": 12345,
"properties": [
{
"name": "start",
"value": "2015-01-01 00:00:00T-0500"
},
{
"name": "end",
"value": "2015-12-31 23:59:59T-0500"
},
]
}

JSON
Name/Value
Lists

[
{
"id": 12345,
"properties": [
{
"name": "start",
"value": "2015-01-01 00:00:00T-0500"
},
{
"name": "end",
"value": "2015-12-31 23:59:59T-0500"
},
]
},

Page 22

Name

Example
{
"id": 23456,
"properties": [
{
"name": "start",
"value": "2015-01-01 00:00:00T-0500"
},
{
"name": "end",
"value": "2015-12-31 23:59:59T-0500"
},
]
}
]

JSON Record
Content List

{
"id": 12345,
"table": "record",
"fields":[
{
"name": "ID",
"value": "CU00048376"
},
{
"name": "Gender",
"value": "M."
},
{
"name": "FirstName",
"value": "Benjamin"
},
{
"name": "LastName",
"value": "Verret"

Page 23

Name

Example
}
]
}

JSON Record
Content Lists

[
{
"id": 12345,
"table": "record",
"fields":[
{
"name": "ID",
"value": "CU00048376"
},
{
"name": "Gender",
"value": "M."
},
{
"name": "FirstName",
"value": "Benjamin"
},
{
"name": "LastName",
"value": "Verret"
}
]
},
{
"id": 23456,
"table": "record",
"fields":[
{
"name": "ID",
"value": "CU01499303"

Page 24

Name

Example
},
{
"name": "Gender",
"value": "Miss"
},
{
"name": "FirstName",
"value": "Dianne"
},
{
"name": "LastName",
"value": "Straka"
}
]
}
]

JSON Content
Item Identifier
List

{
"identifiers": [
{
"item": 12345,
"record": 54321
},
{
"item": 23456,
"record": 65432
},
{
"item": 34567,
"record": 76543
}
]
}

Page 25

Name

Example

JSON Data
Record
Identifier

{

JSON
Identifier List
(with Email
Parameters)

{

"record": 12345
}

"identifiers": [
12345,
23456
],
"host": "mail.company.com",
"user": "johns",
"password": "password5",
"sender": "john.smith@company.com",
"useAuth": true,
"useStartTLS": false,
"useSender": true,
"attachWebPage": true,
"attachPdfPage": true
}

JSON Job Set
Structure

{
"jobs": [
{
// First Job in JobSet
"segments": [
{
// First JobSegment in first Job
"documentsets": [
{
// First DocumentSet in
first JobSegment in first Job

Page 26

Name

Example
"documents": [
{
// First
Document in first DocumentSet in first JobSegment in
first Job
"documentpages":
[
{
// First
DocumentPages in first Document in first DocumentSet
in first JobSegment in first Job
"contentitem": 111
},
{
//
Second DocumentPages in first Document in first
DocumentSet in first JobSegment in first Job
"contentitem": 222
}
]
},
{
// Second
Document in first DocumentSet in first JobSegment in
first Job
"documentpages":
[
{
// First
DocumentPages in second Document in first

Page 27

Name

Example
}
]
},
{
// Second Job in JobSet
"segments": [
{
// First JobSegment in second
Job
"documentsets": [
{
// First DocumentSet in
first JobSegment in second Job
"documents": [
{
// First
Document in first DocumentSet in first JobSegment in
second Job
"documentpages":
[
{
// First
DocumentPages in first Document in first DocumentSet
in first JobSegment in second Job
"contentitem": 789
}
]
}
]
}
]
}
]

Page 28

Name

Example

JSON HTML
Parameters
List

{
"section": "Section 1",
"inline": "ALL"
}

JSON All-InOne
Configuration

{
"datamining":
{
"identifier": "Promo-EN-1000.csv",
"config": "Promo-EN.OL-datamapper"
},
"contentcreation":
{
"config": "letter-ol.OL-template"
},
"jobcreation":
{
"config": "4567"
},
"outputcreation":
{
"config": "5678",
"createOnly": true
},
"printRange":
{
"printRange": "1-3, 6, 10"
}
}

JSON Page
Details
Summary

{

Page 29

Name

Example
"pages": [
{
"count": 200,
"media": {
"name": "Plain A4 Paper",
"size": "A4",
"width": "210mm",
"height": "297mm"
}
},
{
"count": 108,
"media": {
"name": "Plain Letter Paper",
"size": "Letter",
"width": "8.5in",
"height": "11in"
}
}
]
}

JSON Page
Details List

[
{
"id": 12345,
"pages": [
{
"count": 2,
"media": {
"name": "Plain A4 Paper",
"size": "A4",
"width": "210mm",
"height": "297mm"

Page 30

Name

Example
}
},
{
"count": 1,
"media": {
"name": "Plain Letter Paper",
"size": "Letter",
"width": "8.5in",
"height": "11in"
}
}
]
},
{
"id": 23456,
"pages": [
{
"count": 2,
"media": {
"name": "Plain A4 Paper",
"size": "A4",
"width": "210mm",
"height": "297mm"
}
},
{
"count": 2,
"media": {
"name": "Plain Letter Paper",
"size": "Letter",
"width": "8.5in",
"height": "11in"
}
}

Page 31

Name

Example

Page 32

Working Examples
This section provides a number of working examples that demonstrate the use of the various
resources and methods available in the PlanetPress Connect REST API.
For help on getting started with the PlanetPress Connect REST API Cookbook and the working
examples, see the Getting Started page.
l

Server Security & Authentication

l

Working with the File Store

l

Working with the Entity Services

l

Working with the Workflow Services

Page 33

Getting Started
This guide provides many working examples to help illustrate the correct use of a given
API/method. To achieve this, the guide uses HTML5 & JavaScript/jQuery syntax, and thus,
some basic experience and knowledge of these technologies is assumed.
HTML5: http://www.w3schools.com/html/
jQuery: https://jquery.com/
Help on installing and getting started with the working examples can be found on the
Requirements & Installation and Structure of the Working Examples pages.
Important notes on general use of the working examples can be found in the HTML Input
Placeholders & Multiple Value Fields and Display of Working Example Results pages.
If you have server security settings enabled on your PlanetPress Connect server then the Using
the Working Examples with Server Security page should be read also.

Page 34

Requirements & Installation
Requirements
To use the PlanetPress Connect REST API Cookbook with Working Examples source you will
require the following:
1. A working installation of PlanetPress Connect
2. Any modern web browser able to display HTML51

Warning
If using Internet Explorer, you may find issues when using the working examples with
PlanetPress Connect's Server Security Settings set to enabled.
The working examples use HTML5 Local Storage to facilitate authentication and certain
simplicity / ease-of-use (across browser tabs). Depending on how your Internet Explorer
security settings are configured, you may experience issues if the security level of your
zone is set too high.
Essentially, the security zone needs to have the security option Userdata persistence
(under Miscellaneous) set to enabled. Without this option enabled, the working
examples will not function correctly when using them with PlanetPress Connect's Server
Security Settings set to enabled.
After running the Authenticate/Login to Server working example to re-authenticate, you
should only need to refresh existing pages in order for the authentication credentials
(token) to be picked up. In the case of Internet Explorer, you may need to restart the
browser for the changes to be picked up.
If all else fails, disabling of the Sever Security Settings in the PlanetPress Connect
Server Preferences should avoid issues with running the various examples on Internet
Explorer.
It is recommended that you use a modern web-browser other than Internet Explorer
when running the working examples.

1Any recent version of Mozilla Firefox, Google Chrome, or Opera with support for HTML5 should be

suitable for running the working examples contained in this guide. Versions of Internet Explorer 10+ may
also be suitable in some cases.

Page 35

Installation
The working examples source comes pre-installed with PlanetPress Connect and can be
located in a sub-directory of your existing PlanetPress Connect installation directory.
To locate the source on Windows:
1. Open up Windows Explorer and navigate to the PlanetPress Connect installation
directory followed by its plugins sub-directory.
2. Find the com.objectiflune.serverengine.rest.gui directory and navigate to its www subdirectory
3. You should now be exploring the following or similar location:
C:\Program Files\Objectif Lune\OL
Connect\plugins\com.objectiflune.serverengine.rest.gui_1.X.XXXXX.XXXXXXXXXXXX\www
4. The www directory contains a cookbook sub-directory, which contains all of the working
examples source. You should find a directory structure matching that shown on the
Structure of the Working Examples page.

Note
You can access the PlanetPress Connect REST API Cookbook with Working Examples
source locally by entering the following URL in your web browser:
http://localhost:9340/serverengine/html/cookbook/index.html

Page 36

Structure of the Working Examples
The working examples are designed to be complete examples, and will generally consists of
one HTML5 file paired with a JavaScript/jQuery module which can be found in the
examples//js/ sub-directory.
Where any frequent or boilerplate functionality is commonly used across the examples, this has
been moved to the common/js/common.js JavaScript/jQuery module.

The examples make use of this module for functionality such as setting up the example, and
displaying output results.

Page 37

The examples also make use of some simple CSS classes as defined in
common/css/styles.css and HTML snippets for the presentation of output results.

Page 38

HTML Input Placeholders & Multiple Value Fields
In the working examples, HTML input elements make use of the placeholder attribute to help
provide some indication of the type and format of the value expected to be entered / specified.
The following table lists examples of placeholders commonly used in the working examples:

HTML

Expected Type

Example Values
l

2341

l

3

l

2341

l

Promo-EN-1000.csv

l

2341, 2342

l

3456

l

ol-admin

l

Section 2

l

1, 2, 3

l

1-5

l

1, 2, 3-5, 6

Email Address Value

l

john.smith@contoso.com

Server Hostname Value

l

mailbox.contoso.com

Single ID Value

Single ID or Name Value (File Name)

One or More ID Values (comma
separated)
Name (Text) Value

Numerical Range

Page 39

Display of Working Example Results
When a working example is run, any results will be displayed in a Results area that will appear
below the working example existing HTML interface.
For example:

Note
In some examples the same result will displayed in both plain and JSON structure based
formats. This is to assist ease-of-use when working with outputs of one example that will
be needed as an input to another example.

Page 40

A working example can be run multiple times, and each time the results will be appended
below allowing you to compare the output of varying inputs. The Clear button can be selected
at any time to clear all existing results.

Page 41

Using the Working Examples with Server Security
If you have the Server Security Settings set to enabled in your PlanetPress Connect Server
Preferences, then you may see the following dialog box initially display when working with the
examples:

In the event of this dialog box, just follow the instructions and either refresh the page or reauthenticate by running the Authenticating with the Server (Authenticate/Login to Server)
working example covered under the Server Security & Authentication section.

Note
Once re-authenticated, you shouldn’t see this dialog box again for as long as your
session remains active.

Page 42

Server Security & Authentication
This section consists of a number of pages covering various useful working examples:
1. Authenticating with the Server
See the Authentication Service page of the REST API Reference section for further detail.

Note
A complete listing including these examples can be found in the index.html file located
at the root of the working example source code which contains links to all working
examples.

Page 43

Authenticating with the Server
Problem
Your PlanetPress Connect Server is configured to use server security, and you want to
authenticate with the server to obtain the correct access to make future requests.
Solution
The solution is to create a request using the following URI and method type to authenticate with
the server via the Authentication REST service:

Authenticate/Login to Server

/rest/serverengine/authentication/login

POST

Example
HTML5
auth-login-server.html




Authenticate/Login to Server Example






Authentication Service - Authenticate/Login to Server Example

Inputs
Page 44
JavaScript/jQuery auth-login-server.js /* Authentication Service - Authenticate/Login to Server Example */ (function ($) { "use strict"; $(document).ready(function () { setupExample(); $("form").on("submit", function (event) { event.preventDefault(); var username = $("#username").val(), password = $("#password").val(); $.ajax({ beforeSend: function (xhr) { var base64 = "Basic " + btoa(username + ":" + password); xhr.setRequestHeader("Authorization", base64); }, type: "POST", url: "/rest/serverengine/authentication/login" }).done(function (response) { displayStatus("User '" + username + "' Page 45 Authenticated Successfully"); displayResult("Authorization Token", response); setSessionToken(response); }).fail(function (xhr, status, error) { displayStatus("Authentication of User '" + username + "' failed!"); displayResult("Status", xhr.status + " " + error); displayResult("Error", xhr.responseText); setSessionToken(null); }); }); }); }(jQuery)); Screenshot & Output Usage To run the example simply enter your credentials into the Username and Password fields and select the Submit button. Once selected, a request containing the credentials will be sent to the server and the result will be returned and displayed to the Results area. Page 46 If authentication was successful then the response will contain an Authorization Token that can be then used in the submission of future requests to the server. Discussion Firstly, we define an event handler that will run in response to the submission of the HTML form via the selection of the Submit button. When our event hander function is called, we then obtain the value of the Username and Password fields. We define two variables, username to hold the value of the Username text field and password to hold the value of the Password text field. Next we construct an jQuery AJAX request which will be sent to the Authentication REST service: Method type and url arguments are specified as shown earlier. We specify a beforeSend argument containing a function that will add an additional Authorization header to the request to facilitate Basic HTTP Authentication. The value of the Authorization request header is a Base64 digest of the username and password variables. When the request is successful or done, a request response is received and the content of that response is passed as the function parameter response. In the example, we then display the value of this parameter which should be the new Authorization Token which can then be used in the submission of future requests to the server. This is achieved by placing the value of the Authorization Token in the auth_token request header of a future request. In the example the common function setSessionToken is used to facilitate this function for all future working example requests. Further Reading See the Authentication Service page of the REST API Reference section for further detail. Page 47 Working with the File Store This section consists of a number of pages covering various useful working examples: 1. Uploading a Data File to the File Store 2. Uploading a Data Mapping Configuration to the File Store 3. Uploading a Design Template to the File Store 4. Uploading a Job Creation Preset to the File Store 5. Uploading an Output Creation Preset to the File Store See the File Store Service page of the REST API Reference section for further detail. Note A complete listing including these examples can be found in the index.html file located at the root of the working example source code which contains links to all working examples. Page 48 Uploading a Data File to the File Store Problem You want to upload a data file to the File Store so that it can be used as part of a Data Mapping operation. Solution The solution is to create a request using the following URI and method type to submit the data file to the server via the File Store REST service: Upload Data File /rest/serverengine/filestore/DataFile POST Example HTML5 fs-datafile-upload.html Upload Data File Example

File Store Service - Upload Data File Example

Inputs
Page 49 Options
Actions
JavaScript/jQuery fs-datafile-upload.js /* File Store Service - Upload Data File Example */ (function ($) { "use strict"; $(document).ready(function () { setupExample(); $("form").on("submit", function (event) { event.preventDefault(); if (!checkSessionValid()) { return; } var file = $("#datafile")[0].files[0], named = $("#named").is(":checked"), persistent = $("#persistent").is(":checked"); var settings = { Page 50 type: "POST", url: "/rest/serverengine/filestore/DataFile?persistent=" + persistent, data: file, processData: false, contentType: "application/octet-stream" }; if (named) { settings.url += "&filename=" + file.name; } $.ajax(settings).done(function (response) { displayStatus("Request Successful"); displayInfo("Data File '" + file.name + "' Uploaded Successfully"); displayResult("Managed File ID", response); }).fail(displayDefaultFailure); }); }); }(jQuery)); Screenshot & Output Page 51 Usage To run the example simply select the Browse button and then select the data file you wish to upload using the selection dialog box. Next you can specify the following options to use with the upload of the data file: l l Named - allow this file to be identified/referenced by its Managed File Name as well as its Managed File ID Persistent - make this file persistent in the file store Note Only one Managed File in the file store can be associated with a specific name. If two files are uploaded to the file store under the same name, then only the most recently uploaded file will be associated with (or can be referenced using) that name. Once the file and options are selected, simply select the Submit button to upload the file to the server's file store and the resulting Managed File ID for the data file will be returned and displayed to the Results area. Discussion Firstly, we define an event handler that will run in response to the submission of the HTML form via the selection of the Submit button. When our event handler function is called, we then obtain a reference to the local data file previously selected. This is achieved by getting the first value of the files attribute of the HTML element with the ID of datafile (in this case a file type input HTML element) and storing it in a variable file. We also obtain boolean values for the Named and Persistent options (both checkbox type input HTML elements) and store them in the named and persistent variables respectively. Next we construct a jQuery AJAX request which will be sent to the File Store REST service. We use an object called settings to hold the arguments for our request: Method type and url arguments are specified as shown earlier, with the addition of a Page 52 persistent query parameter which specifies whether the file is to be persistent in the file store when uploaded. We specify the variable file as the data or contents of the request, a contentType argument of "application/octet-stream", and because we are sending file data we also specify a processData argument set to false. If the Named option is checked in our form, and the named variable is true, then a filename query parameter is also added which contains the file name of the file selected (file.name). Lastly, the settings object is passed as an argument to the jQuery AJAX function ajax and the request is executed. When the request is successful or done, a request response is received and the content of that response is passed as the function parameter response. In the example, we then display the value of this parameter which should be the new Managed File ID of the data file in the file store. Further Reading See the File Store Service page of the REST API Reference section for further detail. Page 53 Uploading a Data Mapping Configuration to the File Store Problem You want to upload a data mapping configuration to the File Store so that it can be used as part of a Data Mapping operation. Solution The solution is to create a request using the following URI and method type to submit the data mapping configuration to the server via the File Store REST service: Upload Data Mapping Configuration /rest/serverengine/filestore/DataMiningConfig POST Example HTML5 fs-datamapper-upload.html Upload Data Mapping Configuration Example

File Store Service - Upload Data Mapping Configuration Example

Inputs
Page 54
Options
Actions
JavaScript/jQuery fs-datamapper-upload.js /* File Store Service - Upload Data Mapping Configuration Example */ (function ($) { "use strict"; $(document).ready(function () { setupExample(); $("form").on("submit", function (event) { event.preventDefault(); if (!checkSessionValid()) { return; } var file = $("#datamapper")[0].files[0], Page 55 named = $("#named").is(":checked"), persistent = $("#persistent").is(":checked"); var settings = { type: "POST", url: "/rest/serverengine/filestore/DataMiningConfig?persistent=" + persistent, data: file, processData: false, contentType: "application/octet-stream" }; if (named) { settings.url += "&filename=" + file.name; } $.ajax(settings).done(function (response) { displayStatus("Request Successful"); displayInfo("Data Mapping Configuration '" + file.name + "' Uploaded Successfully"); displayResult("Managed File ID", response); }).fail(displayDefaultFailure); }); }); }(jQuery)); Page 56 Screenshot & Output Usage To run the example simply select the Browse button and then select the data mapping configuration you wish to upload using the selection dialog box. Next you can specify the following options to use with the upload of the data mapping configuration: l l Named - allow this configuration to be identified/referenced by its Managed File Name as well as its Managed File ID Persistent - make this configuration persistent in the file store Note Only one Managed File in the file store can be associated with a specific name. If two Page 57 files are uploaded to the file store under the same name, then only the most recently uploaded file will be associated with (or can be referenced using) that name. Once the configuration and options are selected, simply select the Submit button to upload the configuration to the server's file store and the resulting Managed File ID for the data mapping configuration will be returned and displayed to the Results area. Discussion Firstly, we define an event handler that will run in response to the submission of the HTML form via the selection of the Submit button. When our event handler function is called, we then obtain a reference to the local data mapping configuration previously selected. This is achieved by getting the first value of the files attribute of the HTML element with the ID of datamapper (in this case a file type input HTML element) and storing it in a variable file. We also obtain boolean values for the Named and Persistent options (both checkbox type input HTML elements) and store them in the named and persistent variables respectively. Next we construct a jQuery AJAX request which will be sent to the File Store REST service. We use an object called settings to hold the arguments for our request: Method type and url arguments are specified as shown earlier, with the addition of a persistent query parameter which specifies whether the configuration is to be persistent in the file store when uploaded. We specify the variable file as the data or contents of the request, a contentType argument of "application/octet-stream", and because we are sending file data we also specify a processData argument set to false. If the Named option is checked in our form, and the named variable is true, then a filename query parameter is also added which contains the file name of the configuration selected (file.name). Page 58 Lastly, the settings object is passed as an argument to the jQuery AJAX function ajax and the request is executed. When the request is successful or done, a request response is received and the content of that response is passed as the function parameter response. In the example, we then display the value of this parameter which should be the new Managed File ID of the data mapping configuration in the file store. Further Reading See the File Store Service page of the REST API Reference section for further detail. Page 59 Uploading a Design Template to the File Store Problem You want to upload a design template to the File Store so that it can be used as part of a Content Creation operation. Solution The solution is to create a request using the following URI and method type to submit the design template to the server via the File Store REST service: Upload Design Template /rest/serverengine/filestore/template POST Example HTML5 fs-designtemplate-upload.html Upload Design Template Example

File Store Service - Upload Design Template Example

Inputs
Page 60
Options
Actions
JavaScript/jQuery fs-designtemplate-upload.js /* File Store Service - Upload Design Template Example */ (function ($) { "use strict"; $(document).ready(function () { setupExample(); $("form").on("submit", function (event) { event.preventDefault(); if (!checkSessionValid()) { return; } var file = $("#designtemplate")[0].files[0], named = $("#named").is(":checked"), Page 61 persistent = $("#persistent").is(":checked"); var settings = { type: "POST", url: "/rest/serverengine/filestore/template?persistent=" + persistent, data: file, processData: false, contentType: "application/zip" }; if (named) { settings.url += "&filename=" + file.name; } $.ajax(settings).done(function (response) { displayStatus("Request Successful"); displayInfo("Design Template '" + file.name + "' Uploaded Successfully"); displayResult("Managed File ID", response); }).fail(displayDefaultFailure); }); }); }(jQuery)); Page 62 Screenshot & Output Usage To run the example simply select the Browse button and then select the design template you wish to upload using the selection dialog box. Next you can specify the following options to use with the upload of the design template: l l Named - allow this template to be identified/referenced by its Managed File Name as well as its Managed File ID Persistent - make this template persistent in the file store Note Only one Managed File in the file store can be associated with a specific name. If two files are uploaded to the file store under the same name, then only the most recently Page 63 uploaded file will be associated with (or can be referenced using) that name. Once the template and options are selected, simply select the Submit button to upload the template to the server's file store and the resulting Managed File ID for the design template will be returned and displayed to the Results area. Discussion Firstly, we define an event handler that will run in response to the submission of the HTML form via the selection of the Submit button. When our event handler function is called, we then obtain a reference to the local design template previously selected. This is achieved by getting the first value of the files attribute of the HTML element with the ID of designtemplate (in this case a file type input HTML element) and storing it in a variable file. We also obtain boolean values for the Named and Persistent options (both checkbox type input HTML elements) and store them in the named and persistent variables respectively. Next we construct a jQuery AJAX request which will be sent to the File Store REST service. We use an object called settings to hold the arguments for our request: Method type and url arguments are specified as shown earlier, with the addition of a persistent query parameter which specifies whether the template is to be persistent in the file store when uploaded. We specify the variable file as the data or contents of the request, a contentType argument of "application/zip", and because we are sending file data we also specify a processData argument set to false. If the Named option is checked in our form, and the named variable is true, then a filename query parameter is also added which contains the file name of the template selected (file.name). Lastly, the settings object is passed as an argument to the jQuery AJAX function ajax and the request is executed. Page 64 When the request is successful or done, a request response is received and the content of that response is passed as the function parameter response. In the example, we then display the value of this parameter which should be the new Managed File ID of the design template in the file store. Further Reading See the File Store Service page of the REST API Reference section for further detail. Page 65 Uploading a Job Creation Preset to the File Store Problem You want to upload a job creation preset to the File Store so that it can be used as part of a Job Creation operation. Solution The solution is to create a request using the following URI and method type to submit the job creation preset to the server via the File Store REST service: Upload Job Creation Preset /rest/serverengine/filestore/JobCreationConfig POST Example HTML5 fs-jcpreset-upload.html Upload Job Creation Preset Example

File Store Service - Upload Job Creation Preset Example

Inputs
Page 66
Options
Actions
JavaScript/jQuery fs-jcpreset-upload.js /* File Store Service - Upload Job Creation Preset Example */ (function ($) { "use strict"; $(document).ready(function () { setupExample(); $("form").on("submit", function (event) { event.preventDefault(); if (!checkSessionValid()) { return; } var file = $("#jcpreset")[0].files[0], named = $("#named").is(":checked"), Page 67 persistent = $("#persistent").is(":checked"); var settings = { type: "POST", url: "/rest/serverengine/filestore/JobCreationConfig?persistent=" + persistent, data: file, processData: false, contentType: "application/xml" }; if (named) { settings.url += "&filename=" + file.name; } $.ajax(settings).done(function (response) { displayStatus("Request Successful"); displayInfo("Job Creation Preset '" + file.name + "' Uploaded Successfully"); displayResult("Managed File ID", response); }).fail(displayDefaultFailure); }); }); }(jQuery)); Page 68 Screenshot & Output Usage To run the example simply select the Browse button and then select the job creation preset you wish to upload using the selection dialog box. Next you can specify the following options to use with the upload of the job creation preset: l l Named - allow this preset to be identified/referenced by its Managed File Name as well as its Managed File ID Persistent - make this preset persistent in the file store Note Only one Managed File in the file store can be associated with a specific name. If two files are uploaded to the file store under the same name, then only the most recently Page 69 uploaded file will be associated with (or can be referenced using) that name. Once the preset and options are selected, simply select the Submit button to upload the preset to the server's file store and the resulting Managed File ID for the job creation preset will be returned and displayed to the Results area. Discussion Firstly, we define an event handler that will run in response to the submission of the HTML form via the selection of the Submit button. When our event handler function is called, we then obtain a reference to the local job creation preset previously selected. This is achieved by getting the first value of the files attribute of the HTML element with the ID of jcpreset (in this case a file type input HTML element) and storing it in a variable file. We also obtain boolean values for the Named and Persistent options (both checkbox type input HTML elements) and store them in the named and persistent variables respectively. Next we construct a jQuery AJAX request which will be sent to the File Store REST service. We use an object called settings to hold the arguments for our request: Method type and url arguments are specified as shown earlier, with the addition of a persistent query parameter which specifies whether the preset is to be persistent in the file store when uploaded. We specify the variable file as the data or contents of the request, a contentType argument of "application/xml", and because we are sending file data we also specify a processData argument set to false. If the Named option is checked in our form, and the named variable is true, then a filename query parameter is also added which contains the file name of the preset selected (file.name). Lastly, the settings object is passed as an argument to the jQuery AJAX function ajax and the request is executed. Page 70 When the request is successful or done, a request response is received and the content of that response is passed as the function parameter response. In the example, we then display the value of this parameter which should be the new Managed File ID of the job creation preset in the file store. Further Reading See the File Store Service page of the REST API Reference section for further detail. Page 71 Uploading an Output Creation Preset to the File Store Problem You want to upload an output creation preset to the File Store so that it can be used as part of a Output Creation operation. Solution The solution is to create a request using the following URI and method type to submit the output creation preset to the server via the File Store REST service: Upload Output Creation Preset /rest/serverengine/filestore/OutputCreationConfig POST Example HTML5 fs-ocpreset-upload.html Upload Output Creation Preset Example

File Store Service - Upload Output Creation Preset Example

Inputs
Page 72
Options
Actions
JavaScript/jQuery fs-ocpreset-upload.js /* File Store Service - Upload Output Creation Preset Example */ (function ($) { "use strict"; $(document).ready(function () { setupExample(); $("form").on("submit", function (event) { event.preventDefault(); if (!checkSessionValid()) { return; } var file = $("#ocpreset")[0].files[0], named = $("#named").is(":checked"), Page 73 persistent = $("#persistent").is(":checked"); var settings = { type: "POST", url: "/rest/serverengine/filestore/OutputCreationConfig?persistent=" + persistent, data: file, processData: false, contentType: "application/xml" }; if (named) { settings.url += "&filename=" + file.name; } $.ajax(settings).done(function (response) { displayStatus("Request Successful"); displayInfo("Output Creation Preset '" + file.name + "' Uploaded Successfully"); displayResult("Managed File ID", response); }).fail(displayDefaultFailure); }); }); }(jQuery)); Page 74 Screenshot & Output Usage To run the example simply select the Browse button and then select the output creation preset you wish to upload using the selection dialog box. Next you can specify the following options to use with the upload of the output creation preset: l l Named - allow this preset to be identified/referenced by its Managed File Name as well as its Managed File ID Persistent - make this preset persistent in the file store Note Only one Managed File in the file store can be associated with a specific name. If two files are uploaded to the file store under the same name, then only the most recently Page 75 uploaded file will be associated with (or can be referenced using) that name. Once the preset and options are selected, simply select the Submit button to upload the preset to the server's file store and the resulting Managed File ID for the output creation preset will be returned and displayed to the Results area. Discussion Firstly, we define an event handler that will run in response to the submission of the HTML form via the selection of the Submit button. When our event handler function is called, we then obtain a reference to the local output creation preset previously selected. This is achieved by getting the first value of the files attribute of the HTML element with the ID of ocpreset (in this case a file type input HTML element) and storing it in a variable file. We also obtain boolean values for the Named and Persistent options (both checkbox type input HTML elements) and store them in the named and persistent variables respectively. Next we construct a jQuery AJAX request which will be sent to the File Store REST service. We use an object called settings to hold the arguments for our request: Method type and url arguments are specified as shown earlier, with the addition of a persistent query parameter which specifies whether the preset is to be persistent in the file store when uploaded. We specify the variable file as the data or contents of the request, a contentType argument of "application/xml", and because we are sending file data we also specify a processData argument set to false. If the Named option is checked in our form, and the named variable is true, then a filename query parameter is also added which contains the file name of the preset selected (file.name). Lastly, the settings object is passed as an argument to the jQuery AJAX function ajax and the request is executed. Page 76 When the request is successful or done, a request response is received and the content of that response is passed as the function parameter response. In the example, we then display the value of this parameter which should be the new Managed File ID of the output creation preset in the file store. Further Reading See the File Store Service page of the REST API Reference section for further detail. Page 77 Working with the Entity Services This section consists of a number of pages covering various useful working examples: 1. Finding all the Data Sets in the Server 2. Finding the Data Records in a Data Set 3. Finding all the Content Sets in the Server 4. Finding the Content Items in a Content Set 5. Finding all the Job Sets in the Server 6. Finding the Jobs in a Job Set See the Data Set Entity Service, Content Set Entity Service and Job Set Entity Service pages of the REST API Reference section for further detail. Note A complete listing including these examples can be found in the index.html file located at the root of the working example source code which contains links to all working examples. Page 78 Finding all the Data Sets in the Server Problem You want to obtain a list of all the previously generated Data Sets contained in the PlanetPress Connect Server potentially for use in a Content Creation operation. Solution The solution is to create a request using the following URI and method type and submit it to the server via the Data Set Entity REST service: Get All Data Set Entities /rest/serverengine/entity/datasets GET Example HTML5 dse-get-all-datasets.html Get All Data Sets Example

Data Set Entity Service - Get All Data Sets Example

Inputs
Page 79
JavaScript/jQuery dse-get-all-datasets.js /* Data Set Entity Service - Get All Data Sets Example */ (function ($) { "use strict"; $(document).ready(function () { setupExample(); $("form").on("submit", function (event) { event.preventDefault(); if (!checkSessionValid()) { return; } $.ajax({ type: "GET", url: "/rest/serverengine/entity/datasets" }).done(function (response) { displayStatus("Request Successful"); displayHeading("Data Set IDs"); displaySubResult("Plain", jsonIDListToPlain (response)); displaySubResult("JSON Identifier List", jsonPrettyPrint(response)); }).fail(displayDefaultFailure); }); }); }(jQuery)); Page 80 Screenshot & Output Usage To run the example simply select the Submit button to request a list of the all the data sets currently contained within the server. The resulting list will then be returned and displayed to the Results area in both Plain list and JSON Identifier List formats. Further Reading See the Data Set Entity Service page of the REST API Reference section for further detail. Page 81 Finding the Data Records in a Data Set Problem You want to obtain a list of all the previously generated Data Records contained within a specific Data Set potentially for use in a Content Creation operation. Solution The solution is to create a request using the following URI and method type and submit it to the server via the Data Set Entity REST service: Get Data Records for Data Set /rest/serverengine/entity/datasets/{dataSetId} GET Example HTML5 dse-get-datarecords.html Get Data Records for Data Set Example

Data Set Entity Service - Get Data Records for Data Set Example

Inputs
Page 82
JavaScript/jQuery dse-get-datarecords.js /* Data Set Entity Service - Get Data Records for Data Set Example */ (function ($) { "use strict"; $(document).ready(function () { setupExample(); $("form").on("submit", function (event) { event.preventDefault(); if (!checkSessionValid()) { return; } var dataSetId = $("#dataset").val(); $.ajax({ type: url: "GET", "/rest/serverengine/entity/datasets/" + dataSetId }).done(function (response) { displayStatus("Request Successful"); displayHeading("Data Record IDs for Data Set '" + dataSetId + "'"); displaySubResult("Plain", jsonIDListToPlain (response)); displaySubResult("JSON Identifier List", jsonPrettyPrint(response)); }).fail(displayDefaultFailure); Page 83 }); }); }(jQuery)); Screenshot & Output Usage To run the example simply enter the Data Set ID and select the Submit button to request a list of the all the data records contained within the specific data set in the server. Page 84 The resulting list will then be returned and displayed to the Results area in both Plain list and JSON Identifier List formats. Further Reading See the Data Set Entity Service page of the REST API Reference section for further detail. Page 85 Finding all the Content Sets in the Server Problem You want to obtain a list of all the previously generated Content Sets contained in the PlanetPress Connect Server potentially for use in a Job Creation operation. Solution The solution is to create a request using the following URI and method type and submit it to the server via the Content Set Entity REST service: Get All Content Set Entities /rest/serverengine/entity/contentsets GET Example HTML5 cse-get-all-contentsets.html Get All Content Sets Example

Content Set Entity Service - Get All Content Sets Example

Inputs
Page 86
JavaScript/jQuery cse-get-all-contentsets.js /* Content Set Entity Service - Get All Content Sets Example */ (function ($) { "use strict"; $(document).ready(function () { setupExample(); $("form").on("submit", function (event) { event.preventDefault(); if (!checkSessionValid()) { return; } $.ajax({ type: "GET", url: "/rest/serverengine/entity/contentsets" }).done(function (response) { displayStatus("Request Successful"); displayHeading("Content Set IDs"); displaySubResult("Plain", jsonIDListToPlain (response)); displaySubResult("JSON Identifier List", jsonPrettyPrint(response)); }).fail(displayDefaultFailure); }); }); }(jQuery)); Page 87 Screenshot & Output Usage To run the example simply select the Submit button to request a list of the all the content sets currently contained within the server. The resulting list will then be returned and displayed to the Results area in both Plain list and JSON Identifier List formats. Further Reading See the Content Set Entity Service page of the REST API Reference section for further detail. Page 88 Finding the Content Items in a Content Set Problem You want to obtain a list of all the previously generated Content Items contained within a specific Content Set potentially for use in a Job Creation operation. Solution The solution is to create a request using the following URI and method type and submit it to the server via the Content Set Entity REST service: Get Content Items for Content Set /rest/serverengine/entity/contentsets/{contentSetId} GET Example HTML5 cse-get-contentitems.html Get Content Items for Content Set Example

Content Set Entity Service - Get Content Items for Content Set Example

Inputs
Page 89
JavaScript/jQuery cse-get-contentitems.js /* Content Set Entity Service - Get Content Items for Content Set Example */ (function ($) { "use strict"; $(document).ready(function () { setupExample(); $("form").on("submit", function (event) { event.preventDefault(); if (!checkSessionValid()) { return; } var contentSetId = $("#contentset").val(); $.ajax({ type: url: "GET", "/rest/serverengine/entity/contentsets/" + contentSetId }).done(function (response) { displayStatus("Request Successful"); displayHeading("Content Item IDs for Content Set '" + contentSetId + "'"); displaySubResult("Plain", jsonContentItemIDListToTable(response)); displaySubResult("JSON Content Item Identifier List", jsonPrettyPrint(response)); }).fail(displayDefaultFailure); Page 90 }); }); }(jQuery)); Screenshot & Output Page 91 Usage To run the example simply enter the Content Set ID and select the Submit button to request a list of the all the content items contained within the specific content set in the server. The resulting list will then be returned as a list of Content Item and Data Record ID pairs which will be displayed to the Results area in both Plain table and JSON Content Item Identifier List formats. Further Reading See the Content Set Entity Service page of the REST API Reference section for further detail. Page 92 Finding all the Job Sets in the Server Problem You want to obtain a list of all the previously generated Job Sets contained in the PlanetPress Connect Server potentially for use in a Output Creation operation. Solution The solution is to create a request using the following URI and method type and submit it to the server via the Job Set Entity REST service: Get All Job Set Entities /rest/serverengine/entity/jobsets GET Example HTML5 jse-get-all-jobsets.html Get All Job Sets Example

Job Set Entity Service - Get All Job Sets Example

Inputs
Page 93
JavaScript/jQuery jse-get-all-jobsets.js /* Job Set Entity Service - Get All Job Sets Example */ (function ($) { "use strict"; $(document).ready(function () { setupExample(); $("form").on("submit", function (event) { event.preventDefault(); if (!checkSessionValid()) { return; } $.ajax({ type: "GET", url: "/rest/serverengine/entity/jobsets" }).done(function (response) { displayStatus("Request Successful"); displayHeading("Job Set IDs"); displaySubResult("Plain", jsonIDListToPlain (response)); displaySubResult("JSON Identifier List", jsonPrettyPrint(response)); }).fail(displayDefaultFailure); }); }); }(jQuery)); Page 94 Screenshot & Output Usage To run the example simply select the Submit button to request a list of the all the job sets currently contained within the server. The resulting list will then be returned and displayed to the Results area in both Plain list and JSON Identifier List formats. Further Reading See the Job Set Entity Service page of the REST API Reference section for further detail. Page 95 Finding the Jobs in a Job Set Problem You want to obtain a list of all the previously generated Jobs contained within a specific Job Set potentially for use in a Output Creation operation. Solution The solution is to create a request using the following URI and method type and submit it to the server via the Job Set Entity REST service: Get Jobs for Job Set /rest/serverengine/entity/jobsets/{jobSetId} GET Example HTML5 jse-get-jobs.html Get Jobs for Job Set Example

Job Set Entity Service - Get Jobs for Job Set Example

Inputs
Page 96
JavaScript/jQuery jse-get-jobs.js /* Job Set Entity Service - Get Jobs for Job Set Example */ (function ($) { "use strict"; $(document).ready(function () { setupExample(); $("form").on("submit", function (event) { event.preventDefault(); if (!checkSessionValid()) { return; } var jobSetId = $("#jobset").val(); $.ajax({ type: url: "GET", "/rest/serverengine/entity/jobsets/" + jobSetId }).done(function (response) { displayStatus("Request Successful"); displayHeading("Job IDs for Job Set '" + jobSetId + "'"); displaySubResult("Plain", jsonIDListToPlain (response)); displaySubResult("JSON Identifier List", jsonPrettyPrint(response)); }).fail(displayDefaultFailure); }); }); Page 97 }(jQuery)); Screenshot & Output Usage To run the example simply enter the Job Set ID and select the Submit button to request a list of the all the jobs contained within the specific job set in the server. The resulting list will then be returned and displayed to the Results area in both Plain list and JSON Identifier List formats. Further Reading See the Job Set Entity Service page of the REST API Reference section for further detail. Page 98 Working with the Workflow Services This section consists of a number of pages covering various useful working examples: 1. Running a Data Mapping Operation 2. Running a Data Mapping Operation (Using JSON) 3. Running a Data Mapping Operation for PDF/VT File (to Data Set) 4. Running a Data Mapping Operation for PDF/VT File (to Content Set) 5. Running a Content Creation Operation for Print 6. Running a Content Creation Operation for Print By Data Record (Using JSON) 7. Running a Content Creation Operation for Email By Data Record (Using JSON) 8. Creating Content for Web By Data Record 9. Creating Content for Web By Data Record (Using JSON) 10. Running a Job Creation Operation (Using JSON) 11. Running an Output Creation Operation 12. Running an Output Creation Operation (Using JSON) 13. Running an Output Creation Operation By Job (Using JSON) 14. Running an All-In-One Operation (Using JSON) See the Data Mapping Service, Content Creation Service, Content Creation (Email) Service, Content Creation (HTML) Service, Job Creation Service, Output Creation Service and All-InOne Service pages of the REST API Reference section for further detail. Note A complete listing including these examples can be found in the index.html file located at the root of the working example source code which contains links to all working examples. Page 99 Running a Data Mapping Operation Problem You want to run a data mapping operation to generate a Data Set using a data file and a data mapping configuration as inputs. Solution The solution is to make a series of requests using the following URIs and method types to submit, monitor progress and ultimately retrieve the result of the data mapping operation. There is also the option of cancelling an operation during processing if required. These requests can be submitted via the Data Mapping REST service: Process Data Mapping /rest/serverengine/workflow/datamining/{configId}/ {dataFileId} POST Get Progress of Operation /rest/serverengine/workflow/datamining/getProgress/ {operationId} GET Get Result of Operation /rest/serverengine/workflow/datamining/getResult/ {operationId} POST Cancel an Operation /rest/serverengine/workflow/datamining/cancel/ {operationId} POST Example HTML5 dm-process.html Process Data Mapping Example Page 100

Data Mapping Service - Process Data Mapping Example

Inputs
Progress & Actions
JavaScript/jQuery dm-process.js Page 101 /* Data Mapping Service - Process Data Mapping Example */ (function ($) { "use strict"; $(document).ready(function () { setupExample(); var $submitButton = $("#submit"), $cancelButton = $("#cancel"), $progressBar = $("progress"), operationId = null; $cancelButton.on("click", function () { if (operationId !== null) { /* Cancel an Operation */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/datamining/cancel/" + operationId }).done(function (response) { displayInfo("Operation Cancelled!"); operationId = null; setTimeout(function () { $progressBar.attr("value", 0); $submitButton.removeAttr("disabled"); $cancelButton.attr("disabled", "disabled"); }, 100); }).fail(displayDefaultFailure); } }); $("form").on("submit", function (event) { event.preventDefault(); if (!checkSessionValid()) { return; } var configId = $("#datamapper").val(), dataFileId = $("#datafile").val(); var getFinalResult = function () { /* Get Result of Operation */ Page 102 $.ajax({ type: "POST", url: "/rest/serverengine/workflow/datamining/getResult/" + operationId }).done(function (response, status, request) { displayHeading("Operation Result"); displaySubResult("Data Set ID", response); }).fail(displayDefaultFailure); }; /* Process Data Mapping */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/datamining/" + configId + "/" + dataFileId }).done(function (response, status, request) { var progress = null; operationId = request.getResponseHeader ("operationId"); $submitButton.attr("disabled", "disabled"); $cancelButton.removeAttr("disabled"); displayStatus("Data Mapping Operation Successfully Submitted"); displayResult("Operation ID", operationId); var getProgress = function () { if (operationId !== null) { /* Get Progress of Operation */ $.ajax({ type: "GET", cache: false, url: "/rest/serverengine/workflow/datamining/getProgress/" + operationId }).done(function (response, status, request) { if (response !== "done") { if (response !== progress) { progress = response; Page 103 $progressBar.attr("value", progress); } setTimeout(getProgress, 1000); } else { $progressBar.attr("value", (progress = 100)); displayInfo("Operation Completed"); getFinalResult(); operationId = null; setTimeout(function () { $progressBar.attr("value", 0); $submitButton.removeAttr ("disabled"); $cancelButton.attr("disabled", "disabled"); }, 100); } }).fail(displayDefaultFailure); } }; getProgress(); }).fail(displayDefaultFailure); }); }); }(jQuery)); Page 104 Screenshot & Output Usage To run the example simply enter the Managed File ID or Name for your data file and your data mapping configuration (previously uploaded to the file store) into the appropriate text fields, and then select the Submit button to start the data mapping operation. Once the operation has started processing, the Operation ID will be displayed in the Results area and the Cancel button will become enabled, giving you the option to cancel the running operation. The progress of the operation will be displayed in the progress bar, and once the data mapping operation has completed, the ID of the generated Data Set will be returned and displayed to the Results area. Page 105 Further Reading See the Data Mapping Service page of the REST API Reference section for further detail. Page 106 Running a Data Mapping Operation (Using JSON) Problem You want to run a data mapping operation to generate a Data Set using a data file and a data mapping configuration as inputs. Solution The solution is to make a series of requests using the following URIs and method types to submit, monitor progress and ultimately retrieve the result of the data mapping operation. There is also the option of cancelling an operation during processing if required. These requests can be submitted via the Data Mapping REST service: Process Data Mapping (JSON) /rest/serverengine/workflow/datamining/{configId} POST Get Progress of Operation /rest/serverengine/workflow/datamining/getProgress/ {operationId} GET Get Result of Operation /rest/serverengine/workflow/datamining/getResult/ {operationId} POST Cancel an Operation /rest/serverengine/workflow/datamining/cancel/ {operationId} POST Example HTML5 dm-process-json.html Process Data Mapping (JSON) Example Page 107

Data Mapping Service - Process Data Mapping (JSON) Example

Inputs
Progress & Actions
JavaScript/jQuery dm-process-json.js Page 108 /* Data Mapping Service - Process Data Mapping (JSON) Example */ (function ($) { "use strict"; $(document).ready(function () { setupExample(); var $submitButton = $("#submit"), $cancelButton = $("#cancel"), $progressBar = $("progress"), operationId = null; $cancelButton.on("click", function () { if (operationId !== null) { /* Cancel an Operation */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/datamining/cancel/" + operationId }).done(function (response) { displayInfo("Operation Cancelled!"); operationId = null; setTimeout(function () { $progressBar.attr("value", 0); $submitButton.removeAttr("disabled"); $cancelButton.attr("disabled", "disabled"); }, 100); }).fail(displayDefaultFailure); } }); $("form").on("submit", function (event) { event.preventDefault(); if (!checkSessionValid()) { return; } var configId = $("#datamapper").val(), dataFileId = $("#datafile").val(); var getFinalResult = function () { /* Get Result of Operation */ Page 109 $.ajax({ type: "POST", url: "/rest/serverengine/workflow/datamining/getResult/" + operationId }).done(function (response, status, request) { displayHeading("Operation Result"); displaySubResult("Data Set ID", response); }).fail(displayDefaultFailure); }; /* Process Data Mapping (JSON) */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/datamining/" + configId, data: JSON.stringify(plainIDToJson (dataFileId)), contentType: "application/json" }).done(function (response, status, request) { var progress = null; operationId = request.getResponseHeader ("operationId"); $submitButton.attr("disabled", "disabled"); $cancelButton.removeAttr("disabled"); displayStatus("Data Mapping Operation Successfully Submitted"); displayResult("Operation ID", operationId); var getProgress = function () { if (operationId !== null) { /* Get Progress of Operation */ $.ajax({ type: "GET", cache: false, url: "/rest/serverengine/workflow/datamining/getProgress/" + operationId }).done(function (response, status, request) { Page 110 if (response !== "done") { if (response !== progress) { progress = response; $progressBar.attr("value", progress); } setTimeout(getProgress, 1000); } else { $progressBar.attr("value", (progress = 100)); displayInfo("Operation Completed"); getFinalResult(); operationId = null; setTimeout(function () { $progressBar.attr("value", 0); $submitButton.removeAttr ("disabled"); $cancelButton.attr("disabled", "disabled"); }, 100); } }).fail(displayDefaultFailure); } }; getProgress(); }).fail(displayDefaultFailure); }); }); }(jQuery)); Page 111 Screenshot & Output Usage To run the example simply enter the Managed File ID or Name for your data file and your data mapping configuration (previously uploaded to the file store) into the appropriate text fields, and then select the Submit button to start the data mapping operation. Once the operation has started processing, the Operation ID will be displayed in the Results area and the Cancel button will become enabled, giving you the option to cancel the running operation. The progress of the operation will be displayed in the progress bar, and once the data mapping operation has completed, the ID of the generated Data Set will be returned and displayed to the Results area. Page 112 Further Reading See the Data Mapping Service page of the REST API Reference section for further detail. Page 113 Running a Data Mapping Operation for PDF/VT File (to Data Set) Problem You want to run a data mapping operation to generate a Data Set using only a PDF/VT file as input. Solution The solution is to make a series of requests using the following URIs and method types to submit, monitor progress and ultimately retrieve the result of the data mapping operation. There is also the option of cancelling an operation during processing if required. These requests can be submitted via the Data Mapping REST service: Process Data Mapping (PDF/VT to Data Set) /rest/serverengine/workflow/datamining/pdfvtds/ {dataFileId} POST Get Progress of Operation /rest/serverengine/workflow/datamining/getProgress/ {operationId} GET Get Result of Operation /rest/serverengine/workflow/datamining/getResult/ {operationId} POST Cancel an Operation /rest/serverengine/workflow/datamining/cancel/ {operationId} POST Example HTML5 dm-process-pdfvt-ds.html Process Data Mapping (PDF/VT to Data Set) Example

Data Mapping Service - Process Data Mapping (PDF/VT to Data Set) Example

Inputs
Progress & Actions
JavaScript/jQuery dm-process-pdfvt-ds.js /* Data Mapping Service - Process Data Mapping (PDF/VT to Data Set) Example */ (function ($) { Page 115 "use strict"; $(document).ready(function () { setupExample(); var $submitButton = $("#submit"), $cancelButton = $("#cancel"), $progressBar = $("progress"), operationId = null; $cancelButton.on("click", function () { if (operationId !== null) { /* Cancel an Operation */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/datamining/cancel/" + operationId }).done(function (response) { displayInfo("Operation Cancelled!"); operationId = null; setTimeout(function () { $progressBar.attr("value", 0); $submitButton.removeAttr("disabled"); $cancelButton.attr("disabled", "disabled"); }, 100); }).fail(displayDefaultFailure); } }); $("form").on("submit", function (event) { event.preventDefault(); if (!checkSessionValid()) { return; } var dataFileId = $("#datafile").val(); var getFinalResult = function () { /* Get Result of Operation */ $.ajax({ type: "POST", url: Page 116 "/rest/serverengine/workflow/datamining/getResult/" + operationId }).done(function (response, status, request) { displayHeading("Operation Result"); displaySubResult("Data Set ID", response); }).fail(displayDefaultFailure); }; /* Process Data Mapping (PDF/VT to Data Set) */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/datamining/pdfvtds/" + dataFileId }).done(function (response, status, request) { var progress = null; operationId = request.getResponseHeader ("operationId"); $submitButton.attr("disabled", "disabled"); $cancelButton.removeAttr("disabled"); displayStatus("Data Mapping Operation Successfully Submitted"); displayResult("Operation ID", operationId); var getProgress = function () { if (operationId !== null) { /* Get Progress of Operation */ $.ajax({ type: "GET", cache: false, url: "/rest/serverengine/workflow/datamining/getProgress/" + operationId }).done(function (response, status, request) { if (response !== "done") { if (response !== progress) { progress = response; $progressBar.attr("value", progress); } Page 117 setTimeout(getProgress, 1000); } else { $progressBar.attr("value", (progress = 100)); displayInfo("Operation Completed"); getFinalResult(); operationId = null; setTimeout(function () { $progressBar.attr("value", 0); $submitButton.removeAttr ("disabled"); $cancelButton.attr("disabled", "disabled"); }, 100); } }).fail(displayDefaultFailure); } }; getProgress(); }).fail(displayDefaultFailure); }); }); }(jQuery)); Page 118 Screenshot & Output Usage To run the example simply enter the Managed File ID or Name for your PDF/VT file (previously uploaded to the file store) into the appropriate text field, and then select the Submit button to start the data mapping operation. Once the operation has started processing, the Operation ID will be displayed in the Results area and the Cancel button will become enabled, giving you the option to cancel the running operation. The progress of the operation will be displayed in the progress bar, and once the data mapping operation has completed, the ID of the generated Data Set will be returned and displayed to the Results area. Page 119 Further Reading See the Data Mapping Service page of the REST API Reference section for further detail. Page 120 Running a Data Mapping Operation for PDF/VT File (to Content Set) Problem You want to run a data mapping operation to generate a Content Set using only a PDF/VT file as input. Solution The solution is to make a series of requests using the following URIs and method types to submit, monitor progress and ultimately retrieve the result of the data mapping operation. There is also the option of cancelling an operation during processing if required. These requests can be submitted via the Data Mapping REST service: Process Data Mapping (PDF/VT to Content Set) /rest/serverengine/workflow/datamining/pdfvtcs/ {dataFileId} POST Get Progress of Operation /rest/serverengine/workflow/datamining/getProgress/ {operationId} GET Get Result of Operation /rest/serverengine/workflow/datamining/getResult/ {operationId} POST Cancel an Operation /rest/serverengine/workflow/datamining/cancel/ {operationId} POST Example HTML5 dm-process-pdfvt-cs.html Process Data Mapping (PDF/VT to Content Set) Example

Data Mapping Service - Process Data Mapping (PDF/VT to Content Set) Example

Inputs
Progress & Actions
JavaScript/jQuery dm-process-pdfvt-cs.js /* Data Mapping Service - Process Data Mapping (PDF/VT to Content Set) Example */ (function ($) { "use strict"; Page 122 $(document).ready(function () { setupExample(); var $submitButton = $("#submit"), $cancelButton = $("#cancel"), $progressBar = $("progress"), operationId = null; $cancelButton.on("click", function () { if (operationId !== null) { /* Cancel an Operation */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/datamining/cancel/" + operationId }).done(function (response) { displayInfo("Operation Cancelled!"); operationId = null; setTimeout(function () { $progressBar.attr("value", 0); $submitButton.removeAttr("disabled"); $cancelButton.attr("disabled", "disabled"); }, 100); }).fail(displayDefaultFailure); } }); $("form").on("submit", function (event) { event.preventDefault(); if (!checkSessionValid()) { return; } var dataFileId = $("#datafile").val(); var getFinalResult = function () { /* Get Result of Operation */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/datamining/getResult/" + operationId Page 123 }).done(function (response, status, request) { displayHeading("Operation Result"); displaySubResult("Content Set ID", response); }).fail(displayDefaultFailure); }; /* Process Data Mapping (PDF/VT to Content Set) */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/datamining/pdfvtcs/" + dataFileId }).done(function (response, status, request) { var progress = null; operationId = request.getResponseHeader ("operationId"); $submitButton.attr("disabled", "disabled"); $cancelButton.removeAttr("disabled"); displayStatus("Data Mapping Operation Successfully Submitted"); displayResult("Operation ID", operationId); var getProgress = function () { if (operationId !== null) { /* Get Progress of Operation */ $.ajax({ type: "GET", cache: false, url: "/rest/serverengine/workflow/datamining/getProgress/" + operationId }).done(function (response, status, request) { if (response !== "done") { if (response !== progress) { progress = response; $progressBar.attr("value", progress); } setTimeout(getProgress, 1000); Page 124 } else { $progressBar.attr("value", (progress = 100)); displayInfo("Operation Completed"); getFinalResult(); operationId = null; setTimeout(function () { $progressBar.attr("value", 0); $submitButton.removeAttr ("disabled"); $cancelButton.attr("disabled", "disabled"); }, 100); } }).fail(displayDefaultFailure); } }; getProgress(); }).fail(displayDefaultFailure); }); }); }(jQuery)); Page 125 Screenshot & Output Usage To run the example simply enter the Managed File ID or Name for your PDF/VT file (previously uploaded to the file store) into the appropriate text field, and then select the Submit button to start the data mapping operation. Once the operation has started processing, the Operation ID will be displayed in the Results area and the Cancel button will become enabled, giving you the option to cancel the running operation. The progress of the operation will be displayed in the progress bar, and once the data mapping operation has completed, the ID of the generated Content Set will be returned and displayed to the Results area. Page 126 Further Reading See the Data Mapping Service page of the REST API Reference section for further detail. Page 127 Running a Content Creation Operation for Print Problem You want to run a content creation operation to generate a Content Set using a design template and an existing set of Data Records as inputs. Solution The solution is to make a series of requests using the following URIs and method types to submit, monitor progress and ultimately retrieve the result of the content creation operation. There is also the option of cancelling an operation during processing if required. These requests can be submitted via the Content Creation REST service: Process Content Creation /rest/serverengine/workflow/contentcreation/{templateId}/ {dataSetId} POST Get Progress of Operation /rest/serverengine/workflow/contentcreation/getProgress/ {operationId} GET Get Result of Operation /rest/serverengine/workflow/contentcreation/getResult/ {operationId} POST Cancel an Operation /rest/serverengine/workflow/contentcreation/cancel/ {operationId} POST Example HTML5 cc-process.html Process Content Creation Example Page 128

Content Creation Service - Process Content Creation Example

Inputs
Progress & Actions
JavaScript/jQuery cc-process.js /* Content Creation Service - Process Content Creation Example */ (function ($) { Page 129 "use strict"; $(document).ready(function () { setupExample(); var $submitButton = $("#submit"), $cancelButton = $("#cancel"), $progressBar = $("progress"), operationId = null; $cancelButton.on("click", function () { if (operationId !== null) { /* Cancel an Operation */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/contentcreation/cancel/" + operationId }).done(function (response) { displayInfo("Operation Cancelled!"); operationId = null; setTimeout(function () { $progressBar.attr("value", 0); $submitButton.removeAttr("disabled"); $cancelButton.attr("disabled", "disabled"); }, 100); }).fail(displayDefaultFailure); } }); $("form").on("submit", function (event) { event.preventDefault(); if (!checkSessionValid()) { return; } var dataSetId = $("#dataset").val(), templateId = $("#designtemplate").val(); var getFinalResult = function () { /* Get Result of Operation */ $.ajax({ type: "POST", Page 130 url: "/rest/serverengine/workflow/contentcreation/getResult/" + operationId }).done(function (response, status, request) { displayHeading("Operation Result"); displaySubResult("Content Set IDs", response); }).fail(displayDefaultFailure); }; /* Process Content Creation */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/contentcreation/" + templateId + "/" + dataSetId }).done(function (response, status, request) { var progress = null; operationId = request.getResponseHeader ("operationId"); $submitButton.attr("disabled", "disabled"); $cancelButton.removeAttr("disabled"); displayStatus("Content Creation Operation Successfully Submitted"); displayResult("Operation ID", operationId); var getProgress = function () { if (operationId !== null) { /* Get Progress of Operation */ $.ajax({ type: "GET", cache: false, url: "/rest/serverengine/workflow/contentcreation/getProgress/" + operationId }).done(function (response, status, request) { if (response !== "done") { if (response !== progress) { Page 131 progress = response; $progressBar.attr("value", progress); } setTimeout(getProgress, 1000); } else { $progressBar.attr("value", (progress = 100)); displayInfo("Operation Completed"); getFinalResult(); operationId = null; setTimeout(function () { $progressBar.attr("value", 0); $submitButton.removeAttr ("disabled"); $cancelButton.attr("disabled", "disabled"); }, 100); } }).fail(displayDefaultFailure); } }; getProgress(); }).fail(displayDefaultFailure); }); }); }(jQuery)); Page 132 Screenshot & Output Usage To run the example simply enter the Data Set ID and the Managed File ID or Name of your design template (previously uploaded to the file store) into the appropriate text fields, and then select the Submit button to start the content creation operation. Once the operation has started processing, the Operation ID will be displayed in the Results area and the Cancel button will become enabled, giving you the option to cancel the running operation. The progress of the operation will be displayed in the progress bar, and once the content creation operation has completed, the IDs of the generated Content Sets will be returned and displayed to the Results area. Page 133 Further Reading See the Content Creation Service page of the REST API Reference section for further detail. Page 134 Running a Content Creation Operation for Print By Data Record (Using JSON) Problem You want to run a content creation operation to generate a Content Set using a design template and an existing set of Data Records as inputs. Solution The solution is to make a series of requests using the following URIs and method types to submit, monitor progress and ultimately retrieve the result of the content creation operation. There is also the option of cancelling an operation during processing if required. These requests can be submitted via the Content Creation REST service: Process Content Creation (By Data Record) (JSON) /rest/serverengine/workflow/contentcreation/{templateId} POST Get Progress of Operation /rest/serverengine/workflow/contentcreation/getProgress/ {operationId} GET Get Result of Operation /rest/serverengine/workflow/contentcreation/getResult/ {operationId} POST Cancel an Operation /rest/serverengine/workflow/contentcreation/cancel/ {operationId} POST Example HTML5 cc-process-by-dre-json.html Process Content Creation (By Data Record) (JSON) Example Page 135

Content Creation Service - Process Content Creation (By Data Record) (JSON) Example

Inputs
Progress & Actions
Page 136 JavaScript/jQuery cc-process-by-dre-json.js /* Content Creation Service - Process Content Creation (By Data Record) (JSON) Example */ (function ($) { "use strict"; $(document).ready(function () { setupExample(); var $submitButton = $("#submit"), $cancelButton = $("#cancel"), $progressBar = $("progress"), operationId = null; $cancelButton.on("click", function () { if (operationId !== null) { /* Cancel an Operation */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/contentcreation/cancel/" + operationId }).done(function (response) { displayInfo("Operation Cancelled!"); operationId = null; setTimeout(function () { $progressBar.attr("value", 0); $submitButton.removeAttr("disabled"); $cancelButton.attr("disabled", "disabled"); }, 100); }).fail(displayDefaultFailure); } }); $("form").on("submit", function (event) { event.preventDefault(); if (!checkSessionValid()) { return; } var dataRecordIds = $("#datarecords").val(), Page 137 templateId = $("#designtemplate").val(); var getFinalResult = function () { /* Get Result of Operation */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/contentcreation/getResult/" + operationId }).done(function (response, status, request) { displayHeading("Operation Result"); displaySubResult("Content Set IDs", response); }).fail(displayDefaultFailure); }; /* Process Content Creation (By Data Record) (JSON) */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/contentcreation/" + templateId, data: JSON.stringify(plainIDListToJson (dataRecordIds)), contentType: "application/json" }).done(function (response, status, request) { var progress = null; operationId = request.getResponseHeader ("operationId"); $submitButton.attr("disabled", "disabled"); $cancelButton.removeAttr("disabled"); displayStatus("Content Creation Operation Successfully Submitted"); displayResult("Operation ID", operationId); var getProgress = function () { if (operationId !== null) { /* Get Progress of Operation */ $.ajax({ type: "GET", Page 138 cache: false, url: "/rest/serverengine/workflow/contentcreation/getProgress/" + operationId }).done(function (response, status, request) { if (response !== "done") { if (response !== progress) { progress = response; $progressBar.attr("value", progress); } setTimeout(getProgress, 1000); } else { $progressBar.attr("value", (progress = 100)); displayInfo("Operation Completed"); getFinalResult(); operationId = null; setTimeout(function () { $progressBar.attr("value", 0); $submitButton.removeAttr ("disabled"); $cancelButton.attr("disabled", "disabled"); }, 100); } }).fail(displayDefaultFailure); } }; getProgress(); }).fail(displayDefaultFailure); }); }); }(jQuery)); Page 139 Screenshot & Output Usage To run the example simply enter a comma delimited list of your Data Record IDs and the Managed File ID or Name of your design template (previously uploaded to the file store) into the appropriate text fields, and then select the Submit button to start the content creation operation. Once the operation has started processing, the Operation ID will be displayed in the Results area and the Cancel button will become enabled, giving you the option to cancel the running operation. The progress of the operation will be displayed in the progress bar, and once the content creation operation has completed, the IDs of the generated Content Sets will be returned and displayed to the Results area. Page 140 Further Reading See the Content Creation Service page of the REST API Reference section for further detail. Page 141 Running a Content Creation Operation for Email By Data Record (Using JSON) Problem You want to run a content creation operation to generate and send email content using a design template and an existing set of Data Records as inputs. Solution The solution is to make a series of requests using the following URIs and method types to submit, monitor progress and ultimately retrieve the result of the content creation operation. There is also the option of cancelling an operation during processing if required. These requests can be submitted via the Content Creation (Email) REST service: Process Content Creation (By Data Record) (JSON) /rest/serverengine/workflow/contentcreation/email/{templateId} POST Get Progress of Operation /rest/serverengine/workflow/contentcreation/email/getProgress/ {operationId} GET Get Result of Operation /rest/serverengine/workflow/contentcreation/email/getResult/ {operationId} POST Cancel an Operation /rest/serverengine/workflow/contentcreation/email/cancel/ {operationId} POST Example HTML5 cce-process-by-dre-json.html Page 142 Process Content Creation (By Data Record) (JSON) Example

Content Creation (Email) Service - Process Content Creation (By Data Record) (JSON) Example

Inputs
Email Parameters
Page 143
Email Security
Progress & Actions
Page 144
JavaScript/jQuery cce-process-by-dre-json.js /* Content Creation (Email) Service - Process Content Creation (By Data Record) (JSON) Example */ (function ($) { "use strict"; $(document).ready(function () { setupExample(); var $useAuth = $("#useauth"), $startTLS = $("#starttls"), $username = $("#username"), $password = $("#password"), $submitButton = $("#submit"), $cancelButton = $("#cancel"), $progressBar = $("progress"), operationId = null; $cancelButton.on("click", function () { if (operationId !== null) { /* Cancel an Operation */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/contentcreation/email/cancel/" + operationId Page 145 }).done(function (response) { displayInfo("Operation Cancelled!"); operationId = null; setTimeout(function () { $progressBar.attr("value", 0); $submitButton.removeAttr("disabled"); $cancelButton.attr("disabled", "disabled"); }, 100); }).fail(displayDefaultFailure); } }); $useAuth.on("click", function (event) { if (event.target.checked) { $startTLS.removeAttr("disabled"); $username.removeAttr("disabled"); $password.removeAttr("disabled"); } else { $startTLS.attr("disabled", "disabled"); $username.attr("disabled", "disabled"); $password.attr("disabled", "disabled"); } }); $("form").on("submit", function (event) { event.preventDefault(); if (!checkSessionValid()) { return; } var dataRecordIds = $("#datarecords").val(), templateId = $("#designtemplate").val(), section = $("#section").val().trim(); var getFinalResult = function () { /* Get Result of Operation */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/contentcreation/email/getResult/" + operationId }).done(function (response, status, request) { displayHeading("Operation Result"); displaySubResult("Email Report", response); Page 146 }).fail(displayDefaultFailure); }; /* Construct JSON Identifier List (with Email Parameters) */ var config = { "sender": $("#sender").val(), "host": $("#host").val(), "useAuth" : $useAuth.is(":checked"), "useSender": $("#usesender").is(":checked"), "attachWebPage": $("#attachweb").is (":checked"), "attachPdfPage": $("#attachpdf").is (":checked") }, drids = plainIDListToJson(dataRecordIds); if (config.useAuth) { config.useStartTLS = $startTLS.is(":checked"); config.user = $username.val(); config.password = $password.val(); } else { config.user = ""; } config.identifiers = drids.identifiers; /* Process Content Creation (By Data Record) (JSON) */ var settings = { type: "POST", url: "/rest/serverengine/workflow/contentcreation/email/" + templateId, data: JSON.stringify(config), contentType: "application/json; charset=utf-8" }; if (section.length) { settings.url += "?section=" + section; } $.ajax(settings).done(function (response, status, request) { var progress = null; operationId = request.getResponseHeader ("operationId"); Page 147 $submitButton.attr("disabled", "disabled"); $cancelButton.removeAttr("disabled"); displayStatus("Content Creation Operation Successfully Submitted"); displayResult("Operation ID", operationId); var getProgress = function () { if (operationId !== null) { /* Get Progress of Operation */ $.ajax({ type: "GET", cache: false, url: "/rest/serverengine/workflow/contentcreation/email/getProgress/" + operationId }).done(function (response, status, request) { if (response !== "done") { if (response !== progress) { progress = response; $progressBar.attr("value", progress); } setTimeout(getProgress, 1000); } else { $progressBar.attr("value", (progress = 100)); displayInfo("Operation Completed"); getFinalResult(); operationId = null; setTimeout(function () { $progressBar.attr("value", 0); $submitButton.removeAttr ("disabled"); $cancelButton.attr("disabled", "disabled"); }, 100); } }).fail(displayDefaultFailure); } Page 148 }; getProgress(); }).fail(displayDefaultFailure); }); }); }(jQuery)); Page 149 Screenshot & Output Page 150 Usage To run the example you first need to enter a comma delimited list of your Data Record IDs and the Managed File ID or Name of your design template (previously uploaded to the file store) into the appropriate text fields as your inputs. Next you need to specify the email parameters to use with the content creation operation: l Section - the section within the email context of the template to use l From - the email address to be shown as the sender in the email output l l l l Host - the network address or name of your SMTP mail server through which the emails will be sent Use From as To Address - use the sender address as the receiver address for all emails in the output Attach PDF Page to Email - if a Print Context exists in the template, generate it's output as a PDF and attach it to the email output Attach Web Page to Email - if a Web Context exists in the template, generate it's output as a single HTML (with embedded resources) and attach it to email output Then you need to specify how email security is to be used with the content creation operation: l Use Authentication - if authentication is to be used with the mail server l Start TLS - if Transport Layer Security (TLS) is to be used when sending emails l Username - the username to authenticate/login with l Password - the password to authenticate/login with Lastly, select the Submit button to start the content creation operation. Once the operation has started processing, the Operation ID will be displayed in the Results area and the Cancel button will become enabled, giving you the option to cancel the running operation. The progress of the operation will be displayed in the progress bar, and once the content creation operation has completed, a report of the emails successfully sent will be returned and displayed to the Results area. Page 151 Further Reading See the Content Creation (Email) Service page of the REST API Reference section for further detail. Page 152 Creating Content for Web By Data Record Problem You want to create and retrieve web content using a design template and an existing Data Record as inputs. Solution The solution is to create a request using the following URI and method type and submit it to the server via the Content Creation (HTML) REST service: Process Content Creation (By Data Record) /rest/serverengine/workflow/contentcreation/html/ {templateId}/{dataRecordId: [0-9]+} GET Example HTML5 cch-process-by-dre.html Process Content Creation (By Data Record) Example

Content Creation (HTML) Service - Process Content Creation (By Data Record) Example

Inputs
Page 153
HTML Parameters
JavaScript/jQuery cch-process-by-dre.js /* Content Creation (HTML) Service - Process Content Creation (By Data Record) Example */ (function ($) { "use strict"; Page 154 $(document).ready(function () { setupExample(); $("form").on("submit", function (event) { event.preventDefault(); if (!checkSessionValid()) { return; } var dataRecordId = $("#datarecord").val(), templateId = $("#designtemplate").val(), section = $("#section").val().trim(), params = { inline: $("#inline").val() }; if (section.length) { params.section = section; } /* Process Content Creation (By Data Record) */ $.ajax({ type: "GET", url: "/rest/serverengine/workflow/contentcreation/html/" + templateId + "/" + dataRecordId, data: params }).done(function (response, status, request) { displayHeading("Result"); displaySubResult("Response", htmlToLinkWindow (response, "Result Link"), false); }).fail(displayDefaultFailure); }); }); }(jQuery)); Page 155 Screenshot & Output Page 156 Usage To run the example you first need to enter your Data Record ID and the Managed File ID or Name of your design template (previously uploaded to the file store) into the appropriate text fields as your inputs. Next you need to specify the HTML parameters to use when creating the web content: Page 157 l Section - the section within the web context of the template to use l Inline Mode - the inline mode to be used in the creation of content Lastly, select the Submit button to create and retrieve the web content. When the response returns a Results Link will be displayed in the Results area. This link can be selected to view the resulting web content that was created. Further Reading See the Content Creation (HTML) Service page of the REST API Reference section for further detail. Page 158 Creating Content for Web By Data Record (Using JSON) Problem You want to create and retrieve web content using a design template and an existing Data Record as inputs. Solution The solution is to create a request using the following URI and method type and submit it to the server via the Content Creation (HTML) REST service: Process Content Creation (By Data Record) (JSON) /rest/serverengine/workflow/contentcreation/html/ {templateId}/{dataRecordId: [0-9]+} POST Example HTML5 cch-process-by-dre-json.html Process Content Creation (By Data Record) (JSON) Example

Content Creation (HTML) Service - Process Content Creation (By Data Record) (JSON) Example

Inputs
HTML Parameters
JavaScript/jQuery cch-process-by-dre-json.js /* Content Creation (HTML) Service - Process Content Creation (By Data Record) (JSON) Example */ (function ($) { "use strict"; $(document).ready(function () { Page 160 setupExample(); $("form").on("submit", function (event) { event.preventDefault(); if (!checkSessionValid()) { return; } var dataRecordId = $("#datarecord").val(), templateId = $("#designtemplate").val(), section = $("#section").val().trim(), params = { inline: $("#inline").val() }; if (section.length) { params.section = section; } /* Process Content Creation (By Data Record) (JSON) */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/contentcreation/html/" + templateId + "/" + dataRecordId, data: JSON.stringify(params), contentType: "application/json; charset=utf-8" }).done(function (response, status, request) { displayHeading("Result"); displaySubResult("Response", htmlToLinkWindow (response, "Result Link"), false); }).fail(displayDefaultFailure); }); }); }(jQuery)); Page 161 Screenshot & Output Page 162 Usage To run the example you first need to enter your Data Record ID and the Managed File ID or Name of your design template (previously uploaded to the file store) into the appropriate text fields as your inputs. Next you need to specify the HTML parameters to use when creating the web content: Page 163 l Section - the section within the web context of the template to use l Inline Mode - the inline mode to be used in the creation of content Lastly, select the Submit button to create and retrieve the web content. When the response returns a Results Link will be displayed in the Results area. This link can be selected to view the resulting web content that was created. Further Reading See the Content Creation (HTML) Service page of the REST API Reference section for further detail. Page 164 Running a Job Creation Operation (Using JSON) Problem You want to run a job creation operation to generate a Job Set using a job creation preset and an existing set of Content Sets as inputs. Solution The solution is to make a series of requests using the following URIs and method types to submit, monitor progress and ultimately retrieve the result of the job creation operation. There is also the option of cancelling an operation during processing if required. These requests can be submitted via the Job Creation REST service: Process Job Creation (JSON) /rest/serverengine/workflow/jobcreation/{configId} POST Get Progress of Operation /rest/serverengine/workflow/jobcreation/getProgress/ {operationId} GET Get Result of Operation /rest/serverengine/workflow/jobcreation/getResult/ {operationId} POST Cancel an Operation /rest/serverengine/workflow/jobcreation/cancel/ {operationId} POST Example HTML5 jc-process-json.html Process Job Creation (JSON) Example Page 165

Job Creation Service - Process Job Creation (JSON) Example

Inputs
Progress & Actions
JavaScript/jQuery jc-process-json.js Page 166 /* Job Creation Service - Process Job Creation (JSON) Example */ (function ($) { "use strict"; $(document).ready(function () { setupExample(); var $submitButton = $("#submit"), $cancelButton = $("#cancel"), $progressBar = $("progress"), operationId = null; $cancelButton.on("click", function () { if (operationId !== null) { /* Cancel an Operation */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/jobcreation/cancel/" + operationId }).done(function (response) { displayInfo("Operation Cancelled!"); operationId = null; setTimeout(function () { $progressBar.attr("value", 0); $submitButton.removeAttr("disabled"); $cancelButton.attr("disabled", "disabled"); }, 100); }).fail(displayDefaultFailure); } }); $("form").on("submit", function (event) { event.preventDefault(); if (!checkSessionValid()) { return; } var contentSetIds = $("#contentsets").val(), configId = $("#jcpreset").val(); var getFinalResult = function () { /* Get Result of Operation */ Page 167 $.ajax({ type: "POST", url: "/rest/serverengine/workflow/jobcreation/getResult/" + operationId }).done(function (response, status, request) { displayHeading("Operation Result"); displaySubResult("Job Set ID", response); }).fail(displayDefaultFailure); }; /* Process Job Creation (JSON) */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/jobcreation/" + configId, data: JSON.stringify(plainIDListToJson (contentSetIds)), contentType: "application/json" }).done(function (response, status, request) { var progress = null; operationId = request.getResponseHeader ("operationId"); $submitButton.attr("disabled", "disabled"); $cancelButton.removeAttr("disabled"); displayStatus("Job Creation Operation Successfully Submitted"); displayResult("Operation ID", operationId); var getProgress = function () { if (operationId !== null) { /* Get Progress of Operation */ $.ajax({ type: "GET", cache: false, url: "/rest/serverengine/workflow/jobcreation/getProgress/" + operationId }).done(function (response, status, request) { Page 168 if (response !== "done") { if (response !== progress) { progress = response; $progressBar.attr("value", progress); } setTimeout(getProgress, 1000); } else { $progressBar.attr("value", (progress = 100)); displayInfo("Operation Completed"); getFinalResult(); operationId = null; setTimeout(function () { $progressBar.attr("value", 0); $submitButton.removeAttr ("disabled"); $cancelButton.attr("disabled", "disabled"); }, 100); } }).fail(displayDefaultFailure); } }; getProgress(); }).fail(displayDefaultFailure); }); }); }(jQuery)); Page 169 Screenshot & Output Usage To run the example simply enter a comma delimited list of your Content Set IDs and the Managed File ID or Name of your job creation preset (previously uploaded to the file store) into the appropriate text fields, and then select the Submit button to start the job creation operation. Once the operation has started processing, the Operation ID will be displayed in the Results area and the Cancel button will become enabled, giving you the option to cancel the running operation. The progress of the operation will be displayed in the progress bar, and once the job creation operation has completed, the ID of the generated Job Set will be returned and displayed to the Results area. Page 170 Further Reading See the Job Creation Service page of the REST API Reference section for further detail. Page 171 Running an Output Creation Operation Problem You want to run an output creation operation to generate print output using an output creation preset and an existing Job Set as inputs. Solution The solution is to make a series of requests using the following URIs and method types to submit, monitor progress and ultimately retrieve the result of the output creation operation. There is also the option of cancelling an operation during processing if required. These requests can be submitted via the Output Creation REST service: Process Output Creation /rest/serverengine/workflow/outputcreation/{configId}/ {jobSetId} POST Get Progress of Operation /rest/serverengine/workflow/outputcreation/getProgress/ {operationId} GET Get Result of Operation /rest/serverengine/workflow/outputcreation/getResult/ {operationId} POST Get Result of Operation (as Text) /rest/serverengine/workflow/outputcreation/getResultTxt/ {operationId} POST Cancel an Operation /rest/serverengine/workflow/outputcreation/cancel/ {operationId} POST Example HTML5 oc-process.html Process Output Creation Example Page 172

Output Creation Service - Process Output Creation Example

Inputs
Options
Progress & Actions
Page 173
JavaScript/jQuery oc-process.js /* Output Creation Service - Process Output Creation Example */ (function ($) { "use strict"; $(document).ready(function () { setupExample(); var $submitButton = $("#submit"), $cancelButton = $("#cancel"), $progressBar = $("progress"), operationId = null; $cancelButton.on("click", function () { if (operationId !== null) { /* Cancel an Operation */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/outputcreation/cancel/" + operationId }).done(function (response) { displayInfo("Operation Cancelled!"); operationId = null; setTimeout(function () { $progressBar.attr("value", 0); $submitButton.removeAttr("disabled"); $cancelButton.attr("disabled", "disabled"); }, 100); }).fail(displayDefaultFailure); } }); $("form").on("submit", function (event) { Page 174 event.preventDefault(); if (!checkSessionValid()) { return; } var jobSetId = $("#jobset").val(), configId = $("#ocpreset").val(); var getFinalResult = function () { var results = ($("#resultstxt").is(":checked")) ? "getResultTxt" : "getResult"; /* Get Result of Operation */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/outputcreation/" + results + "/" + operationId }).done(function (response, status, request) { if (request.getResponseHeader("Content-Type") === "application/octet-stream") { response = "<<OCTET-STREAM FILE DATA>>"; } displayHeading("Operation Result"); displaySubResult("Output", response); }).fail(displayDefaultFailure); }; /* Process Output Creation */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/outputcreation/" + configId + "/" + jobSetId }).done(function (response, status, request) { var progress = null; operationId = request.getResponseHeader ("operationId"); $submitButton.attr("disabled", "disabled"); $cancelButton.removeAttr("disabled"); Page 175 displayStatus("Output Creation Operation Successfully Submitted"); displayResult("Operation ID", operationId); var getProgress = function () { if (operationId !== null) { /* Get Progress of Operation */ $.ajax({ type: "GET", cache: false, url: "/rest/serverengine/workflow/outputcreation/getProgress/" + operationId }).done(function (response, status, request) { if (response !== "done") { if (response !== progress) { progress = response; $progressBar.attr("value", progress); } setTimeout(getProgress, 1000); } else { $progressBar.attr("value", (progress = 100)); displayInfo("Operation Completed"); getFinalResult(); operationId = null; setTimeout(function () { $progressBar.attr("value", 0); $submitButton.removeAttr ("disabled"); $cancelButton.attr("disabled", "disabled"); }, 100); } }).fail(displayDefaultFailure); } }; getProgress(); Page 176 }).fail(displayDefaultFailure); }); }); }(jQuery)); Screenshot & Output Usage To run the example simply enter the Job Set ID and the Managed File ID or Name of your output creation preset (previously uploaded to the file store) into the appropriate text fields, and then check any options that you may require: l Get Results as Text - Return the result as text specifically. In this example this would return the absolute path to the output file(s). Page 177 Lastly, select the Submit button to start the Output creation operation. Once the operation has started processing, the Operation ID will be displayed in the Results area and the Cancel button will become enabled, giving you the option to cancel the running operation. The progress of the operation will be displayed in the progress bar, and once the output creation operation has completed, the output result will be returned and displayed to the Results area. Note If the result returned is expected to be file data, then the value <> will be displayed. Further Reading See the Output Creation Service page of the REST API Reference section for further detail. Page 178 Running an Output Creation Operation (Using JSON) Problem You want to run an output creation operation to generate print output using an output creation preset and an existing Job Set as inputs. Solution The solution is to make a series of requests using the following URIs and method types to submit, monitor progress and ultimately retrieve the result of the output creation operation. There is also the option of cancelling an operation during processing if required. These requests can be submitted via the Output Creation REST service: Process Output Creation (JSON) /rest/serverengine/workflow/outputcreation/{configId} POST Get Progress of Operation /rest/serverengine/workflow/outputcreation/getProgress/ {operationId} GET Get Result of Operation /rest/serverengine/workflow/outputcreation/getResult/ {operationId} POST Get Result of Operation (as Text) /rest/serverengine/workflow/outputcreation/getResultTxt/ {operationId} POST Cancel an Operation /rest/serverengine/workflow/outputcreation/cancel/ {operationId} POST Example HTML5 oc-process-json.html Process Output Creation (JSON) Example Page 179

Output Creation Service - Process Output Creation (JSON) Example

Inputs
Options
Progress & Actions
JavaScript/jQuery oc-process-json.js /* Output Creation Service - Process Output Creation (JSON) Example */ (function ($) { "use strict"; $(document).ready(function () { setupExample(); var $submitButton = $("#submit"), $cancelButton = $("#cancel"), $progressBar = $("progress"), operationId = null; $cancelButton.on("click", function () { if (operationId !== null) { /* Cancel an Operation */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/outputcreation/cancel/" + operationId }).done(function (response) { displayInfo("Operation Cancelled!"); operationId = null; setTimeout(function () { $progressBar.attr("value", 0); $submitButton.removeAttr("disabled"); $cancelButton.attr("disabled", "disabled"); }, 100); Page 181 }).fail(displayDefaultFailure); } }); $("form").on("submit", function (event) { event.preventDefault(); if (!checkSessionValid()) { return; } var jobSetId = $("#jobset").val(), configId = $("#ocpreset").val(), createOnly = $("#createonly").is(":checked"); var getFinalResult = function () { var results = ($("#resultstxt").is(":checked")) ? "getResultTxt" : "getResult"; /* Get Result of Operation */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/outputcreation/" + results + "/" + operationId }).done(function (response, status, request) { if (request.getResponseHeader("Content-Type") === "application/octet-stream") { response = "<<OCTET-STREAM FILE DATA>>"; } displayHeading("Operation Result"); displaySubResult("Output", response); }).fail(displayDefaultFailure); }; /* Process Output Creation (JSON) */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/outputcreation/" + configId, data: JSON.stringify(plainIDToJson (jobSetId, createOnly)), contentType: "application/json" Page 182 }).done(function (response, status, request) { var progress = null; operationId = request.getResponseHeader ("operationId"); $submitButton.attr("disabled", "disabled"); $cancelButton.removeAttr("disabled"); displayStatus("Output Creation Operation Successfully Submitted"); displayResult("Operation ID", operationId); var getProgress = function () { if (operationId !== null) { /* Get Progress of Operation */ $.ajax({ type: "GET", cache: false, url: "/rest/serverengine/workflow/outputcreation/getProgress/" + operationId }).done(function (response, status, request) { if (response !== "done") { if (response !== progress) { progress = response; $progressBar.attr("value", progress); } setTimeout(getProgress, 1000); } else { $progressBar.attr("value", (progress = 100)); displayInfo("Operation Completed"); getFinalResult(); operationId = null; setTimeout(function () { $progressBar.attr("value", 0); $submitButton.removeAttr ("disabled"); Page 183 $cancelButton.attr("disabled", "disabled"); }, 100); } }).fail(displayDefaultFailure); } }; getProgress(); }).fail(displayDefaultFailure); }); }); }(jQuery)); Screenshot & Output Page 184 Usage To run the example simply enter the Job Set ID and the Managed File ID or Name of your output creation preset (previously uploaded to the file store) into the appropriate text fields, and then check any options that you may require: l l Create Only - Create the output in server but do not send spool file to its final destination. In this example this would mean that the output files(s) would not be sent to the output directory specified in the output creation preset. Get Results as Text - Return the result as text specifically. In this example this would return the absolute path to the output file(s). Lastly, select the Submit button to start the Output creation operation. Once the operation has started processing, the Operation ID will be displayed in the Results area and the Cancel button will become enabled, giving you the option to cancel the running operation. The progress of the operation will be displayed in the progress bar, and once the output creation operation has completed, the output result will be returned and displayed to the Results area. Note If the result returned is expected to be file data, then the value <> will be displayed. Further Reading See the Output Creation Service page of the REST API Reference section for further detail. Page 185 Running an Output Creation Operation By Job (Using JSON) Problem You want to run an output creation operation to generate print output using an output creation preset and a list of existing Jobs as inputs. Solution The solution is to make a series of requests using the following URIs and method types to submit, monitor progress and ultimately retrieve the result of the output creation operation. There is also the option of cancelling an operation during processing if required. These requests can be submitted via the Output Creation REST service: Process Output Creation (By Job) (JSON) /rest/serverengine/workflow/outputcreation/ {configId}/jobs POST Get Progress of Operation /rest/serverengine/workflow/outputcreation/getProgress/ {operationId} GET Get Result of Operation /rest/serverengine/workflow/outputcreation/getResult/ {operationId} POST Get Result of Operation (as Text) /rest/serverengine/workflow/outputcreation/getResultTxt/ {operationId} POST Cancel an Operation /rest/serverengine/workflow/outputcreation/cancel/ {operationId} POST Example HTML5 oc-process-by-je-json.html Page 186 Process Output Creation (By Job) (JSON) Example

Output Creation Service - Process Output Creation (By Job) (JSON) Example

Inputs
Options
Progress & Actions
Page 187
JavaScript/jQuery oc-process-by-je-json.js /* Output Creation Service - Process Output Creation (By Job) (JSON) Example */ (function ($) { "use strict"; $(document).ready(function () { setupExample(); var $submitButton = $("#submit"), $cancelButton = $("#cancel"), $progressBar = $("progress"), operationId = null; $cancelButton.on("click", function () { if (operationId !== null) { /* Cancel an Operation */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/outputcreation/cancel/" + operationId }).done(function (response) { displayInfo("Operation Cancelled!"); operationId = null; setTimeout(function () { $progressBar.attr("value", 0); Page 188 $submitButton.removeAttr("disabled"); $cancelButton.attr("disabled", "disabled"); }, 100); }).fail(displayDefaultFailure); } }); $("form").on("submit", function (event) { event.preventDefault(); if (!checkSessionValid()) { return; } var jobIds = $("#jobs").val(), configId = $("#ocpreset").val(), createOnly = $("#createonly").is(":checked"); var getFinalResult = function () { var results = ($("#resultstxt").is(":checked")) ? "getResultTxt" : "getResult"; /* Get Result of Operation */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/outputcreation/" + results + "/" + operationId }).done(function (response, status, request) { if (request.getResponseHeader("Content-Type") === "application/octet-stream") { response = "<<OCTET-STREAM FILE DATA>>"; } displayHeading("Operation Result"); displaySubResult("Output", response); }).fail(displayDefaultFailure); }; /* Process Output Creation (By Job) (JSON) */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/outputcreation/" + configId + "/jobs", Page 189 data: JSON.stringify(plainIDListToJson (jobIds, createOnly)), contentType: "application/json" }).done(function (response, status, request) { var progress = null; operationId = request.getResponseHeader ("operationId"); $submitButton.attr("disabled", "disabled"); $cancelButton.removeAttr("disabled"); displayStatus("Output Creation Operation Successfully Submitted"); displayResult("Operation ID", operationId); var getProgress = function () { if (operationId !== null) { /* Get Progress of Operation */ $.ajax({ type: "GET", cache: false, url: "/rest/serverengine/workflow/outputcreation/getProgress/" + operationId }).done(function (response, status, request) { if (response !== "done") { if (response !== progress) { progress = response; $progressBar.attr("value", progress); } setTimeout(getProgress, 1000); } else { $progressBar.attr("value", (progress = 100)); displayInfo("Operation Completed"); getFinalResult(); operationId = null; setTimeout(function () { Page 190 $progressBar.attr("value", 0); $submitButton.removeAttr ("disabled"); $cancelButton.attr("disabled", "disabled"); }, 100); } }).fail(displayDefaultFailure); } }; getProgress(); }).fail(displayDefaultFailure); }); }); }(jQuery)); Page 191 Screenshot & Output Usage To run the example simply enter a comma delimited list of your Job IDs and the Managed File ID or Name of your output creation preset (previously uploaded to the file store) into the appropriate text fields, and then check any options that you may require: l Create Only - Create the output in server but do not send spool file to its final destination. In this example this would mean that the output files(s) would not be sent to the output directory specified in the output creation preset. Page 192 l Get Results as Text - Return the result as text specifically. In this example this would return the absolute path to the output file(s). Lastly, select the Submit button to start the Output creation operation. Once the operation has started processing, the Operation ID will be displayed in the Results area and the Cancel button will become enabled, giving you the option to cancel the running operation. The progress of the operation will be displayed in the progress bar, and once the output creation operation has completed, the output result will be returned and displayed to the Results area. Note If the result returned is expected to be file data, then the value <> will be displayed. Further Reading See the Output Creation Service page of the REST API Reference section for further detail. Page 193 Running an All-In-One Operation (Using JSON) Problem You want to run an All-In-One operation to generate either a data set, content set or printed output using one the following input combinations: Process Steps Input Combination Expected Output Data Mapping Only Data File + Data Mapping Configuration Data Set Data Mapping + Content Creation Data File + Data Mapping Configuration + Design Template Content Set(s) Content Creation Only Data Records + Design Template Content Set(s) Data Mapping + Content Creation + Job Creation Data File + Data Mapping Configuration + Design Template Job Set Content Creation + Job Creation Data Records + Design Template Job Set Content Creation + Job Creation + Output Creation Data Records + Design Template + Output Creation Preset Printed Output Output Creation Only Jobs + Output Creation Preset Printed Output Data Mapping + Content Creation + Job Creation + Output Creation Data File + Data Mapping Configuration + Design Template + Output Creation Preset Printed Output Data Mapping + Content Creation + Job Data File + Data Mapping Configuration + Design Template + Job Creation Preset + Printed Output Page 194 Process Steps Input Combination Creation + Output Creation Output Creation Preset Expected Output Solution The solution is to make a series of requests using the following URIs and method types to submit, monitor progress and ultimately retrieve the result of the All-In-One operation. There is also the option of cancelling an operation during processing if required. These requests can be submitted via the All-In-One REST service: Process All-In-One (JSON) /rest/serverengine/workflow/print/submit POST Get Progress of Operation /rest/serverengine/workflow/print/getProgress/ {operationId} GET Get Result of Operation /rest/serverengine/workflow/print/getResult/ {operationId} POST Get Result of Operation (as Text) /rest/serverengine/workflow/print/getResultTxt/ {operationId} POST Cancel an Operation /rest/serverengine/workflow/print/cancel/ {operationId} POST Example HTML5 aio-process-json.html Process All-In-One (JSON) Example

All-In-One Service - Process All-In-One (JSON) Example

Inputs
Data Mapping
Page 196
Content Creation
Job Creation
Output Creation
Options
Page 197
Progress & Actions
JavaScript/jQuery aio-process-json.js /* All-In-One Service - Process All-In-One (JSON) Example */ (function ($) { "use strict"; $(document).ready(function () { setupExample(); Page 198 var $form = $inputs = $("form"), $("#inputs input"), $datafile = $datamapper = $datarecords = $template = $jcpreset = $jobs = $ocpreset = $createonly = $resultstxt = $printrange = $("#datafile"), $("#datamapper"), $("#datarecords"), $("#designtemplate"), $("#jcpreset"), $("#jobs"), $("#ocpreset"), $("#createonly"), $("#resultstxt"), $("#printrange"), AIOConfig = outputDesc = operationId = null, null, null, $submitButton = $cancelButton = $progressBar = $("#submit"), $("#cancel"), $("progress"); $cancelButton.on("click", function () { if (operationId !== null) { /* Cancel an Operation */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/print/cancel/" + operationId }).done(function (response) { displayInfo("Operation Cancelled!"); operationId = null; setTimeout(function () { $progressBar.attr("value", 0); $submitButton.removeAttr("disabled"); $cancelButton.attr("disabled", "disabled"); }, 100); }).fail(displayDefaultFailure); } }); Page 199 /** * @function generateAIOConfig * @description Validates the workflow selected by the user * and constructs and an All-In-One Configuration using the relevant * input fields in the HTML Form. * Any invalid inputs or workflow selections will be redflagged in * the HTML Form. Null can also be returned if no workflow selections * are made or if the workflow selections made are of an invalid sequence. * @private * @returns {Object} The All-In-One Configuration Object or Null */ function generateAIOConfig() { var config = {}, required = [], i = null, /* Parse Input Value to JSON Identifier List (Helper Function) */ jsonIDListValue = function ($input) { return (plainIDListToJson($input.val ())).identifiers; }, /* Parse Input Value to Boolean (Helper Function) */ booleanValue = function ($input) { return $input.is(":checked"); }; /* Get Input Value and add it to the Configuration (Helper Function) */ function getInputValue($input, process, field, parser) { var value = $input.val(); if (value !== "") { if (parser) { value = parser($input); Page 200 } if (config[process] === undefined) { config[process] = {}; } config[process][field] = value; } } /* Get Required & Actual Workflow Selections */ $inputs.each(function () { if ($(this).prop("checked")) { config[this.id] = {}; } $(this).removeAttr("required"); required.push(this.id); }); var selections = (Object.keys(config)).length; /* Verify the Workflow Selections and note any omissions */ var matches = 0, missing = []; for (i = 0; i < required.length; i += 1) { var step = required[i]; if (config[step]) { if (!matches && step === "jobcreation") { missing.push("contentcreation"); } matches += 1; } else { if (matches !== 0) { missing.push(step); } } if (matches === selections) { break; } } /* Add the inputs to the Workflow Selections to Create the All-In-One Configuration */ if (config.datamining) { getInputValue($datafile, "datamining", Page 201 "identifier"); getInputValue($datamapper, "datamining", "config"); outputDesc = "Data Set ID"; } if (config.contentcreation) { getInputValue($template, "contentcreation", "config"); if (!config.datamining) { getInputValue($datarecords, "contentcreation", "identifiers", jsonIDListValue); $datarecords.removeAttr("disabled"); } else { $datarecords.attr("disabled", "disabled"); } outputDesc = "Content Set ID(s)"; } if (config.jobcreation) { outputDesc = "Job Set ID"; } if (config.outputcreation) { getInputValue($ocpreset, "outputcreation", "config"); getInputValue($createonly, "outputcreation", "createOnly", booleanValue); if (!config.contentcreation) { getInputValue($jobs, "outputcreation", "identifiers", jsonIDListValue); $jobs.removeAttr("disabled"); } else { $jobs.attr("disabled", "disabled"); } $createonly.removeAttr("disabled"); $resultstxt.removeAttr("disabled"); outputDesc = "Output"; } else { $createonly.attr("disabled", "disabled"); $resultstxt.attr("disabled", "disabled"); if (!$resultstxt.is(":checked")) { $resultstxt.prop ("checked", true); } } if (config.datamining && config.contentcreation && Page 202 config.jobcreation && config.outputcreation) { getInputValue($jcpreset, "jobcreation", "config"); getInputValue($printrange, "printRange", "printRange"); $jcpreset.removeAttr("disabled"); $printrange.removeAttr("disabled"); } else { $jcpreset.attr("disabled", "disabled"); $printrange.attr("disabled", "disabled"); } /* Red-flag any if (!selections for (i = 0; $("#" + omissions in Workflow Selections */ || missing.length) { i < missing.length; i += 1) { missing[i]).attr("required", "required"); } return null; } return config; } $inputs.on("change", function (event) { var input = event.target; var process = $("#" + input.id + "-inputs"); if ($(input).prop("checked")) { process.removeAttr("disabled"); } else { process.attr("disabled", "disabled"); } }).trigger("change"); $form.on("change", function (event) { AIOConfig = generateAIOConfig(); }).trigger("change"); $form.on("submit", function (event) { event.preventDefault(); if (!checkSessionValid()) { return; } if (!AIOConfig) { Page 203 alert("Invalid All-In-One Configuration!\n\nPlease enter a valid " + "combination of input fields, and try again."); return; } var getFinalResult = function () { var results = ($resultstxt.is(":checked")) ? "getResultTxt" : "getResult"; /* Get Result of Operation */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/print/" + results + "/" + operationId }).done(function (response, status, request) { if (request.getResponseHeader("Content-Type") === "application/octet-stream") { response = "<<OCTET-STREAM FILE DATA>>"; } displayHeading("Operation Result"); displaySubResult(outputDesc, response); }).fail(displayDefaultFailure); }; /* Process All-In-One (JSON) */ $.ajax({ type: "POST", url: "/rest/serverengine/workflow/print/submit", data: JSON.stringify(AIOConfig), contentType: "application/json" }).done(function (response, status, request) { var progress = null; operationId = request.getResponseHeader ("operationId"); $submitButton.attr("disabled", "disabled"); $cancelButton.removeAttr("disabled"); Page 204 displayStatus("All-In-One Operation Successfully Submitted"); displayHeading("Input Configuration"); displaySubResult("JSON All-In-One Configuration", jsonPrettyPrint(AIOConfig)); displayResult("Operation ID", operationId); var getProgress = function () { if (operationId !== null) { /* Get Progress of Operation */ $.ajax({ type: "GET", cache: false, url: "/rest/serverengine/workflow/print/getProgress/" + operationId }).done(function (response, status, request) { if (response !== "done") { if (response !== progress) { progress = response; $progressBar.attr("value", progress); } setTimeout(getProgress, 1000); } else { $progressBar.attr("value", (progress = 100)); displayInfo("Operation Completed"); getFinalResult(); operationId = null; setTimeout(function () { $progressBar.attr("value", 0); $submitButton.removeAttr ("disabled"); $cancelButton.attr("disabled", "disabled"); }, 100); } }).fail(displayDefaultFailure); } }; Page 205 getProgress(); }).fail(displayDefaultFailure); }); }); }(jQuery)); Page 206 Screenshot & Output Page 207 Page 208 Usage To run the example simply select the input combination of your choosing, populate the appropriate input fields and then check any options that you may require. The following file based input fields can be referenced by Managed File ID or Name: l Data file l Data Mapping configuration l Design template l Job Creation preset l Output Creation preset The following options are only available if the input combination includes an output creation step: l l l Create Only - Create the output in server but do not send spool file to its final destination. In this example this would mean that the output files(s) would not be sent to the output directory specified in the output creation preset. Get Results as Text - Return the result as text specifically. If our All-In-One Configuration includes an output creation step, then in this example this would return the absolute path to the output file(s). Print Range - Restrict the printed output to a specific range of records in the input data, not a specific range of pages (requires combination with all workflow steps). Lastly, select the Submit button to start the All-In-One operation. Once the operation has started processing, the JSON All-In-One Configuration along with the Operation ID will be displayed in the Results area and the Cancel button will become enabled, giving you the option to cancel the running operation. The progress of the operation will be displayed in the progress bar, and once the All-in-One operation has completed, the result will be returned and displayed to the Results area. If the All-In-One configuration includes a output creation step, then the result returned will be the output files (either their absolute path(s) or the output file itself). If the configuration does not include an output creation step, then the result returned will be either a Data Set ID, Content Set IDs or Job Set ID. Page 209 Note If the result returned is expected to be file data, then the value <> will be displayed. Further Reading See the All-In-One Service page of the REST API Reference section for further detail. Page 210 REST API Reference The PlanetPress Connect REST API defines a number of RESTful services that facilitate various functionality within the server during workflow processing. The following table is a summary of the services available in the PlanetPress Connect REST API: Service Name Internal Name Description Authentication Service AuthenticationRestService Exposes methods for authenticated access (login & password) to the PlanetPress Connect REST API. Uses a combination of basic and token based authorisation. Content Creation Service ContentCreationRestService Exposes methods for the manual creation, monitoring & cancellation of new print context based content creation operations within the workflow, including a method for accessing the result of a successful operation. Content Item Entity Service ContentItemEntityRestService Exposes methods specific to the Content Item entity type including property value accessor methods and an associated data record lookup method. Content Set Entity Service ContentSetEntityRestService Exposes methods specific to the Content Set entity type including property value accessor methods, methods to access all content sets and delete specific content sets, and a method to access the content item IDs contained within a specific content set. Page 211 Service Name Internal Name Description Data Record Entity Service DataRecordEntityRestService Exposes methods specific to the Data Record entity type including accessor methods for data records and the value & property values for a specific data record. Data Set Entity Service DataSetEntityRestService Exposes methods specific to the Data Set entity type including property value accessor methods, methods to access all data sets and delete specific data sets, and a method to access the data record IDs contained within a specific data set. Data Mapping Service DataminingRestService Exposes methods for the manual creation, monitoring & cancellation of data mapping operations within the workflow, including a method for accessing the result of a successful operation. Also exposes methods for basic data mapping pass-throughs specific to PDF VT data files. Content Creation (Email) Service EmailExportRestService Exposes methods for the manual creation, monitoring & cancellation of new email context based content creation operations within the workflow, including a method for accessing the result of a successful operation. File Store Service FilestoreRestService Exposes methods specific to file store operations in PlanetPress Connect including the upload of data files, data mapping configurations, design templates, job creation presets & output creation presets. Also includes generic Page 212 Service Name Internal Name Description methods for the upload of directories and files to the file store, and the download & deletion of managed files already contained within the file store. Content Creation (HTML) Service HTMLMergeRestService Exposes methods for the manual creation of new web context based content. Also exposes additional method to access the generated HTML content/resources. Job Creation Service JobCreationRestService Exposes methods for the manual creation, monitoring & cancellation of job creation operations within the workflow, including a method for accessing the result of a successful operation. Job Entity Service JobEntityRestService Exposes methods specific to the Job entity type including property value accessor methods and get job contents method. Job Set Entity Service JobSetEntityRestService Exposes methods specific to the Job Set entity type including property value accessor methods, methods to access all jobs sets and delete specific data sets, and a method to access the job IDs contained within a specific job set. Output Creation Service OutputCreationRestService Exposes methods for the manual creation, monitoring & cancellation of output creation operations within the workflow, including methods for accessing the result of a successful operation. Page 213 Service Name Internal Name Description All-In-One Service PrintRestService Exposes methods for the manual creation, monitoring & cancellation of "All-In-One" operations within the workflow, including methods for accessing the result of a successful operation. Also includes a test output destination method. Page 214 Authentication Service The following table is a summary of the resources and methods available in the Authentication service: Method Name Uniform Resource Identifier (URI) Method Type Service Handshake /authentication GET Authenticate/Login to Server /authentication/login POST Service Version /authentication/version GET Page 215 Service Handshake Queries the availability of the Authentication service. Type: GET URI: /rest/serverengine/authentication Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Handshake message: Server Engine REST Service available: AuthenticationRestService Content Type: Status: text/plain l 200 OK – REST Service available l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 216 Authenticate/Login to Server Submits an authentication request (using credentials) to the PlanetPress Connect server and if successful provides access to the various other REST API services available. Request takes no content, but requires an additional Authorization header which contains a base64 encoded set of credentials (basic user name & password). On success, the response with return an authorization token which can then be used as an additional auth_token header in any future requests made to the REST API services. Warning If server security settings are enabled and a request is made to any resource of any service in the REST API, if that request contains no authorization token and no Authorization header, then the response will come back as Unauthorized and will contain an additional WWW-Authenticate response header. Type: POST URI: /rest/serverengine/authentication/login Parameters: - Request: Response: Add. Headers: Authorization – Basic User name & Password credentials (Base64 encoded) Content: - Content Type: - Add. Headers: WWW-Authenticate – BASIC (Prompt for Basic Authorization Credentials when no Authorization header specified) Page 217 Content: Authorization Token Content Type: text/plain Status: l l 200 OK – Server authentication successful, new token generated 401 Unauthorized – Server authentication has failed or no credentials have been provided/specified in request header Page 218 Service Version Returns the version of the Authentication service. Type: GET URI: /rest/serverengine/authentication/version Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Version of Service Content Type: text/plain Status: l 200 OK – Version of REST Service retrieved l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 219 Content Creation Service The following table is a summary of the resources and methods available in the Content Creation service: Method Name Uniform Resource Identifier (URI) Method Type Service Handshake /workflow/contentcreation GET Process Content Creation /workflow/contentcreation/{templateId}/ {dataSetId} POST Process Content Creation (By Data Record) (JSON) /workflow/contentcreation/{templateId} POST Get Progress of Operation /workflow/contentcreation/getProgress/ {operationId} GET Get Result of Operation /workflow/contentcreation/getResult/ {operationId} POST Cancel an Operation /workflow/contentcreation/cancel/ {operationId} POST Service Version /workflow/contentcreation/version GET Page 220 Service Handshake Queries the availability of the Content Creation service. Type: GET URI: /rest/serverengine/workflow/contentcreation Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Handshake message: Server Engine REST Service available: ContentCreationRestService Content Type: Status: text/plain l 200 OK – REST Service available l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 221 Process Content Creation Submits a request to initiate a new Content Creation operation. Request takes no content, and on success returns a response containing additional headers that specify the ID of the new operation as well as link URLs that can be used to retrieve further information/cancel the operation. Type: POST URI: /rest/serverengine/workflow/contentcreation/{templateId}/{dataSetId} Parameters: Path: l l Request: Response: templateId – the Managed File ID (or Name) of the design template in File Store dataSetId – the ID of the Data Set entity in Server Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: l l Content: - Content - operationId – Operation ID of new Content Creation operation Link – Contains multiple link URLs that can be used to retrieve further information/cancel the operation. Page 222 Type: Status: l l l l 202 Accepted – Creation of new operation successful 400 Bad Request – Design template or Data Set entity not found in File Store/Server 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired Page 223 Process Content Creation (By Data Record) (JSON) Submits a request to initiate a new Content Creation operation. Request takes a JSON Identifier List of Data Record IDs as content, and on success returns a response containing additional headers that specify the ID of the new operation as well as link URLs that can be used to retrieve further information/cancel the operation. Type: POST URI: /rest/serverengine/workflow/contentcreation/{templateId} Parameters: Path: l Request: Response: templateId – the Managed File ID (or Name) of the design template in File Store Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: JSON Identifier List specifying a list of Data Record entity IDs Content Type: application/json Add. Headers: l l Content: - Content - operationId – Operation ID of new Content Creation operation Link – Contains multiple link URLs that can be used to retrieve further information/cancel the operation. Page 224 Type: Status: l l l l 202 Accepted – Creation of new operation successful 400 Bad Request – Design template or Data Record entity not found in File Store/Server 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired Page 225 Get Progress of Operation Retrieves the progress of a running Content Creation operation of a specific operation ID. Request takes no content, and on success returns a response containing the current value of operation progress (values ranging from 0 – 100, followed by the value of 'done' on completion). Type: GET URI: /rest/serverengine/workflow/contentcreation/getProgress/{operationId} Parameters: Path: l Request: Response: operationId – Operation ID of Content Creation operation Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Progress value of Content Creation operation Content Type: text/plain Status: l l 200 OK – Progress of operation successfully retrieved 401 Unauthorized – Server authentication required Page 226 l 403 Forbidden – Server authentication has failed or expired Page 227 Get Result of Operation Retrieves the final result of a completed Content Creation operation of a specific operation ID. Request takes no content, and on success returns a response containing the IDs of the generated Content Sets. Type: POST URI: /rest/serverengine/workflow/contentcreation/getResult/{operationId} Parameters: Path: l Request: Response: operationId – Operation ID of Content Creation operation Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Content Set IDs Content Type: text/plain Status: l l 200 OK – Result of completed operation successfully retrieved 401 Unauthorized – Server authentication required Page 228 l 403 Forbidden – Server authentication has failed or expired Page 229 Cancel an Operation Requests the cancellation of a running Content Creation operation of a specific operation ID. Request takes no content, and on success returns a response with no content. Type: POST URI: /rest/serverengine/workflow/contentcreation/cancel/{operationId} Parameters: Path: l Request: Response: operationId – Operation ID of Content Creation operation Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: - Content Type: - Status: l l l 204 No Content – Operation cancellation requested 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired Page 230 Service Version Returns the version of the Content Creation service. Type: GET URI: /rest/serverengine/workflow/contentcreation/version Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Version of Service Content Type: text/plain Status: l 200 OK – Version of REST Service retrieved l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 231 Content Item Entity Service The following table is a summary of the resources and methods available in the Content Item Entity service: Method Name Uniform Resource Identifier (URI) Method Type Service Handshake /entity/contentitems GET Get Data Record for Content Item /entity/contentitems/ {contentItemId}/datarecord GET Get Content Item Properties /entity/contentitems/ {contentItemId}/properties GET Update Content Item Properties /entity/contentitems/ {contentItemId}/properties PUT Update Multiple Content Item Properties /entity/contentitems/properties PUT Service Version /entity/contentitems/version GET Page 232 Service Handshake Queries the availability of the Content Item Entity service. Type: GET URI: /rest/serverengine/entity/contentitems Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Handshake message: Server Engine REST Service available: ContentItemEntityRestService Content Type: Status: text/plain l 200 OK – REST Service available l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 233 Get Data Record for Content Item Returns the ID of the corresponding Data Record for a specific Content Item entity. Request takes no content, and on success returns a response containing a JSON Data Record Identifier for the Data Record of the Content Item. Type: GET URI: /rest/serverengine/entity/contentitems/{contentItemId}/datarecord Parameters: Path: l Request: Response: contentItemId – the ID of the Content Item entity in Server Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: JSON Data Record Identifier for the Data Record of Content Item Content Type: application/json Status: l 200 OK – Data Record Identifier returned l 401 Unauthorized – Server authentication required Page 234 l 403 Forbidden – Server authentication has failed or expired Page 235 Get Content Item Properties Returns a list of the properties for a specific Content Item entity. Request takes no content, and on success returns a response containing a JSON Name/Value List (Properties Only) of all the properties for the Content Item. Type: GET URI: /rest/serverengine/entity/contentitems/{contentItemId}/properties Parameters: Path: l Request: Response: contentItemId – the ID of the Content Item entity in Server Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: JSON Name/Value List (Properties Only) of properties for Content Item Content Type: application/json Status: l l 200 OK – Content Item entity properties successfully retrieved 401 Unauthorized – Server authentication required Page 236 l 403 Forbidden – Server authentication has failed or expired Page 237 Update Content Item Properties Submits a request to update (and replace) the properties for a specific Content Item entity in the Server. Request takes a JSON Name/Value List as content (the Content Item ID and the new properties), and on success returns a response containing the result of the request for update/replacement (“true”). Type: PUT URI: /rest/serverengine/entity/contentitems/{contentItemId}/properties Parameters: Path: l Request: Response: contentItemId – the ID of the Content Item entity in Server Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: JSON Name/Value List of properties for Content Item Content Type: application/json Add. Headers: - Content: Result of request to update Content Item Content Type: text/plain Status: l 200 OK – Update of Content Item properties successfully requested (response of “true” for Page 238 success) l l l 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired 500 Server Error – Internal Server Error or Content Item ID mismatch in JSON Page 239 Update Multiple Content Item Properties Submits a request to update one or more properties for one or more Content Item entities in the Server. Request takes multiple JSON Name/Value Lists as content (each with the Content Item ID and the new properties), and on success returns a response containing no content. Type: PUT URI: /rest/serverengine/entity/contentitems/properties Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: JSON Name/Value Lists of the properties of the Content Items Content Type: application/json Add. Headers: - Content: - Content Type: - Status: l l 200 OK – Properties of Content Item entities successfully updated 401 Unauthorized – Server authentication required Page 240 l 403 Forbidden – Server authentication has failed or expired Page 241 Service Version Returns the version of the Content Item Entity service. Type: GET URI: /rest/serverengine/entity/contentitems/version Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Version of Service Content Type: text/plain Status: l 200 OK – Version of REST Service retrieved l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 242 Content Set Entity Service The following table is a summary of the resources and methods available in the Content Set Entity service: Method Name Uniform Resource Identifier (URI) Method Type Get All Content Set Entities /entity/contentsets GET Get Content Items for Content Set /entity/contentsets/{contentSetId} GET Get Page Details for Content Set /entity/contentsets/{contentSetId}/pages GET Delete Content Set Entity /entity/contentsets/{contentSetId}/delete POST Get Content Set Properties /entity/contentsets/ {contentSetId}/properties GET Update Content Set Properties /entity/contentsets/ {contentSetId}/properties PUT Service Version /entity/contentsets/version GET Page 243 Get All Content Set Entities Returns a list of all the Content Set entities currently contained within the Server. Request takes no content, and on success returns a response containing a JSON Identifier List of all the Content Sets. Type: GET URI: /rest/serverengine/entity/contentsets Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: JSON Identifier List of all the Content Sets in Server Content Type: application/json Status: l 200 OK – Identifier List of Content Sets returned l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 244 Get Content Items for Content Set Returns a list of all the Content Item entities (and their corresponding Data Record entities) contained within a specific Content Set entity. Request takes no content, and on success returns a response containing a JSON Content Item Identifier List of all the Content Items in the Content Set. Type: GET URI: /rest/serverengine/entity/contentsets/{contentSetId} Parameters: Path: l Request: Response: contentSetId – the ID of the Content Set entity in Server Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: JSON Content Item Identifier List of all the Content Items in Content Set Content Type: application/json Status: l 200 OK – Content Item Identifier List returned l 401 Unauthorized – Server authentication required Page 245 l 403 Forbidden – Server authentication has failed or expired Page 246 Get Page Details for Content Set Returns a list of the page details for a specific Content Set entity. Request takes no content, and on success returns a response containing either: l a JSON Page Details Summary, or l a JSON Page Details List (page details broken down by Content Items) Type: GET URI: /rest/serverengine/entity/contentsets/{contentSetId}/pages Parameters: Path: l contentSetId – the ID of the Content Set entity in Server Query: l Request: Response: detail – Return a full list of details instead of a summary (Possible values: true or false. Default Value: false) Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: JSON Page Details Summary or Page Details List containing page details for Content Set Page 247 Content Type: Status: application/json l l l 200 OK – Content Set entity page details successfully retrieved 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired Page 248 Delete Content Set Entity Submits a request for a specific Content Set entity to be marked for deletion from the Server. Request takes no content, and on success returns a response containing the result of the request for deletion (“true” or “false”). Type: POST URI: /rest/serverengine/entity/contentsets/{contentSetId}/delete Parameters: Path: l Request: Response: contentSetId – the ID of the Content Set entity in Server Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Result of request for Content Set removal Content Type: text/plain Status: l l 200 OK – Deletion of Content Set successfully requested from Server (response of “true” for success or “false” for failure) 401 Unauthorized – Server authentication required Page 249 l 403 Forbidden – Server authentication has failed or expired Page 250 Get Content Set Properties Returns a list of the properties for a specific Content Set entity. Request takes no content, and on success returns a response containing a JSON Name/Value List (Properties Only) of all the properties for the Content Set. Type: GET URI: /rest/serverengine/entity/contentsets/{contentSetId}/properties Parameters: Path: l Request: Response: contentSetId – the ID of the Content Set entity in Server Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: JSON Name/Value List (Properties Only) of properties for Content Set Content Type: application/json Status: l l 200 OK – Content Set entity properties successfully retrieved 401 Unauthorized – Server authentication required Page 251 l 403 Forbidden – Server authentication has failed or expired Page 252 Update Content Set Properties Submits a request to update (and replace) the properties for a specific Content Set entity in the Server. Request takes a JSON Name/Value List as content (the Content Set ID and the new properties), and on success returns a response containing the result of the request for update/replacement (“true”). Type: PUT URI: /rest/serverengine/entity/contentsets/{contentSetId}/properties Parameters: Path: l Request: Response: contentSetId – the ID of the Content Set entity in Server Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: JSON Name/Value List of properties for Content Set Content Type: application/json Add. Headers: - Content: Result of request to update Content Set Content Type: text/plain Status: l 200 OK – Update of Content Set properties successfully requested (response of “true” for Page 253 success) l l l 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired 500 Server Error – Internal Server Error or Content Set ID mismatch in JSON Page 254 Service Version Returns the version of the Content Set Entity service. Type: GET URI: /rest/serverengine/entity/contentsets/version Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Version of Service Content Type: text/plain Status: l 200 OK – Version of REST Service retrieved l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 255 Data Record Entity Service The following table is a summary of the resources and methods available in the Data Record Entity service: Method Name Uniform Resource Identifier (URI) Method Type Service Handshake /entity/datarecords GET Get Data Record Values /entity/datarecords/ {dataRecordId}/values GET Update Data Record Values /entity/datarecords/ {dataRecordId}/values PUT Get Data Record Properties /entity/datarecords/ {dataRecordId}/properties GET Update Data Record Properties /entity/datarecords/ {dataRecordId}/properties PUT Update Multiple Data Record Values /entity/datarecords PUT Update Multiple Data Record Properties /entity/datarecords/properties PUT Service Version /entity/datarecords/version GET Page 256 Service Handshake Queries the availability of the Data Record Entity service. Type: GET URI: /rest/serverengine/entity/datarecords Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Handshake message: Server Engine REST Service available: DataRecordEntityRestService Content Type: Status: text/plain l 200 OK – REST Service available l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 257 Get Data Record Values Returns a list of the values for a specific Data Record entity. Request takes no content, and on success returns a response containing a JSON Record Content List of all the values in the Data Record. Type: GET URI: /rest/serverengine/entity/datarecords/{dataRecordId}/values Parameters: Path: l dataRecordId – the ID of the Data Record entity in Server Query: l Request: Response: recursive – recurse all Data Tables within the Data Record and retrieve the values of any nested Data Records also (Default Value: "false") Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: JSON Record Content List of the values in Data Record Content application/json Page 258 Type: Status: l l l 200 OK – Data Record entity values successfully retrieved 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired Page 259 Update Data Record Values Submits a request to update one or more values for a specific Data Record entity in the Server. Request takes a JSON Record Content List as content (the Data Record ID and the new values), and on success returns a response containing no content. Type: PUT URI: /rest/serverengine/entity/datarecords/{dataRecordId}/values Parameters: Path: l Request: Response: dataRecordId – the ID of the Data Record entity in Server Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: JSON Record Content List of the values for Data Record Content Type: application/json Add. Headers: - Content: - Content Type: - Status: l l 200 OK – Data Record entity values successfully updated 401 Unauthorized – Server authentication required Page 260 l l 403 Forbidden – Server authentication has failed or expired 500 Server Error – Internal Server Error or Data Record ID mismatch in JSON Page 261 Get Data Record Properties Returns a list of the properties for a specific Data Record entity. Request takes no content, and on success returns a response containing a JSON Name/Value List (Properties Only) of all the properties for the Data Record. Type: GET URI: /rest/serverengine/entity/datarecords/{dataRecordId}/properties Parameters: Path: l Request: Response: dataRecordId – the ID of the Data Record entity in Server Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: JSON Name/Value List (Properties Only) of properties for Data Record Content Type: application/json Status: l l 200 OK – Data Record entity properties successfully retrieved 401 Unauthorized – Server authentication required Page 262 l 403 Forbidden – Server authentication has failed or expired Page 263 Update Data Record Properties Submits a request to update (and replace) the properties for a specific Data Record entity in the Server. Request takes a JSON Name/Value List as content (the Data Record ID and the new properties), and on success returns a response containing the result of the request for update/replacement (“true”). Type: PUT URI: /rest/serverengine/entity/datarecords/{dataRecordId}/properties Parameters: Path: l Request: Response: dataRecordId – the ID of the Data Record entity in Server Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: JSON Name/Value List of properties for Data Record Content Type: application/json Add. Headers: - Content: Result of request to update Data Record Content Type: text/plain Status: l 200 OK – Update of Data Record properties successfully requested (response of “true” for Page 264 success) l l l 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired 500 Server Error – Internal Server Error or Data Record ID mismatch in JSON Page 265 Update Multiple Data Record Values Submits a request to update one or more values for one or more Data Record entities in the Server. Request takes multiple JSON Record Content Lists as content (each with the Data Record ID and the new values), and on success returns a response containing no content. Type: PUT URI: /rest/serverengine/entity/datarecords Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: JSON Record Content Lists of the values for the Data Records Content Type: application/json Add. Headers: - Content: - Content Type: - Status: l l 200 OK – Values of Data Record entities successfully updated 401 Unauthorized – Server authentication required Page 266 l 403 Forbidden – Server authentication has failed or expired Page 267 Update Multiple Data Record Properties Submits a request to update one or more properties for one or more Data Record entities in the Server. Request takes multiple JSON Name/Value Lists as content (each with the Data Record ID and the new properties), and on success returns a response containing no content. Type: PUT URI: /rest/serverengine/entity/datarecords/properties Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: JSON Name/Value Lists of the properties of the Data Records Content Type: application/json Add. Headers: - Content: - Content Type: - Status: l l 200 OK – Properties of Data Record entities successfully updated 401 Unauthorized – Server authentication required Page 268 l 403 Forbidden – Server authentication has failed or expired Page 269 Service Version Returns the version of the Data Record Entity service. Type: GET URI: /rest/serverengine/entity/datarecords/version Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Version of Service Content Type: text/plain Status: l 200 OK – Version of REST Service retrieved l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 270 Data Set Entity Service The following table is a summary of the resources and methods available in the Data Set Entity service: Method Name Uniform Resource Identifier (URI) Method Type Get All Data Set Entities /entity/datasets GET Get Data Records for Data Set /entity/datasets/{dataSetId} GET Delete Data Set Entity /entity/datasets/{dataSetId}/delete POST Get Data Set Properties /entity/datasets/{dataSetId}/properties GET Update Data Set Properties /entity/datasets/{dataSetId}/properties PUT Service Version /entity/datasets/version GET Page 271 Get All Data Set Entities Returns a list of all the Data Set entities currently contained within the Server. Request takes no content, and on success returns a response containing a JSON Identifier List of all the Data Sets. Type: GET URI: /rest/serverengine/entity/datasets Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: JSON Identifier List of all the Data Sets in Server Content Type: application/json Status: l 200 OK – Identifier List of Data Sets returned l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 272 Get Data Records for Data Set Returns a list of all the Data Records entities contained within a specific Data Set entity. Request takes no content, and on success returns a response containing a JSON Identifier List of all the Data Records in the Data Set. Type: GET URI: /rest/serverengine/entity/datasets/{dataSetId} Parameters: Path: l Request: Response: dataSetId – the ID of the Data Set entity in Server Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: JSON Identifier List of all the Data Records in Data Set Content Type: application/json Status: l 200 OK – Identifier List of Data Records returned l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 273 Delete Data Set Entity Submits a request for a specific Data Set entity to be marked for deletion from the Server. Request takes no content, and on success returns a response containing the result of the request for deletion (“true” or “false”). Type: POST URI: /rest/serverengine/entity/datasets/{dataSetId}/delete Parameters: Path: l Request: Response: dataSetId – the ID of the Data Set entity in Server Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Result of request for Data Set removal Content Type: text/plain Status: l l 200 OK – Deletion of Data Set successfully requested from Server (response of “true” for success or “false” for failure) 401 Unauthorized – Server authentication required Page 274 l 403 Forbidden – Server authentication has failed or expired Page 275 Get Data Set Properties Returns a list of the properties for a specific Data Set entity. Request takes no content, and on success returns a response containing a JSON Name/Value List (Properties Only) of all the properties for the Data Set. Type: GET URI: /rest/serverengine/entity/datasets/{dataSetId}/properties Parameters: Path: l Request: Response: dataSetId – the ID of the Data Set entity in Server Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: JSON Name/Value List (Properties Only) of properties for Data Set Content Type: application/json Status: l l 200 OK – Data Set entity properties successfully retrieved 401 Unauthorized – Server authentication required Page 276 l 403 Forbidden – Server authentication has failed or expired Page 277 Update Data Set Properties Submits a request to update (and replace) the properties for a specific Data Set entity in the Server. Request takes a JSON Name/Value List as content (the Data Set ID and the new properties), and on success returns a response containing the result of the request for update/replacement (“true”). Type: PUT URI: /rest/serverengine/entity/datasets/{dataSetId}/properties Parameters: Path: l Request: Response: dataSetId – the ID of the Data Set entity in Server Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: JSON Name/Value List of properties for Data Set Content Type: application/json Add. Headers: - Content: Result of request to update Data Set Content Type: text/plain Status: l 200 OK – Update of Data Set properties successfully requested (response of “true” for Page 278 success) l l l 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired 500 Server Error – Internal Server Error or Data Set ID mismatch in JSON Page 279 Service Version Returns the version of the Data Set Entity service. Type: GET URI: /rest/serverengine/entity/datasets/version Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Version of Service Content Type: text/plain Status: l 200 OK – Version of REST Service retrieved l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 280 Data Mapping Service The following table is a summary of the resources and methods available in the Data Mapping service: Method Name Uniform Resource Identifier (URI) Method Type Service Handshake /workflow/datamining GET Process Data Mapping /workflow/datamining/{configId}/ {dataFileId} POST Process Data Mapping (JSON) /workflow/datamining/{configId} POST Process Data Mapping (PDF/VT to Data Set) /workflow/datamining/pdfvtds/ {dataFileId} POST Process Data Mapping (PDF/VT to Content Set) /workflow/datamining/pdfvtcs/ {dataFileId} POST Get Progress of Operation /workflow/datamining/getProgress/ {operationId} GET Get Result of Operation /workflow/datamining/getResult/ {operationId} POST Cancel an Operation /workflow/datamining/cancel/ {operationId} POST Service Version /workflow/datamining/version GET Page 281 Service Handshake Queries the availability of the Data Mapping service. Type: GET URI: /rest/serverengine/workflow/datamining Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Handshake message: Server Engine REST Service available: DataMiningRestService Content Type: Status: text/plain l 200 OK – REST Service available l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 282 Process Data Mapping Submits a request to initiate a new Data Mapping operation. Request takes no content, and on success returns a response containing additional headers that specify the ID of the new operation as well as link URLs that can be used to retrieve further information/cancel the operation. Type: POST URI: /rest/serverengine/workflow/datamining/{configId}/{dataFileId} Parameters: Path: l l Request: Response: configId – the Managed File ID (or Name) of the Data Mapping configuration in File Store dataFileId – the Managed File ID (or Name) of the data file in File Store Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: l l Content: operationId – Operation ID of new Data Mapping operation Link – Contains multiple link URLs that can be used to retrieve further information/cancel the operation. - Page 283 Content Type: Status: - l l l l 202 Accepted – Creation of new operation successful 400 Bad Request – Data file or Data Mapping Configuration not found in File Store 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired Page 284 Process Data Mapping (JSON) Submits a request to initiate a new Data Mapping operation. As content the request takes one of either: l a JSON Identifier of the data file’s Managed File ID, or l a JSON Identifier (Named) of the data file’s Managed File Name On success, it returns a response containing additional headers that specify the ID of the new operation as well as link URLs that can be used to retrieve further information/cancel the operation. Type: POST URI: /rest/serverengine/workflow/datamining/{configId} Parameters: Path: l Request: Response: configId – the Managed File ID (or Name) of the Data Mapping configuration in File Store Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: JSON Identifier specifying Managed File ID or JSON Identifier (Named) specifying Managed File Name in File Store Content Type: application/json Add. Headers: l l operationId – Operation ID of new Data Mapping operation Link – Contains multiple link URLs that can be Page 285 used to retrieve further information/cancel the operation. Content: - Content Type: - Status: l l l l l 202 Accepted – Creation of new operation successful 400 Bad Request – Data file or Data Mapping Configuration not found in File Store 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired 500 Internal Server Error – JSON Identifier bad or missing Page 286 Process Data Mapping (PDF/VT to Data Set) Submits a request to initiate a new Data Mapping operation using a PDF/VT data file specifically. No Data Mapping configuration is specified, and a Data Set will be generated based on the default properties extracted from the metadata of the PDF/VT data file. Request takes no content, and on success returns a response containing additional headers that specify the ID of the new operation as well as link URLs that can be used to retrieve further information/cancel the operation. Type: POST URI: /rest/serverengine/workflow/datamining/pdfvtds/{dataFileId} Parameters: Path: l Request: Response: dataFileId – the Managed File ID (or Name) of the PDF/VT data file in File Store Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: l l operationId – Operation ID of new Data Mapping operation Link – Contains multiple link URLs that can be used to retrieve further information/cancel the operation. Page 287 Content: - Content Type: - Status: l l l l 202 Accepted – Creation of new operation successful 400 Bad Request – PDF/VT data file not found in File Store 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired Page 288 Process Data Mapping (PDF/VT to Content Set) Submits a request to initiate a new Data Mapping operation using a PDF/VT data file specifically. No Data Mapping configuration or design template are specified, and a Content Set will be generated based on the default properties extracted from the metadata of the PDF/VT data file. Request takes no content, and on success returns a response containing additional headers that specify the ID of the new operation as well as link URLs that can be used to retrieve further information/cancel the operation. Type: POST URI: /rest/serverengine/workflow/datamining/pdfvtcs/{dataFileId} Parameters: Path: l Request: Response: dataFileId – the Managed File ID (or Name) of the PDF/VT data file in File Store Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: l l operationId – Operation ID of new Data Mapping operation Link – Contains multiple link URLs that can be used to retrieve further information/cancel the operation. Page 289 Content: - Content Type: - Status: l l l l 202 Accepted – Creation of new operation successful 400 Bad Request – PDF/VT data file not found in File Store 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired Page 290 Get Progress of Operation Retrieves the progress of a running Data Mapping operation of a specific operation ID. Request takes no content, and on success returns a response containing the current value of operation progress (values ranging from 0 – 100, followed by the value of 'done' on completion). Type: GET URI: /rest/serverengine/workflow/datamining/getProgress/{operationId} Parameters: Path: l Request: Response: operationId – Operation ID of Data Mapping operation Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Progress value of Data Mapping operation Content Type: text/plain Status: l l 200 OK – Progress of operation successfully retrieved 401 Unauthorized – Server authentication required Page 291 l 403 Forbidden – Server authentication has failed or expired Page 292 Get Result of Operation Retrieves the final result of a completed Data Mapping operation of a specific operation ID. Request takes no content, and on success returns a response containing the ID of the generated Data Set (or Content Set for a PDF/VT to Content Set specific data mapping operation). Type: POST URI: /rest/serverengine/workflow/datamining/getResult/{operationId} Parameters: Path: l Request: Response: operationId – Operation ID of Data Mapping operation Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Data Set ID (or Content Set ID) Content Type: text/plain Status: l l 200 OK – Result of completed operation successfully retrieved 401 Unauthorized – Server authentication required Page 293 l 403 Forbidden – Server authentication has failed or expired Page 294 Cancel an Operation Requests the cancellation of a running Data Mapping operation of a specific operation ID. Request takes no content, and on success returns a response with no content. Type: POST URI: /rest/serverengine/workflow/datamining/cancel/{operationId} Parameters: Path: l Request: Response: operationId – Operation ID of Data Mapping operation Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: - Content Type: - Status: l l l 204 No Content – Operation cancellation requested 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired Page 295 Service Version Returns the version of the Data Mapping service. Type: GET URI: /rest/serverengine/workflow/datamining/version Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Version of Service Content Type: text/plain Status: l 200 OK – Version of REST Service retrieved l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 296 Content Creation (Email) Service The following table is a summary of the resources and methods available in the Content Creation (Email) service: Method Name Uniform Resource Identifier (URI) Method Type Service Handshake /workflow/contentcreation/email GET Process Content Creation (By Data Record) (JSON) /workflow/contentcreation/email/{templateId} POST Get Progress of Operation /workflow/contentcreation/email/getProgress/ {operationId} GET Get Result of Operation /workflow/contentcreation/email/getResult/ {operationId} POST Cancel an Operation /workflow/contentcreation/email/cancel/ {operationId} POST Service Version /workflow/contentcreation/email/version GET Page 297 Service Handshake Queries the availability of the Content Creation (Email) service. Type: GET URI: /rest/serverengine/workflow/contentcreation/email Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Handshake message: /workflow/contentcreation/email is available Content Type: Status: text/plain l 200 OK – REST Service available l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 298 Process Content Creation (By Data Record) (JSON) Submits a request to initiate a new Content Creation (Email) operation. Request takes a JSON Identifier List (with Email Parameters) of Data Record IDs as content, and on success returns a response containing additional headers that specify the ID of the new operation as well as link URLs that can be used to retrieve further information/cancel the operation. Type: POST URI: /rest/serverengine/workflow/contentcreation/email/{templateId} Parameters: Path: l templateId – the Managed File ID (or Name) of the design template in File Store Query: l Request: Response: section – the Section of the Email Context to export (No Default Value) Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: JSON Identifier List (with Email Parameters) of Data Record IDs specifying a list of Data Record entity IDs and parameters to be used for content creation. Content Type: application/json Add. Headers: l operationId – Operation ID of new Content Creation (Email) operation Page 299 l Content: - Content Type: - Status: l l l l Link – Contains multiple link URLs that can be used to retrieve further information/cancel the operation. 202 Accepted – Creation of new operation successful 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired 404 Not Found – Design template or Data Record entity not found in File Store/Server Page 300 Get Progress of Operation Retrieves the progress of a running Content Creation (Email) operation of a specific operation ID. Request takes no content, and on success returns a response containing the current value of operation progress (values ranging from 0 – 100, followed by the value of 'done' on completion). Type: GET URI: /rest/serverengine/workflow/contentcreation/email/getProgress/ {operationId} Parameters: Path: l Request: Response: operationId – Operation ID of Content Creation (Email) operation Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Progress value of Content Creation (Email) operation Content Type: text/plain Status: l 200 OK – Progress of operation successfully Page 301 retrieved l l 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired Page 302 Get Result of Operation Retrieves the final result of a completed Content Creation (Email) operation of a specific operation ID. Request takes no content, and on success returns a response containing a report on the number of emails that were successfully sent. Type: POST URI: /rest/serverengine/workflow/contentcreation/email/getResult/{operationId} Parameters: Path: l Request: Response: operationId – Operation ID of Content Creation (Email) operation Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Result of Content Creation (Email) Operation (with successful email count) (e.g. "3 of 3 emails sent") Content Type: text/plain Status: l 200 OK – Result of completed operation successfully retrieved Page 303 l l 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired Page 304 Cancel an Operation Requests the cancellation of a running Content Creation (Email) operation of a specific operation ID. Request takes no content, and on success returns a response with no content. Type: POST URI: /rest/serverengine/workflow/contentcreation/email/cancel/{operationId} Parameters: Path: l Request: Response: operationId – Operation ID of Content Creation (Email) operation Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: - Content Type: - Status: l l 204 No Content – Operation cancellation requested 401 Unauthorized – Server authentication required Page 305 l 403 Forbidden – Server authentication has failed or expired Page 306 Service Version Returns the version of the Content Creation (Email) service. Type: GET URI: /rest/serverengine/workflow/contentcreation/email/version Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Version of Service Content Type: text/plain Status: l 200 OK – Version of REST Service retrieved l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 307 File Store Service The following table is a summary of the resources and methods available in the File Store service: Method Name Uniform Resource Identifier (URI) Method Type Service Handshake /filestore GET Upload File /filestore/file/{fileId} POST Upload Directory /filestore/dir/{fileId} POST Download File or Directory /filestore/file/{fileId} GET Delete File or Directory /filestore/delete/{fileId} GET Upload Data Mapping Configuration /filestore/DataMiningConfig POST Upload Job Creation Preset /filestore/JobCreationConfig POST Upload Data File /filestore/DataFile POST Upload Design Template /filestore/template POST Upload Output Creation Preset /filestore/OutputCreationConfig POST Service Version /filestore/version GET Page 308 Service Handshake Queries the availability of the File Store service. Type: GET URI: /rest/serverengine/filestore Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Handshake message: Server Engine REST Service available: FilestoreRestService Content Type: Status: text/plain l 200 OK – REST Service available l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 309 Upload File Submits a file to the File Store using a specific Managed File ID (or Name). Request takes binary file data as content, and on success returns a response containing the Managed File ID (or Name) used for the file. Type: POST URI: /rest/serverengine/filestore/file/{fileId} Parameters: Path: l Request: Response: fileId – the Managed File ID (or Name) for file in File Store Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: File Content Type: application/octet-stream Add. Headers: - Content: Managed File ID (or Name) Content Type: text/plain Status: l 200 OK – File successfully uploaded to File Store l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed Page 310 or expired l 405 Not Allowed – File already exists in File Store Page 311 Upload Directory Submits a zipped directory to the File Store using a specific Managed File ID (or Name). Request takes zipped file data as content, and on success returns a response containing the Managed File ID (or Name) used for the directory. Type: POST URI: /rest/serverengine/filestore/dir/{fileId} Parameters: Path: l Request: Response: fileId – the Managed File ID (or Name) for directory in File Store Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: Directory (as zipped file) Content Type: application/octet-stream Add. Headers: - Content: Managed File ID (or Name) Content Type: text/plain Status: l l 200 OK – Directory successfully uploaded to File Store 401 Unauthorized – Server authentication required Page 312 l l 403 Forbidden – Server authentication has failed or expired 405 Not Allowed – Directory already exists in File Store Page 313 Download File or Directory Obtains a file or directory of a specific Managed File ID (or Name) from the File Store. Request takes no content, and on success returns a response containing the file or directory data (as zipped file). Type: GET URI: /rest/serverengine/filestore/file/{fileId} Parameters: Path: l Request: Response: fileId – the Managed File ID (or Name) of the file or directory in File Store Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: Content-Disposition l l Content: Content Type: File - "attachment; filename={OrigFileName}" Directory - "attachment; filename= {OrigDirName}.zip" File or Directory (zipped as file) l File - application/octet-stream l Directory - application/zip Page 314 Status: l l l 200 OK – File or directory successfully downloaded from file store 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired Page 315 Delete File or Directory Removes a file or directory of a specific Managed File ID (or Name) from the File Store. Request takes no content, and on success returns a response containing the result of the request for removal (“true” or “false”). Type: GET URI: /rest/serverengine/filestore/delete/{fileId} Parameters: Path: l Request: Response: fileId – the Managed File ID (or Name) of the file or directory in File Store Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Result of request for removal Content Type: text/plain Status: l 200 OK – Removal of file or directory successfully requested from File Store (response of “true” for success or “false” for failure) Page 316 l l 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired Page 317 Upload Data Mapping Configuration Submits a Data Mapping configuration to the File Store. Request takes binary file data as content, and on success returns a response containing the new Managed File ID for the configuration. Type: POST URI: /rest/serverengine/filestore/DataMiningConfig Parameters: Query: l l Request: Response: filename – the file name of the configuration to be uploaded (No Default Value) persistent – whether the configuration to be uploaded will be persistent in File Store (Default Value: false) Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: Data Mapping Configuration (File) Content Type: application/octet-stream Add. Headers: - Content: Managed File ID Content Type: text/plain Status: l 200 OK – Configuration successfully uploaded to Page 318 File Store l l 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired Page 319 Upload Job Creation Preset Submits a Job Creation preset to the File Store. Request takes XML file data as content, and on success returns a response containing the new Managed File ID for the preset. Type: POST URI: /rest/serverengine/filestore/JobCreationConfig Parameters: Query: l l Request: Response: filename – the file name of the preset to be uploaded (No Default Value) persistent – whether the preset to be uploaded will be persistent in File Store (Default Value: false) Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: Job Creation Preset (File) Content Type: application/xml Add. Headers: - Content: Managed File ID Content Type: text/plain Status: l 200 OK – Preset successfully uploaded to File Page 320 Store l l 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired Page 321 Upload Data File Submits a data file to the File Store. Request takes binary file data as content, and on success returns a response containing the new Managed File ID for the data file. Type: POST URI: /rest/serverengine/filestore/DataFile Parameters: Query: l l Request: Response: filename – the file name of the data file to be uploaded (No Default Value) persistent – whether the data file to be uploaded will be persistent in File Store (Default Value: false) Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: Data File (File) Content Type: application/octet-stream Add. Headers: - Content: Managed File ID Content Type: text/plain Status: l 200 OK – Data file successfully uploaded to File Page 322 Store l l 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired Page 323 Upload Design Template Submits a design template to the File Store. Request takes zipped file data as content, and on success returns a response containing the new Managed File ID for the design template. Type: POST URI: /rest/serverengine/filestore/template Parameters: Query: l l Request: Response: filename – the file name of the design template to be uploaded (No Default Value) persistent – whether the design template to be uploaded will be persistent in File Store (Default Value: false) Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: Design Template (File) Content Type: application/zip Add. Headers: - Content: Managed File ID Content Type: text/plain Status: l 200 OK – Template successfully uploaded to File Page 324 Store l l 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired Page 325 Upload Output Creation Preset Submits an Output Creation preset to the File Store. Request takes XML file data as content, and on success returns a response containing the new Managed File ID for the preset. Type: POST URI: /rest/serverengine/filestore/OutputCreationConfig Parameters: Query: l l Request: Response: filename – the file name of the preset to be uploaded (No Default Value) persistent – whether the preset to be uploaded will be persistent in File Store (Default Value: false) Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: Output Creation Preset (File) Content Type: application/xml Add. Headers: - Content: Managed File ID Content Type: text/plain Status: l 200 OK – Preset successfully uploaded to File Page 326 Store l l 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired Page 327 Service Version Returns the version of the File Store service. Type: GET URI: /rest/serverengine/filestore/version Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Version of Service Content Type: text/plain Status: l 200 OK – Version of REST Service retrieved l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 328 Content Creation (HTML) Service The following table is a summary of the resources and methods available in the Content Creation (HTML) service: Method Name Uniform Resource Identifier (URI) Method Type Service Handshake /workflow/contentcreation/html GET Process Content Creation (By Data Record) /workflow/contentcreation/html/ {templateId}/{dataRecordId: [0-9]+} GET Process Content Creation (By Data Record) (JSON) /workflow/contentcreation/html/ {templateId}/{dataRecordId: [0-9]+} POST Get Template Resource /workflow/contentcreation/html/ {templateId}/{relPath: .+} GET Service Version /workflow/contentcreation/html/version GET Page 329 Service Handshake Queries the availability of the Content Creation (HTML) service. Type: GET URI: /rest/serverengine/workflow/contentcreation/html Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Handshake message: Merge engine available Content Type: Status: text/plain l 200 OK – REST Service available l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 330 Process Content Creation (By Data Record) Submits a request to create new HTML content for the Web Context. Request takes no content, and on success returns a response containing the generated HTML specific to the Data Record ID and section specified. Type: GET URI: /rest/serverengine/workflow/contentcreation/html/{templateId}/ {dataRecordId: [0-9]+} Parameters: Path: l l templateId – the Managed File ID (or Name) of the design template in File Store dataRecordId – the ID of the Data Record entity in Server Query: l l Request: Response: section – the section within the Web Context to create (No Default Value) inline – the inline mode to be used in the creation of content (Possible values: NONE, CSS or ALL. No Default Value) Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Page 331 Content: The generated HTML output for the Data Record ID Content Type: text/html Status: l 200 OK – Output generated successfully l 401 Unauthorized – Server authentication required l l l 403 Forbidden – Server authentication has failed or expired 404 Not Found – Design template or Data Record entity not found in File Store/Server 500 Server Error – Content Creation Error: Data Record Not Found / Web Context in Template Not found Page 332 Process Content Creation (By Data Record) (JSON) Submits a request to create new HTML content for the Web Context. Request takes a JSON HTML Parameters List as content, and on success returns a response containing the generated HTML output specific to the Data Record ID specified. Type: POST URI: /rest/serverengine/workflow/contentcreation/html/{templateId}/ {dataRecordId: [0-9]+} Parameters: Path: l l Request: Response: templateId – the Managed File ID (or Name) of the design template in File Store dataRecordId – the ID of the Data Record entity in Server Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: JSON HTML Parameters List listing section and inline mode. Content Type: application/json Add. Headers: - Content: The generated HTML output for the Data Record ID Content Type: text/html Page 333 Status: l 200 OK – Output generated successfully l 401 Unauthorized – Server authentication required l l l 403 Forbidden – Server authentication has failed or expired 404 Not Found – Design template or Data Record entity not found in File Store/Server 500 Server Error – Content Creation Error: Data Record Not Found / Web Context in Template Not found Page 334 Get Template Resource Submits a request to retrieve a resource from a design template stored in the File Store. Request takes no content, and on success returns a response containing the resource from the design template. Type: GET URI: /rest/serverengine/workflow/contentcreation/html/{templateId}/{relPath: .+} Parameters: Path: l l Request: Response: templateId – the Managed File ID (or Name) of the design template in File Store relPath – the relative path to the resource within template Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: The resource located at the relative path within the template Content Type: (Depends on Resource requested) Status: l 200 OK – Resource successfully retrieved Page 335 l l l l l 400 Bad Request - Unable to open resource within template or resource doesn’t exist 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired 404 Not Found – Design template or Data Record entity not found in File Store/Server 500 Server Error - Unable to open template or template doesn’t exist Page 336 Service Version Returns the version of the Content Creation (HTML) service. Type: GET URI: /rest/serverengine/workflow/contentcreation/html/version Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Version of Service Content Type: text/plain Status: l 200 OK – Version of REST Service retrieved l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 337 Job Creation Service The following table is a summary of the resources and methods available in the Job Creation service: Method Name Uniform Resource Identifier (URI) Method Type Service Handshake /workflow/jobcreation GET Process Job Creation /workflow/jobcreation/{configId} POST Process Job Creation (JSON) /workflow/jobcreation/{configId} POST Process Job Creation (JSON Job Set Structure) /workflow/jobcreation POST Get Progress of Operation /workflow/jobcreation/getProgress/ {operationId} GET Get Result of Operation /workflow/jobcreation/getResult/ {operationId} POST Cancel an Operation /workflow/jobcreation/cancel/ {operationId} POST Service Version /workflow/jobcreation/version GET Page 338 Service Handshake Queries the availability of the Job Creation service. Type: GET URI: /rest/serverengine/workflow/jobcreation Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Handshake message: Server Engine REST Service available: JobCreationRestService Content Type: Status: text/plain l 200 OK – REST Service available l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 339 Process Job Creation Submits a request to initiate a new Job Creation operation. Request takes no content, and on success returns a response containing additional headers that specify the ID of the new operation as well as link URLs that can be used to retrieve further information/cancel the operation. Type: POST URI: /rest/serverengine/workflow/jobcreation/{configId} Parameters: Path: l Request: Response: configId – the Managed File ID (or Name) of the Job Creation Preset in File Store Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: l l Content: - Content Type: - operationId – Operation ID of new Job Creation operation Link – Contains multiple link URLs that can be used to retrieve further information/cancel the operation. Page 340 Status: l l l l 202 Accepted – Creation of new operation successful 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired 404 Not Found – Job Creation Preset not found in File Store Page 341 Process Job Creation (JSON) Submits a request to initiate a new Job Creation operation. Request takes a JSON Identifier List of Content Set IDs as content, and on success returns a response containing additional headers that specify the ID of the new operation as well as link URLs that can be used to retrieve further information/cancel the operation. Type: POST URI: /rest/serverengine/workflow/jobcreation/{configId} Parameters: Path: l Request: Response: configId – the Managed File ID (or Name) of the Job Creation Preset in File Store Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: JSON Identifier List specifying a list of Content Set entity IDs Content Type: application/json Add. Headers: l l Content: - Content - operationId – Operation ID of new Job Creation operation Link – Contains multiple link URLs that can be used to retrieve further information/cancel the operation. Page 342 Type: Status: l l l l 202 Accepted – Creation of new operation successful 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired 404 Not Found – Job Creation Preset or Content Set entity not found in File Store/Server Page 343 Process Job Creation (JSON Job Set Structure) Submits a request to initiate a new Job Creation operation. Request takes a JSON Job Set Structure containing a list of Content Items as content, and on success returns a response containing additional headers that specify the ID of the new operation as well as link URLs that can be used to retrieve further information/cancel the operation. Type: POST URI: /rest/serverengine/workflow/jobcreation Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: JSON Job Set Structure describing Job Set (and Content Items) Content Type: application/json Add. Headers: l l Content: - Content Type: - operationId – Operation ID of new Job Creation operation Link – Contains multiple link URLs that can be used to retrieve further information/cancel the operation. Page 344 Status: l l l 202 Accepted – Creation of new operation successful 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired Page 345 Get Progress of Operation Retrieves the progress of a running Job Creation operation of a specific operation ID. Request takes no content, and on success returns a response containing the current value of operation progress (values ranging from 0 – 100, followed by the value of 'done' on completion). Type: GET URI: /rest/serverengine/workflow/jobcreation/getProgress/{operationId} Parameters: Path: l Request: Response: operationId – Operation ID of Job Creation operation Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Progress value of Job Creation operation Content Type: text/plain Status: l l 200 OK – Progress of operation successfully retrieved 401 Unauthorized – Server authentication required Page 346 l 403 Forbidden – Server authentication has failed or expired Page 347 Get Result of Operation Retrieves the final result of a completed Job Creation operation of a specific operation ID. Request takes no content, and on success returns a response containing the IDs of the generated Job Set. Type: POST URI: /rest/serverengine/workflow/jobcreation/getResult/{operationId} Parameters: Path: l Request: Response: operationId – Operation ID of Job Creation operation Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Job Set ID Content Type: text/plain Status: l l 200 OK – Result of completed operation successfully retrieved 401 Unauthorized – Server authentication required Page 348 l 403 Forbidden – Server authentication has failed or expired Page 349 Cancel an Operation Requests the cancellation of a running Job Creation operation of a specific operation ID. Request takes no content, and on success returns a response with no content. Type: POST URI: /rest/serverengine/workflow/jobcreation/cancel/{operationId} Parameters: Path: l Request: Response: operationId – Operation ID of Job Creation operation Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: - Content Type: - Status: l l l 204 No Content – Operation cancellation requested 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired Page 350 Service Version Returns the version of the Job Creation service. Type: GET URI: /rest/serverengine/workflow/jobcreation/version Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Version of Service Content Type: text/plain Status: l 200 OK – Version of REST Service retrieved l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 351 Job Entity Service The following table is a summary of the resources and methods available in the Job Entity service: Method Name Uniform Resource Identifier (URI) Method Type Service Handshake /entity/jobs GET Get Content Items for Job /entity/jobs/{jobId}/contents GET Get Job Properties /entity/jobs/{jobId}/properties GET Update Job Properties /entity/jobs/{jobId}/properties PUT Update Multiple Job Properties /entity/jobs/properties PUT Service Version /entity/jobs/version GET Page 352 Service Handshake Queries the availability of the Job Entity service. Type: GET URI: /rest/serverengine/entity/jobs Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Handshake message: Server Engine REST Service available: JobEntityRestService Content Type: Status: text/plain l 200 OK – REST Service available l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 353 Get Content Items for Job Returns a list of all the Content Item entities (and their corresponding Data Record entities) contained within a specific Job entity. Request takes no content, and on success returns a response containing a JSON Content Item Identifier List of all the Content Items for the Job. Type: GET URI: /rest/serverengine/entity/jobs/{jobId}/contents Parameters: Path: l Request: Response: jobId – the ID of the Job entity in Server Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: JSON Content Item Identifier List of all the Content Items in Job Content Type: application/json Status: l 200 OK – Content Item Identifier List returned l 401 Unauthorized – Server authentication required Page 354 l 403 Forbidden – Server authentication has failed or expired Page 355 Get Job Properties Returns a list of the properties for a specific Job entity. Request takes no content, and on success returns a response containing a JSON Name/Value List (Properties Only) of all the properties for the Job. Type: GET URI: /rest/serverengine/entity/jobs/{jobId}/properties Parameters: Path: l Request: Response: jobId – the ID of the Job entity in Server Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: JSON Name/Value List (Properties Only) of properties for Job Content Type: application/json Status: l l 200 OK – Job entity properties successfully retrieved 401 Unauthorized – Server authentication required Page 356 l 403 Forbidden – Server authentication has failed or expired Page 357 Update Job Properties Submits a request to update (and replace) the properties for a specific Job entity in the Server. Request takes a JSON Name/Value List as content (the Job ID and the new properties), and on success returns a response containing the result of the request for update/replacement (“true”). Type: PUT URI: /rest/serverengine/entity/jobs/{jobId}/properties Parameters: Path: l Request: Response: jobId – the ID of the Job entity in Server Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: JSON Name/Value List of properties for Job Content Type: application/json Add. Headers: - Content: Result of request to update Job Content Type: text/plain Status: l l 200 OK – Update of Job properties successfully requested (response of “true” for success) 401 Unauthorized – Server authentication required Page 358 l l 403 Forbidden – Server authentication has failed or expired 500 Server Error – Internal Server Error or Job ID mismatch in JSON Page 359 Update Multiple Job Properties Submits a request to update one or more properties for one or more Job entities in the Server. Request takes multiple JSON Name/Value Lists as content (each with the Job ID and the new properties), and on success returns a response containing no content. Type: PUT URI: /rest/serverengine/entity/jobs/properties Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: JSON Name/Value Lists of the properties of the Jobs Content Type: application/json Add. Headers: - Content: - Content Type: - Status: l l l 200 OK – Properties of Job entities successfully updated 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired Page 360 Service Version Returns the version of the Job Entity service. Type: GET URI: /rest/serverengine/entity/jobs/version Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Version of Service Content Type: text/plain Status: l 200 OK – Version of REST Service retrieved l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 361 Job Set Entity Service The following table is a summary of the resources and methods available in the Job Set Entity service: Method Name Uniform Resource Identifier (URI) Method Type Get All Job Set Entities /entity/jobsets GET Get Jobs for Job Set /entity/jobsets/{jobSetId} GET Delete Job Set Entity /entity/jobsets/{jobSetId}/delete POST Get Job Set Properties /entity/jobsets/{jobSetId}/properties GET Update Job Set Properties /entity/jobsets/{jobSetId}/properties PUT Service Version /entity/jobsets/version GET Page 362 Get All Job Set Entities Returns a list of all the Job Set entities currently contained within the Server. Request takes no content, and on success returns a response containing a JSON Identifier List of all the Job Sets. Type: GET URI: /rest/serverengine/entity/jobsets Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: JSON Identifier List of all the Job Sets in Server Content Type: application/json Status: l 200 OK – Identifier List of Job Sets returned l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 363 Get Jobs for Job Set Returns a list of all the Job entities contained within a specific Job Set entity. Request takes no content, and on success returns a response containing a JSON Identifier List of all the Jobs in the Job Set. Type: GET URI: /rest/serverengine/entity/jobsets/{jobSetId} Parameters: Path: l Request: Response: jobSetId – the ID of the Job Set entity in Server Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: JSON Identifier List of all the Jobs in Job Set Content Type: application/json Status: l 200 OK – Identifier List of Jobs returned l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 364 Delete Job Set Entity Submits a request for a specific Job Set entity to be marked for deletion from the Server. Request takes no content, and on success returns a response containing the result of the request for deletion (“true” or “false”). Type: POST URI: /rest/serverengine/entity/jobsets/{jobSetId}/delete Parameters: Path: l Request: Response: jobSetId – the ID of the Job Set entity in Server Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Result of request for Job Set removal Content Type: text/plain Status: l l 200 OK – Deletion of Job Set successfully requested from Server (response of “true” for success or “false” for failure) 401 Unauthorized – Server authentication required Page 365 l 403 Forbidden – Server authentication has failed or expired Page 366 Get Job Set Properties Returns a list of the properties for a specific Job Set entity. Request takes no content, and on success returns a response containing a JSON Name/Value List (Properties Only) of all the properties for the Job Set. Type: GET URI: /rest/serverengine/entity/jobsets/{jobSetId}/properties Parameters: Path: l Request: Response: jobSetId – the ID of the Job Set entity in Server Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: JSON Name/Value List (Properties Only) of properties for Job Set Content Type: application/json Status: l l 200 OK – Job Set entity properties successfully retrieved 401 Unauthorized – Server authentication required Page 367 l 403 Forbidden – Server authentication has failed or expired Page 368 Update Job Set Properties Submits a request to update (and replace) the properties for a specific Job Set entity in the Server. Request takes a JSON Name/Value List as content (the Job Set ID and the new properties), and on success returns a response containing the result of the request for update/replacement (“true”). Type: PUT URI: /rest/serverengine/entity/jobsets/{jobSetId}/properties Parameters: Path: l Request: Response: jobSetId – the ID of the Job Set entity in Server Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: JSON Name/Value List of properties for Job Set Content Type: application/json Add. Headers: - Content: Result of request to update Job Set Content Type: text/plain Status: l 200 OK – Update of Job Set properties successfully requested (response of “true” for success) Page 369 l l l 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired 500 Server Error – Internal Server Error or Job Set ID mismatch in JSON Page 370 Service Version Returns the version of the Job Set Entity service. Type: GET URI: /rest/serverengine/entity/jobsets/version Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Version of Service Content Type: text/plain Status: l 200 OK – Version of REST Service retrieved l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 371 Output Creation Service The following table is a summary of the resources and methods available in the Output Creation service: Method Name Uniform Resource Identifier (URI) Method Type Service Handshake /workflow/outputcreation GET Process Output Creation /workflow/outputcreation/{configId}/ {jobSetId} POST Process Output Creation (JSON) /workflow/outputcreation/{configId} POST Process Output Creation (By Job) (JSON) /workflow/outputcreation/{configId}/jobs POST Get Progress of Operation /workflow/outputcreation/getProgress/ {operationId} GET Get Result of Operation /workflow/outputcreation/getResult/ {operationId} POST Get Result of Operation (as Text) /workflow/outputcreation/getResultTxt/ {operationId} POST Cancel an Operation /workflow/outputcreation/cancel/ {operationId} POST Service Version /workflow/outputcreation/version GET Page 372 Service Handshake Queries the availability of the Output Creation service. Type: GET URI: /rest/serverengine/workflow/outputcreation Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Handshake message: Server Engine REST Service available: OutputCreationRestService Content Type: Status: text/plain l 200 OK – REST Service available l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 373 Process Output Creation Submits a request to initiate a new Output Creation operation. Request takes no content, and on success returns a response containing additional headers that specify the ID of the new operation as well as link URLs that can be used to retrieve further information/cancel the operation. Type: POST URI: /rest/serverengine/workflow/outputcreation/{configId}/{jobSetId} Parameters: Path: l l Request: Response: configId – the Managed File ID (or Name) of the Output Creation Preset in File Store jobSetId – the ID of the Job Set entity in Server Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: l l Content: - Content - operationId – Operation ID of new Output Creation operation Link – Contains multiple link URLs that can be used to retrieve further information/cancel the operation. Page 374 Type: Status: l l l l 202 Accepted – Creation of new operation successful 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired 404 Not Found – Output Creation Preset or Job Set entity not found in File Store/Server Page 375 Process Output Creation (JSON) Submits a request to initiate a new Output Creation operation. Request takes a JSON Identifier of the Job Set ID (with a createOnly flag) as content, and on success returns a response containing additional headers that specify the ID of the new operation as well as link URLs that can be used to retrieve further information/cancel the operation. Type: POST URI: /rest/serverengine/workflow/outputcreation/{configId} Parameters: Path: l Request: Response: configId – the Managed File ID (or Name) of the Output Creation Preset in File Store Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: JSON Identifier (with createOnly flag) specifying the Job Set entity's ID Content Type: application/json Add. Headers: l l Content: operationId – Operation ID of new Output Creation operation Link – Contains multiple link URLs that can be used to retrieve further information/cancel the operation. - Page 376 Content Type: Status: - l l l l l 202 Accepted – Creation of new operation successful 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired 404 Not Found – Output Creation Preset or Job Set entity not found in File Store/Server 500 Internal Server Error – JSON Identifier invalid or missing required structure Page 377 Process Output Creation (By Job) (JSON) Submits a request to initiate a new Output Creation operation. Request takes a JSON Identifier List of the Job IDs (with a createOnly flag) as content, and on success returns a response containing additional headers that specify the ID of the new operation as well as link URLs that can be used to retrieve further information/cancel the operation. Type: POST URI: /rest/serverengine/workflow/outputcreation/{configId}/jobs Parameters: Path: l Request: Response: configId – the Managed File ID (or Name) of the Output Creation Preset in File Store Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: JSON Identifier List (with createOnly flag) specifying the Job entity IDs Content Type: application/json Add. Headers: l l Content: operationId – Operation ID of new Output Creation operation Link – Contains multiple link URLs that can be used to retrieve further information/cancel the operation. - Page 378 Content Type: Status: - l l l l l 202 Accepted – Creation of new operation successful 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired 404 Not Found – Output Creation Preset or Job entity not found in File Store/Server 500 Internal Server Error – JSON Identifier List invalid or missing required structure Page 379 Get Progress of Operation Retrieves the progress of a running Output Creation operation of a specific operation ID. Request takes no content, and on success returns a response containing the current value of operation progress (values ranging from 0 – 100, followed by the value of 'done' on completion). Type: GET URI: /rest/serverengine/workflow/outputcreation/getProgress/{operationId} Parameters: Path: l Request: Response: operationId – Operation ID of Output Creation operation Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Progress value of Output Creation operation Content Type: text/plain Status: l l 200 OK – Progress of operation successfully retrieved 401 Unauthorized – Server authentication required Page 380 l 403 Forbidden – Server authentication has failed or expired Page 381 Get Result of Operation Retrieves the final result of a completed Output Creation operation of a specific operation ID. Request takes no content, and on success returns a response containing either the absolute paths of the final generated output files (multiple spool files) or the content of a final generated output file (single spool file). Type: POST URI: /rest/serverengine/workflow/outputcreation/getResult/{operationId} Parameters: Path: l Request: Response: operationId – Operation ID of Output Creation operation Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Absolute Paths of the Output Files or the Output File itself Content Type: application/octet-stream Status: l 200 OK – Result of completed operation successfully retrieved Page 382 l l 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired Page 383 Get Result of Operation (as Text) Retrieves the final result of a completed Output Creation operation of a specific operation ID. Request takes no content, and on success returns a response containing the absolute path or paths of the final generated output file or files (single or multiple spool files respectively). Type: POST URI: /rest/serverengine/workflow/outputcreation/getResultTxt/{operationId} Parameters: Path: l Request: Response: operationId – Operation ID of Output Creation operation Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Absolute Path(s) of the Output File(s) Content Type: text/plain Status: l l 200 OK – Result of completed operation successfully retrieved 401 Unauthorized – Server authentication required Page 384 l 403 Forbidden – Server authentication has failed or expired Page 385 Cancel an Operation Requests the cancellation of a running Output Creation operation of a specific operation ID. Request takes no content, and on success returns a response with no content. Type: POST URI: /rest/serverengine/workflow/outputcreation/cancel/{operationId} Parameters: Path: l Request: Response: operationId – Operation ID of Output Creation operation Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: - Content Type: - Status: l l l 204 No Content – Operation cancellation requested 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired Page 386 Service Version Returns the version of the Output Creation service. Type: GET URI: /rest/serverengine/workflow/outputcreation/version Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Version of Service Content Type: text/plain Status: l 200 OK – Version of REST Service retrieved l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 387 All-In-One Service The following table is a summary of the resources and methods available in the All-In-One service: Method Name Uniform Resource Identifier (URI) Method Type Service Handshake /workflow/print GET Process All-In-One (JSON) /workflow/print/submit POST Get Progress of Operation /workflow/print/getProgress/ {operationId} GET Get Result of Operation /workflow/print/getResult/{operationId} POST Get Result of Operation (as Text) /workflow/print/getResultTxt/ {operationId} POST Cancel an Operation /workflow/print/cancel/{operationId} POST Service Version /workflow/print/version GET Page 388 Service Handshake Queries the availability of the All-In-One service. Type: GET URI: /rest/serverengine/workflow/print Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Handshake message: Server Engine REST Service available: PrintRestService Content Type: Status: text/plain l 200 OK – REST Service available l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 389 Process All-In-One (JSON) Submits a request to initiate a new All-In-One operation. Request takes a JSON All-In-One Configuration as content, and on success returns a response containing additional headers that specify the ID of the new operation as well as link URLs that can be used to retrieve further information/cancel the operation. Type: POST URI: /rest/serverengine/workflow/print/submit Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: JSON All-In-One Configuration containing workflow process steps/properties Content Type: application/json Add. Headers: l l Content: - Content Type: - Status: l operationId – Operation ID of new All-In-One operation Link – Contains multiple link URLs that can be used to retrieve further information/cancel the operation. 202 Accepted – Creation of new operation Page 390 successful l l l l 400 Bad Request – Required Input resource/file not found in File Store 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired 500 Internal Server Error – General error with running the All-In-One Process or a Specific error relating to a process step (see error description) Page 391 Get Progress of Operation Retrieves the progress of a running All-In-One operation of a specific operation ID. Request takes no content, and on success returns a response containing the current value of operation progress (values ranging from 0 – 100, followed by the value of 'done' on completion). Type: GET URI: /rest/serverengine/workflow/print/getProgress/{operationId} Parameters: Path: l Request: Response: operationId – Operation ID of All-In-One operation Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Progress value of All-In-One operation Content Type: text/plain Status: l l 200 OK – Progress of operation successfully retrieved 401 Unauthorized – Server authentication required Page 392 l 403 Forbidden – Server authentication has failed or expired Page 393 Get Result of Operation Retrieves the final result of a completed All-In-One operation of a specific operation ID. Request takes no content, and on success returns a response (depending on the All-In-One configuration) containing either: l l the ID of the Data Set, Content Set or Job Set entity generated, or the absolute paths of the final generated output files (multiple spool files) or the content of a final generated output file (single spool file). Type: POST URI: /rest/serverengine/workflow/print/getResult/{operationId} Parameters: Path: l Request: Response: operationId – Operation ID of All-In-One operation Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Either: l l the ID of the Data Set, Content Set or Job Set, or the Absolute Paths of the Output Files or the Output File itself Page 394 Content Type: Status: application/octet-stream l l l 200 OK – Result of completed operation successfully retrieved 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired Page 395 Get Result of Operation (as Text) Retrieves the final result of a completed All-In-One operation of a specific operation ID. Request takes no content, and on success returns a response (depending on the All-In-One configuration) containing either: l l the ID of the Data Set, Content Set or Job Set entity generated, or the absolute path or paths of the final generated output file or files (single or multiple spool files respectively). Type: POST URI: /rest/serverengine/workflow/print/getResultTxt/{operationId} Parameters: Path: l Request: Response: operationId – Operation ID of All-In-One operation Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Either: l the ID of the Data Set, Content Set or Job Set, or l the Absolute Path(s) of the Output File(s) Page 396 Content Type: Status: text/plain l l l 200 OK – Result of completed operation successfully retrieved 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired Page 397 Cancel an Operation Requests the cancellation of a running All-In-One operation of a specific operation ID. Request takes no content, and on success returns a response with no content. Type: POST URI: /rest/serverengine/workflow/print/cancel/{operationId} Parameters: Path: l Request: Response: operationId – Operation ID of All-In-One operation Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: - Content Type: - Status: l l l 204 No Content – Operation cancellation requested 401 Unauthorized – Server authentication required 403 Forbidden – Server authentication has failed or expired Page 398 Service Version Returns the version of the All-In-One service. Type: GET URI: /rest/serverengine/workflow/print/version Parameters: - Request: Response: Add. Headers: auth_token – Authorization Token (if server security settings enabled) Content: - Content Type: - Add. Headers: - Content: Version of Service Content Type: text/plain Status: l 200 OK – Version of REST Service retrieved l 401 Unauthorized – Server authentication required l 403 Forbidden – Server authentication has failed or expired Page 399 Copyright Information Copyright © 1994-2017 Objectif Lune Inc. All Rights Reserved. No part of this publication may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any other language or computer language in whole or in part, in any form or by any means, whether it be electronic, mechanical, magnetic, optical, manual or otherwise, without prior written consent of Objectif Lune Inc. Objectif Lune Inc. disclaims all warranties as to this software, whether expressed or implied, including without limitation any implied warranties of merchantability, fitness for a particular purpose, functionality, data integrity or protection. PlanetPress and PReS are registered trademarks of Objectif Lune Inc. Page 400 Legal Notices and Acknowledgments PlanetPress Connect, Copyright © 2017, Objectif Lune Inc. All rights reserved. This guide uses the following third party components: l l jQuery Library Copyright © 2005 - 2014, jQuery Foundation, Inc. and other contributors. This is distributed under the terms of the Massachusetts Institute of Technology (MIT) license. QUnit Library Copyright © jQuery Foundation, Inc. and other contributors. This is distributed under the terms of the Massachusetts Institute of Technology (MIT) license. Page 401

Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.4
Linearized                      : No
Page Count                      : 402
Page Mode                       : UseNone
Page Layout                     : SinglePage
Language                        : en-ca
Producer                        : madbuild
Create Date                     : 2017:01:17 16:42:20+11:00
Modify Date                     : 2017:01:17 16:42:20+11:00
Title                           : PlanetPress Connect REST API Cookbook with Working Examples
Author                          : Objectif Lune, Inc.
Subject                         : 
EXIF Metadata provided by EXIF.tools

Navigation menu