Fluent Commerce Logo
Docs
Sign In

Recently Updated

Some of the recently updated content.

Orchestration & Audit Events

Essential knowledge

About Reference And Extension Modules

Essential knowledge

Modules are the package structure used by Fluent Commerce to ship preconfigured features and functions. They are designed to be self-describing, isolated, but inter-dependent assets that can work together with other modules, or be extended by custom modules, all while remaining upgradeable.

Here we'll look at the different designations of Modules and describe the Module's Package Structure and Project Structure.

Inventory Module Getting Started Guide

Essential knowledge

The Inventory Reference Module is the foundation for inventory-related implementations. It provides reference Workflows for inventory ingestion and processing. Extensible by design, use this Module as a base to build a solution to your customers' needs.

  • Understanding the prerequisites is crucial before you begin using the Inventory Module.
  • Learn how to enable the Inventory Module for your system.
  • Get familiar with the Module Workflows to effectively manage your Inventory.
  • Ensure proper configuration of the Inventory Module to suit your business needs.

How to Submit Inventory Batches

Topic

Pre-requisites:

This technical guide provides detailed steps on how you can submit Inventory Batches to the Fluent platform.

Inventory Ingestion

Essential knowledge
  • Inventory Batches handle large-scale updates (thousands to millions of records), while Delta updates are ideal for smaller, incremental changes in real time.
  • Batches use asynchronous processing for bulk data, grouped into Jobs for tracking, whereas Deltas are processed individually directly by the workflow engine.
  • Batches are suited for periodic updates like ERP integrations and stocktakes, while Inventory Deltas are designed for real-time changes to reflect inventory movements such as store sales, returns, or daily adjustments.
  • Batches require management of file sizes and grouping, while Deltas focus only on incremental updates, ensuring simplicity and speed for smaller changes.

Inventory Batch

Essential knowledge

Inventory Batch enables bulk uploading of inventory updates to the Fluent Commerce platform, handling high data volumes from thousands to million updates per operation. Leveraging Fluent Big Inventory's Batch API and Inventory Batch Pre-Processing, it ensures faster processing and accurate inventory availability in the Fluent Order Management System. 

This scalable solution keeps inventory data synchronized across channels, empowering businesses to manage stock efficiently and meet customer expectations with accurate, up-to-date stock information.

  • Use Cases for Inventory Batch
  • Platform Capabilities leveraged
  • Best practices for Inventory Batch
  • Reference Inventory Module and Inventory Batch

How to Use Enhanced Inventory Attributes in Your Payloads

Essential knowledge

This guide explains how to leverage the

`attributes`
object to include custom data in your inventory payloads. By supporting both simple key-value pairs and complex JSON structures, the
`attributes`
object offers the flexibility to meet diverse business requirements—whether you’re managing detailed product information, optimizing warehouse processes, or integrating with custom workflows. You’ll also learn about recommended attribute fields like
`expectedOn`
,
`storageAreaRef`
, and
`condition`
, which are automatically integrated into Inventory workflows for streamlined updates and better data consistency.

  • Flexible Attribute Structure: The
    `attributes`
    object supports any combination of key-value pairs, including complex JSON structures and arrays. This flexibility allows you to customize the data sent in your inventory payloads to meet specific business needs.
  • Recommended Attributes: Certain key attributes, such as
    `expectedOn`
    ,
    `storageAreaRef`
    , and
    `condition`
    , are automatically integrated into our platform’s workflows. These fields will be directly updated in the inventory quantity associated with the incoming record, facilitating seamless integration with existing fields.
  • Custom Attribute Availability: Any custom attributes that you include in the
    `attributes`
    object will be available in workflows via
    `inventoryPosition.inventoryQuantity.attributes.<fieldname>`
    . This enables you to incorporate custom data into rule-based processes or other logic tailored to your business requirements.
  • ISO 8601 Date Format: For any date-related attributes, it is recommended to use the ISO 8601 format (e.g.,
    `YYYY-MM-DDTHH:MM:SSZ`
    ) to ensure consistency and proper handling within the system.
  • Integration with Workflows: The system is designed to handle both recommended and custom attributes, making them accessible within the workflow context. This ensures that you can leverage these attributes in custom rules and other logic, depending on the specific needs of your implementation.
  • Extensibility: While the table of recommended attributes provides a useful starting point, you are encouraged to extend the
    `attributes`
    object with any additional fields relevant to your business processes. The flexibility of this structure allows for robust customization.

