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:
| Method | Endpoint | Description |
|---|---|---|
| GET | /v1/page | Retrieves all custom pages |
| POST | /v1/page | Creates, 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
| Property | Type | Description |
|---|---|---|
| name | string | The display name of the section |
| icon | string | Icon to display for the section, for a list of available icons see here |
| order | number | A 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. |
| usergroups | array of usergroup names | This is a required/explicit property to control visibility |
| items | map of page options | See below |
Pages
| Property | Type | Description |
|---|---|---|
| name | string | Name of the page in the interface |
| icon | string | Icon to display for the page. For a list of available icons see here. |
| order | number | A number that defines the item's position in the sorted list. |
| usergroups | array of usergroup names | This is a required/explicit property to control visibility. It is not inherited from the page type. |
| link | string | Makes the page a simple link to relative (in-app) or absolute (external) content |
| target | string | Used with the above to for example open the link in a new tab target= "_blank" |
| iframe | string | Makes the page an IFrame with the src attribute set to this property |
| html | string | Makes the page a two-column custom HTML item |
| fullscreen | boolean | Causes IFrame and HTML pages to be displayed in fullscreen, with the left navigation area collapsed. |
| items | map of page definitions | Use this property to nest pages underneath one another. |
Updated 7 months ago
