Skip to main content

Overview

Better Data supports two directions of webhook traffic:
  • Inbound webhooks — external platforms (Stripe, Shopify) notify Better Data of events
  • Outbound webhooks — Better Data notifies your systems when domain events occur (planned)
Outbound webhook configuration is in active development. Contact support@betterdata.co to join the early access list.

Inbound Webhooks

Stripe Billing POST /webhooks/stripe

Status: Live Handles Stripe subscription and invoice lifecycle events. Used for billing updates, entitlement recomputation, and audit logging. Verification All requests are verified using the stripe-signature header. Requests without a valid signature are rejected with 400. Handled events
EventWhat happens
customer.subscription.createdOrg billing record created, entitlements provisioned
customer.subscription.updatedPlan change applied, TenantCapabilitySnapshot recomputed
customer.subscription.deletedOrg downgraded, capabilities revoked
invoice.paidPayment confirmed, billing audit log written
invoice.payment_failedPayment failure recorded, ops alert triggered
Setup Configure your Stripe webhook to point to:
https://api.betterdata.co/webhooks/stripe
Set the STRIPE_WEBHOOK_SECRET environment variable to your Stripe signing secret.
The endpoint path is /webhooks/stripe — not /api/webhooks/stripe. Requests to /api/webhooks/stripe will return 501 Not Implemented.

Product + Inventory Sync (Shopify / Square)

Status: Handler implemented — HTTP route coming soon Better Data can receive product and inventory update events from Shopify and Square to keep your catalog and stock levels in sync.
EventWhat happens
product.createNew product added to Better Data catalog
product.updateCatalog listing and search index updated
product.deleteProduct removed from active catalog
inventory.updateStock level updated at the relevant location
The inbound HTTP route for product sync is not yet exposed. Contact support@betterdata.co to enable direct integration while the self-serve route is in development.

Outbound Webhooks (Planned)

Better Data will send outbound webhook notifications when key domain events occur in your loops. Planned event coverage
CategoryEvents
Loop transitionsAny loop state change (procurement, orders, returns, quality)
Importimport.completed, import.partial, import.failed
Allocationorder.allocation_failed, order.allocation_succeeded
Demanddemand_signal.spike_detected, demand_signal.stockout_risk
Billingsubscription.updated, loop_commitment.threshold_reached
Configuration Webhook endpoints will be configurable at: apps.betterdata.co/settings/webhooks Delivery will include:
  • HMAC signature verification
  • Retry with exponential backoff
  • Delivery log with per-event status
Outbound webhooks are in active development. Join the early access list: support@betterdata.co

Federation Webhooks (Planned)

Commerce Gateway merchants can configure a webhookUrl to receive federation events. Delivery is not yet implemented.

Webhook Security

All inbound webhooks verify request authenticity before processing. Stripe: stripe-signature HMAC verification using your webhook signing secret. Future inbound sources: HMAC-SHA256 signature in x-betterdata-signature header (implementation in progress). Never expose webhook secrets in client-side code or public repositories.