Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

General information

The Integration Service provides an API where integration endpoints can register for notifications regarding predefined sets of changes in the Digizuite. This can conveniently be done through the UI in the settings section in MM5.

When registering an endpoint, a name and a URL where notifications should be sent to must be provided. Furthermore, it must be indicated which of the following change types the integration endpoint should receive notifications for:

ChangeType

Corresponding internal events

Internal constant

AssetChanged

SearchProxyAssetUpdated (which is triggered by: AssetCreated, AssetDeleted, AssetExternalProccessingFinished, AssetFolderUpdated, AssetLocationStateUpdated, AssetMetadataUpdated, AssetProfilePublished, AssetSecurityUpdated, AssetUploadFinished)

1

MetafieldChanged

MetafieldCreated, MetafieldDeleted, MetafieldMetadataUpdated, MetafieldSecurityUpdated

2

TreeValueChanged

TreeValueCreated, TreeValueDeleted, TreeValueMetadataUpdated, TreeValueSecurityUpdated

4

ComboValueChanged

ComboValueCreated, ComboValueDeleted, ComboValueMetadataUpdated, ComboValueSecurityUpdated

8

...

TIMESPAN could for instance have the value 00:00:0710, if the debouncing interval should be set to 7 10 seconds. The default value is 5 7 seconds.

Note that, it is possible to provide custom headers for the notification HTTP messages when registering an integration endpoint. This, however, is optional.

...

Note that, it is also possible to get, retry, and purge delete failed messages with the API.

Info

More comprehensive Swagger documentation can be found at “<YOUR_DAM>/DigizuiteCore/IntegrationService/api-docs”, where <YOUR_DAM> is the base URL of the DC installation. E.g. “https://mm-dam.dev.digizuite.com”.

Notifications

Notifications are, by definition, push-based. Thus, for an integration endpoint to receive notifications it should listen for incoming HTTP POST messages at the registered URL. An integration endpoint should respond with a 200 OK to successfully received notifications. A notification generally has the following JSON-formatted body:

...

ChangeType

BaseId

AssetChanged

AssetId

ComboValueChanged

ComboValueId

MetafieldChanged

MetafieldId

TreeValueChanged

TreeValueId

Error handling

Internal errors can be found in the RabbitMQ error queue of the Integration Service.

If an error occurs while sending a notification to an integration endpoint, e.g. if the integration endpoint is not available, the error does not end up in RabbitMQ but is instead recorded internally. Failed notifications can easily be seen, retried, and deleted through the UI in the settings section in MM5.