Fluent Commerce Logo
Docs
Sign In

Adobe Commerce Connector Setup and Configuration

How-to Guide

Author:

Fluent Commerce

Changed on:

16 Sept 2024

Key Points

  • This guide covers setting up a fresh new Adobe Connector in the below-required systems:
    •  Fluent OMS information details (account credentials, client secret, etc.)
    • Adobe Commerce
  • This guide does not cover:
    • The standard setup of Fluent OMS, this guide is explicitly for the Fluent Adobe Connector configuration.
    • Detail on how to migrate an existing Adobe Commerce to use Fluent OMS.
  • Please get in touch with Fluent Expert Services for guidance on any migration.

Steps

Step arrow right iconFluent Extension Configuration

Instructions

This step is to create an extension configuration in Adobe Commerce

Set the Correct Context

Log in to the Adobe Commerce Admin, navigate to

`Store > Settings > Configuration > Fluent Commerce > Connector`

No alt provided

Fluent Credential Settings

Credential configurations are split between 2 scopes: Global and Website. This is necessary to support multi-website where each can connect to its counterpart at Fluent OMS or have a special dedicated configuration.

Settings

Value

Scope

Webhook Public Key

Webhook signature validation key - Available keys

global

Account Id

Fluent Account ID

website

Fluent API Hostname

Fluent API URL without the protocol. Example acmeinc.sandbox.api.fluentretail.com

website

Retailer ID

Fluent Retailer ID

website

Integration Username

Fluent API username

website

Integration Password

Fluent API password

website

Client Secret

Fluent API client secret


Global scope

No alt provided

Website scope

No alt provided

General Settings

Common settings used by the extension.

Settings

Value

Scope

Product Catalogue ID

The ID of the product catalogue. This is used by both Product and Order integration and can be different between sites.

website

Disable Inventory Reservation

Disable internal inventory reservation/deduction when placing orders. Fluent will push inventory updates as they are depleted or replenished. The default setting is disabled and it is recommended to leave it like so.

website

Send Failure Notification

Boolean value to enable or disable sending failure notifications on errors

global

Error Email Sender

Variable to hold comma-separated email addresses

global

Global Scope

No alt provided

Website Scope

No alt provided

Product Settings

Product integration will push products from Adobe Commerce to Fluent OMS. Although this is not required for the extension to function, products must exist in Fluent OMS for orders to be fulfilled. Each website can have its own Fluent OMS product catalogue configuration and the integration will only push products that are assigned to the website in Adobe.

Settings

Value

Scope

Enable product integration

Enable the integration for the website.

website

Enabled Logging

Enable integration logging.

global

Sync Batch Size

Queue size to process items being synchronized. Note that this value cannot be over 1000. The default value is a reasonable amount and should not be changed unless required.

global

No alt provided

Inventory Settings

Inventory integration will bring aggregate stock positions from Fluent. The configuration expects a virtual catalogue id that can be configured per website as well as fine control if this integration should run for each website or not.

Settings

Value

Scope

Enable inventory integration

Enable the integration for the website

website

Enabled Logging

Enable integration logging

global

Fluent Virtual Catalogue ID

Fluent virtual catalogue mapped to aggregate virtual positions in Fluent.

website

Source Prefix

Adobe Source prefix. Used to dynamically assign inventory brought from fluent to the correct website source. It requires the source to have been pre-configured prior to running the inventory sync.

website

Sync Batch Size

Queue size to process items being synchronized. Note that this value cannot be over 1000. The default value is a reasonable amount and should not be changed unless required.

global

Sync Frequency

How often the integration will run.

global

Global scope

No alt provided

Website scope

No alt provided

Order Settings

These settings will enable Adobe to publish new orders to Fluent OMS.

Settings

Value

Scope

Enable order integration

Enable the integration for the website.

website

Enabled Logging

Enable integration logging.

global

Order Publish Status

The integration will only publish orders to Fluent when the order reaches a certain status within Adobe. It is possible to configure multiple statuses by separating them with commas.

website

No alt provided

Customer Settings

Whenever an order is placed, the customer may be required to be pushed to Fluent before the order. This is a mandatory extension and it’s not possible to disable it.

Settings

Value

Scope

Enabled Logging

Enable integration logging.

global

No alt provided

Order Update Webhook

Fluent will submit order-level updates to Adobe based on Fluent’s workflow configuration. The extension will listen to messages named 

`OrderStatusChanged`
 and update the order and based on the status configuration below will carry on with the appropriate action.

Settings

Value

Scope

Enable order update integration

Enable the integration for all websites. It’s currently not possible to enable per website.

global

Enabled Logging

Enable integration logging

global

Enable shipment processing