What is a Reference Module?

Essential knowledge

A Reference Module is a Module provided by Fluent Commerce that is designed to provide reference artifacts that you can use to create your own solutions. While an Extension contains an entire solution within itself, Reference Modules provide Domain Artifacts that can be used to speed up building your solutions. Structurally, Reference Modules are identical to Modules, as are Extensions.


  • Provide understanding of Reference Module and link to some examples

Fetching Data with the useQuery Hook

Essential knowledge

This lesson focuses on fetching data within a custom form field using the

`useQuery`
hook. We'll move away from relying on page query data and instead directly query the Fluent GraphQL API to retrieve a list of nearby locations with product stock. This involves defining data structures for query results, storing the query in a constant, and using the
`useQuery`
hook to execute the query with dynamic parameters derived from the form's context and the user's context (via
`useAuth`
). We will then render the results in a selectable list using radio buttons.

  • Data Independence: Components should fetch their own data using the
    `useQuery`
    hook, rather than relying on potentially unavailable page query data.
  • GraphQL Query: A GraphQL query (
    `searchVirtualInventory`
    ) is used to retrieve nearby locations with stock.
  • Data Structures: Interfaces (SVINode, SVIResult) are defined to structure the query results.
  • `useQuery`
    Hook: The
    `useQuery`
    hook is used to execute the GraphQL query with dynamic parameters.
  • Dynamic Parameters: Query parameters (
    `productRef`
    ,
    `locationRef`
    ,
    `lat`
    ,
    `lng`
    ) are derived from the form's entity context (product) and the user's context (location) using the
    `useAuth`
    hook.
  • Loading State: A loading state is implemented while the query progresses.
  • Result Rendering: The query results are initially logged to the console and then rendered as a list of selectable locations using radio buttons.
  • User Selection: A state variable and event handler are used to track the user's selected location.

Client Scenario: Building a Product Availability Map

Essential knowledge

This lesson introduces a practical client scenario: visualizing product availability on a map. Building upon the foundation laid in the UX Framework course, we'll enhance the Fluent Store app's Product Availability screen by adding a map that displays nearby store locations and stock information for a selected product variant. This hands-on lab will guide you through configuring the product lookup and detail availability pages, setting the stage for creating custom components in subsequent lessons.

  • Client Need: The client requires a visual representation of product availability in nearby stores, which would enable staff to locate items quickly for customers.
  • Map Functionality: The map should be integrated into the Product Availability details screen. It should display pins for the 10 closest stores with stock and show store details (name, product reference, available stock) when a pin is clicked. The map's appearance and behavior should be configurable via the manifest.
  • Product Lookup Configuration: This involves adding a new page to the Fluent Store app, using a List Component to display product variants, configuring list filters, and creating hyperlinks to product details pages.
  • Detail Availability Page Configuration: This includes creating a new page, linking it from the Product Lookup page, and adding card components to display product details and images. A List Component will show data from the search VirtualInventory query.
  • Hands-on Lab Focus: The lab simulates a real-world scenario where a customer seeks a specific shoe size, requiring a store associate to check nearby store inventory. This exercise will prepare you for creating custom components in the following lessons to realize the client's vision fully.

Filter Panel: Configuration, Customization, and Best Practices

How-to Guide
  • This guide provides step-by-step instructions on setting up and customizing the Filter Panel component to filter data effectively, whether on standalone pages or embedded within the List component to filter an inner list.
  • Discover how to define data sources, integrate custom queries, and display query results seamlessly using descendant components.
  • Explore options to customize fields: modify field types, set default values, rearrange the field order, and remove unnecessary fields.
  • Unlock the component's key functionality—synchronizing filter data with the URL. This enables easy sharing of pre-filtered views through links.
  • Learn how to configure default filter values using settings for a streamlined and consistent user experience.

