Detta är en gammal version av dokumentet!
Orbiqs API för registrering av larm
Orbiq har ett REST-API för registrering av larm. API:et nås via endpointen
/api/alarm
Autentisering sker via Oauth2:
- Token URL: /oauth2/token
- flow: application
- Type: Request body
- Scope: iqalarm
Datamodell för payloaden
Alarm {
event (string): The type of event that occurred. Valid values: 'New event', 'Alarm off normal', 'Alarm normal', 'Alarm cleared', 'Acknowledge event', 'Comment'. ,
type (string): The type of alarm. ,
time (Alarm Times): Object containing times for the alarm ,
subject (string),
message (string),
severity (string),
state (string, optional): Required when "type" is "alarm". ,
ackState (string, optional): Acknowledgement status ,
ackTime (string, optional): string ,
ackUser (string, optional),
ackSystem (string, optional),
clearTime (string, optional),
clearUser (string, optional),
clearSystem (string, optional),
metadata (Metadata, optional),
comment (object, optional),
eventId (string): Local alarm event id from the alarm event source. ,
source (Alarm Source): Information regarding the source of the alarm
}
Alarm Times {
eventTime (string),
receivedTime (string, optional)
}
Metadata {
objectShortName (string, optional),
objectLongName (string, optional),
sourceName (string, optional),
sourceDescription (string, optional),
anyOtherProperty (string, optional)
}
Alarm Source {
id (integer, optional),
hrid (string, optional)
}
Exempel på anrop
Nedan ges exempel på några anrop som ni kan testa med hjälp av en API-klient, exempelvis Postman. Ni behöver få uppgifter om client-id och client_secret för den aktuella installationen från iquest.
Följande anrop autentiserar mot API:et med hjälp av Oauth2 och tar emot en Bearer token som används för anropen:
curl --location 'https://test.orbiq.se/oauth2/token' \ --form 'grant_type="client_credentials"' \ --form 'scope="iqalarm"' \ --form 'client_id="myclientID"' \ --form 'client_secret="myClientSecret"'
Följande anrop registrerar en larmhändelser.
curl --location 'https://test.orbiq.se/api/alarm' \
--header 'Accept-Language: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer myOauth2BearerToken' \
--data-raw '{
"event": "Alarm off normal",
"type": "alarm",
"time": {
"receivedTime": "2023-04-18T09:15:58.250Z",
"eventTime": "2023-04-18T09:15:58.250Z"
},
"subject": "123_subject_test",
"message": "This is a test alert",
"severity": "C",
"state": "offNormal",
"ackState": "unacked",
"metadata": {
"systemID": "2e28b431-7dbc-4ebc-56ef-98e04e777225",
"alarmCategory": "test"
},
"eventId": "219364f7-935b-ec5a-7e5b-77d91edb4677",
"source": {
"hrid": "test1@test.orbiq.se"
}
}'
Detta anrop kvitterar larmhändelsen.
curl --location 'https://test.orbiq.se/api/alarm' \
--header 'Accept-Language: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer myOauth2BearerToken' \
--data-raw '{
"event": "Acknowledge event",
"type": "alarm",
"time": {
"receivedTime": "2023-04-18T09:30:58.250Z",
"eventTime": "2023-04-18T09:30:58.250Z"
},
"subject": "123_subject_test",
"message": "This is a test alert",
"severity": "C",
"state": "offNormal",
"ackState": "acked",
"metadata": {
"systemID": "2e28b431-7dbc-4ebc-56ef-98e04e777225",
"alarmCategory": "test"
},
"eventId": "931b1f1c-0fdd-430b-b324-6c9030ae75ec",
"source": {
"hrid": "test1@test.orbiq.se"
}
}'
Och detta anrop återställer larmhändelsen.
curl --location 'https://test.orbiq.se/api/alarm' \
--header 'Accept-Language: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer myOauth2BearerToken' \
--data-raw '{
"event": "Alarm normal",
"type": "alarm",
"time": {
"receivedTime": "2023-04-18T10:15:58.250Z",
"eventTime": "2023-04-18T10:15:58.250Z"
},
"subject": "123_subject_test",
"message": "This is a test alert",
"severity": "C",
"state": "normal",
"ackState": "unacked",
"metadata": {
"systemID": "2e28b431-7dbc-4ebc-56ef-98e04e777225",
"alarmCategory": "test"
},
"eventId": "3e24c9bd-7a8d-40c2-be33-48cecf7a50c7",
"source": {
"hrid": "test1@test.orbiq.se"
}
}'
för att bind ett larm till en byggnad så skickar man med under metadata ett eller flera identifierande fält
objectForeignKey objectShortName objectLongName
Dessa motsvarar det som står i orbiq under objekts formuläret (Främmande nyckel, Kortbeteckning och Beteckning) t.ex. skulle ett anrop för att skapa ett pågånede larm till orbiq se ut enligt följande
curl --location 'https://test.orbiq.se/api/alarm' \
--header 'Accept-Language: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer myOauth2BearerToken' \
--data-raw '{
"event": "Alarm off normal",
"type": "alarm",
"time": {
"receivedTime": "2023-04-18T09:15:58.250Z",
"eventTime": "2023-04-18T09:15:58.250Z"
},
"subject": "123_subject_test",
"message": "This is a test alert",
"severity": "C",
"state": "offNormal",
"ackState": "unacked",
"metadata": {
"systemID": "2e28b431-7dbc-4ebc-56ef-98e04e777225",
"alarmCategory": "test"
},
"eventId": "219364f7-935b-ec5a-7e5b-77d91edb4677",
"source": {
"hrid": "test1@test.orbiq.se"
}
}'