Creates a shipment for all order lines based on order status updates. Note that all items in the order will be added to a single shipment regardless of how they have been picked (fully or short-picked). Not to be used in conjunction with Consignment updates.

website

Fluent order status to create shipments

Status to trigger the creation of shipments.

website

Enable Invoice Processing

Enable invoice creation based on when the order reaches a certain fluent status.

website

Order status to create invoice

Fluent status to trigger invoice creation. The field is not case-sensitive. Can hold multiple statuses comma separated.

website

Enable Refund Processing

Enable order refund based on when the order reaches a certain fluent status.

website

Order status to create refund

Fluent status to trigger the order refund. The field is not case-sensitive. Can hold multiple statuses comma separated.

website

Enable Cancel Processing

Enable order cancellation based on when the order reaches a certain fluent status. Can hold multiple statuses comma separated.

website

Order status to cancel the order

Fluent status to trigger the order cancellation. The field is not case-sensitive. Can hold multiple statuses comma separated.

website

No alt provided

Consignment Webhook

Fluent will submit consignment and fulfilment updates to Adobe based on Fluent’s workflow configuration. The extension will listen to messages named 

`ConsignmentStatusChanged`
 and 
`FulfilmentStatusChanged`
. Fulfilment updates do not require any configuration at this point. Consignment updates will only be processed when the status matches the configuration below and create or update shipments in Adobe.

Settings

Value

Scope

Enable consignment update integration

Enable the integration for all websites. It’s currently not possible to enable per website.

global

Enabled Logging

Enable integration logging.

global

Consignment status to create or update shipments

Fluent consignment status that should be processed by integration. The field is not case-sensitive. Can hold multiple statuses comma separated.

website

No alt provided

Store Locator Settings

The store locator is a custom entity storing the locations from Fluent. These stores are going to hold the details of each store and use the product availability feature to display information about the store.

Settings

Value

Scope

Enable store location integration

Enable the integration for all websites. It’s currently not possible to enable per website.

website

Enabled Logging

Enable integration logging.

global

Network

Name of the network that is associated with the website/retailer. This allows different websites to have a different list of stores.

website

Click and Collect network

Name of the network holding stores that can accept click and collect.

website

Sync frequency

How often the integration will run.

global

No alt provided

Category Settings

Pushes categories from Adobe Commerce to Fluent OMS. By default, the product integration will have category references which means this integration must also be enabled. The product sync will fail when a product has a reference to a category that does not exist when Fluent utilises the default product upsert workflow. Category sync can be disabled but it requires some customization of the product sync to map products to an existing standard category - this topic is covered in the extended section of the connector.

Settings

Value

Scope

Enable category integration

Enable the integration for the website.

website

Enabled Logging

Enable integration logging.

global

Category Sync Batch size

Queue size to process items being synchronized. Note that this value cannot be over 1000. The default value is a reasonable amount and should not be changed unless required.

website

Sync frequency

How often the integration will run.

website

No alt provided

Product Availability Settings

Enables product availability services within Adobe Commerce. This is an optional extension and if enabled it requires the store locator extension to also be enabled.

Settings

Value

Scope

Enable Product Availability integration

Enable the integration for the website.

website

Enabled Logging

Enable integration logging.

global

No alt provided

Luma Sample Components

The extension contains sample widgets for product availability checks at the product page and checkout. It also allows placing click-and-collect orders.

Settings

Value

Scope

Enable Product Availability integration

Enable the integration for the website.

website

Enabled Logging

Enable integration logging.

global

No alt provided

Order Status Configuration

This configuration allows the translation of Fluent order status into the equivalent order status in Adobe. It is possible to either update the existing status or create a new one.

No alt provided


Step arrow right iconAdd Sources and Stock

Instructions

This step is to configure the source and stock in Adobe Commerce to allow receiving inventory updates from Fluent.

Setup Sources

Navigate to 

`Stores > Inventory > Sources`

This will display a list of sources (locations)

No alt provided

When setting it up for the first time, the default source will be the only source available. This step is to create one source per website and each of these sources will hold the consolidated stock count for each product for each website. The name of this source is important as it will be referenced by the inventory integration.

No alt provided

Required fields: Name and code follows a certain naming convention that has been specified on the previous step at the inventory configuration. In this step you should take the prefix specified at the inventory step and append the retailer ID at the end like shown on the picture.

You may be asked to fill other fields of the source in order to save it. This extra information is not relevant for integration but required by Adobe.

Setup Stock

Stock will link the aggregate inventory position to a website. This setup may vary per project and the screenshot below shows a single website linking it to the only source created.

No alt provided

Step arrow right iconFluent OMS Configuration Checklist

Make sure all the below configurations are set up in Fluent OMS per retailer if required

Instructions

