Overview - Fabric

fabric’s Order Management System (OMS)

fabric’s Order Management System (OMS), also referred to as fabric Orders, is a distributed order management (DOM) platform that helps retailers manage the order fulfillment process and provide inventory details, order fulfillment, and customer service. As retailers, not only can you receive, track, and fulfill customer orders across sales channels, you can allow customers to track their orders, route orders through warehouses based on the customer’s location, and more. This document provides details related to inventory creation, management, rules to configure inventory that suits your business needs, order orchestration, order exchange logic, and more information about fabric’s Orders service. Note: In this document, the terms ‘fabric Orders’ and ‘fabric OMS’ are used interchangeably.

Getting Started

fabric’s Orders service supports modern distributed commerce models, including buy-online-pickup-in-store (BOPIS), ship-to-store (for store pick up or replenishment), and store fulfillment (as mini distribution centers) models. It not only offers network aggregation for enterprise-level inventory visibility but also enables retailers to modify order fulfillment logic without the need for coding, thereby reducing the burden on developer resources.

Core Concepts

fabric OMS consists of two independent data orchestration modules: Inventory and Orders. The following are some of the other core concepts that are used while creating or updating inventory:

Location

Create a location, using location APIs, for which you want to create an inventory or update inventory. You must provide a unique location number while creating a location. Use this location number to manage inventory. You can also create custom location attributes for a location by location number while creating or updating inventories. The following are two examples of location attributes:

Inventory

Inventory refers to the goods and products for sale. Inventory endpoints let you:

For details, refer to the Inventory endpoints.

Network

A Network is a group of locations that share inventory. Using network APIs, you can create custom networks (for example, ‘shipToHome’) to manage inventory within a specified set of locations. Use network endpoints to aggregate the quantity of the SKU in the “On Hand” and “Reserved” counter for a specified set of locations (warehouses or stores). You can specify “Safety Stock” inventory values for a network.

Counter

Counter refers to the position of the inventory, such as on-hand, allocated, shipped, etc. Using counter APIs, you can create any custom counter to suit your business needs. As per the on-hand counter quantity you pass in the request body while creating or updating inventory, availableToPurchase virtual-counter quantity is calculated based on the formula onHand - allocated - shipped. If you create a custom counter and mention it while creating or updating inventory, those custom counter quantities are also subtracted to calculate the availableToPurchase virtual counter quantity. From the left-side navigation pane, refer to Orders > Developer Guide > Inventory Setup > Rules for Updating Counter Quantity for more information on how to use counters while creating or updating inventory.

Virtual Counter

Virtual Counter refers to the inventory quantity that’s available to sell by calculating the difference between available inventory and reserved for-purchase inventory. It helps prevent over-promising of inventory by subtracting the reserved-for-purchase inventory count from the in-warehouse inventory count. Use the “availableToPurchase” virtual counter with the formula On Hand - Reserved - Backordered - Ordered - Acknowledged - Safety Stock so that the virtual counter returns your physical inventory minus the reserved quantity.

Inventory Features

The inventory module of fabric OMS lets merchants:

Order Features

Using fabric’s Orders service, merchants can:

Using fabric OMS

Prerequisites

  1. Authorization token: You must provide an access token while making an API request. fabric OMS supports both Identity v1 and Identity v2 approaches to getting access tokens. See the Generate Authorization Token section to generate an authorization token using Copilot.
  2. Product data (optional): You must provide product details if you are using a 3rd party product management system other than fabric’s Product Catalog, also referred to as fabric Product Catalog. fabric OMS needs product details such as name, description, image, and other related details for which you want to create inventory.
  3. Inventory data: You must provide sku, itemId, location, channelId, and counters indicating factual quantities of products across all locations. Location includes physical stores, warehouses, in transit, and any third-party suppliers.

Generate Authorization Token

To generate an authorization token:

  1. Log in to Copilot with your fabric credentials.
  2. Navigate to Orders.
  3. Right-click, and then click Inspect.
  4. Navigate to the Application tab.
  5. Under Session Storage, click the Copilot URL and find a value for accessToken.
  6. This accessToken value is the authorization token you must use while calling fabric Offers APIs.

curl example:

curl --location --request POST 'https://api.fabric.inc/v3/locations' \
--header 'x-site-context: {"date":"2021-11-11T21:48:47.769Z","channel":12,"account":"5f689caa4216e7000750d1ef","stage":"stg02"}' \
--header 'Authorization: eyJraWQiOiItOWxOcTZVcmR3bl9tNFJ2bDd1a2RMN0NUOUNndXIya3VJXzNjUnhnaG…' \
--data-raw ‘’

Note: In the above example, account refers to the Copilot account ID.