Your store on any frontend, with the ERP behind it
Catalog, cart, checkout, payments, shipping and customer accounts come through an API built for stores. The frontend looks the way you want: a fast site, a mobile app or several stores for different brands, all on the same stock.
Read on the blogIn plain words: what headless means and when it pays offFrom catalog to order, through the API
Products, collections, filters and search, a cart with discount codes, shipping methods, card or cash on delivery, and checkout. Each step has its own endpoint, so the frontend has nothing to make up.
A placed order lands in the ERP with stock reduced on the spot. An order sent twice by mistake stays a single order.
- Catalog, collections, filters and search
- Cart with discounts and gift cards
- Shipping with built-in couriers
- Payments with Stripe and others, cash on delivery and transfer
# New cart, then products in it POST /api/shop/v1/carts POST /api/shop/v1/carts/{token}/lines product, variant, quantity # Discount code POST /api/shop/v1/carts/{token}/discount # The order POST /api/shop/v1/carts/{token}/checkout → order in ERP, stock reduced
Customer accounts, on any frontend
Sign-up, email confirmation, login and password reset are ready. Customers see their orders, addresses, wishlist and reviews, and request returns from their account.
The account is linked to their ERP record, so the store customer is the same customer in your invoices and CRM.
- Sign-up, login and password reset
- Orders, addresses and wishlist
- Reviews only from verified buyers
- Return requests from the account
| Order | Date | Total | Status |
|---|---|---|---|
| CL-1048 | today | $946.00 | Processing |
| CL-1031 | 12 Oct | $525.00 | Shipped |
| CL-1012 | 28 Sep | $153.90 | Delivered |
| CL-1004 | 14 Sep | $655.00 | Delivered |
Several stores, one stock
Each store is a channel, with its own catalog, prices, shipping, languages, currencies and copy. You can run a store per brand, one for export and one for business customers.
Stock, orders and customers stay shared, so you never sell the same item twice.
- Catalog and prices per channel
- Languages and currencies per channel
- One stock for all of them
- Reports per channel
| Product | SKU | Price ($) | Stock | Status | Variants |
|---|---|---|---|---|---|
| Lampă de podea Arc | CL-LAMP-01 | $649.00 | 18 | Published | 2 channels |
| Pled din lână Merino | CL-PLED-03 | $329.00 | 25 | Published | 3 variants |
| Set 4 căni Dune | CL-CANA-24 | $219.00 | 4 | Low stock | 1 channel |
| Halat waffle | CL-HALAT-08 | $279.00 | 0 | Out of stock | 2 variants |
| Comandă specială mobilier | CL-CUSTOM-12 | quote | - | Quote request | 1 channel |
Pages, menus and redirects, all from the ERP
Terms, return policy, landing pages and mega menus are edited in the ERP and show up on the frontend without a new code release.
Product feeds for Google, Meta and comparison sites come from the same catalog.
- Pages and legal copy
- Header and footer menus
- Redirects from old URLs
- Product feeds
| Page | Path | Type |
|---|---|---|
| Terms and conditions | /p/terms | Legal |
| Return policy | /p/returns | Legal |
| Shipping and payment | /p/shipping | Page |
| About us | /p/about | Page |
The same store, in your mobile app
The API that runs your web store can also run an iOS or Android app. Customers keep the same account, cart and orders wherever they shop.
You see every order in the ERP, with its source: site, app or another channel.
- The same account on site and app
- Orders with their source
- One stock
The frontend knows on its own what changed
When you change a price, stock level or page in the ERP, the store gets a signal and refreshes its pages. Customers always see real prices and stock, and pages stay fast.
- A signal on every catalog change
- Fast pages, refreshed only when needed
- OpenAPI documentation for the whole store
# The price changes in the ERP webhook shop.changed { "products": ["linen-lamp"] } # The frontend clears only what changed POST https://your-store.com/api/purge
What you stop doing in another app
Orders
Every order, with payment and shipping status.
Shipping and invoices
Label and invoice from the same order.
Returns and reviews
The return flow and verified reviews.
Reports
Sales, margin and sources, by channel and product.
The same backend, for everything else
Headless website
Content in ERP, a site with no template limits, in any language.
See how it worksMobile apps
iOS and Android apps for your clients or your field team.
See how it worksPlatforms
Portals, marketplaces and internal apps on the same data.
See how it worksRIVIL Headless
One backend for everything you build.
See how it worksWhat people ask us
Can I keep my current frontend?
If it is custom-built, we connect it to the API and you keep the design. If it is a platform theme, we rebuild the frontend on the same design and move products and customers over.
Which technology is the frontend built in?
Our demo store is built with Astro. It works just as well with Next.js, Nuxt, React Native or Flutter, because the API speaks JSON.
Can I have several stores?
Yes. Each store is a channel, with its own catalog, prices, languages and currencies, on the same stock.
How fast does the store see a price change?
Right away. On save, the store gets a signal and refreshes only the affected pages.
Who integrates the payment processor?
Stripe is ready to go. If you use another processor, we integrate it at no extra charge.
Want a store that does not hold you back?
We will show you the demo store on the API and how your frontend would connect to the ERP.