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"
    }
}'