Fluent Commerce Logo
Docs
Sign In

Inventory Catalogue Workflow Interface Contracts

Interface Contract

Changed on:

23 Aug 2023

Detailed Description

The below Interface Contracts document the interaction points with the Catalogue . These allow you to ensure that any integration made into the will enable the to work correctly.

UpdateInventoryQty Event

This is used anytime an external (anything from outside this ) creation of quantities is triggered.

Request Payload

Property

Description

Type

Required?

items

The list of items whose positions to be updated

List

Required

Item Definition

Property

Description

Type

Required?

Notes

fulfilmentId

The fulfilment ID against which the quantities are to be created/updated

String

Required


skuRef

The SKU reference of the position

String

Required


locationRef

The SKU reference of the position

String

Required


reservedQty

The count of RESERVED quantities

Int

Required

Only required when

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}

`
`

InventoryChanged Event

This is generated by the Batch API.

Warning

Any need to an InventoryChanged update should only be done via the Batch API.

Request Payload

Property

Description

Type

Required?

inventoryPosition

The position that has changed

Object

Required

inventoryPosition Definition

Property

Description

Type

Required?

Notes

ref

The position that has changed

String

Required

The format is `locationRef:productRef`

locationRef

The reference associated to the position

String

Required


productRef

The product reference associated to the position

String

Required


qty

The quantity associated to the position

Int

Required

Only required when

correctionQty

The corrected quantity associated to the position

Int

Optional

Not used by the catalogue

reservedQty

The reserved quantity associated to the 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}