Getting started with uProduce APIs

Introduction

The uProduce server is a powerful platform for document composition. It is totally API driven and provides developers with an easy way to add personalized, customized or versioned documents, images, emails, SMS and other media into their applications.

While the system is a stand-alone VDP, XM or eCommerce solution (based on the licensing), the ability to use the API to build integrations with other systems adds huge value making the sum far greater than the value of the individual systems.

The purpose of this document is to introduce you to the basic concepts of the uProduce API. It is highly recommended to read this prior to using the API, and to have some basic knowledge of the capabilities of the uProduce system in order to have an idea of what is possible via the API and an understanding XMPie concepts like Accounts, Campaigns, Plans and ADORs.

License

The license to use the uProduce REST API is not included with every PersonalEffect configuration by default. However, it can be added as an optional extra. Customers and developers who purchase the uProduce REST API license will be able to access full REST API documentation via a link on their uProduce server once the license is activated. Additionally, there are several SDKs that include sample Visual Studio solutions which can be requested from XMPie Support. These SDKs are available only to customers who have purchased the uProduce REST API license.

uProduce REST API

Once licensed, the full uProduce REST API is available by browsing to your uProduce server at:

http://<your server IP address or hostname>/XMPieRestApi/

Read more about the uProduce REST API.

uProduce WSAPI

The uProduce Web Services API has been replaced by the REST API. There is no further development of the WSAPI after uProduce version 13.0 and new features are being added only to the REST API.

While the existing features of the WSAPI should continue to work for some time, you will not be able to take advantage of new features introduced in later versions, and eventually, WSAPI will be retired.

If you are currently using the WSAPI, it is recommended to migrate your application to the new REST API.

Additional plugin SDKs

In addition to the core uProduce REST API, the uProduce server includes several plugins that allow developers to extend the server functionality in specific areas:

Hot Folder plugin

The hot folder feature is an optional extra that can be licensed on uProduce servers. Out-of-the-box, the feature can be configured to watch a hot folder for incoming data files and automatically process a variable data template with the data file.

Developers can use the hot folder plugin to create other useful hot folder functions. For example, to automatically upload document packages to a campaign, or send composed PDF documents or images to a document or asset management system totally outside of the XMPie environment.

Read more about the hot folder plugin.

Post Composition Operations plugin

After composing documents on the uProduce server, it is often desirable to do some additional tasks like copying, printing, zipping, or imposing the output files. These tasks are done by the Post Composition Operations feature.

XMPie enables several common tasks in the Post Composition Operations feature, but developers can create custom tasks by using the Post Composition Operations plugin.

Read more about the Post Composition Operations plugin.

XMPie Scripting plugin

The XMPie Scripting plugin is an optional extra which can be added to Adobe InDesign and uCreate Print on the desktop to automate the task of converting a static InDesign document to a VDP template.

As well as scripting the setup of a VDP template on the desktop, Adobe InDesign Scripts can also be used on the uProduce server to make changes to the document that are not possible with the default features of XMPie uCreate Print and uProduce.

Read more about the XMPie Scripting plugin.

QLingo Extension

QLingo is the language of XMPie’s plan logic, and is key to XMPie’s philosophy to separate data, logic and design to allow the experts in each field to handle their part of the project, and also allow last minute changes in one area without having to engage the whole team.

The QLingo language has a large library of built-in functions – and the ability to create custom functions with JavaScript – but it is also possible for developers to add even more complex capabilities by creating a custom DLL that can be called by QLingo.

Read more about QLingo Extension.