Custom platform setup
Connect BigCommerce, Wix, Squarespace, a headless shop or another order system through Preset Bridge’s signed JSON contract.
How compatibility works
Use the generic provider when there is no dedicated connector. The platform must send a signed paid-order payload directly, or call an adapter that converts its order webhook into the Preset Bridge format.
To update the originating order after delivery, the platform also needs a callback receiver. That receiver verifies Preset Bridge’s signature and calls the platform’s order or fulfilment API.
1. Create a generic integration
- Open Integrations → Store integrations and select Add integration.
- Choose generic and select the store’s API token.
- Keep the username field key as
ndsp_username. - Set accepted order statuses to
paid, or the exact status your platform uses for a captured payment. - Add one mapping for every store product that delivers a preset or capture.
- Create the integration, then copy its webhook URL and signing secret. The full secret is shown once.
2. Send a paid order
{
"orderId": "order-1234",
"status": "paid",
"customerEmail": "fan@example.com",
"targetUsername": "cortex_user_42",
"items": [
{
"sku": "STORM-LEAD-V2",
"productId": "prod_123",
"variantId": "variant_456",
"title": "Storm Drive Lead Preset",
"quantity": 1
}
]
}
Send the exact JSON bytes used to calculate the signature. Supply a unique, stable event ID in X-Event-Id so retries cannot create a second delivery.
import crypto from 'node:crypto';
const signature = 'sha256=' + crypto
.createHmac('sha256', presetBridgeSecret)
.update(rawBody)
.digest('hex');
await fetch(presetBridgeWebhookUrl, {
method: 'POST',
headers: {
'content-type': 'application/json',
'x-event-id': platformEventId,
'x-webhook-signature': signature
},
body: rawBody
});
An HTTP 202 response means Preset Bridge accepted the event and queued the delivery. It does not mean the asset has already been shared.
3. Receive delivery results
- Create an HTTPS endpoint in the adapter that preserves the raw request body.
- In Preset Bridge, create an outbound webhook subscription pointing to that endpoint.
- Enable
delivery.completed,delivery.action_required,delivery.retry_scheduled,delivery.failed,delivery.ignored,delivery.invalidatedanddelivery.reopened. - Limit the subscription to the store’s integration ID.
- Copy the outbound subscription secret and store it in the adapter.
- Verify
X-NDSP-Signaturebefore changing an order. - Use the event ID for idempotency and return a 2xx response only after the result is safely recorded.
A completed delivery can then trigger the platform’s fulfilment or completion API. Retry, action-required, invalidated and reopened events should leave the order open and add a useful note for store staff.
See Webhooks for the result payload, retry schedule and signature format.
Adapter checklist
- Send only paid orders that contain at least one eligible product.
- Require the Cortex Cloud username before payment.
- Keep order IDs and event IDs stable across retries.
- Verify signatures over raw request bytes in both directions.
- Keep inbound and outbound secrets separate.
- Store callback event IDs so duplicate callbacks do not repeat an update.
- Never mark an unpaid, cancelled, failed or refunded order complete.
- Record enough context for staff to trace a failed delivery in Preset Bridge.
Email contact@presetbridge.com with the platform name and its webhook documentation if you want help planning an adapter.