Fluent Commerce Logo
Docs
Sign In

Location Workflow Interface Contract

Interface Contract

Changed on:

13 Sept 2024

Detailed Description

CreateWaveByExpiry - Incoming Event

The CreateWaveByExpiry incoming event contains the instructions describing the desired characteristics of the Wave to be created. Included are the maximum number of Fulfilments that the Wave should contain and optionally the user that will be processing it.

Request Payload

Main Payload

Property

Description

Type

Required?

maxCount

The maximum number of fulfilments in a wave

Integer

Required

userName

The name of the user that will be assigned to the wave

String

Optional

Event Request Example 

1{
2  "name": "WaveCreate",
3  "entityType": "LOCATION",
4  "entityId": "3",
5  "entityRef": "F_SYD",
6  "entitySubtype": "STORE",
7  "rootEntityType": "LOCATION",
8  "retailerId": "1",
9  "attributes": {
10    "maxCount": 5,
11    "userName": "Matt"
12  }
13}

Language: json

Name: WaveCreate

Description:

[Warning: empty required content area]


CreateWaveByUserSelection - Incoming Event

The CreateWaveByExpiry incoming event contains the instructions describing the desired characteristics of the Wave to be created. Included are the Fulfilments that the Wave should contain and optionally the user that will be processing it.

Property

Description

Type

Required?

fulfilmentIds

The ids of the user selected Fulfilments to add to the Wave

Array of Integers

Required

userName

The name of the user that will be assigned to the wave

String

Optional

waveName

The user assigned name of the Wave

String

Optional

CREATE - outgoing Wave Event

The outgoing event to the Fulfilment entity specifies that the Fulfilment has been allocated to a Wave.

Request Payload

This event does not contain any specific attributes.

Event Request Example


1{
2  "name": "WaveCreate",
3  "entityId": "826",
4  "entityType": "FULFILMENT",
5  "retailerId": "1",
6  "scheduledOn": 1652247669583
7}

Language: json

Name: WaveCreate

Description:

[Warning: empty required content area]


PickConfirm - Incoming Event

Incoming event responsible for defining the items that were picked for a Wave.

Request Payload

Main Payload

Property

Description

Type

Required?

pickedItems

The list of all the items that are available to be picked by the store associate

`[pickedItem]`

Required

pickedItem Definition

Property

Description

Type

Required?

Notes

gtin

The barcode of the item picked

String

Optional


productRef

The reference of the product

String

Required


availableQty

The number of items that were picked

Integer

Required


catalogueRef

The reference of the catalogue in which the product belongs to

String

Required


Event Request Example

1{
2    "name": "PickConfirm",
3    "entityType": "WAVE",
4    "entityId": "199",
5    "entityRef": "f3cfe26d-c303-4744-a979-40144de045a7",
6    "entitySubtype": "STORE",
7    "rootEntityType": "LOCATION",
8    "retailerId": "1",
9    "attributes": {
10        "pickedItems": [
11            {
12                "productRef": "AH8050-003",
13                "catalogueRef": "FCRG:PC:MASTER",
14                "availableQty": 1
15            }
16        ]
17    }
18}

Language: json

Name: pickConfirm payload

Description:

[Warning: empty required content area]


PickConfirm - Outgoing Event

This is the outgoing event that contains the details of each picked item and how that affects the related requested Fulfilment.

Request Payload

Main Payload

Property

Description

Type

Required?

pickedItems

The list of all the items that are available to be picked by the store associate

`[pickedItem]`

Required

fulfilmentItems

The list of all the items that are picked by the store associate

`[fulfilmentItem]`

Required

pickedItem Definition

Property

Description

Type

Required?

Notes

gtin

The barcode of the item picked

String

Optional


productRef

The reference of the product

String

Required


availableQty

The number of picked items

Integer

Required

availableQty should always be >=0

catalogueRef

The reference of the catalogue in which the product belongs to

String

Required


fulfilmentItem Definition

Property

Description

Type

Required?

Notes

skuRef

The SKU reference of the Fulfilment item

String

Optional


orderItemId

The order item id of the Fulfilment item

String

Required


rejectedQty

The quantity that could not be picked for a particular item

Integer



Integer

Required

Integer


rejectedQty = requestedQty- filledQty

availableQty

The picked quantity

Integer

Required

Recommended to use the filledQty value instead

orderItemRef

The order item reference of the fulfilment item

String

Required


requestedQty

The originally requested quantity of the Fulfilment item

Integer

Required

