OpenControl API v1 for Solstice
The OpenControl protocol supports third-party integration with Solstice Pods through a simple RESTful API. OpenControl can be an important component in a Solstice deployment because it allows integrators and installers to more deeply integrate Solstice with existing room infrastructure. For example, it can be used to monitor the status of a Solstice Pod, capture usage statistics, and configure endpoints. OpenControl exposes much of the functionality found in the Solstice Dashboard through a straightforward communications protocol that can be read/written both by humans and machines. Creative uses of the API include automatically emailing IT administrators when a Pod’s new settings do not meet enterprise security standards and enabling dynamic switching between input sources for digital signage.
OpenControl uses HTTP GET and POST commands to receive and send data to a Solstice Pod. The approach ensures that the API is composed of simple transactions that can be sent to a Pod without requiring complex management of state by a 3rd party developer. Any language, on any device, that can issue HTTP GET and POST commands to the appropriate URLs of the Solstice Pod, then, can be integrated into a Solstice deployment.
What is Required to use the OpenControl API?
A Solstice Pod with an Enterprise Edition license or Solstice Windows Software Display. Note that the Pod and Windows Display respond differently to different commands and that some commands are Pod or Windows only; see command list for details.
A client platform for issuing commands to the Solstice Pod.
A network connection between the client and Solstice Pod.
Example Uses of the OpenControl API
Capturing statistical usage data periodically and storing that data in a third-party database for analytics.
Integrating configuration options into a third-party IT dashboard suite, allowing IT dashboards to incorporate status information about a Solstice deployment.
Clearing the screen of posted content or booting users from a Solstice session from in-room control panels.
Displaying information about a Solstice session – for example the Session Key – on a control panel or second display.
Updating the Solstice Pod splash-screen messaging from a third-party application.
The OpenControl communications protocol uses JSON structures to exchange information between the Solstice Pod and any number of clients. The protocol uses port 80 or 443. Solstice Pods receive request records and respond to requests by either carrying out an action (i.e. modifying configuration, performing an action) or by responding with a JSON response.
OpenControl clients can only communicate with Enterprise Edition Solstice Pods. Standard Solstice Pods (i.e. non-Enterprise Edition) need to be upgraded to Enterprise Edition before using the OpenControl API. The figure below depicts the main components needed to implement OpenControl.
OpenControl operates over existing TCP/IP network infrastructure to allow third-party client platforms to control and query Solstice endpoints. The protocol is based on a REST architecture that encapsulates communication into independent GET/POST events, sent to particular URLs on the Solstice Pods, each of which result in a JSON formatted response.