Create Return Shipment
POST/return/:returnID/shipment
Create a Shipment for a Return (/return/{returnID}/shipment)
Creates a shipment for a return request, the same way as in the Kvikk app. The shipment is priced, labelled and tracked like any shipment created with Create Shipment, and it shows up in your shipment list and statements. There are three types:
| Type | What it is | Goes to |
|---|---|---|
| return | A return label: the customer sends the package back to you. | Your return address (see below). |
| exchange | A replacement package that also picks up the returned product on delivery. | The customer. |
| new | A new package to the customer, e.g. a replacement sent separately. | The customer. |
Creating the shipment moves a new or pending return to in-transit. The response is the updated return: the new shipment is the last item of data.shipments. Use its trackingNumber with Get Shipment Label to download the label.
Return Labels (type: return)
The package is addressed to the return address set in your return portal settings in the Kvikk app, or to the selected sender address if none is set. For a Foxpost return, it goes to the Foxpost return point set in your account. Delivery point and shipping address fields are not accepted for this type.
The sender is the customer: their name, email and phone come from the return. Their address is pickupAddress if you send it, otherwise the home address of the original shipment or the one stored on the return.
Add the return service matching how the customer hands over the package to the parcel's services:
- return_dropoff: the customer drops the package off (e.g. in a parcel locker). Available with
mpl,glsandfoxpost. - return_pickup: the courier collects the package from the customer's address. Available with
gls.
Exchanges and New Packages (type: exchange, type: new)
The package goes to the customer. For home delivery, the address is shippingAddress if you send it, otherwise the customer's home address stored on the return. For delivery point shipments, send deliveryPointType and deliveryPointID like when creating a normal shipment. For exchange, the exchange service is added to the parcel automatically.
Customer Email
Unless you set sendEmail to false, the customer gets an email using the email templates set up in the Kvikk app: return labels are sent with the label attached and a scannable code, exchanges and new packages with their tracking link. The message field replaces the template's text for this email.
Possible Error Codes
| Error Code | Description |
|---|---|
| validation_error | A field is missing or invalid, or not allowed for this shipment type. The message names the field. |
| return_not_found | No return with this ID exists in your account. |
| sender_not_found | The senderID doesn't belong to your account. See Account Information. |
| courier_not_found | Wrong courier value. |
| courier_not_active | The selected courier is not activated in your account. |
| shipping_method_not_found | The courier doesn't offer this delivery method with the given parameters. |
| invalid_delivery_point_id | The delivery point doesn't exist or is unavailable. |
| wrong_weight_value | The courier won't ship a parcel with this weight. |
| label_not_generated | The label could not be generated due to an issue with the courier's API. |
| account_blocked | Your account is blocked because of an overdue, unpaid proforma invoice. |
Request
Responses
- 200
- 400
- 404
OK
Bad Request
Not Found