Quick Start: Omnichannel e-com
This guide shows how to set up a basic e-commerce store in Omnium, including markets, products, inventory, and a simple checkout flow.
Prerequisites
Before starting, ensure you have:
- Access to Omnium: You need an active Omnium account with appropriate permissions
- API Credentials: You'll need a
ClientId
andClientSecret
for API authentication
If you don't have access yet, follow our Get Access guide to request access and obtain your API credentials.
1. Setup Markets
Markets define the geographical or business segments where you operate. They're essential for organizing your stores, pricing, and inventory.
Create a Market
Use the Omnium GUI or API to create your first market:
Via API:
Via GUI:
- Navigate to Configuration > Markets
- Click "Add Market"
- Fill in market details
- Save the market
2. Add Stores
Stores represent your sales channels within a market. Let's create a complete omnichannel setup using the AddMany endpoint for best practices.
This example creates three store types:
- Online Store (
oslo-online
): Your e-commerce website/app where customers place online orders - Physical Store (
oslo-downtown
): Retail location that can also serve as local warehouse for Click & Collect - Central Warehouse (
oslo-warehouse
): Main distribution center
Via API:
Key Properties Explained:
isWarehouse: true
- Allows the store to hold and fulfill inventoryisPrimaryWarehouse: true
- Designates this as the main fulfillment source for the market(s), typically for a central warehouseavailableWarehouses
- References which warehouses can fulfill orders for this store
This setup gives you a simple omnichannel setup with online sales, physical retail presence, and centralized inventory management.
Search for Stores
(Super simple) Search for warehouses (store with isWarehouse=true) for market "nor":
Response structure (OmniumResult):
Note: Store search returns an OmniumResult
wrapper containing:
result
: Array of matching storestotalHits
: Total number of matches
3. Add Products
Products are the core of your e-commerce store. First, let's create product categories, then add products with variants.
Create Product Categories
Before adding products, set up your category structure using the AddMany endpoint:
Create a Product with Variants
An example for a yellow t-shirt in multiple sizes:
Note:
- When variants have the same price, set the price at product level (best practice)
- Product language is set to "no" for Norwegian
- Only product IDs and category IDs have language suffixes ("_no"), not SKUs, productId or categoryId
Product Model
Important: To understand all available product fields and their properties, see our Product Model documentation. Familiarize yourself with the complete product structure to make the most of Omnium's product capabilities.
4. Add Inventory
Omnium can act as the source of truth for inventory levels, or receive updates from external systems such as ERP or WMS. The recommended way to update inventory in Omnium is through the UpdateMany endpoint. Even when another system is the master for stock levels, Omnium typically manages reserved inventory as part of the order workflows.
Set Initial Stock Levels
Via API (UpdateMany endpoint - recommended):
This example shows inventory typically distributed across multiple locations:
- Central Warehouse (
oslo-warehouse
): Higher quantities for main distribution - Physical Store (
oslo-downtown
): Smaller quantities for walk-in customers and Click & Collect
Key Benefits of UpdateMany:
- Efficiently handles up to 1000 items per batch
- Only updates items that have actual changes
- Automatically inserts new inventory items or updates existing ones
- Enriches existing inventory items - preserves
reservedInventory
and other existing data - Optimal performance for bulk inventory operations
5. Query Products
Implement product search and retrieval for your e-commerce frontend.
Search Products
Example 1: Free Text Search with Facets
General product search with facets for filtering:
This example searches for products containing "yellow t-shirt" and returns facets that can be used for filtering (categories, brands, sizes, etc.).
Example 2: Single Product Lookup
Fetch specific product with contextual pricing:
Important: SearchProducts automatically sets the correct pricing context based on your input parameters. When you specify marketId
, you get market-specific pricing. If you also specify customerId
or customerGroup
, the API returns the correct price for that customer context (including any special pricing, discounts, or customer group rates).
Key Search Parameters:
- marketId: Required for contextual pricing and market-specific results
- includeFields: Specify exactly which fields to return for better performance. Can be left out if you want to get the entire model back
- isFacetsDisabled: For best possible performance, always set to
true
unless you actually need to return facets to display to your end customers - take: Number of results to return (replaces limit/offset pattern)
SearchProducts Response Example
6. Update Products
Keep your product data up-to-date with pricing, descriptions, and availability changes.
Using PatchMany endpoint (recommended for product updates):
Key Benefits of PatchMany:
- Only updates fields that have actual changes
- Handles up to 1000 products per batch
- Optimal performance - skips unnecessary updates
- Preserves existing product data
7. Price Updates
While prices can be updated via PatchMany, in many cases prices come from separate systems or different entities. For price management, we recommend using the dedicated pricing endpoint:
Benefits of dedicated price updates:
- Automatically checks for actual price changes to avoid unnecessary updates
- Optimized for high-frequency price updates from external systems
8. Cart Operations (Checkout)
Implement a complete shopping cart and checkout experience using Omnium's cart API workflow.
Create a Cart by Adding First Item
Create cart by adding an item (recommended approach):
This creates a new cart and adds the first item in one request. The response contains the new cart with a unique cartId
for future operations.
Add More Items to Cart
Add additional items to existing cart:
Update Cart Items
Change item quantity by SKU:
Change quantity by OrderLine ID:
Get Cart Details
Retrieve current cart:
Apply Gift Cards and Coupons
Add Gift Card:
Add Coupon Code:
Get Shipping and Payment Options
Get available shipping options:
Get available payment methods:
Add Shipment to Cart
Add shipping method:
Note:
- The
StoreId
on the order level identifies where the order is sold from, andwarehouseCode
on the shipment(s) identifies where the order will be sent from
Add Payment to Cart
Add payment method:
Note:
- Omnium supports many integrated payment providers including Klarna, Dintero, Svea, Vipps, and many others
Add Customer Information
Add customer to cart:
Or add customer details directly:
Cart Validation
Validate cart before or during checkout to validate inventory, active products or other validators that has been configured:
This ensures all cart data is valid before creating the order.
Create Order from Cart
Complete the checkout process:
This creates the final order and returns the order confirmation with order ID and details.
9. Click and Collect Orders
Omnium supports all kinds of order flow (like BOPIS, ROPIS, Ship from store and BORIS (C&C)). This shows how you would implement C&C.
Setup Click and Collect Order Type
Before processing Click and Collect orders, you need to configure the order type in Omnium:
- Via Omnium UI: Navigate to Configuration > Orders > Order Types
- Create a new order type with type
ClickAndCollect
- Configure pickup time limits, notifications, and store availability
Create Click and Collect Cart
Create cart with ClickAndCollect order type and store set to the physical store:
Set order type to Click and Collect:
Add Customer (No Address Required)
For Click and Collect orders, you don't set a shipping address since the customer will pick up at the store:
Process Click and Collect Checkout
Complete the Click and Collect order:
10. Customer Order History
Enable customers to view their order history by implementing order search functionality for "My Account" pages.
Search Customer Orders
Get all orders for a specific customer:
The response includes complete order details with items, pricing, shipping information, and current status - suitable for implementing customer order history pages.
Next Steps
Sweet! You've successfully set up a basic e-commerce solution with Omnium. Your store now has:
✅ Markets and stores configured
✅ Products with inventory management
✅ Search and product retrieval
✅ Complete cart and checkout functionality
✅ Click and Collect order processing
✅ Customer order history functionality