Appearance
Api
For performance reasons AireFrame will cache data returned by AireGlu endpoints implemented for the StructuredData capability. AireFrame provides an API which you can call when data has changed externally, in order to invalidate the cache within AireFrame and refresh the data.
Updates will occur on a tenant-wide basis for a specific subject and specific data extract(s). They will run against any data obtained via any AireGlu data source. The subject is identified by a SubjectIdentifier and the data extract(s) by a DataExtractsOptionsValuesFilter. In DataExtractsOptionsValuesFilter each key is a path to a property and the associated value is the value that must be found there for the data associated with the data extract to be flagged for update. Where there are multiple filters these must all evaluate to true for the data extract to be a match.
Authentication
These api endpoints require a bearer token provided by AireIdentity using the OAuth client credentials. You can use the client you were provided with when setting up your first AireGlu data source. The client should have the AireFrameAireGluDataProviderApi scope.
Example Request
POST https://identity.aireinnovate.com/connect/token
CONTENT-TYPE application/x-www-form-urlencoded
client_id=[MY_CLIENT]&
client_secret=[MY_CLIENT_SECRET]&
grant_type=client_credentials&
tenant_key=[MY_TENANT_ENVIRONMENT_KEY]&
scope=AireFrameApiEndpoints
CreationOrUpdate
Endpoint: aireglu-dataprovider/api/v1/dataChange/creationOrUpdate
Context: To call when there is new data for a subject, or an existing data point has changed
Body:
{
"SubjectIdentifier": "123",
"DataExtractsOptionsValuesFilter": {"idArray[0].first": 789, "status": "active"},
"NewOrUpdatedDataPoints": [
{
"Id": "myid",
"SubjectIdentifier": "sid",
"DataPointItems": [
{
"Key": "mykey",
"Value": {
"DataType": "Boolean",
"Value": true
}
}
]
}
]
}Where:
SubjectIdentifieris the id of the subject for which the data has changedDataExtractsOptionsValuesFilterdefines how the data extracts for which the data has changed will be identifiedNewOrUpdatedDataPointsare the data points that have been created or changedIdis the id of the data pointSubjectIdentifieris the id of the subject - should match the subject id for the requestDataPointItemsare the individual 'columns' in the 'row' that the data point representsKeyis the key of the itemValueis the DataTypeValue - see get-data-points for details of the options available for DataTypeValue
Response:
Status codes
- 200
- 400
- 401
- 404
- 500
Removal
Endpoint: aireglu-dataprovider/api/v1/dataChange/removal
Context: To call when data has been removed for a subject
Body:
{
"SubjectIdentifier": "123",
"DataExtractsOptionsValuesFilter": {"idArray[0].first": 789, "status": "active"},
"RemovedDataPointIdentifiers": ["1"]
}Where:
SubjectIdentifieris the id of the subject for which the data has changedDataExtractsOptionsValuesFilterdefines how the data extracts for which the data has changed will be identifiedRemovedDataPointIdentifiersare the Ids of the data points that have been removed
Response:
Status codes
- 200
- 400
- 401
- 404
- 500