Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

TBD

Limitations

  • Webhooks are only available for applications with grant type client_credentials using an access of type "Agency Manager" (single agency access) and scope "api.profilesondemand.read".
  • Notifications can not be tailored to include / exclude specific profiles. Notifications will be sent for all profiles within a travel agency.
  • Notifications might be delivered, even if no actual profile data has been changed.
    • The notification itself denotes a profile identifier and nothing more. Specifically, it does not contain any profile data or information on what may have changed within the profile.

Receiving Webhooks

TBD

Payload

Code Block
languagejs
{
  "eventTime": "18.03.2024T09:56:17Z"
  "profileType": "TRAVELLER",
  "event": "UPDATE",
  "uuid": "25b46ba4-0e9e-4baa-83bd-ac21a50ef998",
  "company": {
    "uuid": "34f277f5-2618-4c9e-aa08-affa9f02dfaa"
  }
}
FieldDescription
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:

  • TRAVELLER
  • CORPORATE
event

The notification type:

  • CREATE
  • UPDATE
  • DELETE
  • PING
    (for connectivity checks only, profileType will be set to TRAVELLER and uuid to a random UUID)
uuidThe Umbrella Faces UUID of the affected profile
company.uuidFor 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.

...

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.

...

Code Block
languagebash
titleExample request
curl TBD-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
Code Block
languagejs
titleExample response
collapsetrue
{
    "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
    }
}

...

Code Block
languagebash
titleExample request
curl TBD-v -X PATCH \
    -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/c7c769bc-9310-4b29-b27c-f34355ec66b4
Code Block
languagejs
titleExample response
collapsetrue
{
    "uuid": "c7c769bc-9310-4b29-b27c-f34355ec66b4",
    "name": "Notify myIntegrationX",
    "profileTypes": [
        "TRAVELLER",
        "CORPORATE"
    ],
    "eventTypes": [
        "CREATE",
        "DELETE"
    ],
    "url": "https://my.example.com/webhook/notify",
    "secret": {
        "sensitiveValuePresent": true
    }
}

...