Fluent Commerce Logo
Docs
Sign In

NotifyVirtualCatalogueOnNetworkMatch

Rule

Changed on:

23 Oct 2024

Overview

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

is a newer version of the
`NotifyVirtualCatalogueOnNetworkMatch`
. Moving forward, please use the
`NotifyVirtualCataloguesByRefsOnNetworksMatch`
instead of the
`NotifyVirtualCatalogueOnNetworkMatch`
.

Plugin NameInventory Reference Module
Namespace[[account.id]].globalinventory

The Inventory Reference Module is the foundation for inventory related implementations. It provides reference Workflows for inventory ingestion and processing. Extensible by design, use this Module as a base to build a solution to the needs of your customers.

The Inventory Module includes the following areas:

  • Product Catalogue workflow
  • Inventory Catalogue workflow
  • Control Group workflow
  • Virtual Catalogue workflow

UI Description

Forward the event with name {eventName} to the virtual catalogue with ref {virtualCatalogueRef} if the current Inventory Positions location’s network ref is listed in the virtual catalogue's networkIds.

Accepts

  • INVENTORY_POSITION

Actions

Rule parameters

Name

Type

Description

`eventName`

`String`

The name of the event to be triggered

`virtualCatalogueRef`

`String`

The reference of the virtual catalog to be notified

Event attributes

This Rule does not expect any Event attributes.

Exceptions

  • This Rule throws a
    `PropertyNotFoundException`
    when the Rule parameter(s) is not provided.
  • This Rule throws a 
    `RubixException`
     when the given Virtual Catalog (specified in the
    `virtualCatalogueRef`
    Rule parameter) can not be found or does not have Networks configured properly.

Configuration example

1{
2  "name": "[[account.id]].globalinventory.NotifyVirtualCatalogueOnNetworkMatch",
3  "props": {
4    "eventName": "VirtualCatalogueEvent",
5    "virtualCatalogueRef": "VC_ref"
6  }
7}

Language: json

Detailed Technical Description

This Rule conditionally produces a SendEventAction. The Rule condition is defined by the "Network-Match-Check", including the following steps:

  • The Rule will get the Inventory Position.
    It stops the execution when the Inventory Position can not be found.
  • The list of Networks (by
    `id`
    ) assigned to the loaded Inventory Position Location will be retrieved.
  • The Rule then gets the Virtual Catalog specified in the
    `virtualCatalogueRef`
    , including its list of associated Networks (stored in the
    `networkIds`
    field).
  • The Networks lists mentioned (associated with the Location (point 2) and the Virtual Catalog (point 3)) will be compared. The Rule condition is met when any match case occurs. 
  • Finally, the event 
    `{eventName}`
     is sent to the Virtual Catalog if it passed the "Network-Match-Check".

The generated event contains the following event attributes:

Parameter

Description

Notes

`ref`

Inventory Position reference

Legacy attribute

`locationRef`

Location reference

Taken from the Inventory Position

`productRef`

Product reference 

Taken from the Inventory Position

`inventoryPositionRef`

Inventory Position reference

Taken from

`getEvent().getEntityRef();`

`inventoryCatalogueRef`

Inventory Catalog reference

Legacy attribute

Version History

2024-10-28

v.24.10.28

This Rule has been extended with a pagination logic to ensure correct execution when a given Location belongs to more than 10 Networks, and the Virtual Catalog to be updated has a Network outside the first 10 Networks fetched.

The Rule Version refers to the Product Release Version.

2023-08-02

v2.0.0

refers to the plugin