FI Finnish
SE Swedish
FR French
PL Polish
DE German
US English (US)

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

English (US)
FI Finnish
SE Swedish
FR French
PL Polish
DE German
US English (US)
  • Log in
  • Home
  • Platform
  • ESS

ESS: Efecte Service Management connector

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Service Management
    Matrix42 Professional Solution Matrix42 Core Solution Enterprise Service Management Matrix42 Intelligence
  • Identity Governance and Administration (IGA)
    IGA overview IGA solution library
  • Platform
    ESM ESS2 ESS Efecte Chat for Service Management Integrations Add-ons
  • Release Notes for M42 Professional, IGA, Conversational AI
    2026.1 2025.3 2025.2 2025.1 2024.2 2024.1 2023.4 2023.3 2023.2 2023.1 2022.4 2022.3 Release Information and Policies
  • Other Material
    Terms & Documentation Guidelines Accessibility Statements
  • Services
+ More
    • Service Management

    • Identity Governance and Administration (IGA)

    • Platform

    • Release Notes for M42 Professional, IGA, Conversational AI

    • Other Material

    • Services

ESS: Efecte Service Management connector

Efecte Service Management connector in nutshell

With help of this connector Efecte Self-Service can

  • Create new Incidents & Service Requests in Efecte Service Management
  • Poll updates when Incidents & Service Requests are changed in Efecte Service Management (for example when request status is changed)
  • Poll and send rating data on knowledgebase articles in connection to Tips & Tricks
  • Poll and send rating data and comments in on new ideas in connection to Like My Idea
  • Poll dynamic user data from Efecte Service Management (MyServices)
  • Poll data to maintain service offer data up to data (Catalog items)
  • Send approval decisions for Visual Workflow Approvals in Efecte Service Management
  • Send feedback gathered from end-users to Efecte Service Management

Most of the functionality of the connector works automatically using the default values which are referred to all across this document.

This article describes the behavior of Efecte Service Management Connector in ESS version 2022.3 or newer.

Note

For two use cases Efecte Service Management actively sends data to Efecte Self-Service. These are the announcements on issues impacting many, and approvals for Visual Workflow Automation where the decision is expected to be made in the Efecte Self-Service. For all the rest, Efecte Self-Service is the active party. 

 

Supported templates

Out-of-the-box, there are two templates supported for the Efecte connector – Service Request (ServiceRequest) and Incident (incident). In case there is a need to support several templates, then multiple ESM connectors can be deployed for the tenant and the destination for requests can differ from the default. In this case, only one of the connectors may include the knowledge base and like my idea configuration – in case multiple connectors have either configured, the result set that will be used to display articles on home page is the one last fetched to Efecte Self-Service which may lead to confusing user experience especially with pointers to various sources inside ESM.

On the other hand, using a single template may be of interest. With proper configuration all requests can be directed to the desired template. However, pay attention to attribute codes and status values and means of potentially separating the different request types to avoid excess logs being generated through mismatching configurations.

ESM message format

Format of messages exchanged between ESS and ESM products is hardcoded.

Note: Multivalued fields for MyService feature are passed in CSV format inside xml tags.

 

 

 

Connection configuration

To configure connection for ESM use bean of class com.efecte.integration.connector.configuration.ConnectionConfiguration, as in the following example:

<bean id="connectionConfiguration" class="com.efecte.integration.connector.configuration.ConnectionConfiguration"> 
        <property name="url" value="https://xxxxxxxxx.efectecloud.com/api/itsm" />
        <property name="user" value="webapi-user" />
        <property name="password" value="xxxxxxxxxxxxxxxxxxxxxxxxxx" />
        <property name="connectionRequestTimeout" value="300" />
        <property name="connectTimeout" value="300" />
        <property name="socketTimeout" value="300" />
        <property name="acceptSelfSignedCertificates" value="false"/>
        <property name="allowAllHostnamesInCertificate" value="false"/>
   </bean>

Note! When multiple connectors are used, and some of them are referring to different connection configuration (such as different environment), they should have unique ID per connection configuration. In other words, make sure that you don’t have the same bean ID for two different connection configurations. This configuration applies when connecting to two different ESM environments from one ESS, so it might be a good idea to indicate the environment in the bean ID, e.g. 

bean id="connectionConfigurationEnvName”

This bean support following properties:

Name Default value Description
url http://efecte.company.com URL for ESM API
user webapi-user username
password   ESM API password
acceptSelfSignedCertificates false If “true” self signed certificates are accepted
allowAllHostnamesInCertificate false If “true” disables verification of server host name on certificates. This should be always set to false on production systems!
connectionRequestTimeout 300 Returns the timeout in seconds used when requesting a connection from the connection manager. A timeout value of zero is interpreted as an infinite timeout. A timeout value of zero is interpreted as an infinite timeout. A negative value is interpreted as undefined (system default).
connectTimeout 300 Determines the timeout in seconds until a connection is established. A timeout value of zero is interpreted as an infinite timeout. A negative value is interpreted as undefined (system default).
socketTimeout 300 Defines the socket timeout (SO_TIMEOUT) in seconds, which is the timeout for waiting for data or put differently, a maximum period inactivity between two consecutive data packets). A timeout value of zero is interpreted as an infinite timeout. A negative value is interpreted as undefined (system default).

