Inventory Catalogue Workflow Interface Contracts
Changed on:
23 Aug 2023
Detailed Description
The below Interface Contracts document the interaction points with the Inventory Catalogue workflow. These allow you to ensure that any integration made into the workflow will enable the workflow to work correctly.
UpdateInventoryQty Event
This event is used anytime an external (anything from outside this workflow) creation of inventory quantities is triggered.
Request Payload
Property | Description | Type | Required? |
items | The list of items whose inventory positions to be updated | List | Required |
Item Definition
Property | Description | Type | Required? | Notes |
fulfilmentId | The fulfilment ID against which the inventory quantities are to be created/updated | String | Required | |
skuRef | The SKU reference of the inventory position | String | Required | |
locationRef | The SKU reference of the inventory position | String | Required | |
reservedQty | The count of RESERVED quantities | Int | Required | Only required when reserve stock |
correctionQty | The count of CORRECTED quantities | Int | Required | Only required when confirm a fulfilment |
saleQty | The count of SALE quantities | Int | Required | Only required when confirm a fulfilment |
cancelQty | The count of CANCELLED quantities | Int | Required | Only required when cancel a fulfilment |
Event Request Example
1{
2 "name": "UpdateInventoryQty",
3 "retailerId": "<retailerId>",
4 "entityRef": "<IC_ref>",
5 "entityType": "INVENTORY_CATALOGUE",
6 "entitySubtype": "<IC_type>",
7 "rootEntityType": "INVENTORY_CATALOGUE",
8 "rootEntityRef": "<IC_ref>",
9 "attributes": {
10 "items": [
11 {
12 "skuRef": "<skuRef>",
13 "locationRef": "<locationRef>",
14 "fulfilmentId": "100",
15 "quantity": 0,
16 "reserveQty": "-5",
17 "correctionQty": 0,
18 "saleQty": 0
19 }
20 ]
21 }
22}
Language: json
Name: updateInventoryQty event
Description:
[Warning: empty required content area]`
`
InventoryChanged Event
This event is generated by the Inventory Batch API.
Warning
Any need to trigger an InventoryChanged update should only be done via the Batch API.
Request Payload
Property | Description | Type | Required? |
inventoryPosition | The inventory position that has changed | Object | Required |
inventoryPosition Definition
Property | Description | Type | Required? | Notes |
ref | The inventory position that has changed | String | Required | The format is
|
locationRef | The location reference associated to the inventory position | String | Required | |
productRef | The product reference associated to the inventory position | String | Required | |
qty | The quantity associated to the inventory position | Int | Required | Only required when reserve stock |
correctionQty | The corrected quantity associated to the inventory position | Int | Optional | Not used by the inventory catalogue workflow |
reservedQty | The reserved quantity associated to the inventory position | Int | Optional | Same as above |
Event Request Example
1{
2 "name": "InventoryChanged",
3 "accountId": "<accountId>",
4 "retailerId": "<retailerId>",
5 "entityRef": "<IC_ref>",
6 "entityType": "INVENTORY_CATALOGUE",
7 "entitySubtype": "<IC_type>",
8 "rootEntityType": "INVENTORY_CATALOGUE",
9 "rootEntityRef": "<IC_ref>",
10 "attributes": {
11 "inventoryPosition": {
12 "productRef": "<productRef>",
13 "locationRef": "<locationRef>",
14 "ref": "<inventoryPositionRef>",
15 "qty": 0
16 }
17 }
18}
Language: json
Name: InventoryChanged event
Description:
[Warning: empty required content area]