RIVIL
Headless ecommerce

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 off
casa-lumen.ro
LivingKitchenBathroomDiscounts♡Cart 3
-13%
Lampă de podea Arc$649 $749
Pled din lână Merino$329
-13%
Set 4 căni Dune$219 $259
Vază ceramică Alba$189
The whole buying flow

From 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

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
erp.rivil.app/clients/andreea-demo
Andreea Demo
Customer profile
Orders6
Lifetime value$4,820
Favorites5
Returns1
OrderDateTotalStatus
CL-1048today$946.00Processing
CL-103112 Oct$525.00Shipped
CL-101228 Sep$153.90Delivered
CL-100414 Sep$655.00Delivered
Store account
Emaildemo@casa-lumen.ro
AddressCluj-Napoca, Str. Observatorului 24
MarketingConsent given
Same customerin ERP, invoices, CRM
Multiple stores

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
erp.rivil.app/shop/products
Products in store
+ Listing
ProductSKUPrice ($)StockStatusVariants
Lampă de podea ArcCL-LAMP-01$649.0018Published2 channels
Pled din lână MerinoCL-PLED-03$329.0025Published3 variants
Set 4 căni DuneCL-CANA-24$219.004Low stock1 channel
Halat waffleCL-HALAT-08$279.000Out of stock2 variants
Comandă specială mobilierCL-CUSTOM-12quote-Quote request1 channel
One stock for store, warehouse, and invoices: one sale updates it everywhereStock alerts
Content

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
erp.rivil.app/shop/pages
Pages and menus
+ Page
PagePathType
Terms and conditions/p/termsLegal
Return policy/p/returnsLegal
Shipping and payment/p/shippingPage
About us/p/aboutPage
Header menu
Living/colectii/living
Lighting/colectii/iluminat
Decor/colectii/decor
Kitchen/colectii/bucatarie
Gifts/colectii/cadouri
In your app too

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
9:415G
Casa Lumen2
Search products
Linen lamp$89
Ceramic vase$42
Oak tray$36
Wool throw$74
Cart · $131
Always current

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
The rest happens in the ERP

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.

Questions

What 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.

Popular pages