Supported Webhooks
The following webhooks are available in the Topic field when selecting a webhook.| Webhook Topic | Description | Recommended |
|---|---|---|
| Brand Completed Onboarding | Triggers when a supplier finishes their onboarding process. | Recommended |
| Brand Location Created | Triggers when a supplier adds a new warehouse location in fabric. | Optional |
| Brand Location Deleted | Triggers when a supplier removes a warehouse location from fabric. | Optional |
| Brand Location Updated | Triggers when a supplier updates details for a warehouse location in fabric. | Optional |
| Connection Created | Triggers when a supplier accepts a merchant’s invitation, creating a connection with the merchant’s default settings. | Recommended |
| Credit Memo Created | Triggers when a credit memo is created in fabric. | Optional |
| Feed Request Approved | Triggers when a supplier approves an Import Request. | Optional - Recommended if the merchant uses “Import Requests” for merchandising. |
| Feed Request Reviewed | Triggers when a supplier reviews an Import Request. | Optional - Recommended if the merchant uses “Import Requests” for merchandising. |
| Invoice Created | Triggers when a supplier creates an invoice in fabric. | Recommended |
| Item Inventory Updated | Triggers when a supplier updates inventory levels for an item. | Recommended |
| Offer Created | Triggers when an offer is created in fabric. | Optional |
| Order Backorder Date Updated | Triggers when a supplier updates the backorder date for an item on an order in fabric. | Optional - Recommended if the merchant allows suppliers to backorder items on orders. |
| Order Backordered | Triggers when a supplier marks items on an order as backordered in fabric. | Optional - Recommended if the merchant allows suppliers to backorder items on orders. |
| Order Canceled | Triggers when an order is marked as canceled in fabric. | Recommended |
| Order Closed | Triggers when an order enters a closed status in fabric (meaning it has been shipped and invoiced). | Recommended |
| Order Returned | Triggers when a return is created for an order. | Optional - Recommended if the merchant manages returns in fabric. |
| Proposal Created | Triggers when a supplier creates a proposal (in draft status, not yet visible to the merchant). | Optional |
| Proposal Proposed | Triggers when a supplier submits a proposal for merchant review and approval (now visible to the merchant). | Optional - Recommended if the merchant uses “Import Requests” for merchandising. |
| Proposal Variant Added | Triggers when a variant is added to a proposal. | Optional |
| RMA Approved | Triggers when a supplier approves a return (RMA) in fabric. | Optional - Recommended if the merchant manages returns in fabric. |
| RMA Completed | Triggers when a return (RMA) is completed in fabric. | Optional - Recommended if the merchant manages returns in fabric. |
| RMA Rejected | Triggers when a supplier rejects a return (RMA) in fabric. | Optional - Recommended if the merchant manages returns in fabric. |
| Shipment Closed | Triggers when a shipment is marked as closed in fabric. | Recommended |
| Shipment Created | Triggers when a supplier creates a shipment in fabric. | Optional |
| Shipment Updated | Triggers when a shipments details are updated in fabric. | Optional |
| Variant Created | A supplier adds a new item (variant) in fabric. | Optional |
| Variant Description Attribute Updated | Triggers when a supplier updates the description of an item. | Optional |
| Variant General Attribute Updated | Triggers when a supplier updates a basic attribute of an item. | Optional |
| Variant Identifier Attribute Updated | Triggers when a supplier updates an item’s SKU, Name, or UPC. | Optional |
| Variant Image Attribute Updated | Triggers when a supplier updates an item image. | Optional - Recommended if the merchant uses the supplier’s SKU or UPC as their main identifier. |
| Variant Misc Attribute Updated | Triggers when a supplier updates a miscellaneous attribute of an item. | Optional |
| Variant Shipping Attribute Updated | Triggers when a supplier updates a shipping attribute of an item. | Optional |
Configure a Webhook
- In the main menu, click your merchant name > Merchant Settings. The Merchant Settings page is displayed.
- Click Webhooks (Advanced). The Webhooks page is displayed.
- Click Add Webhook. The Add Webhook window is displayed.
- 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.
- In the Method field, select a method. fabric recommends using POST.
-
In the URL field, enter the
target_url. By default, the Status field is set to Enabled. - Click Add Webhook. You can repeat this process to add multiple webhooks.
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)
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.- Go to Merchant Settings > Webhooks.
- Click Generate Secret.
- 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
- To generate a new secret, send a POST request to:
- (Optional) to replace an existing secret, include the following payload in your request:
- 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:- Retrieve the raw webhook body. Use the exact body received from the request, without modifying whitespace, formatting, or character encoding.
- Generate the HMAC. Create an HMAC-SHA256 hash using: Create an HMAC-SHA256 hash using your webhook secret and the raw request body.
- 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.
Example Python Implementation
Example Python Implementation
