SendEventToUpdateInventoryQuantity
Changed on:
19 July 2024
Overview
The rule triggers inventory re-calculation event with event name provided in the input parameter with +/-ve quantities of each item on the basis of the type of operation.
Plugin Name | Order Reference Module |
---|---|
Namespace | [[account.id]].order |
The Order Reference Module is the foundation for order-related implementations. It provides reference workflows for click & collect, home delivery and mixed baskets and those needed to build your own. Extensible by design, use this Module as a base to build a solution to your customers' needs.
UI Description
Triggers inventory re-calculation event with event name provided in the input parameter with +/-ve quantities of each item on the basis of the type operation like RESERVE, UNRESERVE or RESET_RESERVE.
Accepts
- FULFILMENT
Actions
- This rule creates and sends an event to Inventory Catalogue with item quantity details that need to be updated.
Rule parameters
Parameter | Description |
inventoryCatalogueRef | The ref of Inventory catalogue where inventory need to be updated. |
operation | Operation type (RESERVE/UNRESERVE or RESET_RESERVE) to be used for updating inventory accordingly.
|
eventName | The name of event to be triggered. |
retailerId | The retailer id. |
Event attributes
This rule does not directly identify any event attributes.
Exceptions
This rule will throw an RubixException: 500 in case of an error.
Configuration example
1{
2 "name": "<ACCOUNTID>.order.SendEventToUpdateInventoryQuantity",
3 "props": {
4 "inventoryCatalogueRef":"{{inventoryCatalogueRef}}",
5 "operation":"RESET_RESERVE",
6 "eventName":"UpdateInventoryQty",
7 "retailerId":"{{invRetailerId}}"
8 }
9}
Language: json
Detailed Technical Description
Based on the
`operation`
`eventName`
`inventoryCatalogueRef`
`retailerId`
The
`operation`
1{
2 "retailerId": "{{retailerId}}",
3 "accountId": "{{accountId}}}}",
4 "name": "{{eventName}}",
5 "entityRef": "{{inventoryCataloguRef}}",
6 "entityType": "INVENTORY_CATALOGUE",
7 "rootEntityType": "INVENTORY_CATALOGUE",
8 "rootEntityRef": "{{inventoryCataloguRef}}",
9 "attributes": {
10 "items": [
11 {
12 "skuRef": "{{variantProductRef}}",
13 "reserveQty": 0, //quantity which will be reserved
14 "cancelQty": 0, //quantity which will be cancelled/rejected
15 "saleQty": 0, //quantity which will was sold/picked
16 "correctionQty": //quantity which will was not sold/miss-picked
17 "locationRef": "{{locationRef}}",
18 "fulfilmentId": "{{fulfilmentId}}"
19 "quantity": //legacy,
20
21 }
22 ]
23 }
24}
Language: json
Name: Event payload structure
Description:
[Warning: empty required content area]The following
`operation`
- RESERVE
This operation will set the reserveQty field in the event to the quantity which was requested for each item. In the inventory catalogue workflow, this usually results in an inventory quantity of typefor each item to be created.`RESERVED`
- UNRESERVE
This operation will set the cancelQty field in the event to the quantity which was cancelled or expired for each item. In the inventory catalog workflow, this usually results in inventory quantities to be deactivated. - RESET_RESERVE
This operation will set the saleQty and correctionQty fields in the event to the quantity which were confirmed or rejected. In the inventory catalogue workflow, this usually results in inventory quantities of typeand`SALE`
to be created as well as the deactivation of the corresponding`CORRECTION`
record.`RESERVED`
Version History
v1.0.0
refers to plugin