App-Engine

Learn how to embed static or hosted content within Bipsync's navigation hierarchy.

App-Engine allows clients to add any number of custom context areas to the Bipsync RMS web app. These areas could be links to content, or even pages of content. The content could be within Bipsync, or even hosted externally in another application or website.

To start, please reach out to Bipsync support to enable the App-Engine via the Bipsync Setup App. They will also be able to provide you with API credentials if you do not have them already.

After enablement, the following API endpoints will be made available to you:

MethodEndpointDescription
GET/v1/pageRetrieves all custom pages
POST/v1/pageCreates, updates and deletes custom pages

The body of both requests/responses are essentially the same, allowing easy manipulation of the interface during setup. The layout is as follows:

{ 
  "external-page-type" : {
    "name" : "External Content",
    "usergroups" : [ "Everyone" ],
    "items" : {
      "external-page" : {
        "name" : "External Page",
        "usergroups" : [ "Everyone" ],
        "link" : "https://google.com",
        "target" : "_blank"
      }
    }  
  }
}

The above is an example of a single extra section in the interface, containing one external link to google.com.

🚧

Note that both objects above contain usergroups=Everyone. This setting defines the users who have the permission to see these custom navigations. This could be used to create different navigations for different groups of users, or to iterate and test changes to configured items.

external-page-type and external-page are your identifiers, which can be used in subsequent requests to update and/or delete those items.

For example if you wanted to change the name of the section and remove the page you would send the following request:

{ 
  "external-page-type" : {
    "name" : "Updated Content",
    "usergroups" : [ "Everyone" ],
    "items" : {
      "external-page" : {
        "delete" : true
      }
    }  
  }
}
📘

You can update any number of properties for any number of items, in addition to deleting some, in a single API request. This allows you to maintain the full state of your custom navigation.

Here is a list of the different properties you can set for both page-types and pages:

Page types

PropertyTypeDescription
namestringThe display name of the section
iconstringIcon to display for the section, for a list of available icons see here
ordernumberA number which defines the order in which to sort the item in the navigation. A value greater than 100 will place the item below the "Properties" context.
usergroupsarray of usergroup namesThis is a required/explicit property to control visibility
itemsmap of page optionsSee below

Pages

PropertyTypeDescription
namestringName of the page in the interface
iconstringIcon to display for the page. For a list of available icons see here.
ordernumberA number that defines the item's position in the sorted list.
usergroupsarray of usergroup namesThis is a required/explicit property to control visibility. It is not inherited from the page type.
linkstringMakes the page a simple link to relative (in-app) or absolute (external) content
targetstringUsed with the above to for example open the link in a new tab target= "_blank"
iframestringMakes the page an IFrame with the src attribute set to this property
htmlstringMakes the page a two-column custom HTML item
fullscreenbooleanCauses IFrame and HTML pages to be displayed in fullscreen, with the left navigation area collapsed.
itemsmap of page definitionsUse this property to nest pages underneath one another.

What’s Next