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.
Standard service name | Description |
---|---|
|
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 -
|
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:
|
list-category-folders |
This is an optional service. Some systems might organize contents/entities into different folders. Likewise, content categories might also be organized in folders. Implementation of this service helps to navigate folders for selecting desired content category. The list-content-categories service mentioned further in this section receives the ID of desired folder to list the categories from. |
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.
|
get-content-category-details |
This is an optional service. This service helps to retrieve
details of a specific content category using its identifier. It is
advised to implement this service if list-content-categories is
implemented for dynamically fetching categories from remote system
or categories are listed using folder hierarchy. This service need not be implemented if categories are maintained using supportedContentTypes parameter to simple-search service or getSupportedContentTypes() method in simple-search service. |
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. 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}.request &
{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.request &
fetch-additional-attributes.response as the type of
object whenever schema for
fetch-additional-attribute service’s
request & response objects is required. |
Object event interpreter service
(Webhook) |
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. 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. Likewise, Unica Journey can also use Webhooks for syndicating Entry Sources. |
Object event interpreter service (Kafka
listener) |
This is an optional service. This service adds listener(s) to the Kafka topic(s) for handling object events coming via Kafka. There is no standard name for this service. Plugin can choose any appropriate name. Events received either via Webhook or Kafka are used for
automatically synchronizing/update various objects in Unica
products, such as Offers in Centralized Offer Management, and
user Journeys in Unica Journey. Auto synchronization happens
entirely based on the attribute mappings facilitated by
|
Kafka message publisher service |
This is an optional service. There is no standard name for this service. Plugin can choose any appropriate name. This service allows plugins to publish messages (JSON and/or Avro) onto Kafka topic(s). Content Integration Framework does not directly invoke this service. Plugin can treat it as custom service and invoke it wherever required. There are no special semantics associated with any Kafka publisher service. Single Kafka publisher service can publish same message in different supported formats onto different topics. Plugin can have more than one publisher service if different messages need to be sent onto different topics. |
Standard collaboration services – Collaboration services facilitate integration with external collaboration systems such as Slack, Microsoft Teams etc. Unica Plan leverages such services to integrate its Message Board with desired collaboration systems. Content Integration Framework provides out of the box integration with Slack. Content Integration Framework allows integrating with any other similar system by means of these service implementations.
collaboration.create-channel |
This is a mandatory service. It is used for creating a communication channel in respective collaboration system. All subsequent collaborative operations happen using the same channel. For example, addition of members/collaborators to the channel, removal of members from channel, posting messages etc. |
collaboration.update-channel |
This is a mandatory service. It is used for updating details of existing collaboration channel. As of current release, it is used mainly for renaming a channel. |
collaboration.get-channel-details |
This is a mandatory service. It is used for fetching details of already known channel using its unique identifier. |
collaboration.add-members-to-channel |
This is a mandatory service. It is used for adding new members/collaborators to an existing collaboration channel. |
collaboration.remove-members-from-channel |
This is a mandatory service. It is used for removing existing members/collaborators from already created channel. |
collaboration.post-message-to-channel |
This is a mandatory service. It is used for posting a new message to existing collaboration channel. |