Invocation of standard services

Once declared in service declaration file, and implemented using either RESTful or Functional approach, Content Integration Framework invokes the standard services in following scenarios:

  • Simple Search (simple-search)

    Whenever Content Integration Framework receives content or asset search request from its client application against target system, it invokes the simple-search service implemented for respective system. Content Integration Framework provides necessary input to the simple-search service upon invocation. Search items received from simple-search service are then returned to the client application. Identification of the target system happens based on the systemId property used in the service declaration file and the corresponding System Identifier setting in Unica Platform that is populated during the target system onboarding. This service must be implemented by the plugin, else the content search request ends up in 404 response to the client application.

    The search result produced by this service can be either paginated or unpaginated. Presence or absence of support for paginated result should be clearly indicated using paginatedSearch property under systems section in service declaration file as explained in the Service declaration file topic.

  • Resource Loader (resource-loader)

    The resource-loader service is executed by the Content Integration Framework only when indirect (or authenticated) access needs to be made to the search item on the target system. Configuration can be made in Unica Platform to indicate whether contents can be accessed directly (anonymously) from the target system or not. For more information about system configurations, see Unica Content Integration Administration Guide. Content Integration Framework provides a default resource-loader service to each system. The default resource-loader service simply loads the web resources from the target system by supplying necessary authorization details, if applicable. Plugins may choose to override the default resource-loader service and include their own implementation by extending the out-of-the-box implementation. Content download and content rendition might fail if the required overridden resource-loader implementation is missing

  • List Content Categories (list-content-categories)

    If implemented, this service is invoked for fetching the list of supported content categories, eventually used for populating the content type's drop down on Content Picker UI. These categories are used to narrow down the content search within a particular category. There may be other use cases pertaining to these categories in future releases of Unica Content Integration.

    This is an optional service and absence of its implementation does not impact content searchability in Content Picker. Other alternatives are used instead to generate the list of supported content categories in the absence of this service, that is supportedContentTypes standard parameter for simple-search service in service declaration file or getSupportedContentTypes() method in simple-search service implementation.

  • List Folders (list-folders)

    This service is used to facilitate content navigation along with the list-contents service. In addition to the content search, content can also be located by navigating through the hierarchy of folders (or any other similar concept in respective system). If this service is implemented, it is expected to provide top/root level folders as well as sub-folders of a particular parent folder as and when requested during content navigation. Only one level of folder list is expected in single execution. Entire folder hierarchy need not be provided. If this service is implemented, it is imperative to implement the list-contents service as well to turn the content navigation feature on.

    This is an optional service and absence of its implementation does not impact content searchability in Content Picker. However, content navigation is disabled in Content Picker UI if this service is not implemented.

  • List Contents (list-contents)

    This service is used to facilitate content navigation along with the list-folders service. If implemented, this service is expected to provide the list of contents belonging to a particular folder. List can be either paginated or unpaginated. Presence or absence of support for paginated list should be clearly indicated using paginatedList property under systems section in service declaration file as explained in the Service declaration file topic.

    If this service is implemented, it is imperative to implement the list-folders service as well to turn the content navigation feature on.

    This is an optional service and absence of its implementation does not impact content searchability in Content Picker. However, content navigation is disabled in Content Picker UI if this service is not implemented.

  • Get Content Details (get-content-details)

    Any content searched using simple-search service or listed using list-contents service can be selected and used for various use cases in Unica applications. Such use cases might demand the details of already chosen content at later point of time. One such example is Content Preview feature in Centralized Offer Management, wherein details of already linked content with offer attribute are shown. Whenever Unica applications need details of any individual content, the get-content-details service is invoked by supplying the unique identifier of the required content.

    This is an optional service and absence of its implementation does not impact content searchability in Content Picker. However, subsequent user requests for fetching details of a content will not be served if this service is not implemented.

  • Get Object Schema (get-object-schema)

    This service is invoked by Unica applications to fetch the meta information about various attributes present in the content. Based on the strictness of content categorization as discussed in Service declaration file (link to https://help.hcltechsw.com/unica/MarketingPlatform/en/12.1.0/ContentIntegration/DeveloperGuide/service_declarations.html), this service may choose to generate individual schema for each category of contents or generate a master schema comprising the attributes of all category of contents. In case of strict categorization of content, separate schema is preferable. Whereas for leniently categorized contents, a master schema is advisable. The meta information about each content attribute must include the details such as the type and format of the value it holds and a unique identifier to uniquely identify that attribute in the given system. Syntax & semantics associated with this service are discussed in detail under Specialized types section (link to https://help.hcltechsw.com/unica/MarketingPlatform/en/12.1.0/ContentIntegration/DeveloperGuide/derivatives_of_functionalservice.html#derivatives_of_functionalservice__section_dp2_nhg_z4b).

  • Get Cognitive Analysis (get-cognitive-analysis)

    This service is invoked to attempt cognitive analysis of an image and fetch the cognitive details accordingly. It is invoked only if respective system is configured as the Preferred cognitive service provider in Platform Configuration. For more information, see Unica Content Integration Installation and Configuration Guide.

    This is an optional service and absence of its implementation does not impact content searchability or any other feature in Content Picker. However, cognitive tagging feature is disabled in Centralized Offer Management if this service is not available.

  • Object extension service

    Object extension services are presently used by Centralized Offer Management to add custom actions to the Offers. Content Integration Framework does not mandate any standard service name for Object extension service. Plugin can choose any suitable name for it and define more than one such services, if required. The core responsibility of this service is to accept desired request attributes on invocation and use those attributes to enhance target object’s capability (Offer in case of Centralized Offer Management) by either performing some supporting operation or providing values for other attributes of the target object. As mentioned in Standard services section (link to https://help.hcltechsw.com/unica/MarketingPlatform/en/12.1.0/ContentIntegration/DeveloperGuide/standard_services.html), implementation of get-object-schema service must be enhanced to address the schema generation requirement for the object returned by this service. Response object’s schema is used for mapping its attributes with target object’s attributes. For more information on setting up custom actions in Centralized Offer Management, please refer to the Centralized Offer Management Administrator Guide (Link to relevant section in Centralized Offer Management’s offer guide). Once the custom action is defined, its execution triggers the invocation of respective extension service. Syntax & semantics of this service are further discussed in Specialized types section.

    This is an optional service and absence of its implementation does not impact content search ability in Content Picker. However, the Custom Actions feature in Centralized Offer Management becomes unavailable for the respective system if this service is not implemented.

  • Object event interpreter service

    Event interpreter service is invoked whenever there is an incoming HTTP request on the webhook exposed by the respective event interpreter service. As of release 12.1.1, Unica Centralized Offer Management can listen to the events received via such webhooks and synchronize Offers using the associated content details. For more information on auto synchronization of Offers, see Unica Centralized Offer Management administrator guide.

    This is an optional service and absence of its implementation does not impact content searchability or any other feature in Content Picker. However, if respective external system is interested in publishing content lifecycle events to Unica products and/or Unica features associated with content events are desired, then implementation of this service is necessary to aid event processing.