Webhook notifications will not be sent to the application triggering the profile change. Only other applications with webhook subscriptions will be notified |
{ "eventTime": "18.03.2024T09:56:17Z" "profileType": "TRAVELLER", "event": "UPDATE", "uuid": "25b46ba4-0e9e-4baa-83bd-ac21a50ef998", "company": { "uuid": "34f277f5-2618-4c9e-aa08-affa9f02dfaa" "name": "ACME Inc." } } |
Field | Description |
---|---|
eventTime | UTC-Timestamp in format "dd.MM.yyyy'T'HH:mm:ss'Z'" 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 | For profileType TRAVELLER only: UUID + Name of the company currently associated with the traveler profile. |
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 92649059fe0fc9457cba7b4e80da4fa42ce0528583517da66826c61e75dba624
Payloads are delivered via HTTPS POST only. Each notification will be transmitted with an individual POST request without applying any batching logic and without any guaranteed order.
The recipient Server must present a trusted certificate and return a HTTP 2XX status code within 10 seconds for the notification delivery to be considered successful.
In case of an error Umbrella Faces will attempt to re-deliver the the notification up to 5 times over the next 2 hours before silently discarding the notification.
Depending on the number of notifications on our Webhook notification queue, individual notifications might be delayed for a longer time |
Webhooks are managed in a self-service fashion via the following set of APIs.
Endpoint | api/v1/configuration/webhooks |
---|---|
Request method | GET |
Allows searching through a paged list of active Webhook subscriptions for the calling application.
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 |
curl -v -H "Authorization: Bearer <token>" \ "https://hurricane.umbrellanet.ch/uf-test/api/v1/configuration/webhooks?q=&page=0&pageSize=10" |
{ "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" } ] } |
Each create triggers an immediate "PING" notification (with no retries) to the configured endpoint, and will only be accepted if the PING is succesful |
Endpoint | api/v1/configuration/webhook |
---|---|
Request method | POST |
Register a new Webhook subscription
curl -v -X POST \ -H "Authorization: Bearer <token>" \ -H "Content-Type: application/json" \ --data '{ "name": "Notify myIntegrationX", "profileTypes": [ "TRAVELLER", "CORPORATE" ], "eventTypes": [ "CREATE", "UPDATE", "DELETE" ], "url": "https://my.example.com/webhook/notify", "secret": { "value": "MyNewSecret" } }' https://hurricane.umbrellanet.ch/uf-test/api/v1/configuration/webhook |
{ "uuid": "c7c769bc-9310-4b29-b27c-f34355ec66b4", "name": "Notify myIntegrationX", "profileTypes": [ "TRAVELLER", "CORPORATE" ], "eventTypes": [ "CREATE", "UPDATE", "DELETE" ], "url": "https://my.example.com/webhook/notify", "secret": { "sensitiveValuePresent": true } } |
Update existing Webhook
To update a Webhook, please delete and re-create it
Endpoint | api/v1/configuration/webhook/<uuid> |
---|---|
Request method | DELETE |
Remove Webhook subscription.
Note: After deleting a Webook, some notifications that were already placed on the notification queue before deletion may still be delivered
Name | Description | Validation |
---|---|---|
<uuid> | The UUID of the subscription to be deleted | Required parameter |
curl -v -X DELETE \ -H "Authorization: Bearer <token>" \ https://hurricane.umbrellanet.ch/uf-test/api/v1/configuration/webhook/c7c769bc-9310-4b29-b27c-f34355ec66b4 |