Infocenter notifications
To start getting infocenter notifications about changed objects you need to contact our support and let us know for which project you want to retrieve notifications. We'll then create the needed queues and keys which you then can include in your application. We're using Azure Storage Queues which you need to listen and react on. For example Azure Storage Queue client library for JavaScript
Possible message types:
- Changed
- Deleted
- Collapsed
Message data includes the following properties:
Property | Type | Description |
---|---|---|
@id | string | json-id: full URL to load the object (based on identifier) |
type | string | object type |
identifier | string | object identifier |
TargetIdentifier | string[] | target vertex id when an object was merged / collapsed |
project | string[] | list of affected projects |
Example message if a vertex was created or changed:
{
"id": "0d6c3ce1-2042-4b9b-85ee-6c1dd6fe3bb0",
"subject": "/Tour/tou_4kq_eiehcdbe",
"data": {
"@id": "https://api.discover.swiss/info/v2/tours/tou_4kq_eiehcdbe",
"Type": "Tour",
"Identifier": "tou_4kq_eiehcdbe",
"Project": ["ds-discover"]
},
"eventType": "Changed",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2022-08-23T07:21:34.3933366Z"
}
If a vertex was collapsed or if the type has changed then two messages will be sent. The first collapsed message for the old vertex and the second changed message for the new target vertex.
{
"id": "a833917d-5223-4166-a70d-ef26c0fc0d8c",
"subject": "/Place/plc_4kq_cdjcgiaa",
"data": {
"@id": "https://api.discover.swiss/info/v2/places/plc_4kq_cdjcgiaa",
"Type": "Place",
"Identifier": "plc_4kq_cdjcgiaa",
"TargetIdentifier": "log_4kq_cdjcgiaa",
"Project": ["ds-discover"]
},
"eventType": "Collapsed",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2022-08-24T09:12:44.7243537Z"
},
{
"id": "bcee6974-5c5c-4d4c-994a-ee63ec692411",
"subject": "/LodgingBusiness/log_4kq_cdjcgiaa",
"data": {
"@id": "https://api.discover.swiss/info/v2/lodgingbusinesses/log_4kq_cdjcgiaa",
"Type": "LodgingBusiness",
"Identifier": "log_4kq_cdjcgiaa",
"Project": ["ds-discover"]
},
"eventType": "Changed",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2022-08-24T09:12:46.1744453Z"
}
If a vertex was split then one split message is created with the id of the related vertex and the target vertex id. If based on the split a vertex is no longer in a specific project then for the removed project a Delete message is created. Additional two changed messages will be created for both changed vertexes.
{
"id": "2c4bd1b7-fe99-46ec-b7df-e68baceff29e",
"subject": "/FoodEstablishment/foo_px9-s28_baaajga",
"data": {
"@id": "https://api.discover.swiss/info/v2/foodEstablishments/foo_px9-s28_baaajga",
"Type": "FoodEstablishment",
"Identifier": "foo_px9-s28_baaajga",
"Project": ["ds-web", "ds-app"]
},
"eventType": "Deleted",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2022-08-24T21:28:37.9061302Z"
},
{
"id": "cadfa708-720b-4fd2-803f-cf8ced99eaf0",
"subject": "/FoodEstablishment/foo_px9-s28_baaajga",
"data": {
"@id": "https://api.discover.swiss/info/v2/foodEstablishments/foo_px9-s28_baaajga",
"Type": "FoodEstablishment",
"Identifier": "foo_px9-s28_baaajga",
"Project": ["ds-demo", "ds-discover", "ds-web", "ds-app"],
"TargetIdentifier": "plc_4kq_cdjcgiaa"
},
"eventType": "Splitted",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2022-08-24T21:28:37.8382808Z"
},
{
"id": "0b387229-ac76-4561-9c89-c9b859f740ca",
"subject": "/FoodEstablishment/foo_px9-s28_baaajga",
"data": {
"@id": "https://api.discover.swiss/info/v2/foodEstablishments/foo_px9-s28_baaajga",
"Type": "FoodEstablishment",
"Identifier": "foo_px9-s28_baaajga",
"Project": ["ds-demo", "ds-discover"]
},
"eventType": "Changed",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2022-08-24T21:28:37.8932359Z"
},
{
"id": "ca2b8a7f-1a86-4061-8185-0c31303b7a49",
"subject": "/Place/plc_4kq_cdjcgiaa",
"data": {
"@id": "https://api.discover.swiss/info/v2/places/plc_4kq_cdjcgiaa",
"Type": "Place",
"Identifier": "plc_4kq_cdjcgiaa",
"Project": ["ds-web", "ds-app"]
},
"eventType": "Changed",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2022-08-24T21:28:39.1045868Z"
}