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 header X-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.