This is the original amount that was requested to ship

fulfilmentItemRef

The Fulfillment item reference

String

Optional


filledQty

The quantity of item that is confirmed in a pick

Integer

Required

filledQty = pickedItems.availableQty

Event Request Example

1{
2  "name": "WavePack",
3  "retailerId": "1",
4  "entityId": "761",
5  "entityType": "FULFILMENT",
6  "scheduledOn": 1652227174231,
7  "attributes": {
8    "pickedItems": [
9      {
10        "productRef": "AH8050-002",
11        "availableQty": 2,
12        "catalogueRef": "FCRG:PC:MASTER"
13      },
14      {
15       "productRef": "AH8050-004",
16        "availableQty": 2,
17        "catalogueRef": "FCRG:PC:MASTER"
18      }
19    ],
20    "fulfilmentItems": [
21      {
22        "skuRef": "AH8050-004",
23        "orderItemId": "762",
24        "rejectedQty": 0,
25        "availableQty": 2,
26        "orderItemRef": "AH8050-004",
27        "requestedQty": 2,
28        "fulfilmentItemRef": "AH8050-004",
29        "filledQty": 2
30      },
31      {
32        "skuRef": "AH8050-002",
33        "orderItemId": "763",
34        "rejectedQty": 0,
35        "availableQty": 2,
36        "orderItemRef": "AH8050-002",
37        "requestedQty": 2,
38        "fulfilmentItemRef": "AH8050-002",
39        "filledQty": 2
40      }
41    ]
42  }
43}

Language: json

Name: WavePack payload

Description:

[Warning: empty required content area]


PickConfirmAndWaveComplete - Incoming Event

The incoming event is responsible for defining the items that were picked and completing a Wave.

Request Payload

Main Payload

Property

Description

Type

Required?

pickedItems

The list of all the items that are available to be picked by the store associate

`[pickedItem]`

Required

pickedItem Definition

Property

Description

Type

Required?

Notes

gtin

The barcode of the item picked

String

Optional


productRef

The reference of the product

String

Required


availableQty

The number of items that were picked

Integer

Required


catalogueRef

The reference of the catalogue in which the product belongs to

String

Required


Event Request Example

1{
2    "name": "PickConfirmAndWaveComplete",
3    "entityType": "WAVE",
4    "entityId": "199",
5    "entityRef": "f3cfe26d-c303-4744-a979-40144de045a7",
6    "entitySubtype": "STORE",
7    "rootEntityType": "LOCATION",
8    "retailerId": "1",
9    "attributes": {
10        "pickedItems": [
11            {
12                "productRef": "AH8050-003",
13                "catalogueRef": "FCRG:PC:MASTER",
14                "availableQty": 1
15            }
16        ]
17    }
18}

Language: json

Name: pickConfirmAndWaveComplete payload

Description:

[Warning: empty required content area]


PickConfirmAndWaveComplete - Outgoing Event

This is the outgoing event that contains the details of each picked item and how that affects the related requested Fulfilment.

Request Payload

Main Payload

Property

Description

Type

Required?

pickedItems

The list of all the items that are available to be picked by the store associate

`[pickedItem]`

Required

fulfilmentItems

The list of all the items that are picked by the store associate

`[fulfilmentItem]`

Required

pickedItem Definition

Property

Description

Type

Required?

Notes

gtin

The barcode of the item picked

String

Optional


productRef

The reference of the product

String

Required


availableQty

The number of picked items

Integer

Required

availableQty should always be >=0

catalogueRef

The reference of the catalogue in which the product belongs to

String

Required


fulfilmentItem Definition

Property

Description

Type

Required?

Notes

skuRef

The SKU reference of the Fulfilment item

String

Optional


orderItemId

The order item id of the Fulfilment item

String

Required


rejectedQty

The quantity that could not be picked for a particular item

Integer



Integer

Required

Integer


rejectedQty = requestedQty- filledQty

availableQty

The picked quantity

Integer

Required

Recommended to use the filledQty value instead

orderItemRef

The order item reference of the fulfilment item

String

Required


requestedQty

The originally requested quantity of the Fulfilment item

Integer

Required

This is the original amount that was requested to ship

fulfilmentItemRef

The Fulfillment item reference

String

Optional


filledQty

The quantity of item that is confirmed in a pick

Integer

Required

filledQty = pickedItems.availableQty

Event Request Example