Service Request configuration

Service request attributes mappings can be defined in connector-efecte.xml file. Sample configuration of all available options:

<bean id="connectorEfecte"
 class="com.efecte.integration.connector.efecte.EfecteConnector">
  <property name="serviceRequestAttributes">
   <bean class="com.efecte.integration.connector.configuration.ServiceRequestAttributes">
      <property name="templateCode" value="ServiceRequest"/>
      <property name="bundleTemplateCode" value="ServiceRequestBundle"/>
      <property name="folderCode" value="ServiceRequests"/>
      <property name="attachmentAttribute" value="RequestAttachments"/>
      <property name="statusAttribute" value="status"/>
      <property name="reopenReasonAttribute" value="reopen_reason"/> 
      <property name="creationDateAttribute" value="created"/>
      <property name="deadlineAttribute" value="deadline"/>
      <property name="updatedAttribute" value="updated"/>
      <property name="efecteIdAttribute" value="efecte_id"/>
      <property name="languageAttribute" value="Language"/>
      <property name="feedbackAttribute" value="rating"/>
      <property name="resolutionTextAttribute" value="resolution"/>
      <property name="supportPersonAttribute" value="support_person"/>
      <property name="serviceOfferingNameAttribute" value="ServiceOffering"/>
      <property name="serviceItemNameAttribute" value="ServiceItemName"/>
      <property name="serviceItemExternalIdAttribute" value="ServiceItem"/>
      <property name="priceAttribute" value="Price"/>
      <property name="monthlySubscriptionAttribute" value="MonthlySubscription"/>
      <property name="requestedForAttribute" value="RequestedFor"/>
      <property name="costCenterAttribute" value="CostCenter"/>
      <property name="deliveryAddressAttribute" value="DeliveryAddress"/>
      <property name="orderedByAttribute" value="OrderedBy"/>
      <property name="additionalInformationAttribute" value="AdditionalInformation"/>
      <property name="siteIDAttribute" value="SiteID"/>
      <property name="siteNameAttribute" value="SiteName"/>
      <property name="requestBundleAttribute" value="RequestBundle"/>
      <property name="requestBundleNameAttribute" value="RequestBundleName"/>
      <property name="orderedByEmailAttribute" value="OrderedBy:email"/>
      <property name="requestedForEmailAttribute" value="RequestedFor:email"/>
      <property name="commentAttribute" value="external_comments"/>
      <property name="reasonAttribute" value="user_reason"/>
      <property name="dedicatedApproverAttribute" value="DedicatedApprover"/>
      <property name="superiorApproverAttribute" value="approving_manager"/>
      <property name="totalPriceAttribute" value="totalPrice"/>
       <property name="quantityAttribute" value="quantity"/>
       <property name="totalMonthlySubscriptionAttribute"value="TotalMonthlySubscription"/>
      <property name="punchout" value="punchOutOrderId"/>
   </bean>
 </property>
 <!-- other configuration -->
</bean> 

Mapping for incidents can be adjusted using tenant admin UI, support channel configuration tab. Upon creating a new support channel, the default values can be observed in the configuration.

Detailed rules for processing service request properties are as follows:

Attribute name Description
integrationIdAttribute If present, upgrade of an existing service request will be performed (mapped in GeneralConfiguration bean, recommended not to be changed – defaults to WebShopId)
efecteIdAttribute If integrationIdAttribute is empty and there is no request in ESS with given efecteIdAttribute value new service request will be created; if request with given efecteIdAttribute value is present in ESS update of existing one will be executed
requestedForEmailAttribute A user with that email address must exist in organization information data in ESS. If it doesn't, the service request will be rejected with proper information in the ESS log file (sample log entry: Couldn't match user with email ... to user. Service request is not created for id ...)
orderedByEmailAttribute A user with matching email has to exist in organization information data. If it doesn't exist the service request will be rejected with proper information in the ESS log file. If value of the field is empty, requestedForEmailAttribute will be used instead
serviceItemExternalIdAttribute Service item with that Item ID has to exist and be valid (checks are also performed against working copy). If that condition isn't meet service request is rejected with proper information in ESS log file
serviceOfferingNameAttribute If set, the service request will be created with that name. If the attribute is not set, the service offer name will be copied from service offering found based on serviceItemExternalIdAttribute
itemNameAttribute If set, the service request will be created with that name. If the attribute is not set, the service item name will be copied from service item found base on serviceItemExternalIdAttribute
priceAttribute / monthlySubscriptionAttribute If set, the service request will be created with that price/monthly subscription fee. If the attribute is not set, attributes will be copied from service item found base on serviceItemExternalIdAttribute
additionalInformationAttribute If value of ESM's additional information attribute starts with "Description:", connector will take text after "Description:" part up to the end of line. If add info field doesn't start with "Description:" prefix, all content of attribute value will be processed
reasonAttribute Collects the value that the user has gave to the field named “Reason” in the order confirmation phase. By default, the value will be mapped to the ESM attribute code “user_reason”.
requestBundleAttribute The value of this attribute is unique to each bundle order in the ESS database. The value is mapped to the ESM attribute “RequestBundle”. Each bundle order may have one or more service request that each of them have own unique serviceItemExternalIdAttribute.
requestBundleNameAttribute The value of this attribute is the name of the guided offering. The value is mapped the ESM attribute “RequestBundleName”.

