Skip to main content
fabric allows you to configure preset webhooks to listen for key events and review webhook history.

Supported Webhooks

The following webhooks are available in the Topic field when selecting a webhook.

Configure a Webhook

  1. In the main menu, click your merchant name > Merchant Settings. The Merchant Settings page is displayed.
  2. Click Webhooks (Advanced). The Webhooks page is displayed.
  3. Click Add Webhook. The Add Webhook window is displayed.
  4. In the Topic field, select the webhook you would like to use. Use the table provided in this document to learn about each webhook and what they do.
  5. In the Method field, select a method. fabric recommends using POST.
  6. In the URL field, enter the target_url. By default, the Status field is set to Enabled.
  7. Click Add Webhook. You can repeat this process to add multiple webhooks.
Once enabled, the Webhook History at the bottom of the Webhooks page provides visibility into event flow.

Webhook History

The webhook history section shows event flows for each webhook. You can filter by a specific webhook, or view the most recent events by default. This history is retained for 24 months.

Webhook automatic retry timing

Retries do not occur at fixed intervals. Instead, fabric uses an exponential backoff strategy combined with a small random jitter to help prevent the “thundering herd” problem—where many clients retry at the same time. A typical retry schedule looks like this:
  • 30 seconds after the first failure
  • 1 minute later
  • 2 minutes later
  • 4 minutes later
  • 8 minutes later
  • 16 minutes later
  • 32 minutes later
  • 64 minutes later
  • 2 hours later
  • 2 hours later (maximum delay)
The maximum delay between retries is 2 hours. Each retry also includes a small random delay (up to 30 seconds) to spread out retry traffic and reduce server load. If a webhook continues to fail after reaching the maximum number of retries without receiving a successful response, it will be automatically disabled.

Enabling notifications for disabled webhooks

After 10 consecutive automatic retry failures, a webhook is automatically disabled. You can subscribe to one or more of the following webhook notifications to be alerted when delivery attempts fail or when a webhook is disabled. Webhook Notifications:
  • Webhook Failed to Deliver
  • Webhook Disabled After Failed Attempts
  1. In the main menu, click your merchant name > Merchant Settings. The Merchant Settings page is displayed.
  2. Click Notifications. The Notifications page is displayed.
  3. In the Webhook Notifications section, enter the desired user email address or distribution list you want the notifications sent to.
  4. Toggle the Disabled button to Enabled.
Dropship now sends email alerts to the specified recipients when an event occurs.

Webhook Verification Process

fabric Dropship signs all webhook requests using an HMAC-SHA256 signature to verify authenticity and protect against tampering.
Treat your webhook secret as confidential information and store it securely. Unauthorized access to the secret would allow malicious actors to forge webhooks that appear authentic to your application.

Generating a webhook secret

You must generate a webhook secret before verifying signatures.
  1. Go to Merchant Settings > Webhooks.
  2. Click Generate Secret.
  3. Reveal the secret and copy it for use in your integration.
If the secret is ever compromised, click Generate New Secret and confirm to replace it.

Using the API

  1. To generate a new secret, send a POST request to:
  1. (Optional) to replace an existing secret, include the following payload in your request:
  1. A new webhook secret will be generated and returned in the response:

Verifying a webhook

After you generate a webhook secret, fabric Dropship signs every webhook request using that secret. The signature is included in the fabric-dropship-signature header. To verify that a webhook is authentic, follow these steps:
  1. Retrieve the raw webhook body. Use the exact body received from the request, without modifying whitespace, formatting, or character encoding.
  2. Generate the HMAC. Create an HMAC-SHA256 hash using: Create an HMAC-SHA256 hash using your webhook secret and the raw request body.
  3. Compare the signatures. Compare your computed hash to the value in the fabric-dropship-signature header. If the values match, the webhook is authentic. If they do not match, the webhook may be unverified and should be rejected.
Webhook Secret:
Raw Body:
Expected Signature:
By performing these checks, you can ensure that incoming webhook events are authentic and safe to process.