Complex Filter Configuration: Tips and Techniques

How-to Guide

Update Comment

Essential knowledge

The

Mutation allows for the updating of an existing Comment object.


Prerequisites

Specific Permissions are required for updating Comments:

  • `COMMENT_UPDATE`
  • `COMMENT_VIEW`
  • Use the
    `updateComment`
    Mutation to update an existing Comment
  • Manage the Comment Permissions at the Account or Retailer level
  • Apply the "Retailer-specific Comment Permission Check" validation logic with the
    `fc.graphql.comment.access`
    Setting (
    `retailer`
    value)

Create Comment

Essential knowledge

The

Mutation allows the creation of a Comment against a known Entity.


Prerequisites

Specific Permissions are required for creating Comments:

  • `COMMENT_CREATE`
  • `COMMENT_VIEW`
  • Use the
    `createComment`
    Mutation to create a Comment against a known Entity
  • Manage the Comment Permissions at the Account or Retailer level
  • Apply the "Retailer-specific Comment Permission Check" validation logic with the
    `fc.graphql.comment.access`
    Setting (
    `retailer`
    value)
  • Created Comments inherit the
    `retailerId`
    of the associated Entity

Get Comment by Id

Essential knowledge

The

Query retrieves a Comment based on a provided Id.


Prerequisites

  • `COMMENT_VIEW`
    Permission is required for retrieving a Comment
  • Use the
    `commentById`
    Query to retrieve an existing Comment
  • Manage the Comment Permissions at the Account or Retailer level
  • Apply the "Retailer-specific Comment Permission Check" validation logic with the
    `fc.graphql.comment.access`
    Setting (
    `retailer`
    value)

Query Comments

Essential knowledge

The

Query retrieves Comments based on various filter criteria.


Prerequisites

  • `COMMENT_VIEW`
    Permission is required for retrieving Comments
  • Use the
    `comments`
    Query to retrieve existing Comments
  • Manage the Comment Permissions at the Account or Retailer level
  • Apply the "Retailer-specific Comment Permission Check" validation logic with the
    `fc.graphql.comment.access`
    Setting (
    `retailer`
    value)

Enable Store Associates to assign Items to Parcels

How-to Guide

Using the Setting Form Component

How-to Guide

Fluent Store Dispatch Template

Essential knowledge
  • Pack and Dispatch Orders: This template facilitates the packing of items into boxes or satchels and allows for printing of packing slips and carrier labels.
  • Multiple Order Types: It supports packing for various order types including Home Delivery, Click & Collect, and Store Transfers.
  • Configurable Workflow: The template relies on the Location Store Workflow with a Wave Dispatch User Action to streamline the dispatch process.
  • Wizard Page Integration: Utilizes the fc.page.wizard component from the Component Library for step-by-step guidance through the packing process.

Metrics Overview

Essential knowledge

This document is intended to introduce the Metrics and describe their place within the Fluent Big Inventory product.

Pre-requisites:

  • Metrics are available for all Fluent Order Management and Fluent Big Inventory customers.
  • Metrics data is captured, uploaded, and stored in a monitoring system.
  • Metrics data is retrieved via the Metrics API.
  • Metrics data can be visualized with the OMX UX Framework, Business intelligence tools, and third-party Metrics analytics platforms.

Platform Limit Definitions (v1.0)

Essential knowledge

This document sets out the definitions for the terminology used in the Platform Limits document some of which is also used in your contractual agreement documents (e.g. Order Form) with Fluent Commerce. 

For definitions of other essential terminology, visit the Glossary of Key Terms and Product Taxonomy pages.

  • Read this together with the Platform Limits document and your Agreement/Order Form relating to the Platform.

Platform Limit Definitions (v1.1)

Essential knowledge

This document sets out the definitions for the terminology used in the Platform Limits document some of which is also used in your contractual agreement documents (e.g. Order Form) with Fluent Commerce. 

For definitions of other essential terminology, visit the Glossary of Key Terms and Product Taxonomy pages.

  • Read this together with the Platform Limits document and your Agreement/Order Form relating to the Platform.

