Mixed Baskets Workflow Interface Contracts
Changed on:
2 Oct 2024
Detailed Description
The below Interface Contracts document the interaction points with the MB workflow. These allow you to ensure that any integration made into the workflow will enable the workflow to work correctly.
OrderCancel Event
This event is used to cancel the Order.
Request Payload
Property | Description | Type | Required? |
entityId | The order id | String | Required |
entityRef | The order reference | String | Required |
entitySubtype | The order type | String | Required |
entityType | The type of the entity (Order) | String | Required |
name | The name of the ruleSet | String | Required |
retailerId | The retailer id | String | Required |
attributes | The attributes | Object | Optional |
Event Request Example
1{
2 "name": "OrderCancel",
3 "entityType": "ORDER",
4 "entityId": "40606",
5 "entityRef": "GAP_50::FC_50::OI_981-976-8005",
6 "entitySubtype": "MULTI",
7 "rootEntityType": "ORDER",
8 "retailerId": "2025",
9 "attributes": {}
10}
Language: json
Name: OrderCancel - event sample
Description:
[Warning: empty required content area]WavePack Event
This event is used as an external (anything from outside this workflow) anytime finishing picking and starting packing of the order in the store is triggered.
Request Payload
Property | Description | Type | Required? |
pickedItems | The list of picked items | [pickedItem] | Required |
fulfilmentItems | The list of fulfilment items | [fulfilmentItem] | Optional |
pickedItem Definition
Property | Description | Type | Required? | Notes |
GTIN | The Global Trade Item Number (GTIN) for this Product | String | Optional | |
availableQty | The available quantity of order item | float | Required | availableQty should be positive |
catalogueRef | The catalogue reference of the order item | String | Required | |
productRef | The product reference of the order item | 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 | Required if skuRef is not null |
rejectedQty | The rejected quantity of the fulfilment item | int | Required | Required if skuRef is not null |
availableQty | The available quantity of the fulfilment item | int | Required | Required if skuRef is not null |
orderItemRef | The order item reference of the fulfilment item | String | Required | Required if skuRef is not null |
requestedQty | The requested quantity of the fulfilment item | int | Required | Required if skuRef is not null |
fulfilmentItemRef | The fulfilment item reference | String | Required | Required if skuRef is not null |
Event Request Example
1{
2 "name":"WavePack",
3 "accountId":"<accountId>",
4 "entityType":"FULFILMENT",
5 "entityId":"<fulfilmentId>",
6 "entityRef":"<fulfilmentRef>",
7 "rootEntityType":"ORDER",
8 "rootEntityId": "<orderID>",
9 "rootEntityRef": "<orderRef>",
10 "retailerId":"<retailerId>",
11 "attributes": {
12 "pickedItems": [
13 {
14 "productRef": "<productRef>",
15 "catalogueRef": "<catalogueRef>",
16 "GTIN": "<gtin>",
17 "availableQty": 1
18 }
19 ],
20 "fulfilmentItems": [
21 {
22 "skuRef": "<skuRef>",
23 "orderItemId": "<orderItemId>",
24 "rejectedQty": 0,
25 "availableQty": 1,
26 "orderItemRef": "<orderItemRef>",
27 "requestedQty": 1,
28 "fulfilmentItemRef": "<fulfilmentItemRef>"
29 }
30 ]
31 }
32}
Language: json
Name: WavePack - event sample
Description:
[Warning: empty required content area]`
`
WaveDispatchInitiated Event
This event is used externally (anything from outside this workflow) anytime finishing packing and creating an article in the store is triggered.
Request Payload
Property | Description | Type | Required? |
fulfilmentArticles | The list of fulfilment articles | [fulfilmentArticle] | Optional |
fulfilmentArticle Definition
Property | Description | Type | Required? | Notes |
name | The name of the article | String | Optional | |
depth | The depth of the article | String | Optional | |
width | The width of the article | String | Optional | |
height | The height of the article | String | Optional | |
weight | The weight of the article | String | Optional | |
maxWeight | The maxWeight of the article | String | Optional |
Event Request Example
1{
2 "name":"WaveDispatchInitiated",
3 "accountId":"<accountId>",
4 "entityType":"FULFILMENT",
5 "entityId":"<fulfilmentId>",
6 "entityRef":"<fulfilmentRef>",
7 "rootEntityType":"ORDER",
8 "rootEntityId": "<orderID>",
9 "rootEntityRef": "<orderRef>",
10 "retailerId":"<retailerId>",
11 "attributes":{
12 "fulfilmentArticles":[
13 {
14 "name":"<name>",
15 "depth":"<depth>",
16 "width":"<width>",
17 "height":"<height>",
18 "weight":"<weight>",
19 "maxWeight":"<maxWeight>"
20 }
21 ]
22 }
23}
Language: json
Name: WaveDispatchInitiated - event sample
Description:
[Warning: empty required content area]FulfilmentPack Event
This event is triggered by the Wave entity and starts the packing process for the items in the fulfillment.
Request Payload
Property | Description | Type | Required? |
pickedItems | The list of picked items | [pickedItem] | Required |
fulfilmentItems | The list of fulfilment items | [fulfilmentItem] | Optional |
pickedItem Definition
Property | Description | Type | Required? | Notes |
GTIN | The Global Trade Item Number (GTIN) for this Product | String | Optional | |
availableQty | The available quantity of order item | float | Required | availableQty should be positive |
catalogueRef | The catalogue reference of the order item | String | Required | |
productRef | The product reference of the order item | 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 | Required if skuRef is not null |
rejectedQty | The rejected quantity of the fulfilment item | int | Required | Required if skuRef is not null |
availableQty | The available quantity of the fulfilment item | int | Required | Required if skuRef is not null |
orderItemRef | The order item reference of the fulfilment item | String | Required | Required if skuRef is not null |
requestedQty | The requested quantity of the fulfilment item | int | Required | Required if skuRef is not null |
fulfilmentItemRef | The fulfilment item reference | String | Required | Required if skuRef is not null |
Event Request Example
1{
2 "name":"FulfilmentPack",
3 "accountId":"<accountId>",
4 "entityType":"FULFILMENT",
5 "entityId":"<fulfilmentId>",
6 "entityRef":"<fulfilmentRef>",
7 "rootEntityType":"ORDER",
8 "rootEntityId": "<orderID>",
9 "rootEntityRef": "<orderRef>",
10 "retailerId":"<retailerId>",
11 "attributes": {
12 "pickedItems": [
13 {
14 "productRef": "<productRef>",
15 "catalogueRef": "<catalogueRef>",
16 "GTIN": "<gtin>",
17 "availableQty": 1
18 }
19 ],
20 "fulfilmentItems": [
21 {
22 "skuRef": "<skuRef>",
23 "orderItemId": "<orderItemId>",
24 "rejectedQty": 0,
25 "availableQty": 1,
26 "orderItemRef": "<orderItemRef>",
27 "requestedQty": 1,
28 "fulfilmentItemRef": "<fulfilmentItemRef>"
29 }
30 ]
31 }
32}
Language: json
Name: FulfilmentPack - sample event
Description:
[Warning: empty required content area]ConfirmParcels Event
This event is used to send the details of each article packed for a single Fulfilment.
Request Payload
Property | Description | Type | Required? |
packedItems | Contains the list of all articles and rejections of a Fulfilment processed at the packing step | PackedItem | Required |
packedItem Definition
Property | Description | Type | Required? |
articles | The list of all articles of a Fulfilment processed at the packing step | [FulfilmentArticle] | Required, but array can be empty |
rejections | The list of all rejections of a Fulfilment processed at the packing step | [FulfilmentItemRejection] | Required, but array can be empty |
fulfilmentArticle Definition
Property | Description | Type | Required? | Notes |
barcode | The barcode of the packed product | String | Optional |
|
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 | Optional |
|
minWeight | The minWeight of the article | String | Optional |
|
items | The list of the packed fulfilment items | [Item] | Optional |
|
item Definition
Property | Description | Type | Required? |
fulfilmentItemId | The id of fulfilment item | String | Required |
quantity | The number of the packed fulfilment item in the article | Integer | Required |
fulfilmentItemRejection Definition
Property | Description | Type | Required? |
fulfilmentItemId | The id of fulfilment item | String | Required |
rejectedQty | The number of the rejected fulfilment item | Integer | Required |
rejectReason | The reason of the rejection | SettingValueType | Required |
SettingValueType Definition
Property | Description | Type | Required? | Notes |
label | The label of the reject reason | String | Required | In case of rejections at the picking stage, the default value
|
value | The value of the reject reason | String | Required | In case of rejections at the picking stage, the default value "Rejected outside of packing" will be used. |
Event Request Example
1{
2 "name": "ConfirmParcels",
3 "entityType": "FULFILMENT",
4 "entityId": "89",
5 "entityRef": "94a175b8-182d-4ba5-bf9b-f41c26b473cf",
6 "entitySubtype": "HD_PFS",
7 "rootEntityType": "ORDER",
8 "rootEntityId": "79",
9 "rootEntityRef": "HD_123_314-929-5663",
10 "retailerId": "7",
11 "attributes": {
12 "packedItems": {
13 "articles": [
14 {
15 "barcode": "4567",
16 "height": "30",
17 "length": "30",
18 "maxWeight": "9.9",
19 "minWeight": "5",
20 "packaging_name": "Medium",
21 "weight": "8",
22 "width": "30",
23 "items": [
24 {
25 "fulfilmentItemId": "140",
26 "quantity": 2
27 },
28 {
29 "fulfilmentItemId": "139",
30 "quantity": 1
31 }
32 ]
33 }
34 ],
35 "rejections": [
36 {
37 "fulfilmentItemId": "139",
38 "rejectedQty": 2,
39 "rejectReason": {
40 "label": "fc.sf.rejectionReason.damagedItem",
41 "value": "damagedItem"
42 }
43 }
44 ]
45 }
46 }
47}
Language: json
Name: ConfirmParcels - sample event
Description:
[Warning: empty required content area]`
`