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.
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.
|Auto-registration to API||out-of-the-box|
|Partial shipment||with customizations|
|Partial capture||with customizations|
|Refunds and returns||out-of-the-box|
|Custom order attributes||out-of-the-box|
|Custom product attributes||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.
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 (
timestamp field is included.
MC has a filter for stock messages, when a new
stockUpdateMessage is consumed. The filter:
- Receives the
productIdand timestamp from the message.
- Retrieves the corresponding product entry from
entry.timestampthe message is discarded or the entry is updated with the
message.timestamp, and the
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 (
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.