Standard Fluent Account setup

  • Retailer
  • Permissions
  • Settings
  • Reject Location (optional)
  • Carrier (optional)
  • Other configs such as; Workflow, Product Catalogue, Control Groups & Controls, etc.

Virtual Catalogues

  • BASE - configured and used in fulfillment options workflows
  • ATS - aggregate stock synchronized with Adobe Commerce

Location Networks

  • BASE (CLICK_AND_COLLECT & HOME_DELIVERY) - configured and used in fulfillment options workflows
  • ATS - all locations which contribute to the ATS Virtual Catalogue
  • CLICK_AND_COLLECT - a network for click-and-collect locations/pickup locations in Adobe Commerce

Step arrow right iconConfigure Fluent OMS Workflows

Instructions

Typically the workflows and plugins are pre-installed on new environments but contact Fluent Expert Services in case they are missing.

Product and Category Workflow

Both product and category should use the workflow with the ability to UPSERT. This workflow will handle creating or updating products or categories.

The extension expects the following rulesets 

`UPSERT_CATEGORY`
 and 
`UPSERT_PRODUCT`
.

Fulfilment Options workflow

Fulfilment option workflow is required for both Click and Collect and Home Delivery. No special configuration is necessary besides having the correct workflow settings.

Orders workflow

In order to push order, fulfilment and consignment updates to Adobe Commerce the following rules are required to be present at the workflows.

1{
2  "name": "SendOrderStatusWebhook",
3  "description": "Sends a webhook for the fulfilment",
4  "type": "ORDER",
5  "eventType": "NORMAL",
6  "rules": [
7    {
8      "name": "MAGENTO.commonv2.SendWebhook",
9      "props": {
10        "webhookName": "OrderStatusChanged",
11        "webhookEndpoint": "https://<adobe-hostname>/fluent/webHook/order"
12      }
13    }
14  ],
15  "triggers": [
16    {
17      "status": "BOOKED"
18    },
19    {
20      "status": "PICK_PACK"
21    },
22    {
23      "status": "AWAITING_COURIER_COLLECTION"
24    },
25    {
26      "status": "COMPLETE"
27    },
28    {
29      "status": "ESCALATED"
30    },
31    {
32      "status": "CANCELLED"
33    },
34    {
35      "status": "REFUNDED"
36    }
37  ],
38  "userActions": []
39}

Language: json

Name: Order update webhook

Description:

[Warning: empty required content area]
1{
2  "name": "SendFulfilmentStatusWebhook",
3  "description": "Sends a webhook for the fulfilment",
4  "type": "FULFILMENT",
5  "eventType": "NORMAL",
6  "rules": [
7    {
8      "name": "MAGENTO.commonv2.SendWebhook",
9      "props": {
10        "webhookName": "FulfilmentStatusChanged",
11        "webhookEndpoint": "https://<adobe-hostname>/fluent/webHook/order"
12      }
13    }
14  ],
15  "triggers": [
16    {
17      "status": "PROCESSING"
18    },
19    {
20      "status": "AWAITING_WAVE"
21    },
22    {
23      "status": "ASSIGNED"
24    },
25    {
26      "status": "REJECTED"
27    },
28    {
29      "status": "FULFILLED"
30    },
31    {
32      "status": "PARTIALLY_FULFILLED"
33    },
34    {
35      "status": "AWAITING_COURIER_COLLECTION"
36    },
37    {
38      "status": "EXPIRED"
39    },
40    {
41      "status": "COMPLETE"
42    },
43    {
44      "status": "ESCALATED"
45    }
46  ],
47  "userActions": []
48}

Language: json

Name: Fulfilment webhook

Description:

[Warning: empty required content area]
1{
2  "name": "SendConsignmentStatusWebhook",
3  "description": "Sends a webhook for the consignment",
4  "type": "CONSIGNMENT",
5  "eventType": "NORMAL",
6  "rules": [
7    {
8      "name": "MAGENTO.commonv2.SendWebhook",
9      "props": {
10        "webhookName": "ConsignmentStatusChanged",
11        "webhookEndpoint": "https://<adobe-hostname>/fluent/webHook/order"
12      }
13    }
14  ],
15  "triggers": [
16    {
17      "status": "PROCESSING"
18    },
19    {
20      "status": "ACTIVE_LODGED"
21    }
22  ],
23  "userActions": []
24}

Language: json

Name: Consignment webhook It is recommended to only send consignment updates when the consignment is being dispatched or ready to collect by the courier. The extension does not have the logic to re-construct the consignment in Adobe if Fluent makes modifications to them. Although it is possible to send a webhook to have the consignments created in Adobe and a subsequent webhook to update the tracking url.

Description:

[Warning: empty required content area]


Fluent Commerce

Fluent Commerce

Copyright © 2024 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