For Dashboard Designers Reference API
Friday, March 15, 2019 9:48 PMAPI
Labels: :IA_Function:IA_API
Inherits from: Function
Creates an API endpoint, that can be called from visual components.
Parameters
Key | Description | Default value | Possible values |
---|---|---|---|
response | When set (for the first time), the API Function returns its value as response to the caller. | any |
Note: in the Trigger that sets the response, $_instance
should be set to (%)._path.apiInstance
(see Example Usage).
Outgoing triggers
Type: request
Occurrence: When the API endpoint gets requested.
Additional event properties (besides the inherited properties):
Key | Description | Possible values |
---|---|---|
input |
The input provided to the API request. | object |
Example usage
An API endpoint is created by an :IA_API:IA_Function
node with an iaName
property, e.g.:
{
"iaName": "myAPI"
}
The API endpoint can then be called from a visual component, e.g. (an Html component):
<ia-api ia-name="myAPI" input-myInput="myInputValue"></ia-api>
The html component above will call the myAPI
endpoint, executing the IA_API
node above. The API Function will then fire a request
trigger with
{
"type": "request",
"input": {
"myInput": "myInputValue"
}
...
}
Now, a whole chain of Functions can be executed to get the desired result, which should then be fed back to the IA_API
node with a trigger containing a $response
parameter and an $_instance
parameter, e.g.:
{
"type": "someTriggerType",
"$response": "My Final Response Value",
"$_instance": "(%)._path.apiInstance"
}
Note: Behind the screens, the IA_API
is executed with a unique instance ID, which is stored in _path.apiInstance
during the API execution chain. The final Trigger containing the response will then have to update the original API instance. The parameter "$_instance": "(%)._path.apiInstance"
therefore needs to be present in this Trigger.
When the original API Function gets updated, it causes the response to be given back to the caller and, in this case, the value of $response
will then be filled into the <ia-api>
html component.