Fluent Commerce Logo
Docs

Introduction to Integrations and Connections

Essential knowledge

Authors:

Ankit Mehta, Movyn John, Cille Schliebitz, Anita Gu

Changed on:

3 Feb 2025

Overview

Welcome! This course talks about the various Integrations and Connections of the Fluent Platform.

Key points

  • Some common interfaces, and the information shared between these interfaces and the Fluent Platform
  • GraphQL, and understand its benefits over REST APIs.
  • Events API, Inventory Batches, Webhooks, and Connectors
  • Some recommended practices around the use of these methods.
Let us begin by looking at the Fluent OMS platform followed by some common interfaces.No alt providedThe Fluent OMSThe Fluent Order Management System is a platform that drives the fulfillment of orders. Its main modules like Product Availability, Distributed Order Management, Global Inventory, and Store Fulfillment functionalities are designed to be flexible in integrating with other APIs and Connectors. The Fluent OMS sits in the middle of the architecture and provides a realtime view of the Inventory to the Sales Channels, enabling integration with Warehouse Management Systems, Carrier services, ERPs, etc.No alt providedIntegration LayersIt is important to note that all the integration payloads coming into and going out of the Fluent OMS need to follow a predefined structure. This is because the Fluent OMS is designed to accept and process payloads in a particular format only.Similarly, third-party systems may follow a payload structure of their own. Hence, in order for Fluent OMS to communicate with third-party systems, they will need to transform their payload structure to a format that Fluent Order Management understands, and vice versa. The Integration Layer, which sits between the Fluent OMS and the third-party systems, carries out this transformation.No alt providedNext, we look at some common interfaces.Common InterfacesThere are many interfaces that you may come across in your projects, below we talk about some of the more common ones and the information that's shared between them and the Fluent Order Management System.No alt provided
Online StoreThe source of orders can come from:
  • eCommerce store
  • Marketplaces
  • Other sales channels
Where these data sources may share the following with Fluent:
  • Orders
  • Payment transactions
And, Fluent will respond with the following information:
  • Available to Sell (inventory)
  • Realtime fulfillment options for PDP/carts/checkout
  • Order status updates
PIM
Product Information Management systems share the following data with Fluent:
  • Master data (products/categories)
  • Product descriptions / names / pricing / images
  • Fluent is not the master of product data but it needs it to process orders
Note: While Fluent Order Management needs a master data list from the PIM, Fluent doesn't maintain this master data.
Inventory Master
  • Can be multiple sources
  • One of the primary integrations
  • Batch inventory
  • Delta inventory (store sales)
Note: The updated Available to Sell (ATS) is used by  Product Availability /  Fulfillment Options
Carrier Service
The Carrier Service may:
  • Receive a carrier booking request 
  • Send consignment / shipping labels / tracking details
  • Receive a manifest request
Payment Service
It can be used for 
  • Capturing payments (eCommerce)
  • Refunds
WMS
The Warehouse Management System or a Drop Ship Vendor may:
  • Receive a Fulfillment request from Fluent OMS
  • Send fulfillment updates to the Fluent OMS, such as updates on the Pick & Pack process
Next, we look at the different methods these interfaces can integrate with the Fluent platform. 1) APIsWe begin with the APIs. Fluent uses two types of APIs, one for platform-related activities and the other for the domain.
Platform (REST)Fluent's Platform APIs are REST-based and deal with platform-related activities such as:
  • Authentication (OAuth)
  • Plugin Uploads/Installation
  • Handling Events
  • Workflow Updates
Domain (GraphQL)Fluent's Domain related APIs are GraphQL-based and used for activities such as:
  • Creation of entities like orders, fulfillment options, etc.
  • Getting information about location, inventory, etc.
  • Getting orders that are in a particular state
  • Getting details of a particular order, etc.
  • (Any other information that's sitting within the domain side of things)
 2) OMX Workflow FrameworkThe OMX Workflow framework which is driving business logic inside the Fluent OMS receives information from external sources via Events and sends it out using Webhooks.3) BatchesThese are REST-based and are primarily used to send Inventory feeds into Fluent from an integration point of view. The same API is also used to create retailers.4) And, finally Connectors.Fluent Commerce also provides connectors to some common Enterprise e-commerce platforms including the Salesforce Commerce Cloud, Salesforce Service Cloud, Adobe Commerce, and Commerce Tools.Note: We'll look at all the different integration options mentioned here, in more detail later in this course.Integrating with the Fluent PlatformHere's a list of Datasets, the Source, and the Formats they use to exchange information with the Fluent Platform. No alt provided
API Purpose/DatasetThis column states some typical datasets / purpose for an API.
API Application Source
This column represents the source application for the respective dataset/purpose.
API Integration
This column lists the target API for the respective dataset/purpose.
Push / Pull
Push refers to the Source system pushing data to the Target.Pull refers to the Target system pulling data from the Source system.
Type & Frequency
These columns show the type and frequency of each integration.
API Types
The items listed in this column represent the types of API (e.g. Create, Update) for their respective purpose/dataset (e.g. Product Catalog).
Now that we've seen the recommended format for which purpose/data set, let us look at how you can access these APIs.Accessing the APIsYou can access the APIs using the following link: Host URL: https://<ACCOUNTID>.sandbox.api.fluentretail.com (Remove .sandbox if you don't want to work in the sandbox environment, and substitute <ACCOUNTID> with your Account ID.)✔️ For REST - Platform Level APIsAuth, Batch, Events, Workflows, Plugins, etc. You can access the information here:✔️ For GraphQL - Domain Level APIs You can access the Schema here: GraphQL API