api:rest:alarm

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"
    }
}'
  • api/rest/alarm.1686235574.txt.gz
  • Senast uppdaterad: 2023/06/08 16:46
  • av dokuadmin