How Metrics works

Essential knowledge

This document is intended to describe to implementers Metrics technical details within the Fluent Big Inventory product.

Pre-requisites:

  • All customers' Metrics are isolated in the dedicated workspaces.
  • Metrics are captured from the Fluent APIs, Orchestration Engine (Rubix), Batch Pre-Processing, and Inventory Feeds.
  • Use
    `metricInstant`
    and
    `metricRange`
    GraphQL queries to retrieve the Metrics data.

Display REST API Data in Standard Library Components

How-to Guide

Build a Webhooks Monitoring Dashboard

How-to Guide
  • For Frontend Configurators (JSON) of the Fluent OMX UX Framework with access to a small custom component
  • Enable a visual Webhooks Monitoring Dashboard in the Fluent OMS (or any other Fluent web app)
  • How to add a new page to the Insights section
  • How to query the Event API for Webhook Audit Events
  • How to use the
    `devrel.provider.rest`
    component to display information from the Fluent REST APIs using standard the standard UX Component Library
  • Access specific attributes by name (even when they contain spaces!)
  • How to conditionally color code a specific table column
  • How to display a details drawer from a list
  • How to display contextual Webhook information on the Order Details screen

GraphQL API

Essential knowledge

The Fluent GraphQL API provides powerful access to data, integration, and orchestration-driven business logic. It provides an opportunity to streamline and optimize requests to the Fluent Order Management platform in a way that is more flexible than the REST-based API.

  • Schema Documentation
  • Benefits of GraphQL
  • Why Did We Choose GraphQL?
  • Differences Between REST and GraphQL-based APIs

REST API

Essential knowledge

The Fluent Platform provides and number of REST APIs for interacting with the platform.

These differ from the primary GraphQL APIs which primarily cover domain entities. This section provides access to the REST based Platform APIs reference documentation.

  • The REST APIs provide platform level capability, such as Authentication, Integration, and Workflow Framework setup
  • This does not include deprecated v4.1 Domain-based REST APIs
  • See GraphQL for current domain-based entities and APIs

Install Reference Modules using Plugin and Workflow APIs

How-to Guide
  • Reference Modules: There are four reference modules: Core, Order, Fulfilment, and Inventory
  • Version: Always download and install the latest version of the module
  • Extraction: Unzip the downloaded file using system-appropriate software
  • Verification: Ensure the extracted folder follows the naming pattern fc-module-<domain>-<pluginVersion>
  • Assets Folder: Confirm the extracted folder contains the "assets" folder, which includes "rules" and "workflows" subfolders
  • Jar File: Within the "rules" folder, locate the jar file named fc-plugin-<domain>-<pluginVersion>. Keep track of the domain and version numbers
  • Workflows: In the "workflows" folder, ensure default workflows with placeholders are appropriately customized for your account

Connector Contract

Essential knowledge
  • Provides a customisable and reusable approach for respective module contracts
  • The contract can be extended to implement customer-specific requirements

How to transform v1.0 manifest into the manifest v2.0

Essential knowledge
  • Admin Console Vs Fluent OMS Manifests
  • How to add a component to a tab
  • How to add a filter and exclude filters that should not be displayed on
  • How to add breadcrumbs
  • How to set the default page size
  • How to add Mutations and UserActions
  • How to add components to a card
  • How to add components to a list
  • How to configure navigation from Dashboard to the page with applying date and time range filter

Rule Development Guidelines & Recommended Practices

Essential knowledge
  • This document will cover the following topics:
    • Best Practices
    • Rule Naming Conventions
    • Rule Descriptions
    • Rule Parameters
    • Exception Handling
    • Logging & Audit Events
    • Utilities, Helpers, and Services
    • Constants
    • Documentation
    • Additional Best Practices

Exception Management in writing Rules

Essential knowledge
  • To ensure that the Orchestration Audit Events contain as much useful information as possible, it is important to consider the Exception Strategy used by your Rules.
  • Don't swallow exceptions inside Rules, and always allow a caught exception to be re-thrown, or added as a cause to a new exception to ensure the cause is included in the Audit Events.
  • The Workflow Framework provides a special exception type called RuleExecutionException which provides special handling of exceptions differently from all others.

