ESS good practices

 

There are several notifications available in the Syniverse Event Subscription Service (ESS) that provide the ability to handle many use cases in a concise and secure manner. This variety of notifications could lead to a considerable growth in the number of webhooks and subscriptions defined in a single account.

When the enterprise system design establishes a fine grain notification handling, we could need to create an important number of subscriptions, getting to the hundreds of them.

In these cases, it is mandatory to keep a good structure for the Delivery Configurations (webhooks) - Event Subscriptions SDC definitions to avoid operational and performance issues.

This document describes general guidelines to define the Delivery configurations and Event Subscriptions in Syniverse SDC in a way to avoid future issues.

 

Delivery Configurations.

Event Manager tab.jpg

 

The delivery configurations (DelCfg) are the backbone of the ESS service and describes the parameters needed to deliver the notifications.

A Delivery Configuration establish a 1:1 relationship with a Webhook.

The required fields are:

Delivery Config cfg.jpg

Delivery Configuration name: This must be a descriptive string to distinguish and identify the related webhook and ideally the type of notification it will get. This DelCfg name is later shown on the Subscriptions screen to identify the notification delivery destination webhook.

Address: this is the webhook url where the notifications will be posted. This webhook needs to be at least a publicly available server that use HTTP. Authentication methos are supported as Basic Auth, OAuth2.0 or MTLS if required.

Delivery Protocol: Currently REST is the supported option.

Delivery Format: there are 2 options to select: JSON or XML.

Is Active: this is a switch that allows to turn on and off the notification’s delivery (POST).

 

Subscriptions

Subscriptions tab.jpg

 

Subscriptions define specific notifications related to a Topic and Event Type and could be "fine grain" specific to certain matching criteria.

A subscription is related to a DelCfg where the notifications are sent when the criteria are met. In a master-detail structure, the DelCfg represent the master record and the subscriptions are the details. This relation allows to use a single DelCfg with many subscriptions.

It is strongly suggested to avoid the 1:1 definition of DelCfg / Subscriptions, creating multiple DelCfg for the same webhook is possible but not recommended. Particularly when the enterprise requires many subscriptions with very few DelCfg (webhooks).

The required subscriptions fields are:

Subscription cfg.jpg

Topic: this selection allows to select the specific kind or set of events. 

Event type: once selected the topic, the list will show the available Event types. The selection will determine the event to be notified.

Matching criteria: allows to "fine grain" the events to be posted to the webhook as only those who meet the matching criteria will trigger the notification.

Start and End dates: allows to set a range of dates in which the notification will actively be posted to the webhook. Note that the end date can be leave blank.

As there is no descriptive field for subscriptions, the start date can be used to identify subscription that differs only in the matching criteria. The use of different delivery configurations to the same webhook is not recommended.

 

Validating callback to webhook

After setting up an ESS subscription you could validate the results by performing the event and check your webhook for events notifications or by the Event Viewer.

The Event Viewer allows you to review the subscriptions events reported to the webhook and the status of each callback as delivery status, you could see if your webhook is failing the receive the callbacks or if the event was successfully delivered to the webhook.

 

 

 

For more articles about Event Subscription Service click here

 

Was this article helpful?
0 out of 0 found this helpful

0 Comments

Please sign in to leave a comment.