If the “Item quantity enabled” is selected for service offering, the following extra rules are processed for the service request:

Attribute name Description

quantityAttribute

 

The quantity information from the order in the ESS is sent to ESM attribute which code is quantity. The attribute type in the ESM shall be number.

totalPriceAttribute

 

The Total price of each service item order in the ESS is sent to ESM attribute which code is totalPrice. The attribute type in the ESM can shall be decimal number.

totalMonthlySubscriptionAttribute

 

The Total monthly subscription price of each service item order in the ESS is sent to ESM attribute which code is TotalMonthlySubscription. The attribute type in the ESM can shall be decimal number.

Note! Attributes listed above are the default values. In case these need to be changed, corresponding codes shall be introduced in the connector file.

The PunchOut functionality allows Efecte Self-Service users to use an external webshop for collecting items into their service request. The following attributes are needed in the connector for PunchOut functionality. Refer to the PunchOut Configuration Guide for further information.

Attribute name Description

totalPriceAttribute

 

See above

punchout

 

The punchout attribute’s punchOutOrderId code is used as an order identifier. It needs to have value before an approved order is sent to the PunchOut service provider.

Tracking connector

Tracking connector triggers the poll for updates from Efecte Service Management for both Incidents and Service Requests. Default domain mapping for incidents originating from ESM to ESS and service item mapping for service requests can be configured by setting following properties of EfecteTrackingConnector bean:

Name Default value Description
defaultIntegrationCategoryId DEFAULT_CATEGORY Default domain mapping for incidents
defaultIntegrationServiceItemId DEFAULT_SERVICE_ITEM Default service item mapping for service requests
pollNewServiceRequestEnabled false Enables polling of new Service Requests from ESM
pollNewIncidentEnabled true If set to false, it does not fetch incidents with empty uuid (the ones that are created in ESM and not in ESS)

Note! By default, incidents are polled and not service requests. For polling the service requests as well, the Efecte Tracking Connector must be introduced to the connector file.

For the new service request polling to work correctly, following attributes are mandatory on ESM side:

  • Request identifier conveyed in efecteIdAttribute, default ‘efecte_id’ 
  • Status conveyed in statusAttribute.default ‘status’
  • Customer identifier conveyed in requestedForEmailAttribute default ‘RequestedFor:email’
  • Item ID conveyed in serviceItemExternalIdAttribute, default ‘ServiceItem’ - if value of this attribute is empty, connector will take the value from defaultIntegrationServiceItemId in tracking connector configuration

In order for the new incident polling to work correctly, following attributes are mandatory on ESM side:

  • Incident identifier conveyed in efecteIdAttribute, default ‘efecte_id’ 
  • Status conveyed in the statusAttribute.default ‘status’
  • Customer identifier conveyed in customer email attribute, default customer:email
  • Category ID conveyed in integrationCategoryAttribute, default WebShopCategory - if value of this attribute is empty, connector will take the value from defaultIntegrationCategoryId in tracking connector configuration (A category with the category ID needs to be published in ESS)

Polling frequency can be adjusted using 'updateFrequency' and 'errorUpdateFrequency' properties of class 'EfecteTrackingConnector'. Values are expressed in configurable units.

Note! There is very seldom a need to change 'updateQuerySlidingWindowTime' from default. Polling data will always include all datacards that are changed within the time period, and in the longer time period same tickets are return over and again to the result set. Already on the first go, the ticket will be updated in ESS. Making this window wide will potentially slow-down operations in ESS as well as ESM with no extra benefit gained.

Name Default value Description
updateFrequency 10 Refresh period when data was fetched successfully
updateFrequencyUnit MINUTES Refresh period frequency unit (successful)
errorUpdateFrequency 10 Refresh period when data fetch has failed
errorUpdateFrequencyUnit MINUTES Refresh period frequency unit (error)

When connector runs for the first time it will fetch requests and incidents since last 24h. This time can be adjusted by configuring properties initialQuerySlidingWindowTime and initialQuerySlidingWindowUnit.

Other default values for the Efecte Tracking Connector are:

