Webhooks API
Webhook endpoints for receiving notifications from external platforms and sending real-time events to your applications.
Incoming Webhooks
These endpoints receive webhooks from external platforms to trigger download token generation:
Shopify Orders
POST /webhooks/{orgId}/shopifyReceives order completion notifications from Shopify stores.
WooCommerce Orders
POST /webhooks/{orgId}/woocommerceHandles order completions from WooCommerce WordPress sites.
Stripe Payments
POST /webhooks/stripeProcesses successful payments from Stripe checkout sessions.
Download Completion
POST /webhooks/{orgId}/download-completeNotifies when a customer completes a download session.
Outgoing Webhooks
Configure Continuata to send real-time events to your applications:
Configuration
- Go to your Continuata dashboard
- Navigate to Settings → Integrations → Outgoing Webhooks
- Add your webhook endpoint URL
- Select events to receive
- Configure webhook secret for security
- Test with sample events
Event Types
token.createdNew download token generated
download.startedCustomer begins download
download.completedDownload finished successfully
token.expiredDownload token expired
download.failedDownload encountered errors
product.uploadedNew product version uploaded
Webhook Security
Signature Verification
All webhooks include HMAC signatures for verification:
const crypto = require('crypto');
function verifyWebhook(payload, signature, secret) {
const expectedSignature = crypto
.createHmac('sha256', secret)
.update(payload)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(expectedSignature)
);
}
// Usage
const isValid = verifyWebhook(
req.body,
req.headers['x-continuata-signature'],
process.env.CONTINUATA_WEBHOOK_SECRET
);Headers
X-Continuata-Event- Event type (download.started, etc.)X-Continuata-Signature- HMAC-SHA256 signatureX-Continuata-Timestamp- Unix timestampX-Continuata-Id- Unique event ID for deduplication
Webhook Testing
Test your webhook endpoints during development:
Testing Tools
- Use ngrok or similar tools to expose local development servers
- Configure test webhook URL in Continuata dashboard
- Trigger test events using the dashboard webhook test feature
- Monitor webhook delivery logs in dashboard
- Verify proper event handling and response codes
Response Requirements
Your webhook endpoint must respond with HTTP 200 within 10 seconds. Failed deliveries will be retried with exponential backoff.