Working with PrizmDoc > Developer Guide > PrizmDoc Server > Using the PrizmDoc Server API |
PrizmDoc Server exposes a RESTful API that clients may use to perform operations on documents, enabling them to manipulate and extract content. In the same way that the PrizmDoc Server API is used by the Viewing Client, Developers can use the API to create their own applications to generate viewable content, perform redactions, and convert documents.
The PrizmDoc Server API exposes several resources that are designed to work together to perform document operations. This overview of these resources will provide developers with the understanding required to quickly get up and running with PrizmDoc Services:
Work Files form the basis of the PrizmDoc Service temporary document storage. Documents provided by users, converted content results, redaction markup, and burned output are all stored within Work Files. Documents are stored and retrieved through requests to the Work File Service made by user applications or other PrizmDoc services. Work Files are not intended for long-term storage and are periodically removed when they are no longer required for PrizmDoc operations.
Several PrizmDoc operations are represented as asynchronous work processes. These processes are created by a request containing configuration information and immediately begin their work. Prior to completion, information about the process can be requested in order to determine its current state. Processes eventually reach a terminal state, at which point either the process was successful and the output is available or the process failed and is in an error state. After completion, processes do remain available for a short time, but since their work is done, they are soon removed by periodic maintenance. The lifetime of a process is configurable within its creation options.
These processes include:
Redaction Creators are processes that operate on a document Work File to generate a document markup Work File. The user provides regular expressions that identify the text to be redacted, and the process generates a markup Work File that contains data describing the locations of the matches. The generated markup Work File can then be used in a Markup Burner process to create a document with the redactions burned in.
Markup Burners are processes that create a "burned" document Work File as output from a source document Work File and a markup Work File describing redactions or annotations.
Content Converters are processes that convert one or more source Work File documents to one or more output Work File documents. Many different document formats are supported as source documents, and several common formats are allowed for output. After process completion, converted output is available as one or more Work Files.
Viewing Sessions create converted content primarily for, but certainly not restricted to, use by the Viewing Client. They provide access to SVG and raster renderings of document pages as well as any extracted document text, metadata for the converted content, and attachments in the case of email documents. Viewing Sessions are typically short-lived (20 minutes by default), but their lifetimes are configurable (see the viewing.sessionLifetime
property in Central Configuration for details). Viewing Sessions also provide access to other document processes not directly related to viewing.
The PrizmDoc RESTful API also provides server level operations that allow the user to query the health status of sub-services as well as the overall system health. When using several PrizmDoc instances in a multi-server environment, APIs exist to query and configure the servers that each instance can use to route traffic for load balancing.