Name Default value Description
updateQuerySlidingWindowTime 20 From which period the data is being fetched, comparing to ESM last update time (e.g. from last 20 minutes)
updateQuerySlidingWindowUnit MINUTES Refresh period frequency unit (successful)
initialQuerySlidingWindowTime 1 From which period the data is being fetched in the first run, comparing to ESM last update time (e.g. from last 24 hours)
initialQuerySlidingWindowUnit DAYS Refresh period frequency unit (error)
serviceRequestPollCondition   The default condition for polling service request updates
incidentPollCondition   The default condition for polling incident updates

 

Configuration example:

 <property name="efecteTrackingConnector">
     <bean class="com.efecte.integration.connector.efecte.EfecteTrackingConnector">
         <property name="updateQuerySlidingWindowTime" value="20"/>
         <property name="updateQuerySlidingWindowUnit" value="MINUTES"/>
         <property name="initialQuerySlidingWindowTime" value="1"/>
         <property name="initialQuerySlidingWindowUnit" value="DAYS"/>
         <property name="updateFrequency" value="10" />
         <property name="updateFrequencyUnit" value="MINUTES" />
         <property name="errorUpdateFrequency" value="10" />
         <property name="errorUpdateFrequencyUnit" value="MINUTES" />
         <property name="defaultIntegrationServiceItemId" value="DEFAULT_SERVICE_ITEM" />
         <property name="pollNewServiceRequestEnabled" value="false" />
         <property name="defaultIntegrationCategoryId" value="DEFAULT_EFECTE_CATEGORY"/>
         <property name="serviceRequestPollCondition" value="and $creator$ = 'WebAPI'"/>
         <property name="incidentPollCondition" value="and $creator$ = 'WebAPI'"/>
         <property name="pollNewIncidentEnabled" value="true" />
      </bean>
</property>

If 'updateQuerySlidingWindowTime' property is not configured in tracking connector, value of 'pollingInterval' multiplied by two (2) will be used as default sliding window size. 

 

Feedback form

Feedback form is supported by default in ESM connector. Attributes used for mapping to ESM fields can be configured by adjusting properties of bean EfecteFeedbackFormConnector class and in the actual form through the admin UI, Feedback management tab. Following properties are supported:

Name Default value Description
templateCode feedback_management Feedback form template code
folderCode feedback Feedback form folder
efecteIdAttribute ticket_id Name of attribute that contains ticket ID
customerAttribute customer Name of attribute that contains customer reference
ratingAttribute ticket_rating Name of attribute that contains numerical rating

Example configuration of EfecteFeedbackFormConnector inside EfecteConnector in connector-efecte.xml:

<bean id="defaultConnectorEfecte" class="com.efecte.integration.connector.efecte.EfecteConnector">
  <property name="connectionConfiguration" ref="connectionConfiguration" />
  <property name="feedbackFormConnector">
  <bean class="com.efecte.integration.connector.efecte.EfecteFeedbackFormConnector">
   <property name="feedbackAttributes">
    <bean class="com.efecte.integration.connector.configuration.FeedbackAttributes">
     <property name="templateCode" value="feedback_management" />
     <property name="folderCode" value="feedback" />
     <property name="efecteIdAttribute" value="ticket_id" />
     <property name="customerAttribute" value="customer" />
     <property name="ratingAttribute" value="ticket_rating" />
    </bean>
   </property>
  </bean>
 </property>
</bean>

Note

For giving feedback to issues that are first recorded to the Efecte Service Management tool, please make sure issues are first polled to the Efecte Self-Service portal through tracking connector. The ESS needs to have the issue in its database before feedback can be given.

 

Tips & Tricks

This feature allows for importing Knowledge Base from Efecte Service Management system. For more details kindly refer to ConfiguringTipsTricks guide for end-to-end configuration. 

Integration Suite configuration

All configuration files for Integration Suite are located in /etc/integration-hub/ directory and its subdirectories. Tenant specific connectors are located under tenant-configs/{tenant_name} subdirectories. 

To configure support for "Tips & Tricks" in Integration Suite please edit connector-efecte.xml file. Add bean of class "EfecteKnowledgeBaseConnector" and provide it with ESM connection configuration bean.

<bean id="connectionConfiguration"
 class="com.efecte.integration.connector.configuration.ConnectionConfiguration">
   <property name="url" value=" http://efecte.efecte.com/efecte " />
   <property name="user" value="webapi-user" />
   <property name="password" value="PASSWORD" />
</bean>
 
<bean id="efecteKnowledgeBaseConnector" class="com.efecte.integration.connector.efecte.EfecteKnowledgeBaseConnector">
 <property name="connectionConfiguration" ref="connectionConfiguration"/>
</bean>

Note! It is a good practice to share connection configuration between Efecte connectors, so following code (commonly used in configurations):

<bean id="defaultConnectorEfecte" class="com.efecte.integration.connector.efecte.EfecteConnector">
 <property name="connectionConfiguration">
  <bean class="com.efecte.integration.connector.configuration.ConnectionConfiguration">
   <property name="url" value="http://efecte.company.com" />
   <property name="user" value="webapi-user" />
   <property name="password" value="PASSWORD" />
  </bean>
 </property>