1{
2  "name": "FulfilmentPack",
3  "retailerId": "1",
4  "entityId": "761",
5  "entityType": "FULFILMENT",
6  "scheduledOn": 1652227174231,
7  "attributes": {
8    "pickedItems": [
9      {
10        "productRef": "AH8050-002",
11        "availableQty": 2,
12        "catalogueRef": "FCRG:PC:MASTER"
13      },
14      {
15       "productRef": "AH8050-004",
16        "availableQty": 2,
17        "catalogueRef": "FCRG:PC:MASTER"
18      }
19    ],
20    "fulfilmentItems": [
21      {
22        "skuRef": "AH8050-004",
23        "orderItemId": "762",
24        "rejectedQty": 0,
25        "availableQty": 2,
26        "orderItemRef": "AH8050-004",
27        "requestedQty": 2,
28        "fulfilmentItemRef": "AH8050-004",
29        "filledQty": 2
30      },
31      {
32        "skuRef": "AH8050-002",
33        "orderItemId": "763",
34        "rejectedQty": 0,
35        "availableQty": 2,
36        "orderItemRef": "AH8050-002",
37        "requestedQty": 2,
38        "fulfilmentItemRef": "AH8050-002",
39        "filledQty": 2
40      }
41    ]
42  }
43}

Language: json

Name: FulfilmentPack payload

Description:

[Warning: empty required content area]


WaveDispatch - Incoming Event

The incoming event contains the details of the articles packed for each Fulfilment.

Request Payload

Main Payload

Property

Description

Type

Required?

allFulfilmentArticles

The list of all articles of a fulfilment keyed by Fulfilment ID

`Map<Integer,List<ArticleDetails>>`

Required

ArticleDetails Definition

Property

Description

Type

Required?

Notes

packaging_name

The package type that the items were packed into

String

Required

For Example: Small, Medium, Large, Custom

length

The length of the article in cm

String

Required


width

The width of the article in cm

String

Required


height

The height of the article in cm

String

Required


weight

The weight of the article in kg

String

Required


maxWeight

The maxWeight of the article

String

Required


Event Request Example

1{
2    "name":"WaveDispatch",
3    "entityType":"WAVE",
4    "entityId":"1486",
5    "entityRef":"e217b0ef-24a3-4676-b2f7-ba27ccceb949",
6    "entitySubtype":"STORE",
7    "rootEntityType":"LOCATION",
8    "retailerId":"1",
9    "attributes":{
10        "allFulfilmentArticles":{
11            "1488":[
12                {
13                    "packaging_name":"BOX2022-SM1",
14                    "length":"25",
15                    "width":"10",
16                    "height":"10",
17                    "weight":"0.5",
18                    "maxWeight":"1.5"
19                },
20                ...
21            ]
22        }
23    }
24}

Language: json

Name: WaveDispatch payload

Description:

[Warning: empty required content area]

WaveDispatch - Outgoing Event

The outgoing event which sends the details of each article packed for a single Fulfilment.

Request Payload

Main Payload

Property

Description

Type

Required?

fulfilmentArticles

The list of all articles of a Fulfilment which are a part of the outgoing wave

`[fulfilmentArticle]`

Required

fulfilmentArticle Definition

Property

Description

Type

Required?

Notes

packaging_name

The package type that the items were packed into

String

Required

For Example: Small, Medium, Large, Custom

length

The length of the article in cm

String

Required


width

The width of the article in cm

String

Required


height

The height of the article in cm

String

Required


weight

The weight of the article in kg

String

Required


maxWeight

The maxWeight of the article

String

Required


Event Request Example

1{
2  "name": "WaveDispatchInitiated",
3  "entityId": "800",
4  "entityType": "FULFILMENT",
5  "retailerId": "1",
6  "scheduledOn": 1652245219038,
7  "attributes" : {
8      "fulfilmentArticles" : [
9          {
10              "packaging_name":"BOX2022-SM1",
11              "length":"25",
12              "width":"10",
13              "height":"10",
14              "weight":"0.5",
15              "maxWeight":"1.5"
16          },
17          ...
18      ]
19  }
20}

Language: json

Name: WaveDispatchInitiated payload

Description:

[Warning: empty required content area]

Copyright © 2024 Fluent Retail Pty Ltd (trading as Fluent Commerce). All rights reserved. No materials on this docs.fluentcommerce.com site may be used in any way and/or for any purpose without prior written authorisation from Fluent Commerce. Current customers and partners shall use these materials strictly in accordance with the terms and conditions of their written agreements with Fluent Commerce or its affiliates.

Fluent Logo