Fluent Commerce Logo
Docs
Sign In

Support & Operations Tools

Essential knowledge

Author:

Fluent Commerce

Changed on:

16 Jan 2025

Overview

Fluent OMS and Postman are key tools for managing and troubleshooting the Fluent Commerce platform. Fluent OMS provides a web-based interface for managing orders, inventory, and workflows, while Postman facilitates advanced debugging and custom queries using GraphQL. Together, they help identify and resolve issues like stuck orders or workflow interruptions.

Key points

  • OMS Application: Manage orders, inventory, and workflows in one place.
  • OMS Dashboard:  Monitor entity statuses (orders, fulfillment, etc.).
  • Postman Queries: Use GraphQL to query or correct data.
  • Issue Investigation: Identify stuck orders using order states and filters.
  • Workflow Re-triggering: Reset and restart workflows using the Events API.

Fluent OMS Web App

There are various tools used at Fluent Commerce, but there are two tools that are used more commonly than others and they are the Fluent OMS and Postman. Let us begin by looking at the Fluent OMS.

Fluent OMS is a web-based interface and a central application with rich capabilities that delivers value across many different user journeys, use cases, and business operations. It provides the interface needed to manage orders, product availability, inventory, and order fulfilment. 

Below are some of the tools/functionalities currently available on Fluent OMS:

The Console Dashboard: The Console Dashboard sits within Fluent OMS.  It displays information about entities (orders, fulfillments, etc.). The dashboard gives an indication of how many orders are in a particular status or escalated fulfillments, etc. — it can provide specific views depending on the status of the order. The image below displays an example of the Console Dashboard, displaying Orders and Alerts.

No alt provided

View and Manage Domain Data: The Fluent platform is underpinned by a sophisticated domain model made up of entities that share relationships. The Order Management domain for example represents details about all orders across the Fluent platform. Fluent OMS allows clients to view and manage the domain data, like orders, products, locations etc

No alt provided

Workflow Builder: The Workflow Builder is also known as the Orchestration Modeller and is the user interface (UI) of the Rubix Orchestration Engine. It provides visualization and management of all configured workflows, including rule sets, rules, and user actions. The Workflow Builder is accessible through the Admin Console.

No alt provided

Activity: The 'Activity' tab shows the different events and actions triggered during the lifecycle of an Order.

No alt provided

Events: While 'Activity' is specific to an order, 'Events' can be used to extract any events within the Fluent OMS.  You can also add one or more filters to narrow your search of events.

No alt provided

Settings: Settings is a user interface (UI) in Fluent OMS that's used to create and manage (Custom and Foundational) settings.

No alt provided

Users: Users is an interface that's used to create and manage users with their respective roles.

No alt provided

Postman

Another tool that's heavily used at Fluent is Postman. It is an API platform for developers to design, build, test and iterate their APIs. Additionally, it is also used by the support team to debug and rectify issues by using a combination of GraphQL queries and Events search. Seen below are some of the activities that this tool is used for.

No alt provided

GraphQL Queries: Postman is great for querying certain data that might not be visible in your Fluent OMS or for running custom queries using GraphQL.

GraphQL Mutations: If there's any data that needs to be corrected, GraphQL mutations can be run via Postman.  For example:

  • Change the status of an order
  • Create a new setting.

Event Search: In Fluent OMS, an event is logged for every action (including exceptions), and Postman can be used to search these events. There are a number of filters that can be applied to this search to narrow down the results. 

  • Sample End point:  https://<ACCOUNT_ID>.sandbox.api.fluentretail.com/api/v4.1/event?category=ruleSet&context.rootEntityType=ORDER&context.rootEntityId=600. 
  • Sample Response
1{            
2"id": "28056d93-45cd-11ed-98f1-55a8029ca51b",
3"name": "FulfilmentAssigned",            
4"type": "ORCHESTRATION_AUDIT",    
5"accountId": "<ACCOUNT_ID>",            
6"retailerId": "1",            
7"category": "ruleSet",            
8"context": {                
9"sourceEvents": [                    
10         "27c44644-45cd-11ed-b14f-29b02f225887"
11],                
12"entityType": "ORDER",                
13"entityId": "600",                
14"entityRef": "CC_643",

Language: json

Name: Snippet

Description:

Sample Event Search Response

Visualisation templates: If any data needs to be corrected, GraphQL mutations can be run via Postman. For example: 

No alt provided

Scripting: Postman allows scripting or storing of data in the environment by using an environment variable. You can also script tests where you have pre-conditions, post-conditions, etc.

And more... Postman is a very powerful tool. And we highly recommend that you familiarise yourself with it and make use of it. There are also other tools such as Insomnia and GraphQL, but, we have found Postman to be the best one so far.

Common issues

How to identify what's going on in an order

To identify issues with an order, you will need all the information that pertains to that particular order.  There are two ways to get that information:

Option 1: 

With Postman use the orderById query if you have the order ID, or use the orders query with ref filter if you have the order reference number. This will display all the information about the order including the financial transactions associated with the order, the fulfillments, the articles that have been created, information about consignments, and also status etc.

No alt provided
Option 2: 

Finding the order under the Order Management tab on the Fluent OMS web app, and navigating to the relevant information you are looking for under that order.

No alt provided
How to identify what's going on in a Wave

A Wave is a concept where multiple fulfillments that have been assigned to a store are all grouped together. It is a way to streamline the Pick-and-Pack process in the Fluent Store web app.

To get all the information about a certain wave you can use Postman and run a query, like the one shown here. This query will display all the fulfillments that have been assigned to that wave.

No alt provided

Next let's look at how to find orders that are stuck in a certain state for longer than expected.

How to identify 'Stuck' orders

As the name suggests, a stuck order is an order that's stuck in a particular state without progressing to the next state within a reasonable period of time.

One way to find such orders is to look for orders that have been in a certain state for more than a specified amount of time. You can specify the value of time.

Let's look at an example to understand this better.

No alt provided

Pre-request Script


The threshold time can be specified as a JSON under the pre-request script.

This is also where you would specify how much the 'threshold time' should be.

Status Filter


Here you can add a status filter.

Example: You can choose to view only those orders that are in a "CREATED" or a "RECEIVED" state.

Threshold Time


It is the duration of time that can be specified, when looking for orders. Note that this can be a start or an end time.

Example, if you set the threshold time as greater than or equal to 30 minutes, then only those orders that have been in a particular state for 30 minutes or more will be displayed.

Once you've identified a 'stuck' order, you may need to re-trigger it to get the process moving forward again. Let's look at how you can do that next.

How to re-trigger stuck orders
What does it mean to re-trigger an entity?

Re-triggering and entity means restarting a particular workflow path or parts of your workflow by simulating an event.  This can be done by sending an event via the Events API, which matches with the Ruleset of the respective workflow.

Why is this needed?

If an order is stuck or there are problems with a certain order being moved to an unexpected status, then you could run mutations to reset the status of your order or fulfilment. And then, send an event in order to re-trigger the workflow from that point forward. 

1{
2  "name": "RulesetName",
3  "accountId": "{{fluentAccountId}}",
4  "retailerId": "{{retailer_id}}",
5  "entityType": "ORDER",
6  "entitySubtype": "HD",
7  "entityRef": "HD760-819-8514"
8}

Language: json

Name: Re-triggering a stuck order

Description:

Example Event API payload for manually re-triggering a stuck order.  The RulesetName should correspond to the ruleset you want to trigger in the workflow.

Fluent Commerce

Fluent Commerce

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