Building Blocks
348 Items
Configurable Drawer Component
The Configurable Drawer is a Mystique content component that displays other components in the hidden by-default section. The drawer button click event expands this hidden section on the right-hand side of the screen.
The component allows you to redefine the context for its descendants.
Connector Contract - Create Order
Through the GraphQL API, create a new order in Fluent. The Customer must exist before placing the order, whether a guest user or not.
Flow
The activity flow for both standard and guest users is identical. However, in a guest checkout scenario, a new Customer is always created before the order is placed. The source system should generate a new unique identification for guest users, even if the email address used is the same as that of an existing standard user.
Order create
The activity flow has to first fetch the Customer ID from Fluent before placing the order.
API Details
Create Order
API contract - createOrder
Create Customer
API contract - createCustomer
Create Payment
API contract - Create Order Payment
Get Customer
API contract - getCustomer Query
Connector Contracts - Create Order Payment
Payment transactions reflect when and how a customer has paid for an order. Multiple (split) payments are supported and custom business logic can be applied on the Fluent side, to identify when an order has been fully paid.
Considerations for the payment workflow:
- The workflow needs to reflect the business model on when to capture the payment: at order placement, or at fulfilment.
- Create order payment should simply track the payment details against the order placed, nothing more.
- All available payment transactions (authorisation and/or capture) should be pushed to Fluent.
- These transactions can be used to issue refunds on returns or cancellations.
- Payment pre-authorisations usually only hold for 5-7 days. The workflow should expect it to fail when capturing at fulfilment time for delayed orders.
- Pre-orders will need a different flow, as capturing at fulfilment time will most likely be outside the 5-7 window.
API Details
Event Names
`fc.connect.order.transaction.add`
API contract
To download the add payment transaction connector payload schema click here.
DEFAULT.COORDINATES
If the rule parameter is set to true and the Google Geocoding request fails or the response contains no result, the DEFAULT.COORDINATES setting will be used. this setting is also used by a few rules such as `ValidateOrderDeliveryAddress`
Events Search Component
The Events Search is a plugin component for events:
- filtering,
- displaying,
- exporting.
The component fetches events using the REST Event API based on the selected search criteria.
fc.api.fulfilment.uniqueness
Enabled a new unique constraint for the fulfillment creation process to prevent duplicate fulfillments. Enabling this feature toggle can impact the existing business process of replay fulfillments at the same location; see the Managing Duplicate Fulfilments functionality.
FC.MYSTIQUE.EVENT.SEARCH.FILTERBASED
Displays the Event search UI component on the Admin Console. For more information about how to use this setting, see the Event Search functionality.
fc.mystique.fields.basicpack
The
`fc.mystique.fields.basicpack`
fc.mystique.fields.fulfilmentpack
This setting is utilized in the Pack component to configure the Pack Wizard.
fc.mystique.pack.rejection.reasons
This setting provides a list of rejection reasons to be applied during the packing process. These reasons will populate the dropdown menu in the rejection field during Pack. The list can be customized or expanded to meet specific business requirements.
Fluent CLI
The Fluent CLI is an NPM Package, which can be installed by following the Getting Started Guide.
IfPropertyIsBetween
Conditionally trigger another Ruleset when the specified entity field or event attribute is between the provided values.
This could be used in between an IfPropertyIsLessThan and an IfPropertyIsGreaterThan Rule to cater for 3 distinct ranges of logic.
IfPropertyNotEquals
Conditionally trigger another ruleset when the specified entity field or event attribute does not match the provided value.
This is typically used as an "else" case for the IfPropertyEquals rule.
Inline Print Button (legacy)
The Print Button combines the page query with an HTML setting to generate a document that can be printed.
On click, a modal preview is presented with a print button that triggers the browser's print action. From there the document may be printed directly or saved out to PDF using a print-to-pdf tool.
This can be used to produce things like pick lists, packing slips, and order invoices.
Note that this feature is a legacy design. The new print component can be found here: New Print Component.
Inventory Catalog Workflow Template
This is the Reference Inventory Catalog Workflow provided as part of the Inventory Reference Module.
Fluent Commerce provides
`fc-workflow-inventory-catalogue.json`
The Inventory Module Getting Started Guide defines configuration capabilities for the Reference Inventory Workflows.
List Feed Wrapper
The list feed wrapper is a wrapper for the fc.list component that converts data from the Metrics API to a list-readable format.
Location Id Component
fc.attribute.locationId is a custom field component that allows to add / edit a Location on a drawer. The component’s key feature is the possibility to add a Location Id only in situations when it is necessary. Let’s consider the following situations, when a user is created
- When new user with user type “AGENT” is created, the Location Id is a required parameter;
- When user with other type is created, the Location Id is an optional parameter.
Multi-Parcel Component
- Multi-Parcel is an alternative Wave configuration to the Packing step for Fluent Store. The Multi-Parcel field component supports the ability to create multiple parcels per fulfilment.
- It supports the ability to create common parcel types for a location. These parcel types can contain useful information such as dimensions and weight attributes to improve the packing process.
- To get started with the Multi-Parcel field component in your Fluent Store configuration we recommend the following knowledge base guide.
NotifyVirtualCatalogueOnNetworkMatch
Conditionally send an event to the Virtual Catalog (specified by its Reference) if it passes the "Network-Match-Check".
A Virtual Catalog passes the "Network-Match-Check" when its Network(s) finds a match with a given Inventory Position Location Network(s).
The `Rule NotifyVirtualCataloguesByRefsOnNetworksMatch`
`NotifyVirtualCatalogueOnNetworkMatch`
`NotifyVirtualCataloguesByRefsOnNetworksMatch`
`NotifyVirtualCatalogueOnNetworkMatch`
Pack Field Component
The Pack Component in Fluent Store is designed to organize the packing process by outlining each box's contents in multi-parcel shipments, setting parcel parameters, rejecting items, and providing detailed information for each item through the Pack Wizard.
Connector Contracts - Payment Authorise
Authorization transactions reserve funds in the customer’s account to be used in a future payment.
Note that in most cases, this flow should be handled on the e-commerce side but may be applicable for certain types of integration (like “store credit”). Please do not share customer credit card details with Fluent.
Flow
Payment is usually authorized when an e-commerce order is placed. This authorization ensures the retailer can get funds from the customer once the items are shipped.
The payment Service Provider validates the received authorized payment request and sends a valid authorized payment response token back to the Connector; the Connector sends the token back to the Fluent system for further processing of the order.
API Details
Event Names
`fc.connect.payment.authorise`
API contract
To download the payment-authorized connector payload schema, click here.
Connector Contracts - Payment Capture
Payment Capture is the flow in which some or all of the authorized funds are taken.
In many jurisdictions, this must happen at the point of shipping the product, in which case Fluent will send a webhook to the Payment Service Provider connector with details of the authorization and capture amount.
Flow
Typically, the order is placed on an e-commerce system with appropriate payment information, and the Order and authorized transaction information are passed to Fluent (see Order Connector Contract).
Once we’re ready to capture some or all of that payment, Fluent workflows will produce the “capture request” webhook for the Payment Connector.
The Payment Service Provider will then validate and process the request and respond (asynchronously) with either a “success” or “error” event.
API Details
Event Names
`fc.connect.payment.capture`
API contract
To download the payment capture connector payload schema, click here.
Connector Contracts - Payment Reauthorise
Authorisations do not reserve funds indefinitely; funds are automatically released after a defined period of time by the business. The defined time period depends on card types.
When authorisation expires, it is necessary to reauthorise or secure a new authorisation for the value of expired authorisation.
When Fluent workflows produce a “reauthorisation” webhook to the Payment Connector, the Payment Service Provider will validate the received reauthorise payment request, and respond (asynchronously) with either a “success” or “error” event.
API Details
Event Names
`fc.connect.payment.reauthorise`
API contract
To download payment reauthorise connector contract click here.
Connector Contract - Payment Refund
A refund is required when you have charged a payer, and need to cancel the payment and return the funds to the payer. The funds will be returned to the payment method that the payer initially used to make the payment.
When Fluent workflows produce a “reauthorisation” webhook to the Payment Connector, the Payment Service Provider will validate the received refund payment request, and respond (asynchronously) with either a “success” or “error” event.
API Details
Event Names
`fc.connect.payment.refund`
API contract
To download the payment refund connector payload schema click here.
Connector Contracts - Product Category Upsert
Creates or updates a product category in Fluent Order Management. Categories are optional.
If the targeted Product Catalogue includes base products or variants that are mapped to categories then these categories need to be created first. Then the Base Product and last the associated Variants .
API Details
Event Names
`fc.connect.product.category.upsert`
API contract
To download the product category payload schema click here
Connector Contracts - Product Upsert
Creates or updates a product in Fluent. This API will handle both the base product and variants.
The workflow expects to receive the base product first, then the variants. If the base product or variants have references to categories, then these should be sent before the base product and variant.
API Details
Event Names
`fc.connect.product.upsert`
API contract
To download the product upsert payload schema click here.
Retailer Id Component
Retailer Id (fc.attribute.retailerId) Component is a custom field component that allows to add/edit a Retailer on a drawer.
Returns Component
The Returns Field Component provides an end user experience for creating Returns through an OMX web application. Example usage of this component is provided as part of the Returns configuration guide
SERVICEPOINT_GQL_DASHBOARD
You can configure the information displayed on the tiles on the ServicePoint dashboard via this setting.
The components on the dashboard are generated based on the query and variables passed in this setting.
For more information, see the ServicePoint Dashboard page.
Setting Form Component
The Setting Form Component displays Fluent Settings as user-friendly UI elements, enabling a no-code experience for configuring Fluent web apps. By presenting settings as UI components instead of JSON, business users can directly configure Fluent, reducing their reliance on developers.
This article details the capabilities of the Settings Form Component and provides a guide on how to use this component alongside related features to create a no-code experience within an Fluent Commerce web app.
Tab Card Component
The tab card is used to put tabs at the top of a group of card-like components (Attributes Card, List Component, etc) and allows users to switch between them. This can help to reduce the number of clicks a user takes when navigating between pages.
The descendants of the Tab Card component are used as the content of the tabs, linked by index. The first descendant will be shown while the first tab is active. For cases where multiple descendants should be shown under a single tab, use the Page Section component (or similar) to group them.
fc.fulfilmentoptions.create.event.persistence
This setting enables an account fulfillment options event creation to be run asynchronously to the request. Read more about it in Fulfilment Options improvements enablement.
UpdateOrderCoordinates
The rule updates the longitude and latitude of the order based on the incoming event information received from the ResolveOrderCoordinates rule.
This rule works only if the order comes without coordinates. The ResolveOrderCoordinates rule resolves the coordinates and sends the event with latitude and longitude. After that, the UpdateOrderCoordinates rule gets coordinates from the event and updates the delivery address with coordinates.
USB Barcode Scanner Component
An invisible component that accepts input from a USB scanner in HID mode (keyboard simulation) and performs an action on a scan. This component activates when nothing on the screen is currently selected and enables efficient scanning of parcel labels to perform various functions, like marking a customer order as collected.
Most commonly, the Barcode Scanner component is included in Fluent Store manifests centered around collections.
Virtual Catalog Workflow Templates
These are the Reference Virtual Catalog Workflows provided as part of the Inventory Reference Module.
Fluent Commerce provides
`fc-workflow-virtual-catalogue-base.json`
`fc-workflow-virtual-catalogue-aggregate.json`
The Inventory Module Getting Started Guide defines configuration capabilities for the Reference Inventory Workflows.