</bean>

can be replaced with:

<bean id="defaultConnectorEfecte" class="com.efecte.integration.connector.efecte.EfecteConnector">
 <property name="connectionConfiguration" ref="connectionConfiguration"/>
</bean>

Configuring knowledge base template parameters

In order to adjust names of attributes used in ESM for Knowledge Base support, template parameters can be configured by adding property knowledgeBaseAttributes to efecteKnowledgeBaseConnector bean. Otherwise default settings will be used.

<bean id="efecteKnowledgeBaseConnector" class="com.efecte.integration.connector.efecte.EfecteKnowledgeBaseConnector">
  <property name="connectionConfiguration" ref="connectionConfiguration"/>
  <property name="knowledgeBaseAttributes" >
    <bean id="knowledgeBaseAttributes" class="com.efecte.integration.connector.configuration.KnowledgeBaseAttributes">
      <property name="templateCode" value="knowledge_base_article"/>
      <property name="pollingFolderCode" value="knowledge_base"/>
      <property name="updateReadStatsFallbackFolderCode" value="knowledge_base"/> 
      <property name="ratingFallbackFolderCode" value="knowledge_base"/>
      <property name="publishedInEssAttr" value="published_in_self_service"/>
      <property name="publishedInEssValue" value="Yes"/>
      <property name="deletedAttr" value="deleted"/>
      <property name="nameAttr" value="solution_name"/>
      <property name="descriptionAttr" value="solution_description"/>
      <property name="categoryAttr" value="category"/>
      <property name="adGroupsAttr" value="ad_groups"/>
      <property name="efecteIdAttr" value="efecte_id"/>
      <property name="updatedAttr" value="updated"/>
      <property name="ratingAttr" value="rating"/>
      <property name="rankingAttr" value="rating"/>
      <property name="readStatsAttr" value="read_count"/>
      <property name="keywordsAttr" value="solution_keywords"/>
      <property name="keywordsSeparator" value=","/> 
    </bean>
  </property>
</bean>

Following properties of KnowledgeBaseAttributes class bean are supported:

Name Default value Description
templateCode knowledge_base_article Knowledge Base template code
pollingFolderCode   if pollingFolderCode is defined then articles are polled only from this folder.
 If pollingFolderCode is NOT defined then articles are polled without folder limitation.
ratingFallbackFolderCode knowledge_base Name of fallback folder code used when saving vote.
updateReadStatsFallbackFolderCode knowledge_base Name of fallback folder code used when updating read stats.
publishedInEssAttr
published_in_self_service
Name of attribute, indicating if article should be fetch to ESS
publishedInEssValue
Yes
Value of attribute named in publishedInEssAttr indicating that article should be fetched.
deletedAttr
deleted
Name of attribute, indicating if KB article is deleted
nameAttr
solution_name
Name of attribute that contains name of KB article
descriptionAttr
solution_description
Name of attribute that contains content of KB article
categoryAttr
category
Name of attribute that contains category of KB article
adGroupsAttr
ad_groups
ESM attribute that is used for Tips & Tricks filtering based on the EIM role of logged user
efecteIdAttr
efecte_id
Name of attribute that contains efecte id of KB article
updatedAttr
updated
Name of attribute that contains last update date of KB article
ratingAttr
rating
Name of attribute, indicating where knowledge base feedback should be stored
rankingAttr
rating
Name of attribute, indicating where knowledge base ranking is stored
readStatsAttr
read_count
Name of attribute that contains read statistic of KB article
keywordsAttr
solution_keywords
Name of the attribute that contains the keywords of a KB article
keywordsSeparator
,
If a KB article has multiple keywords, this keyword separator must be used

Configuring "Tips & Tricks" update frequency

By default, if no error occurs, knowledge base will be updated every 2 hours. If error occurs, refresh time is changed to 2 minutes.

Scheduling start delay (time after which connector will start to work measured since integration hub start) can be configured using property startUpDelay for connectorScheduler bean in hub.xml file.

Name Default value Description
startUpDelay 20000 Time (in miliseconds) after which first fetch is done (default: 20 seconds)

Example from hub.xml:

<bean name="connectorScheduler" class="com.efecte.integration.container.ConnectorScheduler">
   <property name="taskScheduler" ref="taskScheduler"/>
    <property name="startUpDelay" value="20000"/>
</bean> 

Update and error update frequencies can be configured in connector xml configuration (connector-efecte.xml). Please use following properties:

Name Default value Description
updateFrequency 2 Refresh period when knowledge base was fetch with success (default: 2 hours)
updateFrequencyUnit HOURS Refresh period frequency unit (successful)
errorUpdateFrequency 2 Refresh period when knowledge base fetch fails (default: 2 minutes)
errorUpdateFrequencyUnit MINUTES Refresh period frequency unit (error)

Example from connector-efecte.xml:

<bean id="efecteKnowledgeBaseConnector" class="com.efecte.integration.connector.efecte.EfecteKnowledgeBaseConnector">
  <property name="connectionConfiguration" ref="connectionConfiguration"/>
  <property name="updateFrequency" value="30"/>
  <property name="updateFrequencyUnit" value="SECONDS"/>
</bean>

Like My Idea

This feature allows for displaying and commenting ideas stored in Efecte Service Management system.

All configuration files for Integration Suite are located in /etc/integration-hub/ directory and its subdirectories. Tenant specific connectors are located under tenant-configs/{tenant_name} subdirectories.

To configure support for "Like My Idea" in Integration Suite please edit connector-efecte.xml file. Add "http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd" schema locations to main beans definition.

<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
 xsi:schemaLocation="
 http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
 http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd">

Add "annotation-config" element and bean of class "EfecteLikeMyIdeaConnector" and provide it with ESM connection configuration bean. Also add one bean of type "EfecteConnectorContext".

<bean id="efecteLikeMyIdeaConnector" class="com.efecte.integration.connector.efecte.EfecteLikeMyIdeaConnector" autowire="constructor">
 <property name="connectionConfiguration" ref="connectionConfiguration"/>
 <property name="likeMyIdeaAttributes" >
  <bean id="likeMyIdeaAttributes" class="com.efecte.integration.connector.configuration.LikeMyIdeaAttributes">
   <property name="nameAttr" value="demand_name"/>
   <property name="ratingFallbackFolderCode" value="ideas"/>
   <property name="descriptionAttr" value="demand_details"/>
   <property name="efecteIdAttr" value="efecte_id"/>
   <property name="createdAttr" value="created"/>
   <property name="likesAttr" value="likes"/>
   <property name="dislikesAttr" value="dislikes"/>
   <property name="templateCode" value="ideas"/>
   <property name="pollingFolderCode" value="ideas"/>
   <property name="deletedAttr" value="deleted"/>
   <property name="commentsAttr" value="comment"/>
   <property name="publishedInEssAttr" value="publish_for_rating" />
   <property name="publishedInEssValue" value="Yes" />
  </bean>
 </property>
</bean> 

Following properties of LikeMyIdeaAttributes class bean are supported:

Name Default value Description
templateCode demand_management_eng Like My Idea template code
pollingFolderCode ideas if pollingFolderCode is defined then ideas are polled only from this folder. If pollingFolderCode is NOT defined then ideas are polled without folder limitation.
ratingFallbackFolderCode ideas Name of fallback folder code used when saving vote.
publishedInEssAttr
publish_for_rating
Name of attribute, indicating if article should be fetch to ESS
publishedInEssValue
Yes
Value of attribute named in publishedInEssAttr indicating that article should be fetched.
deletedAttr
deleted
Name of attribute, indicating if idea is deleted
created
created
Name of attribute containing creation date
nameAttr
demand_name
Name of attribute that contains name of idea
descriptionAttr
demand_details
Name of attribute that contains content of idea
efecteIdAttr
efecte_id
Name of attribute that contains efecte id of idea
likesAttr
likes
Name of attribute containing number of likes
dislikesAttr
dislikes
Name of attribute containing number of dislikes
commentsAttr
comment
Name of attribute that contains comments

Configuring "Like My Idea" update frequency

By default, if no error occurs, "like my ideas" will be updated every 2 hours. If error occurs, refresh time is changed to 2 minutes.

Scheduling start delay (time after which connector will start to work measured since integration hub start) can be configured using property startUpDelay for connectorScheduler bean in hub.xml file. Please observe instructions in Tips & Tricks section. 

Update and error update frequencies can be configured in connector xml configuration (connector-efecte.xml). Please use following properties:

Name Default value Description
updateFrequency 2 Refresh period when Ideas fetched with success (default: 2 hours)
updateFrequencyUnit HOURS Refresh period frequency unit (successful)
errorUpdateFrequency 2 Refresh period when Idea fetching fails (default: 2 minutes)
errorUpdateFrequencyUnit MINUTES Refresh period frequency unit (error)

Example from connector-efecte.xml:

<bean id="efecteLikeMyIdeaConnector" class="com.efecte.integration.connector.efecte.EfecteLikeMyIdeaConnector">
 <property name="connectionConfiguration" ref="connectionConfiguration"/>
 <property name="updateFrequency" value="30"/>
 <property name="updateFrequencyUnit" value="SECONDS"/>
</bean> 

My Services

My Services is a common name for set of integration mechanisms enabling external systems to dynamically modify content of catalog that is visible to users.

Defining MyServices Fields

  1. Go to ESS admin page -> Integrations -> External data fields
  2. Press Add MyServices field button
  3. Enter configuration
    • Field name - enter name that will be used as alias for this MyServices field
    • Data from - select Efecte Service Management connector
    • Template data from Efecte Service Management mapped to MyServices field (Login to Efecte Service Management -> Administration -> Templates -> select template)
      • Folder code – optional, limits the elements to be retrieved to defined folder 
      • Template code - fill with use value from Template code
      • Name attribute code - code of attribute used as name (this attribute may be visible to user)
      • Technical ID attribute code - code of attribute used as DataCard identifier (should be marked as Primary attribute in ESM)
  • User attribute code - reference to template describing user associated with this template (target template needs to have an email attribute for user associations to work correctly)
  1. Press Update button - if there are no errors, in MyServices field elements table you should see names of DataCards from Efecte Service Management 
    1. You can verify this by looking at a table with DataCards associated with selected template in ESM