GraphQL Reference

Essential knowledge

These docs were generated by graphql-docs. Just starting out with GraphQL? Check out GraphQL's official documentation!

  • The schema docs are generated as part of a product release process and therefore are up-to-date.

Getting Started with Metrics API

Essential knowledge

This guide is intended to provide implementers with information about the Metrics API within the Fluent Big Inventory product, describing its functionalities and utilization principles within the Fluent Platform.

Pre-requisites:

  • Metrics data is fetched and visualized for the Fluent Platform Observability enablement.
  • Use
    `metricInstant`
    and
    `metricRange`
    GraphQL queries to retrieve the Metrics data.
  • Prometheus Query Language is utilized for the Metrics API queries construction.

Metrics usage for Platform Observability

Essential knowledge

This document is intended to describe to implementers which Metrics are available within the Fluent Big Inventory product and what kind of data they provide to achieve Platform Observability.

Pre-requisites:

  • Metrics are available for all customers with Fluent Order Management and Fluent Big Inventory.
  • Metrics data is captured, uploaded, and stored in the Metrics workspace.
  • Metrics data is fetched and visualized for the Platform Observability enablement.

Languages and Localisation

Essential knowledge

As a part of Internationalisation, the Fluent platform supports multiple languages. This support allows users of web apps such as OMS Webapp and Fluent Store to configure and view the modules and interfaces of the Fluent platform in their preferred language.

As of the Fluent v4.45 release, the Fluent platform provides pre-configured support for the following languages.

Fluent Order Management uses a default language of Australian English 

`en-AU`
.

  • Australian English 
    `en-AU`
     - Default
  • American English - 
    `en-US`
  • French - 
    `fr-FR`
  • Mexican Spanish - 
    `es-MX`
  • Italian - 
    `it-IT`
  • Enable additional language in OMS
  • Additional language Support - Beta
  • Custom Language Bundles
  • Language Preferences for User Accounts
  • Customizing Languages and Key
  • Customizing Workflow User Actions
  • Adding new Mutation Actions
  • Priority and Fall Back Options of Internationalization
  • Limitations

Using the anyMatch Template

Essential knowledge

The Mystique manifest configures icons, cards, and templates. Templates can be structured in various ways; for further details, please consult the UX Configuration Common Concepts article. This article, however, will specifically concentrate on the any Match template. 

This template functions as a filter for a stream (such as a list of items), capable of matching none, some, or all records where a specific condition is met by a field path. This feature is particularly valuable for filtering purposes.

  • The anyMatch template is used for performing conditional checks on structured data streams (i.e lists, arrays), typically JSON. The template requires three inputs parameters:  
    `STRING_PATH_TO_VARIABLE`
    ,
    `VALUE`
    and
    `OPTIONAL_FUNCTION .`
  •  This template checks if a specific path within your data structure matches a given value. 
  •  The anyMatch template also supports optional functions to perform different kinds of comparisons. The optional functions will compare the specified path to the value and return results if there is a match. 

Self-Service IPU/IPC visibility Overview

Essential knowledge

This document will detail how customers can view their Inventory Position Update(IPU) and Inventory Position Change(IPC) usage from within the Inventory Web App. Using this, customers can easily compare their usage to contracted rates.

Pre-requisites

Webhooks Frequently Asked Questions

Essential knowledge
  • Static IP Whitelisting: Fluent Commerce's AWS Cloud setup doesn't allow for static IP whitelisting due to the potential for IP address changes caused by scaling or architectural adjustments, as well as AWS's own IP address alterations.
  • Authentication Measures: Instead of relying on IP Access Control Lists, Fluent Commerce employs strong authentication measures for webhook requests, including cryptographic signing with a private key and verification using a public key to ensure the request's legitimacy and integrity.
  • IP-Based Restrictions: Implementing IP-based restrictions, such as whitelisting or IP ranges, is not recommended due to the dynamic nature of IP addresses in the AWS Cloud setup, which can lead to high exposure levels and difficulty in implementation.
  • Alternative Approaches for Access Control: Instead of IP-based restrictions, companies can utilize firewall/networking equipment or reverse proxies to restrict access based on incoming HTTP request details, or configure unique, specific static URLs for incoming traffic to filter and accept connections securely.

