CreateVariantProduct
Rule
Changed on:
12 Aug 2025
Overview
Create a variant product based on the information provided in the event| Plugin Name | Inventory Reference Module |
|---|---|
| Namespace | [[account.id]].globalinventory |
- Product Catalogue workflow
- Inventory Catalogue workflow
- Control Group workflow
- Virtual Catalogue workflow
UI Description
Create a variant product based on the information provided in the event
Accepts
- PRODUCT_CATALOGUE
Actions
- This rule produces a MutationAction that will create a variant product.
Rule parameters
This rule has no Input Parameters.
Event attributes
Main Event Attributes
Price sub-attribute
Tax type sub-attribute
Attribute type sub-attribute
| Parameter | Description | Data Type | Required? |
| ref | The ref of the product | String | Required |
| type | The type of the product | String | Required |
| name | The name of the product | String | Required |
| gtin | The gtin of the product | String | Required |
| standardProductRef | The ref of the parent Standard Product | String | Optional |
| categoryRefs | A list of string category references | [String] | Optional |
| summary | A brief summary of the product | String | Optional |
| prices | A list of prices. See the below table for its attributes | [Price] | Optional |
| taxType | Tax type of this product. See the below table for its attributes | Tax | Optional |
| attributes | Extra attributes that may be used as part of this product. See the table below for the definition | [Attribute] | Optional |
| Parameter | Description | Data Type | Required? |
| type | The type of the price | String | Required |
| currency | The currency of the price | String | Required E.g. EUR, AUD |
| value | The value of the price | Floating Point | Required |
| Parameter | Description | Data Type | Required? |
| country | The country of this tax type | String | Required |
| group | The tax group | String | Required |
| tariff | The tariff of this tax type | String | Required |
| Parameter | Description | Data Type | Required? |
| name | The name of the attribute | String | Required |
| type | The type of the attribute | String | Required E.g. STRING, INTEGER, BOOLEAN, OBJECT |
| value | The value of the attribute | JSON or scalar | Required |
Exceptions
If any of the required main attribute fields are null or missing, an EventAttributeNotFoundException will be thrown
Configuration example
1{
2 "name": "<AccountID>.globalinventory.CreateVariantProduct"
3}Detailed Technical Description
All the event attributes of the incoming event are parsed/deserialized into a "Product" object which has the following structure1public class Product {
2
3 @NonNull
4 private String ref;
5
6 private String type;
7
8 private String status;
9
10 private String gtin;
11
12 private String name;
13
14 private String summary;
15
16 private List<String> categoryRefs;
17
18 private List<Price> prices;
19
20 private String standardProductRef;
21
22 private TaxType taxType;
23
24 private List<Attribute> attributes;
25}1{
2 "ref": "VP_1_45",
3 "type": "VARIANT",
4 "status": "ACTIVE",
5 "gtin": "VP_1-45",
6 "name": "Blue Jeans Size 8",
7 "summary": "Variant product summary",
8 "standardProductRef": "STD_1_88",
9 "categoryRefs": [],
10 "prices": [{"type": "RRT", "currency": "AUD", "value": 34.56}],
11 "taxType": {"country": "AU", "tariff": "GST", "group": "GSTG1"},
12 "attributes": [{"name": "isDangerous", "value": false, "type": "BOOLEAN"}]
13}This rule parses/deserializes all the event attributes into a Product object outlined above. It then creates a "variant product mutation" request using all the event attribute values. The
`{entityRef}` value of the incoming event is used as the product catalogue reference of the variant product being created.