My Services & offering catalog

MyService entry as source for Service Item IDs

  1. On admin page, open Services tab and select Service Item in a Service Offer
  1. In Item properties, open External Data Link drop-down and select name of External Data field
  2. From 'Item ID' drop-down select the element you need.

ID of selected element will be used as ItemID when users are placing orders for the given item.

Associations between Users and DataCards

Connector is not only responsible for retrieval of DataCards information, but also for:

  • tracking associations between DataCards and users
  • altering said associations

In order to use this functionality:

  1. On admin page, open Service and select Service Item
  1. In Service Item properties, open MyServices Link drop-down and select name of MyServices field
  1. From Sub-itemsdrop-down select:
    1. User using - in this case user will be presented with a list of DataCards he is associated with
  2. User not using - in this case user will be presented with a list of DataCards he is not associated with

Submitting order for Service Item will result in

  1. Removing
  2. Adding

association between user placing order and DataCard

Catalogs items

Following ESM attribute data types are supported when configuring catalog items

Field name ESM attribute type
Technical ID String
Name String
Model String
Information page String
Price Decimal Number
Monthly subcription Decimal Number

Connector sample

<beans xmlns="http://www.springframework.org/schema/beans"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
    <bean id="connectionConfiguration" class="com.efecte.integration.connector.configuration.ConnectionConfiguration">
         <property name="url" value="https://xxxxxxxxx.efectecloud.com/api/itsm" />
         <property name="user" value="WebAPI" />
         <property name="password" value="xxxxxxxxxxxxxxxxxxxxxxxxxx" />
         <property name="connectionRequestTimeout" value="300" />
         <property name="connectTimeout" value="300" />
         <property name="socketTimeout" value="300" />
         <!--property name="acceptSelfSignedCertificates" value="true"/>
         <property name="allowAllHostnamesInCertificate" value="true"/-->
     </bean>
