Reverse API
Overview
Reverse API Tools - Beta
ProVision's Reverse API calls and UI elements allow for integration with outside APIs to improve workflow and create custom display content. In the ProVision user interface, the Reverse API page allows for endpoints to be built and provides a text editor to create presentation JavaScript commands. This JavaScript presentation code is then displayed in the Reverse API Gadget.
Using the ProVision Reverse API (rAPI), you can perform these same actions and customize to meet your specific needs outside of the ProVision UI.
API Call Formatting
Reverse API (rAPI) calls are made to hit a user-defined URL or command line program. If the rAPI type is set to 'external,' the system makes a HTTP request. If the rAPI type is set to 'local', it executes the call on the command line of the local machine. In both cases the call is first customized with the attributes of the resource supplied to the execute function. This allows a single rAPI endpoint to serve a wide array of individual resources, fetching only information relevant to that particular resource without having to store anything locally.
rAPI calls are formatted thusly:
http://observium.tcp0.com/graph.php?height=200&width=265&type=device_bits&legend=no&username=api&password=password&device={observium-id}
The interesting part about this URL is the bit in curly-braces: {observium-id}. When this call is made, the system decodes the URL by searching for everything within curly-braces and replaces it with data pulled from a resource. A rAPI call may have as many or as a few curly-brace replacement targets as is needed. Each curly-brace target will be replaced with exactly one resource attribute. All targets must be successfully replace for the command to succeed.
For example, when this rAPI call is decoded with information from the 1-dev resource, the decoded call is as follows:
http://observium.tcp0.com/graph.php?height=200&width=265&type=device_bits&legend=no&username=api&password=password&device=21
The rAPI service then pulls the data from that URL, pairs it with its presentation code, and returns it via the execute endpoint. If a user attempted to execute the above call on a resource which did not have the “observium-id” property, the execute endpoint would return the following error: "Reverse API Call references token 'observium-id', which does not exist in resource."
Reverse API Detail:
For detail on the Reverse API calls and parameters, proceed to Reverse API - Detail.