High availability
When you deploy webhooks, high availability is a key consideration. If a webhook is unavailable, it can result in user flow failures.
Several industry standard methods of ensuring that an API is highly available exist. The webhooks engine in IBM® Verify also offers some features to help.
Multiple URLs
An administrator can define multiple URLs as part of a webhook configuration.
- These URLs can be used in a round robin fashion, with no way to control which URL is used.
- Error counts for each URL are maintained. If a URL consistently fails, it is dropped from rotation for 5 minutes.
Retries
The webhook attempts to rerequest a URL.
- The webhooks engine in Verify reattempts a request if a connection error or unacceptable status code is received.
- If a retry occurs, it uses a different URL when available.
Tracking webhook calls and retries
Every webhooks request contains a headerX-Webhook-ID. This header can be used to detect a retry on a webhook call. The
header can be important for instances when a transaction is completed, but a retry still
occurs.Note: For notification webhook calls, this value matches the
id field of the
propagated event, which can be used at the events and dead-letters APIs.