
The Event Handler provides the following services:
The Event Handler consumes the following services:
- CheckAuthorizationSubscription private service from the Authorization core system
- Notification service from the subscriber client system
The Event Handler has the following use cases:
| Function | URL subpath | Method | Input | Output |
|---|---|---|---|---|
| Echo | /echo | GET | - | OK |
| Subscribe | /subscribe | POST | - | OK |
| Unsubscribe | /unsubscribe | DELETE | - | OK |
| Publish | /publish | POST | - | OK |
| Function | URL subpath | Method | Input | Output |
|---|---|---|---|---|
| Get subscriptions | /mgmt/subscriptions | GET | direction && item_per_page && page && sort_field | Subscription list response |
| Get subscription by id | /mgmt/subscriptions/{id} | GET | id | Subscription response |
| Update subscription | /mgmt/subscriptions/{id} | PUT | id && Subscription request | Subscription response |
| Delete subscription | /mgmt/subscriptions/{id} | DELETE | id | OK |
| Function | URL subpath | Method | Input | Output |
|---|---|---|---|---|
| AuthorizationUpdate | /publish/authupdate | POST | - | OK |
GET /eventhandler/echo
Returns a "Got it!" message with the purpose of testing the core service availability.
POST /eventhandler/subscribe
Creates a subscription record specified by parameters.
SubscriptionRequest is the input.
{
"eventType": "string",
"filterMetaData": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"matchMetaData": true,
"notifyUri": "string",
"sources": [
{
"systemName": "string",
"address": "string",
"authenticationInfo": "string",
"port": 0
}
],
"startDate": "string",
"endDate": "string",
"subscriberSystem": {
"systemName": "string",
"address": "string",
"authenticationInfo": "string",
"port": 0
}
}| SubscriptionRequest fields |
|---|
| Field | Description | Necessity | Format/Limitations |
|---|---|---|---|
eventType |
Type of event to subscribe to | mandatory | max. length = 255 |
filterMetaData |
The received event has to contain all the "key - value" pairs defined here | optional | max.length = 65535 |
matchMetaData |
A flag to turn on/off metadata filtering | mandatory | true or false |
notifyUri |
Url subpath of the subscriber system's notification endpoint | mandatory | max.length = 65535 |
sources |
List of publisher systems | optional (if not defined or empty, all publishers will be able to send requests which are authorized and allowed by the other filtering options ) | not defined |
startDate |
If startDate is defined, the subscriber system will only receive events when the event's timestamp is after startDate. | optional ( StartDate must be after the current date/time. ) | UTC time in yyyy-MM-dd HH:mm:ss format |
endDate |
If endDate is defined, the subscriber system will only receive events when the event's timestamp is before endDate. | optional ( EndDate must be after the current date/time. If startDate is defined endDate must be after startDate. ) | UTC time in yyyy-MM-dd HH:mm:ss format |
subscriberSystem |
Details of subscriber system | mandatory | as in system |
| System fields |
|---|
| Field | Description | Necessity | Format/Limitations |
|---|---|---|---|
systemName |
The name of the system. | mandatory | max. length = 255 |
address |
Domain name or IP of the system. | mandatory | max. length = 255 |
authenticationInfo |
Public key of the system. | optional | single line string without the "-----BEGIN PUBLIC KEY-----" prefix and the "-----END PUBLIC KEY-----" suffix |
port |
The port where the system provides services | mandatory | max.length = defined by local cloud operator ( default valid range: 1-65535 ) |
SubscriptionRequest output:
{
"id": 0,
"eventType": {
"eventTypeName": "string",
"createdAt": "string",
"updatedAt": "string"
},
"filterMetaData": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"id": 0,
"matchMetaData": true,
"notifyUri": "string",
"sources": [
{
"id": 0,
"systemName": "string",
"address": "string",
"authenticationInfo": "string",
"port": 0,
"createdAt": "string",
"updatedAt": "string"
}
],
"startDate": "string",
"endDate": "string",
"subscriberSystem": {
"id": 0,
"systemName": "string",
"address": "string",
"authenticationInfo": "string",
"port": 0,
"createdAt": "string",
"updatedAt": "string"
},
"createdAt": "string",
"updatedAt": "string"
}
DELETE /eventhandler/unsubscribe
Removes the subscription record specified by parameters.
Unsubscribe query parameters are the input :
https://eventhandler_ip:unsubscribe_port/eventhandler/unsubscribe?address=192.168.0.1&event_type=EVENT_TYPE_1&port=9009&system_name=test_consumer`
| Unsubscribe query parameters |
|---|
| Parameter | Description | Necessity | Format/Limitations |
|---|---|---|---|
address |
Domain name or IP of the system. | mandatory | max. length = 255 |
event_type |
Type of event to subscribe to | mandatory | max. length = 255 |
port |
The port where the system provides services | mandatory | max.length = defined by local cloud operator ( default valid range: 1-65535 ) |
system_name |
The name of the system. | mandatory | max. length = 255 |
POST /eventhandler/publish
Start the publishing process to deliver the event to the subscribers.
PublishRequest is the input:
{
"eventType": "string",
"metaData": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"payload": "string",
"source": {
"address": "string",
"authenticationInfo": "string",
"port": 0,
"systemName": "string"
},
"timeStamp": "string"
}| PublishRequest fields |
|---|
| Field | Description | Necessity | Format/Limitations |
|---|---|---|---|
eventType |
Type of event. | mandatory | max. length = 255 |
metaData |
The "key - value" pairs for event filtering. | optional | max.length = 65535 |
payload |
String representation of the event. | mandatory | not defined |
source |
Details of the publisher system. | mandatory | as in system |
timestamp |
The time of publishing | mandatory | UTC time in yyyy-MM-dd HH:mm:ss format |
| System fields |
|---|
| Field | Description | Necessity | Format/Limitations |
|---|---|---|---|
systemName |
The name of the system. | mandatory | max. length = 255 |
address |
Domain name or IP of the system. | mandatory | max. length = 255 |
authenticationInfo |
Public key of the system. | optional | single line string without the "-----BEGIN PUBLIC KEY-----" prefix and the "-----END PUBLIC KEY-----" suffix |
port |
The port where the system provides services | mandatory | max.length = defined by local cloud operator ( default valid range: 1-65535 ) |
GET /mgmt/eventhandler/subscriptions
Get subscriptions query parameters the input :
https://eventhandler_ip:eventhandler_port/eventhandler/mgmt/subscriptions?dirction=ASC&item_per_page=100&page=0&sort_field=id
| Get subscriptions query parameters |
|---|
| Parameter | Description | Necessity | Format/Limitations |
|---|---|---|---|
direction |
Direction of sorting. | optional | valid values: "ASC", "DESC" - default: "ASC" |
item_per_page |
Maximum number of items returned. | optional (mandatory, if page is defined) | integer |
page |
Zero based page index. | optional (mandatory, if item_per_page is defined) | integer |
sort_field |
The field to sort the results by. | optional | valid values: "id", "updatedAt", "createdAt" - default: "id" |
Get subscriptions query parameters the output :
{
"count": 0,
"data": [
{
"id": 0,
"eventType": {
"eventTypeName": "string",
"createdAt": "string",
"updatedAt": "string"
},
"filterMetaData": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"id": 0,
"matchMetaData": true,
"notifyUri": "string",
"sources": [
{
"id": 0,
"systemName": "string",
"address": "string",
"authenticationInfo": "string",
"port": 0,
"createdAt": "string",
"updatedAt": "string"
}
],
"startDate": "string",
"endDate": "string",
"subscriberSystem": {
"id": 0,
"systemName": "string",
"address": "string",
"authenticationInfo": "string",
"port": 0,
"createdAt": "string",
"updatedAt": "string"
},
"createdAt": "string",
"updatedAt": "string"
}
]
}GET /mgmt/eventhandler/subscriptions/{id}
Get subscriptions query parameters the input :
https://eventhandler_ip:eventhandler_port/eventhandler/mgmt/subscriptions/1
| Get subscription by id path parameter |
|---|
| Parameter | Description | Necessity | Format/Limitations |
|---|---|---|---|
id |
Id of subscription | mandatory | integer |
Get subscription by id the output :
{
"id": 0,
"eventType": {
"eventTypeName": "string",
"createdAt": "string",
"updatedAt": "string"
},
"filterMetaData": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"id": 0,
"matchMetaData": true,
"notifyUri": "string",
"sources": [
{
"id": 0,
"systemName": "string",
"address": "string",
"authenticationInfo": "string",
"port": 0,
"createdAt": "string",
"updatedAt": "string"
}
],
"startDate": "string",
"endDate": "string",
"subscriberSystem": {
"id": 0,
"systemName": "string",
"address": "string",
"authenticationInfo": "string",
"port": 0,
"createdAt": "string",
"updatedAt": "string"
},
"createdAt": "string",
"updatedAt": "string"
}PUT /mgmt/eventhandler/subscriptions/{id}
Update subscription request the input :
https://eventhandler_ip:eventhandler_port/eventhandler/mgmt/subscriptions/1
| Update subscription path parameter |
|---|
| Parameter | Description | Necessity | Format/Limitations |
|---|---|---|---|
id |
Id of subscription | mandatory | integer |
{
"eventType": "string",
"filterMetaData": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"matchMetaData": true,
"notifyUri": "string",
"sources": [
{
"systemName": "string",
"address": "string",
"authenticationInfo": "string",
"port": 0
}
],
"startDate": "string",
"endDate": "string",
"subscriberSystem": {
"systemName": "string",
"address": "string",
"authenticationInfo": "string",
"port": 0
}
}| SubscriptionRequest fields |
|---|
| Field | Description | Necessity | Format/Limitations |
|---|---|---|---|
eventType |
Type of event to subscribe to | mandatory | max. length = 255 |
filterMetaData |
The received event has to contain all the "key - value" pairs defined here | optional | max.length = 65535 |
matchMetaData |
A flag to turn on/off metadata filtering | mandatory | true or false |
notifyUri |
Url subpath of the subscriber system's notification endpoint | mandatory | max.length = 65535 |
sources |
List of publisher systems | optional (if not defined or empty, all publishers will be able to send requests which are authorized and allowed by the other filtering options ) | not defined |
startDate |
If startDate is defined, the subscriber system will only receive events when the event's timestamp is after startDate. | optional ( StartDate must be after the current date/time. ) | UTC time in yyyy-MM-dd HH:mm:ss format |
endDate |
If endDate is defined, the subscriber system will only receive events when the event's timestamp is before endDate. | optional ( EndDate must be after the current date/time. If startDate is defined endDate must be after startDate. ) | UTC time in yyyy-MM-dd HH:mm:ss format |
subscriberSystem |
Details of subscriber system | mandatory | as in system |
DELETE /mgmt/eventhandler/subscriptions/{id}
Delete subscription parameters the input :
https://eventhandler_ip:eventhandler_port/eventhandler/mgmt/subscriptions/1
| Get subscription by id path parameter |
|---|
| Parameter | Description | Necessity | Format/Limitations |
|---|---|---|---|
id |
Id of subscription | mandatory | integer |
This service can only be used by other core services, therefore this is not part of the public API.




