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.
...
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.
...
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.