...
Field | Description |
---|---|
TBD | Timestamp in format "TBD" of when the event has originally happened |
profileType | The profile type for which this notification is sent:
|
event | The notification type:
|
uuid | The Umbrella Faces UUID of the affected profile |
company.uuid | For profileType TRAVELLER only: UUID of the company currently associated with the traveler profile. |
Message authentication
Each Webhook invocation will include the custom header "X-FacesWebhookSignature", which consist of the request body hashed using HMAC-SHA256 with the secret configured during Webhook setup in hex format.
Example: Using the above payload and secret S3cret! one would compute a hash value of TBD
Delivery
Payloads are delivered via HTTPS POST only. Each notification will be transmitted with an individual POST request without applying any batching logic.
...
In case of an error Umbrella Faces will attempt to re-deliver the the notification up to TBD times with a delay of TBD between calls before silently discarding the notification.
Managing Webhooks
Weebhooks Webhooks are managed in a self-service fashion via the following set of APIs.
Note |
---|
Each create / update triggers an immediate "PING" notification to the configured endpoint, and will only be accepted if the PING is succesful |
Search / List Webhooks
Endpoint | api/v1/configuration/webhooks |
---|---|
Request method | GET |
Allows searching through a paged list of active Webhook subscriptions for the calling application.
Parameters
Name | Description | Validation |
---|---|---|
q | Freetext query for finding webhooks | Required parameter |
page | Current page within the result set, starts at 0 | Optional, number >= 0 |
pageSize | Maximum number of results per page. Default 10 | Optional, number > 0 and <= 100 |
Code Block | ||||
---|---|---|---|---|
| ||||
curl -v -H "Authorization: Bearer <token>" \
"https://hurricane.umbrellanet.ch/uf-test/api/v1/configuration/webhooks?q=&page=0&pageSize=10" |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"moreResults": false,
"results": [
{
"uuid": "56b19ace-1fa9-4346-a97c-f621c5138342",
"name": "My Example Webhook",
"profileTypes": [
"TRAVELLER",
"CORPORATE"
],
"eventTypes": [
"CREATE",
"UPDATE",
"DELETE"
],
"url": "https://my.example.com/webhook/notify"
}
]
} |
Create new Webhook
Endpoint | api/v1/configuration/webhook |
---|---|
Request method | POST |
Register a new Webhook subscription
Code Block | ||||
---|---|---|---|---|
| ||||
curl TBD |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"uuid": "c7c769bc-9310-4b29-b27c-f34355ec66b4",
"name": "Notify myIntegrationX",
"profileTypes": [
"TRAVELLER",
"CORPORATE"
],
"eventTypes": [
"CREATE",
"UPDATE",
"DELETE"
],
"url": "https://my.example.com/webhook/notify"
} |
Update existing Webhook
Endpoint | api/v1/configuration/webhook/<uuid> |
---|---|
Request method | PATCH |
Modify Webhook subscription
Parameters
Name | Description | Validation |
---|---|---|
<uuid> | The UUID of the subscription to be modified | Required parameter |
Code Block | ||||
---|---|---|---|---|
| ||||
curl TBD |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"uuid": "c7c769bc-9310-4b29-b27c-f34355ec66b4",
"name": "Notify myIntegrationX",
"profileTypes": [
"TRAVELLER",
"CORPORATE"
],
"eventTypes": [
"CREATE",
"DELETE"
],
"url": "https://my.example.com/webhook/notify"
} |
Delete Webhook
Endpoint | api/v1/configuration/webhook/<uuid> |
---|---|
Request method | DELETE |
Remove Webhook subscription
Parameters
Name | Description | Validation |
---|---|---|
<uuid> | The UUID of the subscription to be deleted | Required parameter |
Code Block | ||||
---|---|---|---|---|
| ||||
curl -v -X DELETE \
-H "Authorization: Bearer <token>" \
https://hurricane.umbrellanet.ch/uf-test/api/v1/configuration/webhook/c7c769bc-9310-4b29-b27c-f34355ec66b4 |