Vendure Integration
Vendure is the commerce platform we pair with the Haus Storefront SDK by default. Its GraphQL-first architecture and multi-channel capabilities align with the abstractions delivered through our npm packages, so you can get a production-ready storefront with minimal setup.
- Website: https://www.vendure.io/
- Documentation: https://www.vendure.io/docs/
- GitHub: https://github.com/vendure-ecommerce/vendure
Why Vendure Is Our Default
Vendure aligns with the SDK’s architecture and delivers a production-ready foundation out of the box:
- GraphQL-first API that matches our TypeScript contracts.
- Multi-channel support for branded storefronts and marketplace scenarios.
- Plugin ecosystem that covers payments, search, and custom workflows.
While Vendure is the default, the SDK is intentionally provider-agnostic. When a project calls for a different commerce engine, we work with you to deliver a new provider that implements the same interface and can be swapped in via configuration.
What You Configure
- Endpoints: Provide your Vendure Shop API URL (and Admin API if needed) via the
optionsobject when you initializeDataProvider. - Channel token: Each storefront channel in Vendure has a token. Supply it to the SDK so we can scope queries to the correct channel.
- Client behaviour: Control caching, persistence, and platform flags through the SDK options available in the published package.
What Haus Tech Handles
- Channel & plugin setup: We configure Vendure channels, taxes, and essential plugins so the SDK can connect securely.
- Advanced workflows: If you require bespoke promotions, checkout flows, or third-party integrations, we implement those extensions for you.
- Backend alignment: We help instrument your Vendure instance (channels, tokens, plugins) so the SDK can connect securely and efficiently.
- Ongoing maintenance: We keep the Vendure provider inside the SDK up to date with API evolutions and performance improvements.
Example Configuration
- React
- React Native
import { DataProvider } from "@haus-storefront-react/core";
function App() {
return (
<DataProvider
provider='vendure'
platform='web'
options={{
apiUrl: "https://your-vendure-api.com/shop-api",
vendureToken: "YOUR_CHANNEL_TOKEN",
persistOptions: {
enabled: false,
},
}}
>
<YourApplication />
</DataProvider>
);
}
import { DataProvider } from "@haus-storefront-react/core";
function App() {
return (
<DataProvider
provider='vendure'
platform='native'
options={{
apiUrl: "https://your-vendure-api.com/shop-api",
vendureToken: "YOUR_CHANNEL_TOKEN",
persistOptions: {
enabled: false,
},
}}
>
<YourApplication />
</DataProvider>
);
}
Looking Beyond Vendure
Want to integrate another commerce platform? Let us know. We can build a dedicated provider that plugs into the same SDK surface area so your frontend code stays unchanged.