ValidateStandardProduct
Changed on:
30 Nov 2023
Overview
Validates the incoming standard product payload
Plugin Name | Inventory 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
Validates the incoming standard product payload
Accepts
- PRODUCT_CATALOGUE
Actions
- This rule produces no Output Actions.
Rule parameters
This rule has no Input Parameters.
Event attributes
Main Event Attributes
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 | Optional |
gtin | The gtin of the product | String | Optional |
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 |
Price sub-attribute
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 |
Tax type sub-attribute
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 |
Attribute type sub-attribute
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
When the format of the event attribute does not follow the definition, it will throw a runtime exception.
Configuration example
1{
2 "name": "{{accountId}}.globalinventory.ValidateStandardProduct"
3}
Language: json
Detailed Technical Description
All the event attributes of the incoming event are parsed/deserialized into a "Product" object which has the following structure
1public 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}
Language: java
Name: event attributes
Description:
[Warning: empty required content area]An example JSON payload that represents the event attributes of an incoming event
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}
Language: json
Name: Example JSON
Description:
[Warning: empty required content area]The rule does not take any parameters from the workflow but the event attribute and parses/deserializes that into a product object outlined as below. If anything goes wrong with the deserialization of the event attribute data, a runtime error will be thrown.
Version History
v2.0.0
refers to plugin