Marketplaces / Very KornitX Technical Scope / Order Return

Order Return

Summary of Changes: (The purpose of this table is to keep traceability and Product team to highlight the things that were changed into the scope, based on comments or discussions)

Version Date Created / Updated Notes
1.0 02.08.23 Bogomil Pavlov First publish
1.1 24.08.23 Bogomil Pavlov Return Reasons

The purpose of this document is to describe how we return orders on Very.

Very do support full and partial returns on orders but their partial returns are per product. Which means we can return full order, only one product of an order or only one quantity of a product.

<v1.1>We want to store the possible return reasons in Hemi. Please note we have to display the name and send the code

Code Name
1 Order More Than One For Size
2 Choice Style Does Not Suit
3 Item Does Not Fit - Too Big
4 Item Does Not Fit - Too Small
5 Item Does Not Fit - Too Long
6 Item Does Not Fit - Too Short
7 Poor Quality
8 Not As Pictured/Described
9 Recomemnded By Us - Not Suitable
10 Faulty, Please Provide Details
11 Received Damaged
12 Wrong Item Delivered
13 Arrived Too Late
14 Missing Parts/Incomplete

</v1.1>The shipping cost is refunded when the order is fully returned. For them the return works for all type of orders “Partially Shipped“ and “Shipped” (post shipment). We want all triggers, status, error handling, etc. to be as per the Refunds send general logic

API Call: POST https://api-sl-2-3.kornitx.net/order/{orderId}/return

API Docs: TBA

Sample Request: POST https://api-sl-2-3.kornitx.net/order/48079310/return

{
"reference": "TestReturnRef1",
"items": [
{
"id": "88423215",
"quantity": 2
}
]
}

Mapping:

Very Field Required Hemi Field Comment
reference Yes Order Payment > Reason
items
id Yes Product In Order > Item Order Line ID
quantity Yes Need to be calculated based on the price

Sample Error Response #1:

{
    "error": {
        "message": "Permission denied (api-sl-2-3.order-return.create)",
        "code": 0
    }
}

Sample Error Response #2:

{
    "error": {
        "message": "Invalid order status",
        "code": 0
    }
}

Sample Error Response #3:

{
    "error": {
        "message": "Invalid item specified, index 0",
        "code": 0
    }
}

Sample Success Response:

[
    {
        "id": 771,
        "items": [
            {
                "id": 88423215,
                "order_id": 50106309,
                "quantity": 3
            }
        ]
    }
]
KornitX field Hemi Field Comment
id Order Payment > Transaction Id We want to store the id as a transaction id of the refund
Items
id N/A
order_id N/A
quantity N/A

Based on the response we need to mark the order as “Cancelled” if all the lines and shipping cost is refunded else it remains on the actual status. Also we want to update the product statuses as per abstraction If any errors are returned we want to store them in Order Errors table.

We want to include additional validation and do not allow to make partial return on a single product. All other validations are as per the Refunds send general logic

Is this article helpful?
0 0 0