<bean id="defaultConnectorEfecte" class="com.efecte.integration.connector.efecte.EfecteConnector">
         <property name="connectionConfiguration" ref="connectionConfiguration" />
        <!-- property name="generalConfiguration"> NOT RECOMMENDED TO BE CHANGED
             <bean class="com.efecte.integration.connector.configuration.GeneralConfiguration">
                 <property name="dateTimeFormat" value="yyyy-MM-dd HH:mm:ss z"/>
                 <property name="integrationIdAttribute" value="WebShopId"/>
                <property name="integrationCategoryAttribute" value="WebShopCategory"/>
             </bean>
         </property -->
        <!-- property name="serviceRequestAttributes">
           <bean class="com.efecte.integration.connector.configuration.ServiceRequestAttributes">
              <property name="templateCode" value="ServiceRequest"/>
              <property name="bundleTemplateCode" value="ServiceRequestBundle"/>
              <property name="folderCode" value="ServiceRequests"/>
              <property name="attachmentAttribute" value="RequestAttachments"/>
              <property name="statusAttribute" value="status"/>
              <property name="reopenReasonAttribute" value="reopen_reason"/> 
              <property name="creationDateAttribute" value="created"/>
              <property name="deadlineAttribute" value="deadline"/>
              <property name="updatedAttribute" value="updated"/>
              <property name="efecteIdAttribute" value="efecte_id"/>
              <property name="languageAttribute" value="Language"/>
              <property name="feedbackAttribute" value="rating"/>
              <property name="resolutionTextAttribute" value="resolution"/>
              <property name="supportPersonAttribute" value="support_person"/>
              <property name="serviceOfferingNameAttribute" value="ServiceOffering"/>
              <property name="serviceItemNameAttribute" value="ServiceItemName"/>
              <property name="serviceItemExternalIdAttribute" value="ServiceItem"/>
              <property name="priceAttribute" value="Price"/>
              <property name="monthlySubscriptionAttribute" value="MonthlySubscription"/>
              <property name="requestedForAttribute" value="RequestedFor"/>
              <property name="costCenterAttribute" value="CostCenter"/>
              <property name="deliveryAddressAttribute" value="DeliveryAddress"/>
              <property name="orderedByAttribute" value="OrderedBy"/>
              <property name="additionalInformationAttribute" value="AdditionalInformation"/>
              <property name="siteIDAttribute" value="SiteID"/>
              <property name="siteNameAttribute" value="SiteName"/>
              <property name="requestBundleAttribute" value="RequestBundle"/>
              <property name="requestBundleNameAttribute" value="RequestBundleName"/>
              <property name="orderedByEmailAttribute" value="OrderedBy:email"/>
              <property name="requestedForEmailAttribute" value="RequestedFor:email"/>
              <property name="commentAttribute" value="external_comments"/>
              <property name="reasonAttribute" value="user_reason"/>
              <property name="dedicatedApproverAttribute" value="DedicatedApprover"/>
              <property name="superiorApproverAttribute" value="approving_manager"/>
              <property name="totalPriceAttribute" value="totalPrice"/>
              <property name="quantityAttribute" value="quantity"/>
              <property name="totalMonthlySubscriptionAttribute" value="TotalMonthlySubscription"/>
          </bean>
      </property -->
     <!-- property name="approvalResponseAttributes"> NOT RECOMMENDED TO BE CHANGED
          <bean class="com.efecte.integration.connector.configuration.ApprovalResponseAttributes">
              <property name="templateCode" value="approval"/>
              <property name="folderCode" value="approvals"/>
              <property name="efecteId" value="efecte_id"/>
              <property name="actualApprover" value="ActualApprover"/>
              <property name="approvalDecision" value="ApprovalDecision"/>
              <property name="reason" value="Reason"/>
              <property name="esmApprovedCode" value="approved"/>
              <property name="esmRejectedCode" value="rejected"/>
          </bean>
      </property -->
     <!-- property name="efecteTrackingConnector">
          <bean class="com.efecte.integration.connector.efecte.EfecteTrackingConnector">
              <property name="updateQuerySlidingWindowTime" value="20"/>
              <property name="updateQuerySlidingWindowUnit" value="MINUTES"/>
              <property name="initialQuerySlidingWindowTime" value="1"/>
              <property name="initialQuerySlidingWindowUnit" value="DAYS"/>
              <property name="updateFrequency" value="10" />
              <property name="updateFrequencyUnit" value="MINUTES" />
              <property name="errorUpdateFrequency" value="10" />
              <property name="errorUpdateFrequencyUnit" value="MINUTES" />
              <property name="defaultIntegrationServiceItemId" value="DEFAULT_SERVICE_ITEM" />
              <property name="pollNewServiceRequestEnabled" value="false" />
             <property name="defaultIntegrationCategoryId" value="DEFAULT_EFECTE_CATEGORY"/>
              <property name="serviceRequestPollCondition" value="and $creator$ = 'SefServicePortal'"/>
              <property name="incidentPollCondition" value="and $creator$ = 'Webshop'"/>
          </bean>
      </property -->
     <!-- property name="feedbackFormConnector">
           <bean class="com.efecte.integration.connector.efecte.EfecteFeedbackFormConnector">
              <property name="feedbackAttributes">
                     <bean class="com.efecte.integration.connector.configuration.FeedbackAttributes">
                         <property name="templateCode" value="feedback_management" />
                         <property name="folderCode" value="feedback" />
                         <property name="efecteIdAttribute" value="ticket_id" />
                         <property name="customerAttribute" value="customer" />
                         <property name="ratingAttribute" value="ticket_rating" />
                     </bean>
               </property>
           </bean>
       </property --> 
     </bean>
<bean id="efecteKnowledgeBaseConnector" class="com.efecte.integration.connector.efecte.EfecteKnowledgeBaseConnector">
    <property name="connectionConfiguration" ref="connectionConfiguration"/>
    <property name="knowledgeBaseAttributes" >
           <bean id="knowledgeBaseAttributes" class="com.efecte.integration.connector.configuration.KnowledgeBaseAttributes">
                 <property name="templateCode" value="knowledge_base_article"/>
                 <property name="pollingFolderCode" value="knowledge_base"/>
                 <property name="updateReadStatsFallbackFolderCode" value="knowledge_base"/>
                 <property name="ratingFallbackFolderCode" value="knowledge_base"/>
                 <property name="publishedInEssAttr" value="published_in_self_service"/>
                 <property name="publishedInEssValue" value="Yes"/>
                 <property name="deletedAttr" value="deleted"/>
                 <property name="nameAttr" value="solution_name"/>
                 <property name="descriptionAttr" value="solution_description"/>
                 <property name="categoryAttr" value="category"/>
                 <property name="efecteIdAttr" value="efecte_id"/>
                 <property name="updatedAttr" value="updated"/>
                 <property name="ratingAttr" value="rating"/>
                 <property name="rankingAttr" value="rating"/>
                 <property name="readStatsAttr" value="read_count"/>
                 <property name="keywordsAttr" value="solution_keywords"/>
                 <property name="keywordsSeparator" value=","/>
             </bean>
        </property>
    </bean>
</beans>

    

service connector service ess

Was this article helpful?

Yes
No
Give feedback about this article

Table of Contents

Related Articles

  • ESS: Configuring Tips & tricks
  • ESS: Configuring feedback management
  • ESS: Efecte Identity Management Connector

Copyright 2026 – Matrix42 Professional.

Matrix42 homepage


Knowledge Base Software powered by Helpjuice

0
0
Expand