Storefronts and commerce
Shopify, WooCommerce, custom carts, POS terminals, and retail sales records connect into the same campaign, coupon, and order data.
Integrations and API
9010 exposes REST API contracts, webhooks, and NATS JetStream event streams so campaigns, commerce, logistics, warehouse, and customer-care data stay in sync without polling.
What connects
Shopify, WooCommerce, custom carts, POS terminals, and retail sales records connect into the same campaign, coupon, and order data.
Delivery partners, warehouse handoffs, logistics providers, returns, and tracking milestones feed back into customer follow-up and proof reporting.
Subscribe to order, campaign, seller, and delivery events through documented webhook payloads instead of polling an endpoint on a timer.
Campaign, commerce, logistics, warehouse, and customer-care state changes publish to NATS JetStream, giving downstream systems a durable, replayable event log.
Every controller exposes a documented REST contract with request/response shapes covered by automated contract tests, so integrations do not drift silently.
Postgres/PostGIS for relational and geospatial records, SurrealDB for flexible documents, and MinIO for object storage, all running on infrastructure you control.
Developers
Instead of your systems polling 9010 on a timer, mutations publish to NATS JetStream and stream to connected surfaces over WebSocket, so campaign, order, and delivery changes reach your team and your customers in real time.
Talk to EngineeringDeveloper quickstart
Every service in the mesh is covered by automated contract tests, so an integration built against these shapes does not drift silently when the backend changes.
REST calls authenticate with a Keycloak-issued JWT Bearer token. Organization and role scoping is read from the token, not a separate API key table.
GET /me Authorization: Bearer <keycloak_jwt>
Delivery and fulfillment providers post status changes to a per-provider webhook route, which the logistics service records and re-publishes as a domain event.
POST /delivery/webhooks/{provider}
POST /delivery/tracking/{id}/webhookDomain mutations publish to named NATS JetStream subjects per service, so a subscriber only needs the subjects relevant to its surface.
events.campaigns events.commerce events.logistics
Start with an operations readiness intake and we will scope the right integration path.