Shadow API (Proxy API to SIA)
How to utilize the internal API of SIA remotely using the Shadow API
Introduction
ShadowAPI is a tool that allows SIA to expose its internal API using the MQTT protocol as a way to forward requests.
It can help especially in situations where the user wants to access the API and SIA is running behind a firewall, or an environment with restricted HTTP access. Hence acting as a API proxy forwarder which allows remote access to the API.
Description
In order to make use of the ShadowAPI, a MQTT Broker is required to which SIA needs to be able to connect to, either in the local network or the internet.
The MQTT broker configuration can be set on the SIA Web interface, under the tools section.
After setting up the MQTT broker fields, a connection to it should be successful.
Then, any queries can be sent to the MQTT broker (in a specific format) in order to interface with the SIA API. The ShadowAPI will listen to the MQTT broker, receive the query, process it and finally, return a response to the Broker.
There are 2 main types of channels (topics). One topic which is used by the client to send HTTP requests meant for the SIA API and another topic for the corresponding responses.
Every request reflects a message format which is described ShadowAPI developer section. Responses follow the same exact format.