Skip to content

API Endpoints

The following API endpoints are needed for each hosted application for Union to communicate with. The paths for these endpoints are to be provided in the Manifest.

All product routes must contain the home page or default page of product so that user can be redirect to the product page when they hits product URL of Union.(finapps.ihsmarkit.com/product)

Endpoint Method Request Headers Request Body Response Body Required
feedback POST “authorization” “content-type” “union-version” Feedback N/A
logout POST “authorization” “content-type” “union-version” N/A N/A
menu GET “content-type” “union-version” N/A MenuItem[] Yes
messages GET “authorization” “content-type” “union-version” N/A Message[]
permissions GET “authorization” “content-type” “union-version” N/A Permission[]
routes GET “content-type” “union-version” N/A Route[] Yes
version GET “content-type” “union-version” N/A {[key: string]: string} Yes

Feedback

Property Type Description
comment string Optional comment left by user
emailAddress string Email address of user providing feedback
lastLocation string User’s location within Union at the time the feedback was provided
productKey string Unique application identifier
productName string Application name
rating number Optional rating of their experience. Values range between 1-5. 1 = Poor, 2 = Fair, 3 = Average, 4 = Good, 5 = Excellent
timeStamp Date Date/time feedback was provided
userAgent string User’s browser and operating system w/ versions
userName string User leaving feedback
userFullName string Full name of user leaving feedback
viewPort string Dimensions of user’s screen/browser
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
{
  "betaEnded" : false,
  "comment" : "Nice user experience!",
  "emailAddress" : "testuser@ihsmarkit.com",
  "lastLocation" : "wso/trades/add-trade",
  "rating" : 4,
  "productKey": "wso",
  "productName": "WSO Web",
  "timeStamp" : "2020 01-23 10:30 AM",
  "userAgent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36",
  "userName" : "testuser@ihsmarkit.com",
  "userFullName": "Test User",
  "viewPort" : "1596x1050"
}
Property Type Description
eventName string Name of an event to broadcast to a hosted application upon a menu items selection
iconClass string Font awesome class name to apply to the menu item’s icon. If not provided, an icon will be generated based on the label’s abbreviation
items MenuItem [] List of menu items to be nested below this menu item
label* string Label shown to user for this menu item
permissions (Permission string) []
permissionRequirement ‘Any’ ‘All’
popout PopoutConfig boolean
path string Union path to load when menu item is selected
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
{
  "label": "Trades",
  "iconClass": "fa fa-exchange",
  "items": [
    {
      "label": "Browse Trade",
      "path": "/trades"
    },
    {
      "label": "Add Trade",
      "path": "/trades/add-trade",
      "popout": true
    },
    {
      "eventName": "SwitchTradingAccount",
      "label": "Switch Trading Account"
    }
  ]
}

Permissions

Property Type Description
accessLevel* number Numeric value representing the level of access associated with permission. The higher the number, the greater the access.
name* string Name of the permission
1
2
3
4
{
  "name": "Search",
  "accessLevel": 1
}

PopoutConfig

Property Type Description
feature string Standard list of window features written as comma-separated “name=value” pairs and no whitespace. See here for full documentation.
replace boolean Specifies if the URL should be added as a new entry in the history list or replace the current entry.
target string Specifies the target attribute or window name
1
2
3
4
5
{
  "target": "_blank",
  "features": "status=0,toolbar=0,menubar=0,resizable=1,scrollbars=1,height=691,width=906",
  "replace": false
}

Routes

Property Type Description
contentPath* string Application path of content to be loaded
defaultRoute boolean Union will consider the first accessible route with having defaultRoute = true to be a user’s default route for that application Please note that default routes can not have route parameters
path* string User’s path to access resource in UnionPrefix parameter segments with colon
permissions (Permission string) []
permissionRequirement ‘Any’ ‘All’
popout PopoutConfig boolean
queryMap {[key: string]: string} Maps route segments from path to query string parameter expected on contentPath
title string Value used for page title and breadcrumb while the routed resource isstill loading. This value is generally overridden when the document’s title tag is set in the iframe. If not specified, a default value is derived from the path name
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
{
  "path": "search/:category",
  "title": "Search",
  "contentPath": "Pages/Search.aspx",
  "queryMap": {
    "category": "cat"
  },
  "permissions": [
    { "name": "Search", "accessLevel": 1 },
    "Admin"
  ],
  "permissionRequirement": "Any"
}