Sources Dashboard

Essential knowledge
  • The Sources Dashboard offers a real-time window into Inventory Ingestion, allowing customers to monitor the execution flow and comprehend the current status of their inventory.
  • With user-friendly visualizations and configurable time periods, the Sources Dashboard empowers users to access comprehensive inventory metrics data, enhancing their ability to make informed decisions about inventory processing.

Products

Essential knowledge
  • The Products module within the Fluent Big Inventory app is a centralized hub for managing a collection of products, encompassing all associated attributes and details, offering a holistic approach to product management.
  • The module focuses on Product Catalogue management, Standard Product management, and Category management. It empowers users to organize and oversee their product-related information efficiently, providing a seamless and comprehensive solution.
  • The module offers specific configurations for managing Categories and Product Catalogues, ensuring a tailored and effective approach to product categorization and cataloguing.

Feeds Dashboards

Essential knowledge
  • You should know about Inventory Feeds.
  • The Feeds Dashboard offers a comprehensive overview of inventory feeds, presenting general information for selected periods and providing users with insights into their account's feed activities.

Colored Thresholds for Gauge Charts Configuration

How-to Guide

Page Filter Select configuration via Manifest

How-to Guide

Connector Deployment Cloudformation

Essential knowledge

Attached to this page is the “connectors.yaml” template which is used to create Cloudformation Stack for the Connectors API. The resulting stack deploys ECS Fargate containers that run the API and produce a public endpoint. This public endpoint is secured with an SSL certificate which is applied to the Application Load Balancer.

  • Disclaimer
  • Prerequisites
  • Manual Deployments
  • Stack Provisioned

Using the Event API

Essential knowledge

Using the Event API

Webapps OMS Dashboard

Essential knowledge
  • The Console Dashboard is configured using the Dashboard Threshold Component to display orders and alerts.
  • The user can configure each dashboard tile Order and Alerts specific to the business requirement.

Workflow Configuration - Getting Started

Essential knowledge

Clients and Partners will need to have their Fluent Account set up prior to being able to work with Orchestration.

You should have received an "Account Ready" email with your Fluent Account Details, including user login credentials.

If you do not have access to a Sandbox account, please contact your Fluent Account Manager.

  • Overview and Key Concepts on Workflow Configuration.
  • The primary setting required to be enabled for working with Orchestration is that your Account should be RUBIX_ENABLED. 
  • As a user working with the Orchestration Modeller via the Admin Console, you will require the ORCHESTRATION_ADMIN role.

Mixed Baskets User Interface

Essential knowledge

The Fluent OMS module is pre-configured with certain standard functions. Mixed Baskets functionality is not a part of the default pre-configuration. The reference manifest fragment represents the new UI for Mixed Baskets functionality. Detailed information on configuring UI for Mixed Baskets is available in the guide.

  • Mixed Baskets order functionality introduces an essential change in the relationship model between order and fulfilment choice. It is a one-to-many relation model for Mixed Baskets order type and one-to-one for HD/CC.
  • Enhanceable manifest to change Fulfillments display

External Network Notification

Topic

In this sample project, we will go through some basic features of the SDK by creating a connector that can receive notifications from Fluent System, which is processed and sent to any external system like Email, Slack, Datadog, etc.

These are the topics covered by this guide:

  • Create a new Handler for receiving Notification from Fluent System
  • Send Notifications to an external network
  • Schedule Job Handler for Monitoring failed events

Copyright © 2025 Fluent Retail Pty Ltd (trading as Fluent Commerce). All rights reserved. No materials on this docs.fluentcommerce.com site may be used in any way and/or for any purpose without prior written authorisation from Fluent Commerce. Current customers and partners shall use these materials strictly in accordance with the terms and conditions of their written agreements with Fluent Commerce or its affiliates.

Fluent Logo