Skip to main content
Version: 2.0

Output integration

Export result and notification

Output Organizer advanced generates Output documents conforming to the PDF/A-2b standard, while the basic variant has a reduced conformance level of PDF 1.7. The generated output is made available to the user via a https URL, other systems can be notified by the methods described in this article.

The URL at which the generated document can be accessed, is propagated in the UI. Downloading or forwarding the generated document may be sufficient for most use cases.

Additionally, there are two more ways of receiving a result notification:

  1. Windows message
  2. REST notification

Notification via Window Message

A Window Message will be sent after successful export. Whenever Output Organizer is integrated into another page via iFrame, the "caller" can react accordingly to this message.

The JSON message format is as follows:

{
"app": "output-organizer",
"status": "success" | "error",
"collectionId": <collectionId>,
"timeStamp": <exportTime>,
"collectionMetadata": { ... },
"output": [
<exportUrl>
]
}
  • app - identifies the message origin, in this case, hard-coded "output-organizer"
  • status - successful or unsuccessful export; currently only "success" is notified
  • collectionId - the id of the exported collection
  • timeStamp - the date & time of export
  • collectionMetadata - the complete metadata of the exported collection
  • output[] - points to the location where the generated output document can be retrieved.

Because the collection metadata is freely modifiable, any additional info can be attached to the collection and then sent to the receiver of the window message.

Notification via REST

Also, you can configure a custom endpoint which will get notified after the export document has been generated.

The endpoint is called with a REST POST message providing information regarding the export that was just performed. The message format is identical to the window message described above.

In case you added proprietary metadata to your collection, this additional metadata will also be sent within the feedback message.

The endpoint can be configured

  • either within each collection (preferred In case different endpoints should be notified for different collections).
  • or via Helm

Endpoint configuration via collection

The notification endpoint can be set by adding an optional exportNotificationUrl field to your collection metadata:


{
"id": <collectionId>,
"metadata": {
"exportNotificationUrl": <new>, // REST endpoint to notify (replaces feedbackUrl, which was used prior to version 1.0)
...
},
"elements": [
...
],
"typeId": "import-output"
}

Endpoint configuration via Helm

Alternatively, to configure an application-wide endpoint, it can be configured via Helm. This endpoint is used as a fallback, when a notification endpoint is not defined for an element.

! Please note: Only endpoints configured via Helm can be secured.

organizer.exportNotification.enabledFlag to enable export notification (Default: false)
organizer.exportNotification.urlThe url of the endpoint

Authentication for notification endpoint

The export notification can be secured using basic authentication or a static bearer token.

Authentication is optional and can be configured by adding these properties to your Helm deployment values:


organizer:
# used to notify an external service about the export
exportNotification:
enabled: false
# the url of the external service
url:
# the authentication method used to access the external service
auth:
basicAuthenticated:
enabled: false
username:
password:
bearerAuthenticated:
enabled: false
bearerToken:

Basic authentication organizer.exportNotification.auth.basicAuthenticated.enabled - "true" to enable
organizer.exportNotification.auth.basicAuthenticated.username - authenticated technical user
organizer.exportNotification.auth.basicAuthenticated.password - corresponding password

Bearer authentication organizer.exportNotification.auth.bearerAuthenticated.enabled - "true" to enable
organizer.exportNotification.auth.bearerAuthenticated.bearerToken - static bearer token

Choose one of the authentication methods by setting the enabled flag to "true" or omit both.