Connector Overview
The Connector works as a go-between that integrates Magento Commerce (MC) and the Order Management System (OMS), digesting and outputting information, like aggregated stock updates, order creation, and shipment and return/refund info, between the disparate systems.
There are several modules—Catalog, Inventory, Sales, and Post-sales—that assist in the communication between, and integration of, MC and OMS.
See OMS Connector architecture to learn more about the specifics of these interactions.
Features
The Connector has myriad features available out-of-the-box for immediate use. Some features and use cases, however, require some integration work to be fully operational. The following grid details availability for commonly used Connector functionalities.
Feature | Availability |
---|---|
Auto-registration to API | out-of-the-box |
Bundle products | out-of-the-box |
Partial shipment | with customizations |
Gift cards | out-of-the-box |
Logistics import | out-of-the-box |
Multi-location inventory | out-of-the-box |
Order export | out-of-the-box |
Partial capture | with customizations |
Store credit | out-of-the-box |
Refunds and returns | out-of-the-box |
Simple/configurable products | out-of-the-box |
Custom order attributes | out-of-the-box |
Custom product attributes | out-of-the-box |
Virtual products | out-of-the-box |
Disabled or modified functionalities
Out-of-the box, MC provides an implementation for Order Management and Inventory Management tools, which may conflict with implementations existing in the OMS.
Some standard MC functionalities, like shipping and payments methods or return management, are disabled or read-only.
Other standard MC functionalities, such as the addition of an Export full catalog option or the ignoring of default stock values, are simply modified.
See all disabled and modified MC functionalities, as related to the OMS, in Connector architecture.
Stock updates
OMS will inform MC of stock quantities every time there is new information available to be exported. For stock inventory updates, ensure that the messages are consumed in the correct order to avoid inconsistently overwritten values.
If, for instance, the OMS sends a FULL
snapshot and a few minutes afterward generates a DELTA
update, you must ensure MC is not processing the DELTA
update before the FULL
snapshot is completed (so that quantities are not overwritten).
In the messages sent to MC for stock updates (FULL
and DELTA
) a timestamp
field is included.
MC has a filter for stock messages, when a new stockUpdateMessage
is consumed. The filter:
- Receives the
productId
and timestamp from the message. - Retrieves the corresponding product entry from
cataloginventory_stock_item_update
. - If
message.timestamp
<entry.timestamp
the message is discarded or the entry is updated with themessage.timestamp
, and thestockUpdate
process continues.
The solution to this scenario is to calculate the timestamp for the full import when it is started, and use it for all the full messages (like a transaction ID). In this case, the DELTA
will have a higher timestamp than the FULL
, so when the SKU in the FULL
tries to be updated the message will be discarded because its timestamp is lower than the last update (DELTA
).
Reports
You can see average and historical message time consumed in each of the endpoints consumed by the Connector module in the Connector system report in the Magento Commerce Admin. This report provides visibility to the messages ingested by the Connector that are delivered by the OMS.
We use timing information about messages received from the OMS and processed by the Connector as performance measurements to ensure the Connector is processing messages in a desired amount of time. If there is a problem with a specific synchronization flow, for instance, having this information at your fingertips allows you to easily troubleshoot the issue.
See the System Reports user guide for more information.