Product Selection Step
The first step of the journey, and where the user selects which products they wish to return, along with return reasons / attachments.
Example response (properties explained below):
{
"type": "product_selection",
"nextType": "return_options",
"payload": {
"status": "delivered",
"orderDate": "2024-01-07T00:00:00",
"deliveryDate": "2024-01-10T00:00:00",
"confirmButtonText": "Confirm your selection",
"products": [
{
"id": "O111111",
"name": "Cloudrunner 2",
"productType": "shoe",
"size": {
"displayName": "UK 9",
"value": "9",
"width": "regular",
"sizeSystem": "UK"
},
"image": "https://example.com/image1.png",
"price": {
"amount": 149.99,
"currencyCode": "GBP"
},
"colour": "Black",
"quantity": 5,
"reasonsForReturn": [
{
"id": "does-not-fit",
"text": "Does not fit properly",
"options": [
{
"id": "item-too-big",
"text": "Item too big"
},
{
"id": "item-too-small",
"text": "Item too small"
}
]
},
{
"id": "item-damaged",
"text": "Item was damaged",
"options": [
{
"id": "arrived-damaged",
"text": "Item arrived damaged",
"requestImage": true
},
{
"id": "didnt-function",
"text": "Item didn't function properly",
"requestImage": true
}
]
},
{
"id": "ordered-more-than-one-size",
"text": "Ordered more than one size"
},
]
},
{
"id": "O222222",
"name": "Silhouette Bra",
"productType": "bra",
"size": {
"displayName": "B10",
"cup": "B",
"band": "10"
},
"image": "https://example.com/image2.png",
"price": {
"amount": 49.99,
"currencyCode": "GBP"
},
"nonReturnableReason": "Not Returnable - Final Sale"
}
]
}
}
Properties
* indicates required field
Field | Description |
---|---|
type * | The current step_type . |
nextType * | The next step_type in the journey. |
payload * | Contains the details of the product selection. |
payload.status * | The status of the order (e.g., delivered). |
payload.orderDate * | The date the order was placed. |
payload.deliveryDate * | The date the order was delivered. |
payload.confirmButtonText * | The text displayed in the confirmation button. |
payload.products[] * | See below |
Products
Field | Description |
---|---|
products[].id * | The unique identifier for the product. |
products[].name * | The name of the product. |
products[].image * | The URL of the product image. |
products[].colour | The colour of the product. |
products[].quantity | The quantity of the product. |
products[].productType | Used to format the products size.displayName . e.g. shoe , bra . |
products[].price * | The price of the product. |
products[].price.amount * | The amount of the price. |
products[].price.currencyCode * | The currency code of the price. Supported codes: (GBP, USD, EUR) |
products[].size | Sizing details object. If replacements are enabled, ensure to include values for all replacement options e.g. cup , band , width . |
products[].size.displayName | The display name of the product. |
products[].size.sizeSystem | The products sizing system e.g. UK , US EU . |
products[].nonReturnableReason | The reason why the product is non-returnable. If present, the product cannot be selected for return. |
products[].reasonsForReturn * | See below |
Reasons for Return
Field | Description |
---|---|
reasonsForReturn[].id * | The unique identifier for the reason for return. |
reasonsForReturn[].text * | The text description of the reason for return. |
reasonsForReturn[].requestImage | When true, the user has the option to upload images. |
reasonsForReturn[].options | A list of nested options, displayed when the parent item is clicked. |
reasonsForReturn[].options[].id * | The unique identifier for the nested return option. |
reasonsForReturn[].options[].text * | The text description of the nested return option. |
reasonsForReturn[].options[].requestImage | When true, the user has the option to upload images. |
selected_products example
[
{
"id": "O111111",
"name": "Cloudrunner 2",
"image": "https://example.com/image1.png",
"colour": "Black",
"quantity": 5,
"size": {
"displayName": "UK 9",
"sizeSystem": "UK"
},
"price": {
"amount": 149.99,
"currencyCode": "GBP"
},
"returnReason": { // the selected return reason
"id": "arrived-damaged",
"text": "Item arrived damaged"
},
"attachments": [ // uploaded attachments
"https://example.com/attachment1.png",
"https://example.com/attachment2.png"]
},
]
Updated 3 days ago
What’s Next