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 (properies 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",
"size": "UK 9",
"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": { "band": "10", "cup": "B" },
"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[].size * | The size of the product. |
products[].image * | The URL of the product image. |
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[].colour * | The colour of the product. |
products[].quantity * | The quantity of the product. |
products[].productType | The type of the product (e.g., bra). |
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",
"size": "UK 9",
"image": "https://example.com/image1.png",
"price": {
"amount": 149.99,
"currencyCode": "GBP"
},
"colour": "Black",
"quantity": 5,
"returnReason": { // the selected return reason
"id": "arrived-damaged",
"text": "Item arrived damaged"
},
"attachments": [
"https://example.com/attachment1.png",
"https://example.com/attachment2.png"] // uploaded attachments
},
]
Updated 6 days ago
What’s Next