API
Enable external programs and users to connect to the IPFusion event stream and send commands to IPFusion Objects.
Introduction
The IPFusion API is a module installed alongside IPFusion Runtime. It allows external applications to connect and interact with IPFusion. This includes sending commands, querying the system for live states, and listening to the live event stream.
Installation
In order to use the IPFusion API, the API service must be installed and running as a Windows service on the Runtime Workstation you would like to expose to the API.
Setup
The Workstation must be configured to use the API before it is available to be used. This configuration option is found in Service Settings you can change the Username and Password that is used to authenticate with the API when Security is enabled.
. Check to enable each Workstation you want to have the API available. InUse
To use the API go to the docs URL. Make sure to replace {machinename}
with the
IP address or DNS name of the computer on which the API service is running.
Unsecured connection:
http://{machinename}:8080/docs
Secured connection:
https://{machinename}:8612/docs
The docs URL is a HTML UI view that contains the documentation on how to use the API. There are features in this page that are available to test the API when Runtime is running.
Unsecured connection:
http://{machinename}:8080/api
Secured connection:
https://{machinename}:8612/api
The /api URL is the main URL root for all API commands.
Unsecured connection:
http://{machinename}:8080/api/events
Secured connection:
https://{machinename}:8612/api/events
The events URL is a SignalR Hub as outlined in the docs. When opened, this end point will stream Runtime states of integrated systems and assets to the client.
Notes
- API Token based security can be enabled and disabled with the applicationsettings.json file. This uses the Authorization Header field with the token parameter.
- HTTP access can be disabled with the applicationsettings.json file. Setting
UseHTTPS to true will force an HTTPS connection.Note: The SSL certificate installed by default is self-signed. The certificate included in the API service installation expires 1000 years after installation. Using this certificate may result in warning when accessing the API. These warnings can be dismissed in order to use the certificate. If desired, you can replace it with a trusted certificate.
- HTTPS port can be modified with the applicationsettings.json file.
- When the Runtime is not running, the API service will return a 503 status code.
- When the Runtime reboots, the API cache of item state will be cleared and recreated.