Standard services

The following table introduces the standard services of Unica Content Integration. Hence, none of the service names listed herein should be used for any custom service implementation. Content Integration SDK provides standard interfaces and types to implement these standard services. These interfaces and types are discussed in more detail in subsequent sections.

Table 1. Standard services and their description
Standard service name Description
simple-search
Simple search service responds to the content search requests received by Content Integration Framework. This service accepts the search query string along with required result pagination details. Based on the success of search operation, it returns the search result for given search query and according to the required pagination. This is a mandatory service for the plugin.
list-folders This is an optional service. Folder is a general term used to represent a container object used in target system to hierarchically organize the contents. This service is invoked to render the list of folders & sub-folders to facilitate navigation through such hierarchically organized contents.
Note: list-folders and list-contents are correlated services. Implementation for both services must exist for content navigation to function properly.
list-contents This is an optional service. This service is invoked for listing the contents belonging to a particular folder.
Note: list-folders and list-contents are correlated services. Implementation for both services must exist for content navigation to function properly.
get-content-details Implementation of this service is useful for retrieving the details of an individual content. Contents obtained using simple-search & list-contents services are referenced further in other Unica products. Users might want to see the details of already referenced content at later point of time. Therefore, we encourage to implement this service to facilitate users to see the content details on demand.
get-object-schema This is an optional service. Object schema in simple terms refers to the meta information about the properties or attributes present in the given type of object. Implementation of this service is useful for allowing Centralized Offer Management users to map content attributes with offer attributes.
resource-loader This service is useful when direct download of the content from target system is not feasible. This service is not mandatory and should be implemented only when following challenges are encountered:
  • If no direct web link exists to download the contents

    Contents returned by the simple-search and list-contents services must include an absolute URL to the respective content so that Content Integration client can download it directly over the web. If no such direct web link to the content is present, then it is necessary to implement the resource-loader service by overriding the default implementation provided by Content Integration Framework. For example, if the contents are maintained in a database table, then the simple-search and list-contents services will fetch records from the database. Since the items are loaded from the database, there may not be any URL directly pointing to each record. In such case, the resource-loader service can make use of the content identifier to locate and provide the appropriate data whenever content download is requested. All content download requests will go through the Content Integration Framework, which will delegate the downloading task to the resource-loader service by providing it the content URL and its identifier.

  • If web links to the contents are protected

    Certain systems may not provide anonymous access to the contents despite of the availability of direct web links. In such cases, access is generally provided only after supplying required authentication details. By default, Content Integration Framework registers an out of the box implementation of resource-loader service for each plugin. This default implementation makes use of the real content URL to download the content from remote system by supplying appropriate authentication details subject to the configurations in Unica Platform. (For more information on system onboarding configurations, see Unica Content Integration Administrator's Guide).

    Alternatively, plugins can override the default resource-loader implementation to alter the content downloading behavior (using content URL or content identifier). If the resource-loader service is overridden using RESTful approach, Content Integration Framework will continue to take care of supplying authentication details based on the Platform configuration.

    Note: Content must be made anonymously accessible if it is expected to be seen/accessed by the external audience. In such case, usage of resource-loader service is not encouraged in production systems. Usage of resource-loader service can be turned off any time by setting the Anonymous Content property to Yes in Platform configuration. Likewise, it can be turned on by setting the same property to No.
list-content-categories Content can be logically categorized by its natural classification. For example, Digital content can be categorized into Images, Documents, Multimedia (audios and videos), Archives etc. Similarly, E-commerce products can be categorized into several broad categories, such as Electronics, Healthcare, Books, Furniture etc. Content Integration Framework allows following ways of conveying such content categorization to facilitate searching contents within specific category.
  • supportedContentTypes service parameter

    A standard service level parameter, supportedContentTypes, can be used to statically supply a dictionary of supported content types under simple-search service declaration.

  • getSupportedContentTypes() method in search service implementation

    getSupportedContentTypes() method can be overridden to dynamically generate a map of supported content types, wherein key serves as the category identifier and value serves for the label displayed on the UI. This method is executed during the application startup, hence no remote API call can be made using Content Integration Framework’s capabilities since application might be in partially initialized state when this method is invoked.

  • list-content-categories service

    Optionally, list-content-categories service can be implemented to address the limitation of getSupportedContentTypes() method. It enables remote API calls to be made for fetching the content categories even more dynamically. If implemented, this service overrides the earlier mentioned approaches. Content Integration Framework invokes this service whenever content search popup is rendered.

get-cognitive-analysis This is an optional service. If implemented, it is used to fetch cognitive details associated with the given image, subject to the "Preferred cognitive service provider" configuration in Unica Platform.
Object extension service This is an optional service. This standard service does not mandate any standard service name. There can be more than one object extension services. The core purpose of any object extension service is to enhance the capability of any object (such as Offer in Centralized Offer Management) by leveraging the attribute mapping feature. Centralized Offer Management leverages object extension services by means of Custom Actions in Offers (maybe a link to relevant document in COM).
Note: Object extension and get-object-schema are correlated services. Implementation of get-object-schema service is mandatory for object extension feature to function properly. get-object-schema service is expected to support schema generation for the contents in the context of Content Integration capabilities in Centralized Offer Management. In case of object extension capability, get-object-schema service is additionally expected to support the schema generation for the object returned by the respective object extension service. get-object-schema service accepts the type/category of the object/content to generate the schema for. In case of object extension service, it receives the type in {service-name}.response format. For example, if fetch-additional-attributes is the name given to the object extension service, then get-object-schema receives fetch-additional-attributes.response as the type of object whenever schema for fetch-additional-attribute’s response object is required.
Object event interpreter service

This is an optional service. Unlike the services listed above, this is in fact an inbound RESTful service. If implemented, it lets the plugin expose webhooks in Content Integration to be able to receive content lifecycle events from the respective content repository. The core responsibility of this service is to help Content Integration Framework interpret the semantics associated with incoming event so that Content Integration Framework can process the event accordingly.

As of version 12.1.1, incoming content events are relayed to Centralized Offer Management for automatically synchronizing Offers using associated content details. It leverages the attribute mapping feature to synchronize Offers automatically.

There is no standard name for this service. Plugin can choose any appropriate name.